Comandos PowerShell y Linux
Comandos PowerShell
Manejo básico de ficheros/directorios:
cmdlet para mostrar el directorio actual
$ Get-Location
cmdlet para cambiar el directorio actual a C:\
$ Set-Location C:
comando para cambiar el directorio actual a C:\Usuarios\antia.loureiroferrio
$ cd C:\Usuarios\antia.loureiroferrio
———————————————————————-
cmdlet para conocer los alias de un cmdlet concreto
$ Get-Help + cmdlet
comandos para limpiar la pantalla
$ cls
$ clear
$ CONTROL+L
———————————————————————-
cmdlet para crear un nuevo fichero llamado «nuevo.txt» (es necesario tener permisos de escritura en la ruta en la cual quiero crear el item)
$ New-Item -Path . -Name «nuevo.txt» -ItemType «file»
cmdlet para crear un nuevo fichero llamado «contenedor» (es necesario tener permisos de escritura en la ruta en la cual quiero crear el item)
$ New-Item -Path . -Name «contenedor» -ItemType «directory»
cmdlet para copiar el fichero «nuevo.txt» dentro del directorio «contenedor»
$ Copy-Item -Path «C:\nuevo.txt» -Destination «C:\contenedor»
cmdlet para borrar el fichero «nuevo.txt» ubicado en «C:\nuevo.txt» (directorio «contenedor»)
$ Remove-Item «C:\nuevo.txt»
———————————————————————-
cmdlet para mover el fichero «nuevo.txt» dentro del directorio «contenedor» en vez de copiar y borrar
$ Move-Item -Path «C:\nuevo.txt» -Destination «C:\contenedor»
———————————————————————-
cmdlet para borrar varios ficheros («nuevo.txt», «nuevo2.txt» y «nuevo3.txt») ubicados en «C:\nuevo.txt» (directorio «contenedor»)
$ Remove-Item «C:\nuevo.txt», «C:\nuevo2.txt», «C:\nuevo3.txt»
cmdlet para crear un nuevo fichero llamado «nuevo.pdf» (creamos un fichero .txt, como antes, y le cambiamos la extensión manualmente)
$ New-Item -Path C:\contenedor -Name «nuevo.txt» -ItemType «file»
cmdlet para mostrar sólo los ficheros con extensión «.txt» contenidos en el directorio «contenedor»
$ Get-ChildItem -Filter *.txt
cmdlet para mostrar sólo los ficheros terminados en «.o» contenidos en el directorio «contenedor»
$ Get-ChildItem -Filter *.o
cmdlet para mostrar sólo los ficheros que empiezen en «o» contenidos en el directorio «contenedor»
$ Get-ChildItem -Filter o*
cmdlet para mostrar sólo los ficheros que tengan «o» en cualquier parte de su nombre contenidos en el directorio «contenedor»
$ Get-ChildItem -Filter *o*
cmdlet para mostrar sólo los ficheros que tengan «o» en cualquier parte de su nombre contenidos en el directorio «contenedor», que no tengan extensión «.txt»
$ Get-ChildItem -Path C:\contenedor\*o* -Exclude *.txt
cmdlet para mostrar sólo los ficheros que tengan «o» en cualquier parte de su nombre contenidos en el directorio «contenedor», que no tengan extensión «.pdf»
$ Get-ChildItem -Path C:\contenedor\*o* -Exclude *.pdf
cmdlet para mostrar todos los ficheros cuyo nombre (no la extensión) termine en «o» y que empiece por «n»
$ Get-ChildItem -Filter *o.*, n*
cmdlet para mostrar los ficheros y directorios cuyo nombre empiece por «n»
$ Get-ChildItem -Filter n*
cmdlet para mostrar los ficheros (no directorios) cuyo nombre empiece por «n»
$ Get-ChildItem -Filter n* -File
cmdlet para mostrar los directorios (no ficheros) cuyo nombre empiece por «n»
$ Get-ChildItem -Filter n* -Directory
cmdlet para mostrar todo lo que no tenga extensión .txt
$ Get-ChildItem -Exclude *.txt
cmdlet para mostrar los ficheros (no directorios) que no tengan extensión .txt
$ Get-ChildItem -Path * -Exclude *.txt
$ Get-ChildItem -Path C:\contenedor\ -Exclude *.pdf
cmdlet para mostrar los ficheros (no directorios) que tengan extensión .pdf
$ Get-ChildItem -Filter *.pdf
$ Get-ChildItem -Path C:\contenedor\*.pdf
$ Get-ChildItem -Path C:\contenedor\ -Include *.pdf
cmdlet para mostrar todos los ficheros y directorios cuyo nombre (sin incluir la extensión) acabe en «o»`
$ Get-ChildItem -Filter *o.*
$ Get-ChildItem -Path *o; Get-ChildItem -Path *o.* (este es el comando que DEBERÍA funcionar)
cmdlet para mostrar todos los ficheros (no directorios) cuyo nombre (sin incluir la extensión) acabe en «o»`
$ Get-ChildItem -Path *o.*
cmdlet para mostrar todo lo que empiece por «n» y todo lo que termine en «o» (sin incluir la extensión)
$ Get-ChildItem -Path *n; Get-ChildItem -Path *o.*
———————————————————————-
cmdlet para conocer la ayuda online de un cmdlet
$ Get-Help -online + cmdlet
———————————————————————-
cmdlet para escribir «Hola Mundo!» dentro del fichero nuevo.txt
$ Set-Content -Path nuevo.txt -Value «Hola Mundo!»
cmdlet para mostrar el contenido del fichero nuevo.txt
$ Get-Content -Path nuevo.txt
$ Get-Content .\nuevo.txt
cmdlet para añadir al final del fichero nuevo.txt el texto «Hola Caracola!»
$ Add-Content -Path nuevo.txt -Value «Hola Caracola!»
cmdlet para crear tres nuevos ficheros: nuevo3.txt, nuevo4.txt y nuevo5.txt dentro del directorio «contenedor»
$ New-Item «nuevo3.txt», «nuevo4.txt», «nuevo5.txt»
cmdlet para crear un nuevo directorio dentro del directorio «contenedor» llamado «contenedor-interno»
$ New-Item -Path C:\contenedor -Name «contenedor-interno» -ItemType «directory»
cmdlet para mover los ficheros nuevo3.txt, nuevo4.txt y nuevo5.txt al directorio llamado «contenedor-interno»
$ Move-Item -Path «nuevo3.txt», «nuevo4.txt», «nuevo5.txt» -Destination «contenedor-interno»
cmdlet para eliminar el fichero nuevo5.txt que está contenido en «contenedor-interno»
$ Remove-Item «nuevo5.txt»
cmdlet para copiar todo el contenido del directorio «contenedor» en un nuevo directorio llamado «contenedor-backup» ubicado en C:
$ Copy-Item -Path .\contenedor\* -Destination .\contenedor-backup
(creando el directorio al que se van a copiar los archivos previamente)
$ Copy-Item -Path .\contenedor -Destination .\contenedor-backup -Recurse
(sin necesidad de crear el directorio antes de copiar)
cmdlet para copiar el fichero «foto.jpeg» en un nuevo fichero llamado «foto_copia.jpeg» ubicado en C:\contenedor
$ Copy-Item -Path .\foto.jpeg -Destination .\foto_copia.jpeg
cmdlet para renombrar el nombre del directorio «contenedor-backup» a «contenedor-backup2»
$ Rename-Item -Path contenedor-backup -NewName contenedor-backup2
cmdlet para comprimir en fomato ZIP el directorio «contenedor-backup2»
$ Compress-Archive -Path contenedor-backup2 -DestinationPath contenedor-backup2
cmdlet para descomprimir en fomato ZIP el directorio «contenedor-backup2» y que se llame «contenedor-backup3»
$ Expand-Archive -Path contenedor-backup2.zip -DestinationPath contenedor-backup3
———————————————————————-
Más sobre filtros:
Dada la siguiente estructura de directorios y ficheros:
– [d] Ejercicio-filtros
-[d] Logs
-[f] ficheroLog1.txt
-[f] ficheroLog2.txt
-[f] fichero1.txt
-[f] fichero2.txt
-[f] fichero1.pdf
-[f] otroFichero1.jpeg
cmdlet para mostrar el contenido del directorio «Ejercicio-filtros»
$ Get-ChildItem
cmdlet para mostrar todo el contenido del directorio «Ejercicio-filtros», incluyendo todo el contenido de los directorios que pertenecen a «Ejercicio-filtros»
$ Get-ChildItem -Recurse
cmdlet para mostrar todos los ficheros .txt del directorio «Ejercicio-filtros»
$ Get-ChildItem -Filter *.txt
$ Get-ChildItem -Path .\* -Include *.txt
(Si no se incluye un asterisco en el path, el comando no funciona)
cmdlet para mostrar todos los ficheros .txt del directorio «Ejercicio-filtros», incluyendo todos los ficheros .txt contenidos en los directorios que pertenecen a «Ejercicio-filtros»
$ Get-ChildItem -Filter *.txt -Recurse
$ Get-ChildItem -Path .\* -Include *.txt -Recurse
cmdlet para mostrar todos los ficheros del directorio «Ejercicio-filtros», excluyendo los que comienzan por el carácter «o»
$ Get-ChildItem -Path .\* -Exclude o*
———————————————————————-
ALIAS:
cmdlet para crear un alias llamado «muestrame» que equivalga a Get-Content
$ Set-Alias -Name muestrame -Value Get-Content
cmdlet para ver los alias creados
$ Get-Alias
cmdlet para ver a que comando equivale el alias llamado «type»
$ Get-Alias -Name type
———————————————————————-
RED:
cmdlet para consultar los datos de las interfaces de red (tarjeta de red)
$ Get-NetIPConfiguration
cmdlet para consultar los datos de la interfaz de red llamada «Ethernet»
$ Get-NetIPConfiguration Ethernet
cmdlet para ver la información de TODAS las interfaces de red instaladas en el equipo
$ Get-NetAdapter
cmdlet para ver la información de la interfaz de red llamada «Ethernet»
$ Get-NetAdapter Ethernet
cmdlet para cambiar la IP, máscara de subred y la puerta de enlace
$ Get-NetAdapter
(Para saber que nº tiene la interfaz, en mi caso el nº 13)
$ New-NetIPAddress -InterfaceIndex 13 -IPAddress 10.0.2.2 -PrefixLenght 23 -DefaultGateway 10.0.2.1
(También podemos hacerlo usando el alias de la interfaz)
$ New-NetIPAddress -InterfaceAlias Ethernet -IPAddress 10.0.2.2 -PrefixLenght 23 -DefaultGateway 10.42.68.1
(En este caso la longitud es 24 porque la máscara de red es 255.255.255.0, según la máscara que tengamos, la longitud variará)
(En este caso, estableceremos la IP 10.0.2.2 y la puerta de enlace será 10.0.2.1)
cmdlet para cambiar la DNS (primaria y secundaria)
$ Get-NetAdapter
(Para saber que nº tiene la interfaz, en mi caso el nº 13)
$ Set-DNSClientServerAddress -InterfaceIndex 13 -ServerAddresses («8.8.8.8», «8.8.4.4»)
cmdlet para cambiar la DNS (primaria y secundaria)
$ Get-NetAdapter
(Para saber que nº tiene la interfaz, en mi caso el nº 13)
———————————————————————-
PROCESOS:
Abrir dos aplicaciones: Bloc de notas y Navegador de Internet (Chrome, Firefox, Edge,…)
cmdlet para obtener la lista de procesos en ejecución en el sistema
$ Get-Process
cmdlet para verificar si el proceso correspondiente al Bloc de notas (notepad) está en ejecución
$ Get-Process -Name notepad
cmdlet para cerrar el proceso correspondiente al blof de notas utilizando el nombre del proceso
$ Stop-Process -Name notepad
cmdlet para cerrar el proceso correspondiente al Navegador de Internet (ej: chrome) utilizando el nombre del proceso
$ Stop-Process -Name chrome
(se establece el nombre del proceso según el navegador que esté abierto, en este caso Chrome)
cmdlet para cerrar el proceso correspondiente al Navegador de Internet utilizando el idntificador (PID) del proceso
$ Stop-Process -Id 11544
(el Id se comprueba haciendo Get-Process del proceso que queremos cerrar, lo veremos en la columna Id)
(Como los navegadores abren varios procesos, iremos al navegador y hacemos MAYUS + ESC, se abrirá una ventana en la que podremos ver el proceso maestro)
(Miramos el Id del proceso maestro, y lo escribimos en PowerShell)
cmdlet para ejecutar el proceso correspondiente al navegador Chrome
$ Start-Process C:\Program Files\Google\Chrome\Application\chrome.exe
———————————————————————-
USUARIOS Y GRUPOS LOCALES:
cmdlet para ver los usuarios locales del equipo
$ Get-LocalUser
cmdlet para ver los grupos locales del equipo
$ Get-LocalGroup
cmdlet para crear un nuevo usuario local en el equipo llamado «Alberto»
$ New-LocalUser -Name «Alberto»
(Nos pedirá la password, en este caso le establecemos 123 como contraseña)
cmdlet para borrar al usuario local llamado «Alberto»
$ Remove-LocalUser -Name Alberto
cmdlet para crear un nuevo usuario local en el equipo llamado «Alberto» estableciendo la contraseña en el cmdlet
$ passwordSecurizado = Read-Host -AsSecureString
$ New-LocalUser -Name «Alberto» -Password $passwordSecurizado
cmdlet para crear un nuevo usuario local en el equipo llamado «Alberto», con el nombre completo y una descripción, estableciendo la contraseña en el cmdlet
$ New-LocalUser -Name «Alberto» -Password $passwordSecurizado -FullName «Alberto Lozano Torres» -Description «Alberto SMR1»
cmdlet para crear un nuevo grupo local en el equipo llamado «Informática»
$ New-LocalGroup -Name «Informática»
cmdlet para añadir al usuario Alberto al grupo local llamado «Informática»
$ Add-LocalGroupMember -Group Informática -Member Alberto
cmdlet para saber que usuarios pertenecen al grupo local llamado «Informática»
$ Get-LocalGroupMember -Group Informática
cmdlet para borrar al grupo local llamado «Informática»
$ Remove-LocalGroup -Name Informática
cmdlet para ver los grupos que existen en el equipo
$ Get-LocalGroup
cmdlet para ver la descripción del grupo local llamado «Informática»
$ Get-LocalGroup Informática
———————————————————————-
SCRIPT para crear 100 usuarios locales que están contenidos en un TXT
-> Crear un TXT con los 100 nombres
nombre1;nombre2;nombre3;nombre4;nombre5;nombre6;nombre7
-> Crear un fichero con extensión .ps1
1) Recoger en una variable la ruta donde está el fichero TXT
2) Leer el fichero de texto teniendo en cuenta la separación del punto y coma (;)
$nombresUsuarios = Get-Content rutaDelTxt -Delimiter «;»
3) Recorrer la lista de nombres (variable nombresUsuarios)
forearch ($nombre in $nombreUsuarios) {
por cada nombre de usuario dar de alta el nuevo usuario cuyo nombre está contenido en la variable $nombre
}
MANEJO BÁSICO DE FICHEROS/DIRECTORIOS:
● cmdlet para mostrar el directorio actual
$ Get-Location
● cmdlet para cambiar el directorio actual a C:\
$ Set-Location C:\
● comando para cambiar el directorio actual a C:\Usuarios\cvr
$ cd C:\Usuarios\cvr
———————————————–
● cmdlet para conocer los alias de el cmdlet Set-Location
$ Get-Help Set-Location
● comandos para limpiar la pantalla
$ cls
$ clear
CONTROL+L
———————————————–
● cmdlet para crear un nuevo fichero llamado “nuevo.txt” (es necesario tener permisos de escritura en la ruta en la cual quiero crear el item)
$ New-Item -Path . -Name «nuevo.txt» -ItemType «file»
● cmdlet para crear un nuevo directorio llamado “contenedor”
$ New-Item -Path . -Name «contenedor» -ItemType «directory»
● cmdlet para copiar el fichero “nuevo.txt” dentro del directorio “contenedor»
$ Copy-Item -Path C:\nuevo.txt -Destination C:\contenedor
● cmdlet para borrar el fichero “nuevo.txt” ubicado en C:\nuevo.txt
$ Remove-Item «C:\nuevo.txt»
● cmdlet para borrar varios ficheros ubicados en C:\
$ Remove-Item «C:\nuevo.txt», «C:\nuevo2.txt», «C:\nuevo3.txt»
● cmdlet para crear un nuevo fichero llamado “nuevo.pdf” dentro del directorio «contenedor»
$ New-Item -Path C:\contenedor -Name «nuevo.pdf» -ItemType «file»
● cmdlet para crear un nuevo fichero llamado “nuevo2.txt” dentro del directorio «contenedor»
$ New-Item -Path C:\contenedor -Name «nuevo2.txt» -ItemType «file»
● cmdlet para mostrar los ficheros y directorios cuyo nombre comience por “n”
$ Get-ChildItem -Filter n*
● cmdlet para mostrar los ficheros (no directorios) cuyo nombre comience por “n”
$ Get-ChildItem -Filter n* -File
● cmdlet para mostrar los directorios (no ficheros) cuyo nombre comience por “n”
$ Get-ChildItem -Filter n* -Directory
● cmdlet para mostrar los ficheros (no directorios) que tenga extensión .pdf
$ Get-ChildItem -Filter *.pdf
$ Get-ChildItem -Path C:\contenedor\*.pdf
$ Get-ChildItem -Path C:\contenedor\* -Include *.pdf
● cmdlet para mostrar todo lo que no tengan extensión .txt
$ Get-ChildItem -Exclude *.txt
● cmdlet para mostrar los ficheros (no directorios) que no tengan extensión .txt
$ Get-ChildItem -Path C:\contenedor\* -Exclude *.txt
● cmdlet para mostrar todos los ficheros y directorios cuyo nombre (sin incluir la extensión) acabe en «o»
$ Get-ChildItem -Path *o; Get-ChildItem -Path *o.*
● cmdlet para mostrar todos los ficheros (no directorios) cuyo nombre (sin incluir la extensión) empiece por «n» y termine en «o»
———————————————–
● cmdlet para conocer la ayuda online de un cmdlet
$ Get-Help -online cmdlet
———————————————–
● cmdlet para escribir “Hola Mundo!” dentro del fichero nuevo.txt
$ Set-Content -Path .\nuevo.txt -Value «Hola Mundo!»
● cmdlet mostrar el contenido del fichero nuevo.txt
$ Get-Content .\nuevo.txt
● cmdlet para añadir al final del fichero nuevo.txt el texto “Hola Caracola!”
$ Add-Content -Path nuevo.txt -Value «Hola Caracola!»
● cmdlet para crear tres nuevos ficheros: nuevo3.txt, nuevo4.txt y nuevo5.txt
dentro del directorio “contenedor”
$ new-item «nuevo3.txt»,»nuevo4.txt»,»nuevo5.txt»
● cmdlet para crear un nuevo directorio dentro del directorio “contenedor”
llamado “contenedor-interno”
$ new-item -path c:\contenedor -name «contenedor-interno» -ItemType Directory
● cmdlet para mover los ficheros nuevo3.txt, nuevo4.txt y nuevo5.txt al
directorio llamado “contenedor-interno”
$ Move-Item nuevo3.txt,nuevo4.txt,nuevo5.txt -Destination .\contenedor-interno\
● cmdlet para eliminar el fichero nuevo5.txt que está contenido en “contenedor-interno”
$ Remove-Item nuevo5.txt
● cmdlet para copiar todo el contenido del directorio “contenedor” en un nuevo
directorio llamado “contenedor-backup” ubicado en C:\
$ Copy-Item -Path .\contenedor\ -Destination .\contenedor-backup -Recurse
● cmdlet para renombrar el nombre del directorio “contenedor-backup” a
“contenedor-backup2”
$ Rename-Item -Path .\contenedor-backup\ -NewName contenedor-backup2
● cmdlet para comprimir en formato ZIP el directorio “contenedor-backup2”
$ Compress-Archive -Path .\contenedor-backup2\ -Destination contenedor-backup2
● cmdlet para descomprimir el fichero zip “contenedor-backup2.zip” y que se llame «contenedor-backup3»
$ Expand-Archive -Path .\contenedor-backup2.zip -Destination contenedor-backup3
———————————————
MÁS SOBRE FILTROS:
Dada la siguiente estructura de directorios y ficheros:
– [d] Ejercicio-filtros
– [d] Logs
– [f] ficheroLog1.txt
– [f] ficheroLog2.txt
– [d] fichero1.txt
– [d] fichero2.txt
– [d] fichero1.pdf
– [d] otroFichero1.jpeg
● cmdlet para mostrar el contenido del directorio «Ejercicio-filtros»
$ Get-ChildItem
● cmdlet para mostrar todo el contenido del directorio «Ejercicio-filtros», incluyendo todo el contenido de los directorios que pertenecen a «Ejercicios-filtro»
$ Get-ChildItem -Recurse
● cmdlet para mostrar todos los ficheros .txt del directorio «Ejercicio-filtros»
$ Get-ChildItem -Filter *.txt
# When using the -Include parameter, if you don’t include an asterisk in the path
# the command returns no output.
$ Get-ChildItem -Path .\* -Include *.txt
● cmdlet para mostrar todos los ficheros .txt del directorio «Ejercicio-filtros», incluyendo todos los ficheros .txt contenidos en los directorios que pertenecen a «Ejercicios-filtro»
$ Get-ChildItem -Filter *.txt -Recurse
$ Get-ChildItem -Path .\* -Include *.txt -Recurse
● cmdlet para mostrar todos los ficheros del directorio «Ejercicio-filtros», excluyendo los que comienzan por el caracter «o»
$ Get-ChildItem -Path .\* -Exclude o*
———————————————
ALIAS:
● cmdlet para crear un alias llamado “muestrame” que equivalga a Get-Content
$ Set-Alias -Name muestrame -Value Get-Content
● cmdlet para ver los alias creados
$ Get-Alias
● cmdlet para ver a qué comando equivale el alias llamado “type”
$ Get-Alias type
———————————————-
PROCESOS:
Abrir Bloc de Notas y un Navegador de Intenet (Firefox, Chrome, …)
● cmdlet para obtener todos los procesos que se están ejecutando en el sistema
Get-Process
● cmdlet para verificar si el proceso correspondiente al Bloc de Notas (notepad) se están ejecutando en el sistema
Get-Process -Name notepad
● cmdlet para detener el proceso correspondiente al Navegador de internet (ej: chrome) utilizando el nombre del proceso
Stop-Process -Name chrome
● cmdlet para detener el proceso correspondiente al Navegador de Intenet (notepad) utilizando el identificador del proceso (PID)
Stop-Process -id 1050
● cmdlet para ejecutar el proceso correspondiente al navegador Chrome
cd C:\Program Files\Google\Chrome\Application
Start-Process chrome.exe
———————————————-
REDES:
● cmdlet para ver la información de TODAS las interfaces de red instaladas en el equipo
Get-NetAdapter
● cmdlet para ver la información de la interfaz de red llamada “Ethernet”
Get-NetAdapter Ethernet
● cmdlet para ver la configuración de la interfaz de red llamada “Ethernet”
Get-NetIPConfiguration Ethernet
● cmdlet para cambiar la IP, máscara y puerta de enlace de una interfaz de red instalada en el equipo llamada “Ethernet” con InterfaceIndex 6
New-NetIPAddress –IPAddress 192.168.2.50 -DefaultGateway 192.168.2.1 -PrefixLength 24 –InterfaceIndex 6
● cmdlet para cambiar las DNS (primaria y secundaria) de una interfaz de red instalada en el equipo con InterfaceIndex 6
Set-DNSClientServerAddress –InterfaceIndex 6 –ServerAddresses («8.8.8.8″,»8.8.4.4»)
———————————————-
USUARIOS Y GRUPOS LOCALES:
● cmdlet para ver los usuarios locales del equipo
Get-LocalUser
● cmdlet para ver los grupos locales del equipo
Get-LocalGroup
● cmdlet para crear un usuario local en el equipo
New-LocalUser -Name «Antonio»
ó
$passwordSecurizado = Read-Host -AsSecureString hola123
New-LocalUser -Name «Antonio2» -Password $passwordSecurizado -FullName «Antonio Pepito Flores» -Description «Antonio SMR1»
● cmdlet para crear un grupo local en el equipo llamado Marketing
New-LocalGroup -Name «Marketing»
● cmdlet para añadir al ususario Antonio dentro del grupo Marketing
Add-LocalGroupMember -Group Marketing -Member antonio
● cmdlet para comprobar que el usuario Antonio pertenece al grupo Marketing
Get-LocalGroupMember -Group Marketing
● cmdlet para borrar un grupo local en el equipo llamado Marketing
Remove-LocalGroup Marketing
● cmdlet para borrar un usuario local en el equipo
Remove-LocalUser Usuario2
Comandos básicos Linux
GESTIÓN DE FICHEROS Y DIRECTORIOS:
-> Comprobar el nombre del equipo a través de terminal:
$ hostname
(También se puede ver sin hacer nada, ya que es el segundo nombre que nos aparece en la línea de comandos)
-> Comprobar el nombre del usuario logueado:
$ whoami
-> Cambiar el nombre del equipo a través de terminal, por ejemplo Antía:
$ hostname + nombreNuevo
Ejemplo: $ hostname Antía
(Para que se apliquen los cambios habrá que cerrar y abrir la terminal de nuevo)
-> Cambiar fecha y hora del sistema, por ejemplo las 23:30 del 10 de octubre del 2026:
$ sudo date -s fechaNueva
Ejemplo: $ sudo date -s «10 OCT 2026 23:30:00»
(Se escribe -s para cambiar, «set»)
-> Cambiar la configuración de red en una de la interfaces habilitadas en el equipo:
$ cd /etc/netplan
(Para ubicarnos en el directorio en el que se encuentra el fichero de configuración de la interfaz)
$ sudo nano 01-network-manager-all.yaml
(Modificar el fichero de configuración de la interfaz)
Modificar el fichero para introducir:
network:
ethernets:
enp0s3:
dhcp: no
addresses: [IP_nueva/24]
gateway4: IP_puerta_enlace
nameservers:
addresses: [dns_primaria, dns_secundaria]
(El fichero tiene que quedar así, lo guardamos y salimos)
$ sudo netplan apply
(Aplica los cambios introducidos en el fichero de configuración de la interfaz)
(Desde la versión 20.04 de Ubuntu se configura mediante /etc/netplan/ en lugar de
/etc/network/interfaces, como ocurría en Ubuntu 18.04 y versiones anteriores).
-> Cambiar la configuración de red en una de la interfaces habilitadas en el equipo:
$ sudo nano /etc/netplan/01-network-manager-all.yaml
(Este comando edita directamente el fichero de configuración de la interfaz sin tener que entrar en el directorio)
-> Actualizar todo el software instalado en el sistema:
$ sudo apt update
(Este comando no instala, si no que obtiene la información sobre la última versión de los paquetes disponibles para el S.O.)
$ sudo apt upgrade
(Descarga y actualiza los paquetes a la nueva versión del sistema)
GESTIÓN DE FICHEROS Y DIRECTORIOS:
-> Mostrar la ruta actual:
$ pwd
-> Ejecutar un comando como administrador (root), ejemplo mv:
$ sudo + Comando
Ejemplo: $ sudo mv nombreFichero nuevoNombreFichero
(Equivalente en Windows a botón derecho, ejecutar como Administrador)
-> Loguearse con otro usuario del sistema, ejemplo María:
$ sudo + Usuario
Ejemplo: $ su maria
(Para salir de el usuario logueado exit, si se escribe exit sin loguearse con otro usuario, saldremos de la terminal)
(Si escribimos solo su, nos loguearemos con root)
-> Listar el contenido del directorio actual:
$ ls
(En color azul son carpetas y en color blanco son ficheros)
-> Listar el contenido del directorio actual de forma detallada:
$ ls -l
(Con -l se ve el tamaño, permisos, usuario propietario, grupo propietario…)
-> Listar el contenido de otro directorio diferente al actual de forma detallada, por ejemplo de Escritorio:
$ ls -l + Ruta
Ejemplo: $ ls -l /home/antia/Escritorio
(Con -l se ve el tamaño, permisos, usuario propietario, grupo propietario…)
-> Listar el contenido del directorio distinto actual, por ejemplo en «Descargas»:
$ ls + Ruta
Ejemplo: $ ls /home/antia/Descargas
-> Limpiar la terminal:
$ clear
Control + L
(Baja el texto de forma que si se sube por la terminal podemos ver los comandos y respuestas anteriores)
-> Navegar entre directorios, por ejemplo para ir a el usuario antia:
$ cd /home/antia
-> Volver al directorio anterior (un nivel por encima del actual):
$ cd ..
(OJO: sin el espacio no funciona)
-> Volver al directorio anterior del anterior (dos niveles por encima del actual):
$ cd ../..
$ cd .. && cd ..
(Pueden ponerse espacios entre los Ampersand y los comandos anteriores y posteriores, si no hay espacios funciona igual)
-> Crear una carpeta dentro del directorio actual:
$ mkdir nombreCarpeta
(Ubuntu tiene en cuenta las mayúsculas y las diferencia, por lo que si buscamos nombrecarpeta esta no existía)
-> Crear una carpeta dentro de un directorio diferente al actual, por ejemplo «Escritorio»:
$ mkdir Ruta + nombreCarpeta
Ejemplo: mkdir /home/antia/Escritorio/nombreCarpeta
-> Eliminar una carpeta dentro del directorio actual:
$ rmdir nombreCarpeta
(Con este comando no son necesarios modificadores)
$ rm -r nombreCarpeta
(Este último se escribe -r para que lo haga recursivante, que es una condición para eliminar directorios)
$ rm -d nombreCarpeta
Se escribe -s para eliminar directorios vacíos)
-> Eliminar una carpeta dentro de un directorio diferente al actual, por ejemplo «Escitorio»:
$ rmdir /home/antia/Escritorio/nombreCarpeta
$ rm -r /home/antia/Escritorio/nombreCarpeta
-> Crear o editar un fichero de texto en el directorio actual (abriendo en programa externo, lo que Rubén llama «en modo gráfico»):
$ gedit nombreFichero
-> Crear o editar un fichero de texto en un directorio diferente al actual, por ejemplo en Escritorio (abriendo en programa externo, lo que Rubén llama «en modo gráfico»):
$ gedit /home/antia/Escritorio/nombreFichero
-> Crear o editar un fichero de texto en el directorio actual (abriendo en la propia terminal, lo que Rubén llama «en modo terminal»):
$ nano nombreFichero
(Control + O para guardar el fichero, Enter para guardar el nombre del fichero y Control + X para salir del fichero)
-> Crear o editar un fichero de texto en un directorio diferente al actual, por ejemplo en Escritorio (abriendo en la propia terminal, lo que Rubén llama «en modo terminal»):
$ nano /home/antia/Escritorio/nombreFichero
-> Copiar un fichero del directorio actual al mismo directorio:
$ cp nombreFichero nombreFicheroCopia
(El 1º nombre es el del fichero que queremos copiar y el 2º nombre es el nombre del fichero copia)
-> Copiar un fichero del directorio actual a otro directorio, por ejemplo del Escritorio a Descargas:
$ cp nombreFichero Ruta + nombreFicheroCopia
Ejemplo: $ cp nombreFichero /home/antia/Descargas/nombreFicheroCopia
-> Copiar un fichero de un directorio diferente al actual a otro directorio, por ejemplo del Escritorio a Descargas:
$ cp Ruta + nombreFichero Ruta + nombreFicheroCopia
Ejemplo: $ cp /home/antia/Escritrio/nombreFichero /home/antia/Descargas/nombreFicheroCopia
-> Mover un fichero del directorio actual a otro directorio, por ejemplo del Escritorio a Descargas:
$ mv nombreFichero Ruta + nuevoNombreFichero
Ejemplo: $ mv nombreFichero /home/antia/Descargas/nuevoNombreFichero
(También sirve para renombrar, en caso de moverlo al mismo directorio en el que se encuentra)
(Si queremos mover desde otros directorios escribiremos la ruta completa, siguiendo la misma estructura que con $ cp)
-> Renombrar un fichero o directorio:
$ mv nombreFichero Ruta + nuevoNombreFichero
-> Eliminar un fichero en el directorio actual:
$ rm nombreFichero
-> Copiar un directorio en el directorio actual, ejemplo hacer una copia de Antía que se llame 2:
$ cp -r NombreAntiguo NombreNuevo
Ejemplo: $ cp -r Antía 2
-> Copiar un directorio, ejemplo copiar el Antía (ubicado en Escritorio) que se llame 2 (ubicado en Descargas):
$ cp -r RutaOrigen RutaDestino
Ejemplo: $ cp -r /home/antia/Escritorio/Antía /home/antia/Descargas/2
-> Mover un directorio, ejemplo mover el Antía (ubicado en Escritorio) que se llame 2 (ubicado en Descargas):
$ mv RutaOrigen RutaDestino
Ejemplo: $ mv /home/antia/Escritorio/Antía /home/antia/Descargas/2
(Con el comando mv no hace falta -r)
-> Para mostrar la ayuda de un comando, por ejemplo mv:
$ mv –h
$ mv –help
(Tienen que ser 2 guiones, si no, no funciona)
-> Modificar el contenido de un fichero, por ejemplo de antia:
$ cat > nombreFichero
Ejemplo: $ cat > antia.txt
(Pulsar Enter y después Control + D para salir de la edición)
-> Modificar añadir contenido a un fichero sin sobreescribir (es decir, dejando el texto anterior), por ejemplo de antia:
$ cat >> nombreFichero
Ejemplo: $ cat >> antia.txt
(> Sobreescribe en un archivo, >> Añade a un archivo)
-> Mostrar el contenido un fichero, por ejemplo de antia:
$ cat nombreFichero
Ejemplo: $ cat antia.txt
INSTALACIÓN DE PAQUETES DE SOFTWARE .DEB
En Linux, los programas se distribuyen a través de paquetes (contenedores que permiten
su instalación/desinstalación en el sistema).
Los dos más importantes son: paquetes .deb y paquetes .rpm.
Las distribuciones basadas en Debian, como Ubuntu, emplean los paquetes .deb, mientras
que las distribuciones como Fedora, Mandriva, SuSE, CentOS emplean el sistema de
gestión de paquetes Red Hat, que utiliza los paquetes .rpm.
-> Comprobar si un paquete está disponible para su instalación (consultando en los repositorios del S.O.), por ejemplo cpu-x:
$ apt search + nombrePaquete
Ejemplo: $ apt search cpu-x
-> Instalar un programa que se encuentra disponible en el los repositorios del S.O.:
$ sudo apt install cpu-x
-> Instalar un paquete que no se encuentra disponible en el los repositorios del S.O., por ejemplo chrome:
$ wget + URL de instalación
$ sudo apt install + Ubicación paquete
Ejemplo: $ wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
(Con este comando se descargará el ejecutable en el directorio actual)
Ejemplo: $ sudo apt install ./google-chrome-stable_current_amd64.deb
(Se escribe ./ porque es un archivo ejecutable)
-> Comprobar la lista de paquetes disponibles en el repositorio del sistema:
$ apt list
-> Comprobar la lista de paquetes instalados en el sistema:
$ apt list | grep instalado
(| es el Pipe, una tubería que tiene en cuenta el 2º comando para ejecutar el 1º)
(Grep es un comando para filtrar que, en este caso estamos buscando la palabra instalado que aparece entre corchetes a la derecha de un paquete en caso de que este esté instalado)
(También podemos usarlo para buscar un paquete en específico, como firefox, solo tendremos que poner su nombre en lugar de instalado)
-> Desinstalar un paquete instalado en el sistema, por ejemplo cpu-x:
$ sudo apt remove + nombrePaquete
Ejemplo: $ sudo apt remove cpu-x
(Esta opción no elimina los ficheros de configuración del sistema asociados a este paquete/programa)
-> Desinstalar un paquete instalado en el sistema, por ejemplo cpu-x, eliminando también los ficheros de configuración asociados:
$ sudo apt purge + nombrePaquete
$ sudo apt –purge remove + nombrePaquete
Ejemplo: $ sudo apt purge cpu-x
Ejemplo: $ sudo apt –purge remove cpu-x
-> Desinstalar los paquetes que son dependencias de otro paquete que ya no está instalado (los restos que quedan a desinstalar un programa):
$ sudo apt autoremove
-> Ver los detalles de un paquete, por ejemplo nano:
$ apt show + comando
Ejemplo: $ apt show nano
INSTALACIÓN DE PAQUETES DE SOFTWARE SNAP:
Es una alternativa al sistema APT para instalar paquetes en Ubuntu. Pretenden facilitar la instalación y mantenimiento de software en el sistema, aportando actualizaciones
automáticas en segundo plano cuando una nueva versión del programa esté disponible, a diferencia de apt-get, donde es necesario actualizar manualmente los paquetes/programas
instalados. Los paquetes snap también están disponibles para descarga a través de interfaz gráfica a través de la Store de Ubuntu.
-> Comprobar si un paquete concreto está en el repositorio de paquetes snap, por ejemplo vlc:
$ snap find + nombrePaquete
Ejemplo: $ snap find vlc
-> Instalar un paquete/programa a través del sistema snap, por ejemplo vlc:
$ sudo snap install + nombrePaquete
Ejemplo: $ sudo snap install vlc
-> Listar los paquetes/programas instalados en el sistema operativo utilizando snap:
$ snap list
-> Comprobar si un paquete/programa está instalado, por ejemplo vlc:
$ snap list + nombrePrograma
Ejemplo: snap list vlc
-> Desinstalar un paquete/programa a través del sistema snap, por ejemplo vlc
$ sudo snap remove + nombrePaquete
Ejemplo: $ sudo snap remove vlc
CONFIGURACIÓN:
-> Ver las características (marca, modelo, fabricante, nombre lógico) de las interfaces de red del equipo:
$ sudo lshw -class network
-> Ver la configuración (ip, máscara, puerta de enlace) de las interfaces de red del equipo:
$ ifconfig
(Para poder utilizarlo tendremos que instalar net-tools con el comando, sudo apt install net-tools)
-> Ver la configuración (ip, máscara, puerta de enlace) de una interfaz de red del equipo, por ejemplo la enp0s3:
$ ifconfig + nombreInterfaz
Ejemplo: $ ifconfig enp03
-> Al principio del documento para cambiar la configuración de una interfaz de red.
CREACIÓN DE USUARIOS Y GRUPOS:
-> Mostrar la lista de usuarios registrados en el sistema:
$ cat /ect/passwd
$ getent passwd
(Este último solo tiene determinados sitios a los que puede acceder, no como el comando cat, que tiene mayor cantidad de utilidades, dependiendo de los parámetros del comando)
(Podemos escribir «$ cat /ect/passwd | grep nombreUsuario» si queremos buscar un usuario en particular)
-> Mostrar la lista de grupos registrados en el sistema:
$ cat /ect/group
$ getent group
-> Muestra los miembros de un grupo:
$ cat /ect/group | grep nombreGrupo
$ getent group + nombreGrupo
(Este comando filtra los grupos y lista los que coincidan con nombreGrupo)
-> Crear un usuario, por ejemplo antonio:
$ sudo adduser + nombreUsuario
Ejemplo: $ sudo adduser antonio
(OJO no se pueden crear ni usuarios ni grupos con mayúsculas, tildes…)
-> Crear un grupo, por ejemplo empresa:
$ sudo adduser + nombreGrupo
Ejemplo: $ sudo adduser empresa
-> Añadir un usuario a un grupo, por ejemplo el usuario antonio al grupo empresa:
$ sudo adduser + nombreUsuario + nombreGrupo
Ejemplo: $ sudo adduser antonio empresa
-> Comprobar los grupos a los que pertenece un usuario, por ejemplo antonio:
$ groups + nombreUsuario
Ejemplo: $ groups antonio
(Si antonio pertenece a muchos grupos, podemos fitrar con el Pipe y grep, «groups antonio | grep empresa»)
-> Bloquea la cuenta de un usuario, por ejemplo antonio:
$ sudo usermod + nombreUsuario -L
Ejemplo: $ sudo usermod antonio -L
(Se ecribe -L para bloquear al usuario, «lock»)
(Si se hace correctamente, si intentamos loguearnos con el otro usuario, en este caso antonio, saldrá un mensaje de «Fallo de autentificación»)
-> Desloquea la cuenta de un usuario, por ejemplo antonio:
$ sudo usermod + nombreUsuario -U
Ejemplo: $ sudo usermod antonio -U
(Se ecribe -L para bloquear al usuario, «unlock»)
-> forzar a que un usuario tenga que cambiar su contraseña, por ejemplo antonio:
$ sudo chage + nombreUsuario + -d 0
Ejemplo: $ sudo chage antonio -d 0
(Se escribe -d para que el usuario tenga que cambiar la contraseña tan pronto inicie sesión).
-> Eliminar un usuario, por ejemplo antonio:
$ userdel + nombreUsuario
Ejemplo: $ userdel antonio
PERMISOS:
-> Añadir permisos de escritura, lectura y ejecución para el usuario propietario en un directorio, por ejemplo contabilidad:
$ chmod u=rwx + nombreDirectorio
Ejemplo: $ chmod u=rwx contabilidad
(La u es para establecerle los permisos al usuario propietario, es decir, el 1º bloque de los 3 bloques de los permisos)
(Además, poenemos rwx para darle todos los permisos, read, write, execute)
-> Quitar permisos de escritura, lectura y ejecución para el usuario propietario en un directorio, por ejemplo contabilidad:
$ chmod u=— + nombreDirectorio
Ejemplo: $ chmod u=rwx contabilidad
(Los guiones equivalen a espacios en blanco y con ambos quitaremos todos los permisos)
-> Añadir permisos de escritura, lectura y ejecución para el grupo en un directorio, por ejemplo contabilidad:
$ chmod g=rwx + nombreDirectorio
Ejemplo: $ chmod g=rwx contabilidad
(La g es para establecerle los permisos al grupo, es decir, el 2º bloque de los 3 bloques de los permisos)
(Para quitar los permisos seguiremos el mismo esquema que con el usuaio propietario pero con la letra correspondiente)
-> Añadir permisos de escritura, lectura y ejecución para otros usuarios en un directorio, por ejemplo contabilidad:
$ chmod o=rwx + nombreDirectorio
Ejemplo: $ chmod o=rwx contabilidad
(La g es para establecerle los permisos al grupo, es decir, el 3º bloque de los 3 bloques de los permisos)
(Para quitar los permisos seguiremos el mismo esquema que con el usuaio propietario pero con la letra correspondiente)
Importante:
-> Añadir permisos para lista ficheros de un directorio, por ejemplo contabilidad:
$ chmod «quien queremos que liste»=r + nombreDirectorio
Ejemplo (grupo): $ chmod g=r contabilidad
Ejemplo (otros usuarios): $ chmod o=r contabilidad
-> Añadir permisos para entrar y listar un directorio, por ejemplo contabilidad:
$ chmod «quien queremos que entre y liste»=x + nombreDirectorio
Ejemplo (grupo): $ chmod g=x contabilidad
Ejemplo (otros usuarios): $ chmod o=x contabilidad
-> Añadir permisos para entrar en un directorio o ejecutar un fichero, por ejemplo hola.txt:
$ chmod «quien queremos que entre/ejecute»=x + nombreFichero
Ejemplo (grupo): $ chmod g=x hola.txt
Ejemplo (otros usuarios): $ chmod o=x hola.txt
(Con este comando, al no poder listar, habrá que asegurarse de que hay ficheros y saber su nombre)
-> Añadir permisos para crear/modificar/borrar ficheros de un directorio, por ejemplo contabilidad:
$ chmod «quien queremos que modifique»=wx + nombreDirectorio
Ejemplo (grupo): $ chmod g=wx contabilidad
Ejemplo (otros usuarios): $ chmod o=wx contabilidad
(Al no poder listar, tendremos que sabernos los nombres de los arcivos contenidos)
-> Añadir permisos para abrir/ejecutar ficheros de un directorio, por ejemplo hola.txt de contabilidad:
$ chmod «quien queremos que abra y ejecute»=rx + nombreFichero/nombreDirectorio
Ejemplo (grupo): $ chmod g=rx hola.txt/contabilidad
Ejemplo (otros usuarios): $ chmod o=rx contabilidad
(Esto te permite leer archivos e un directorio y entrar en un directorio)
Con permiso solo de lectura solo se puede listar desde fuera del directorio.
Con permiso de lectura y ejecución, podemos entrar en el directorio y listar desde dentro.
Con permisos totales podremos hacer de todo.
Con permisos de solo escritura no se puede hacer nada.
-> Añadir permisos de escritura, lectura y ejecución para el usuario propietario, grupo y otros usuarios en un directorio, por ejemplo contabilidad:
$ chmod 777 + nombreDirectorio
Ejemplo: $ chmod 777 contabilidad
(rwx son 111 en binario, pasado a decimal son 7, como en los 3 bloques le vamos a poner todos los permisos, son 777)
(Si solo queremos que el propietario tenga todos los permisos y que los demás no tengan ninguno, tendía que ser 700)
(En caso de no querer que nadie tenga permisos sobre este directorio, sería 000)
(Permisos totales para el usuario propietario y el grupo y para otros usuarios nigún permiso, se representaría 770)
(Para que el usuario propietario tenga permisos totales, el grupo lectura y otros usuarios ninguno, sería 740)
Cambiar de usuario/grupo:
-> Asignar a un directorio un usuario propietario y un grupo, en este caso asignar al directorio contabilidad el usuario antia y el grupo empresa:
$ chown + nombreUsuario:nombreGrupo + nombreDirectorio
Ejemplo: $ chown antonio:empresa contabilidad
AVANZADO
-> Crear un fichero de texto con 998 palabras:
$ for i in $(seq 1 998); do echo «palabra$i» >> archivo 998Palabras.txt; done
(Este comando añade una secuencia de palabras al final del fichero, imprimiéndolas 1º por pantalla)
Ejemplo:
$ pwgen -0 5 998 >> hola.txt
-0 (Solo incluye letras)
5 (Indica el número de caracteres de las palabras)
998 (Indica el número de palabras a añadir)
>> (Indica que se añada al final del fichero)
(Si quisiéramos sustituir todo el texto contenido en el fichero, en lugar de poner dos >>, pondríamos solo uno «$ pwgen -0 5 998 > hola.txt»)
-> Contar el número de palabras que tiene un fichero, por ejemplo del fichero archivo998Palabras.txt:
$ wc -w archivo998Palabras.txt
(Se escribe -w porque queremos contar palabras, «words», en caso de querer contar caracteres escribiremos -m)
Comandos Linux
Secuencia de comandos
Gestión de ficheros y directorios
Comando | Parámetro utilizado | Sirve para (mediante terminal) |
mkdir | mkdir “nombre” | Crear carpetas dentro de un directorio “nombre” → Nombre de la carpeta a crear |
gedit nano | gedit “archivo” nano “archivo” | Crear un fichero .txt “archivo” → Nombre del fichero a crear |
cat | cat > “archivo” | Añadir texto a un fichero .txt > → Sustituye todo el texto del archivo |
cat | cat “archivo” | Mostrar el contenido de un fichero .txt |
pwgen | pwgen -0 “X” “XX” >> “archivo” | Añadir palabras a un fichero .txt de forma automática -0 → Indica que no se incluyan números “X” → Caracteres que queremos en cada palabra “XX” → Indica el número de palabras a añadir >> → Añade el texto al final del archivo |
apt | sudo apt install pwgen | Instalar paquetes/programas sudo → Otorga permisos de administrador install → Instalar paquetes pwgen → Paquete a instalar (Crear contraseñas/palabras) |
wc | wc -w “archivo” | Realizar conteos -w → indica que se cuenten las palabras |
cat | cat “archivo” | more | Consultar el contenido de un fichero .txt de forma paginada Pipe | → Enlaza comandos more → Va rellenando la pantalla con el archivo |
less | less “archivo” | Consultar el contenido de un fichero .txt pudiendo desplazarse con las flechas del teclado |
cp | cp “archivo” ../”carpeta” | Copiar un fichero a otro directorio .. → Indica la carpeta padre “carpeta” → Carpeta a donde queremos copiar el fichero |
rm | rm “archivo” | Eliminar un fichero de un directorio |
mv | mv “archivo” ../”carpeta” | Mover el fichero de un directorio a otro .. → Indica la carpeta padre “carpeta” → Carpeta a donde queremos mover el fichero |
Gestión de usuarios y grupos
Comando | Parámetro utilizado | Sirve para (mediante terminal) |
addgroup | sudo addgroup “nombre” | Crear grupos sudo → Otorga permisos de administrador “nombre” → Nombre del grupo a crear |
Cat | cat /etc/group | cat → Muestra /etc → Directorio donde se encuentran los archivos de configuración del sistema /group → Imprime los nombres de los grupos |
Adduser | sudo adduser “nombre” | Crear usuarios sudo → Otorga permisos de administrador “nombre” → Nombre del usuario a crear |
Cat | cat /etc/passwd | cat → Muestra /etc → Directorio donde se encuentran los archivos de configuración del sistema /passwd → Gestiona las claves de los usuarios |
Adduser | sudo adduser “usuario” “grupo” | Asignar usuarios a grupos sudo → Otorga permisos de administrador adduser → Crear usuarios “usuario” → Nombre del usuario al que queremos asignar grupo “grupo” → Nombre del grupo al que queremos asignar al usuario precedente |
Gestión de permisos
Comando | Parámetro utilizado | Sirve para (mediante terminal) |
su | su “usuario” | Cambiar de usuario “usuario” → Nombre del usuario al que queremos loguear |
mkdir | mkdir /tmp/”directorio” | mkdir → Crear directorios (carpetas) /tmp → Ruta donde queremos crear el directorio /”directorio” → Nombre del directorio que queremos crear |
nano | nano /tmp/”directorio”/”archivo” | Crear un fichero .txt /tmp/”directorio” → Ruta donde queremos crear el archivo /”archivo” → Nombre del archivo que queremos crear |
wget | wget “url” | Descargar archivos de internet /”url” → Dirección de internet donde está el archivo que queremos descargar |
mv | mv “nombre1” “nombre2” | Renombrar archivos ”nombre1” → Nombre actual del archivo ”nombre2” → Nuevo nombre del archivo |
ls | ls | Listar archivos del directorio actual |
zip | zip “comprimido” “archivo” | Comprimir archivos ”comprimido” → Nombre que queremos asignar al archivo comprimido que queremos crear ”archivo” → Nombre del archivo a comprimir |
ls | ls -l | Listar archivos del directorio actual -l → Muestra la información de usuario, grupo, permisos, tamaño, fecha y hora de creación |
chmod | chmod u=rwx “directorio” | Asignación de permisos u → Usuario dueño del directorio r → Permiso de lectura w→ Permiso de escritura x → Permiso de ejecución “directorio” → Directorio al que queremos asignar los permisos |
chmod | chmod g=w “directorio” | Asignación de permisos g → Grupo de usuarios al que queremos asignar el directorio w→ Permiso de escritura “directorio” → Directorio sobre el que queremos asignar los permisos |
chmod | chmod o=r “directorio” | Asignación de permisos o → Todos los otros usuarios x→ Permiso de ejecución “directorio” → Directorio sobre el que queremos asignar los permisos |
chown | chown “propietario”:”grupo” “directorio” | Cambiar el propietario “propietario” → Propietario del directorio :”grupo“ → Grupo al que queremos asignar la propiedad “directorio” → Directorio al que queremos cambiar la propiedad |
cd | cd /”ruta” | Moverse entre directorios /”ruta“ → Ruta del directorio que queremos consultar |
nano | nano “archivo” | Crear un fichero .txt “archivo” → Nombre del archivo a crear |
rm | rm “archivo” | Eliminar archivos “archivo” → Nombre del archivo a eliminar |
nano | nano “archivo” | Modificar un fichero .txt “archivo” → Nombre del archivo a modificar |
evince | evince “archivo” | Abrir un fichero .pdf “archivo” → Nombre del archivo a abrir |
eog | eog “archivo” | Visualizar fotos “archivo” → Nombre del archivo a visualizar |
unzip | unzip -l “archivo” | Descomprimir archivos -l → Lo muestra en pantalla “archivo” → Nombre del archivo a descomprimir |
¿Qué es un comando Linux?
Un comando Linux es un programa o utilidad que se ejecuta en la CLI, una consola que interactúa con el sistema a través de textos y procesos. Es similar a la aplicación Símbolo del Sistema en Windows.
Los comandos de Linux se ejecutan en el Terminal pulsando Enter al final de la línea.
La sintaxis general de un comando Linux es la siguiente:
Nombredelcomando [opcion(es)] [parametro(s)]
Los comandos Linux pueden contener una opción o un parámetro. En algunos casos, pueden ejecutarse sin ellos. Estas son las tres partes más comunes de un comando:
- CommandName es la regla que deseas ejecutar.
- Option o flagmodifica el funcionamiento de un comando. Para ejecutarla, utiliza guiones (-) o guiones dobles (—).
- Parameter o argument especifica cualquier información necesaria para el comando.
Ten en cuenta que todos los comandos de Linux distinguen entre mayúsculas y minúsculas.
Los 40 comandos de Linux más utilizados
- Comando sudo
Abreviatura de superusuario do, sudo es uno de los comandos básicos más populares de Linux que te permite realizar tareas que requieren permisos administrativos o de root.
Al utilizar sudo, el sistema pedirá a los usuarios que se autentiquen con una contraseña. A continuación, el sistema Linux registrará una marca de tiempo como seguimiento. Por defecto, cada usuario root puede ejecutar comandos sudo durante 15 minutos por sesión.
Si intentas ejecutar sudo en la línea de comandos sin autenticarte, el sistema registrará la actividad como un evento de seguridad.
Sintaxis general:
sudo (comando)
También puedes añadir una opción, por ejemplo:
- -k o -reset-timestamp invalida el archivo timestamp.
- -g o -group=group ejecuta comandos como un nombre o ID de grupo especificado.
- -h o -host=host ejecuta comandos en el host.
- Comando pwd
Utiliza el comando pwd para encontrar la ruta de tu directorio de trabajo actual. Simplemente introduciendo pwd te devolverá la ruta actual completa, una ruta de todos los directorios que comienza con una barra oblicua (/).
Por ejemplo, /inicio/nombredeusuario.
El comando pwd utiliza la siguiente sintaxis:
pwd [opción]
Tiene dos opciones aceptables:
- -L o -logical imprime el contenido de las variables de entorno, incluidos los enlaces simbólicos.
- -P o -physical imprime la ruta real del directorio actual.
- Comando cd
Para navegar por los archivos y directorios de Linux, usa el comando cd. Te pedirá la ruta completa o el nombre del directorio, dependiendo del directorio de trabajo actual en el que te encuentres.
Supongamos que estás en
/home/nombredeusuario/Documentos y deseas ir a Fotos, un subdirectorio de Documentos. Para hacerlo, simplemente escribe el siguiente comando:
cd Fotos.
Otro escenario es si deseas ir a un directorio completamente nuevo, por ejemplo, /home/nombredeusuario/Peliculas. En este caso, debes escribir cd seguido de la ruta absoluta del directorio:
cd /home/nombredeusuario/Peliculas.
Hay algunos atajos para ayudarte a navegar rápidamente:
- cd~[nombredeusuario] para ir directamente a la carpeta de inicio.
- cd ..para ir un directorio hacia arriba.
- cd-para ir al directorio anterior.
- Comando ls
El comando ls se usa para ver el contenido de un directorio. Por defecto, este comando mostrará el contenido de tu directorio de trabajo actual.
Si deseas ver el contenido de otros directorios, escribe ls y luego la ruta del directorio. Por ejemplo, para ver el contenido de la carpeta Documentos ingresa:
ls/inicio/nombredeusuario/Documentos
Hay variaciones que puedes usar con el comando ls:
- ls -Rtambién listará todos los archivos en los subdirectorios.
- ls -amostrará los archivos ocultos.
- ls -allistará los archivos y directorios con información detallada como los permisos, el tamaño, el propietario, etc.
- Comando cat
cat (abreviatura de concatenate, en inglés) es uno de los comandos más utilizados en Linux. Este lista, combina y escribe el contenido de los archivos en la salida estándar. Para ejecutar este comando, escribe cat seguido del nombre del archivo y su extensión. Por ejemplo:
cat archivo.txt.
Aquí hay otras formas de usar el comando cat:
- cat > nombredearchivo.txtcrea un nuevo archivo.
- cat nombredearchivo1.txt nombredearchivo2.txt>nombredearchivo3.txtfusiona txt y nombrearchivo2.txt y almacena el resultado en nombrearchivo3.txt.
- tac nombrearchivo.txt muestra el contenido en orden inverso.
- Comando cp
Utiliza el comando cp para copiar archivos o directorios y su contenido. Echa un vistazo a los siguientes casos de uso.
Para copiar un archivo del directorio actual a otro, introduce cp seguido del nombre del archivo y del directorio de destino. Por ejemplo:
cp nombrearchivo.txt /inicio/nombredeusuario/Documentos
Para copiar archivos en un directorio, introduce los nombres de los archivos seguidos del directorio de destino:
cp nombrearchivo1.txt nombrearchivo2.txt nombrearchivo3.txt /inicio/nombredeusuario/Documentos
Para copiar el contenido de un fichero a otro nuevo en el mismo directorio, introduce cp seguido del fichero de origen y del fichero de destino:
cp nombrearchivo1.txt nombrearchivo2.txt
Para copiar un directorio completo, pasa el indicador -R antes de escribir el directorio de origen, seguido del directorio de destino:
cp -R /inicio/nombredeusuario/Documentos /inicio/nombredeusuario/Documentos_backup
- Comando mv
El uso principal del comando mv es mover archivos, aunque también se puede usar para cambiar el nombre de los archivos. Además, no produce ninguna salida al ejecutarlo.
Simplemente escribe mv seguido del nombre del archivo y el directorio de destino.
Por ejemplo, si quieres mover nombredearchivo.txt al directorio /inicio/nombredeusuario/Documentos:
mv nombrearchivo.txt /inicio/nombredeusuario/Documentos.
También puedes utilizar el comando mv para renombrar un archivo:
mv nombre_archivo_antiguo.txt nombre_archivo_nuevo.txt
- Comando mkdir
Utiliza el comando mkdir para crear uno o varios directorios a la vez y establecer los permisos para cada uno de ellos. El usuario que ejecuta este comando debe tener el privilegio de crear una nueva carpeta en el directorio principal o puede recibir un error de permiso denegado.
Sintaxis general:
mkdir [opción] nombre_directorio
Por ejemplo, si deseas crear un directorio llamado Música:
mkdir Musica
Para crear un nuevo directorio llamado Canciones dentro de Música, utiliza este comando:
mkdir Musica/Canciones
El comando mkdir acepta muchas opciones, como:
- -p o -parents crean un directorio entre dos carpetas existentes. Por ejemplo, mkdir -p Musica/2020/Canciones creará el nuevo directorio «2020».
- -m establece los permisos del archivo. Por ejemplo, para crear un directorio con todos los permisos de lectura, escritura y ejecución para todos los usuarios, introduce mkdir -m777 nombre_directorio.
- -v imprime un mensaje para cada directorio creado.
- Comando rmdir
Para eliminar permanentemente un directorio vacío, utiliza el comando rmdir. Recuerda que el usuario que ejecuta este comando debe tener privilegios sudo en el directorio padre.
Por ejemplo, si deseas eliminar un subdirectorio vacío llamado personal1 y su carpeta principal mydir:
rmdir -p mydir/personal1
- Comando rm
El comando rm se utiliza para borrar archivos dentro de un directorio. Asegúrate de que el usuario que ejecuta este comando tiene permisos de escritura.
Recuerda la ubicación del directorio ya que esto eliminará el/los archivo(s) y no podrás deshacerlo.
Sintaxis general:
rm nombredearchivo
Para eliminar varios archivos, introduce el siguiente comando:
rm nombredearchivo1 nombredearchivo2 nombredearchivo3
Aquí tienes algunas opciones aceptables que puedes añadir:
- -i pide confirmación al sistema antes de borrar un archivo.
- -f permite al sistema eliminar sin confirmación.
- -r borra archivos y directorios de forma recursiva.
- Comando touch
El comando touch permite crear un archivo vacío o generar y modificar una marca de tiempo en la línea de comandos de Linux.
Por ejemplo, introduce el siguiente comando para crear un archivo HTML llamado Web en el directorio Documentos:
touch /inicio/nombredeusuario/Documentos/Web.html
- Comando locate
El comando locate puedes encontrar un archivo en el sistema de base de datos.
Además, si añades el argumento -i, desactivará la distinción entre mayúsculas y minúsculas, por lo que podrás buscar un archivo aunque no recuerdes su nombre exacto.
Para buscar contenidos que contengan dos o más palabras, utiliza un asterisco (*). Por ejemplo:
locate -i escuela*nota
El comando buscará los archivos que contengan las palabras escuela y nota, tanto si utilizan mayúsculas como minúsculas.
- Comando find
Utiliza el comando find para buscar archivos dentro de un directorio específico y realizar operaciones posteriores. Sintaxis general:
find [opción] [ruta] [expresión]
Por ejemplo, quieres buscar un archivo llamado notas.txt dentro del directorio inicio y sus subcarpetas:
find /inicio -name notas.txt
Aquí tienes otras variaciones al utilizar find:
- find -name nombredearchivo.txt para buscar archivos en el directorio actual.
- find ./ -type d -name nombredeldirectorio para buscar directorios.
- Comando grep
Otro comando básico de Linux en la lista es grep o impresión global de expresiones regulares. Te permite encontrar una palabra buscando entre todos los textos de un archivo específico.
Una vez que el comando grep encuentra una coincidencia, imprime todas las líneas que contienen el patrón específico. Este comando ayuda a filtrar archivos de registro de gran tamaño.
Por ejemplo, si deseas buscar la palabra azul en el archivo notepad.txt:
grep azul notepad.txt
La salida del comando mostrará las líneas que contengan azul.
- Comando df
Utiliza el comando df para informar sobre el uso del espacio en disco del sistema, mostrado en porcentaje y en kilobytes (KB). Sintaxis general:
df [opciones] [archivo]
Por ejemplo, introduce el siguiente comando si deseas ver el uso del espacio en disco del sistema del directorio actual en un formato legible para personas:
df -h
Estas son algunas variaciones:
- df -m muestra información sobre el uso del sistema de archivos en MBs.
- df -k muestra el uso del sistema de archivos en KBs.
- df -T muestra el tipo desistema de archivos en una nueva columna.
- Comando du
Si quieres comprobar cuánto espacio ocupa un archivo o un directorio, utiliza el comando du. Gracias a este comando puedes identificar qué parte del sistema utiliza excesivamente el almacenamiento.
Recuerda que debes especificar la ruta del directorio cuando utilices el comando du. Por ejemplo, para comprobar /inicio/usuario/Documentos introduce:
du /inicio/usuario/Documentos
Añadiendo una bandera al comando du se modificará la operación, como por ejemplo:
- -s ofrece el tamaño total de una carpeta especificada.
- -m proporciona información sobre carpetas y archivos en MB.
- k muestra la información en KB.
- -h informa de la última fecha de modificación de las carpetas y archivos mostrados.
- Comando head
El comando head permite ver las diez primeras líneas de un texto. Añadiendo una opción se puede cambiar el número de líneas mostradas. El comando head también se utiliza para dar salida a datos canalizados a la CLI.
Sintaxis general:
head [opción] [archivo]
Por ejemplo, si quieres ver las diez primeras líneas de nota.txt, situado en el directorio actual:
head nota.txt
A continuación te indicamos algunas opciones que puedes añadir:
- -n o -lines imprime el primer número personalizado de líneas. Por ejemplo, introduce head -n 5 nombredearchivo.txt para mostrar las cinco primeras líneas de txt.
- -c o -bytes imprime el primer número personalizado de bytes de cada archivo.
- -q o -quiet no imprimirán cabeceras que especifiquen el nombre del archivo.
- Comando tail
El comando tail muestra las diez últimas líneas de un archivo. Permite a los usuarios comprobar si un archivo tiene datos nuevos o leer mensajes de error.
Sintaxis general:
tail [opción] [archivo]
Por ejemplo, si deseas ver las diez últimas líneas del archivo colores.txt:
tail -n colores.txt
- Comando diff
Abreviatura de diferencia, el comando diff compara dos contenidos de un archivo línea por línea. Tras analizarlos, mostrará las partes que no coincidan.
Los programadores suelen utilizar el comando diff para modificar un programa en lugar de reescribir todo el código fuente.
Sintaxis general:
diff [opción] archivo1 archivo2
Por ejemplo, si deseas comparar dos archivos de texto: nota.txt y actualización_nota.txt:
diff nota.txt actualizacion_nota.txt
Aquí algunas opciones aceptables para añadir:
- -c muestra la diferencia entre dos archivos en un formulario contextual.
- -u muestra la salida sin información redundante.
- -i hace que el comando diff no distinga entre mayúsculas y minúsculas.
- Comando tar
El comando tar archiva múltiples ficheros en un fichero TAR, un formato común de Linux similar a ZIP, con compresión opcional.
Sintaxis general:
tar [opciones] [fichero_archivo] [fichero o directorio a archivar]
Por ejemplo, si deseas crear un nuevo archivo TAR llamado nuevoarchivo.tar en el directorio /Inicio/nombredeusuario/Documentos:
tar -cvf nuevoarchivo.tar /inicio/nombredeusuario/Documentos
El comando tar acepta muchas opciones, como:
- -x extrae un archivo.
- -t lista el contenido de un archivo.
- -u archiva y añade a un fichero de archivo existente.
- Comando chmod
chmod es un comando común que modifica los permisos de lectura, escritura y ejecución de un archivo o directorio. En Linux, cada archivo está asociado a tres clases de usuarios: propietario, miembro de grupo y otros.
Sintaxis general:
chmod [opción] [permiso] [nombre_archivo]
Por ejemplo, el propietario es actualmente el único con permisos completos para modificar nota.txt. Para permitir que los miembros del grupo y otras personas lean, escriban y ejecuten el archivo, cámbialo al tipo de permiso -rwxrwxrwx, cuyo valor numérico es 777:
chmod 777 nota.txt
Este comando permite muchas opciones, entre ellas
- -c o -changes muestra información cuando se realiza un cambio.
- -f o -silent suprimen los mensajes de error.
- -v o -verbose muestra un diagnóstico para cada archivo procesado.
- Comando chown
El comando chown permite cambiar la propiedad de un archivo, directorio o enlace simbólico a un nombre de usuario específico.
Este es el formato básico:
chown [opción] propietario[:grupo] archivo(s)
Por ejemplo, si quieres que usuariodelinux2 sea el propietario de nombredearchivo.txt:
chown usuariodelinux2 nombredearchivo.txt
- Comando jobs
Un job es un proceso que el shell inicia. El comando jobs mostrará todos los procesos en ejecución junto con sus estados. Recuerda que este comando sólo está disponible en los shells csh, bash, tcsh y ksh.
Sintaxis general:
jobs [opciones] jobID
Para comprobar el estado de los trabajos en el shell actual, basta con introducir jobs en la CLI.
Aquí tienes algunas opciones que puedes utilizar:
- -l lista los ID de proceso junto con su información.
- -n enumera los trabajos cuyo estado ha cambiado desde la última notificación.
- -p lista sólo los ID de proceso.
- Comando kill
Utiliza el comando kill para terminar manualmente un programa que no responde. Este señalará a las aplicaciones que se comporten mal y les indicará que cierren sus procesos.
Para acabar un programa, debes conocer su número de identificación de proceso (PID). Si no conoces el PID, ejecuta el siguiente comando:
ps ux
Después de saber qué señal utilizar y el PID del programa, introduce la siguiente sintaxis:
kill [opcion_señal] pid
Hay 64 señales que puedes utilizar, pero estas dos son de las más utilizadas:
- SIGTERM solicita a un programa que deje de ejecutarse y le da algo de tiempo para guardar todo su progreso. El sistema lo utilizará por defecto si no se especifica la señal al introducir el comando kill.
- SIGKILL fuerza a los programas a detenerse y perderás el progreso no guardado.
Por ejemplo, el PID del programa es 63773 y quieres forzarlo a detenerse:
kill SIGKILL 63773
- Comando ping
El comando ping es uno de los comandos esenciales de Linux más utilizados para comprobar si se puede acceder a una red o a un servidor. Además, se utiliza para solucionar diversos problemas de conectividad.
Sintaxis general:
ping [opción] [nombre_de_host_o_dirección_IP]
Por ejemplo, si quieres saber si puedes conectarte a Google y medir su tiempo de respuesta:
ping google.com
- Comando wget
La línea de comandos de Linux te permite descargar archivos de Internet mediante el comando wget. Este funciona en segundo plano sin entorpecer otros procesos en ejecución.
El comando wget recupera archivos utilizando los protocolos HTTP, HTTPS y FTP. También puede realizar descargas recursivas, que transfieren partes de sitios web siguiendo estructuras de directorios y enlaces, creando versiones locales de las páginas web.
Para utilizarlo, introduce el siguiente comando:
wget [opción] [url]
Por ejemplo, si introduces el siguiente comando para descargar la última versión de WordPress:
wget https://wordpress.org/latest.zip
- Comando uname
El comando uname o unix name imprimirá información detallada sobre tu sistema Linux y tu hardware. Esto incluye el nombre de la máquina, el sistema operativo y el kernel. Para ejecutar este comando, simplemente introduce uname en tu CLI.
Sintaxis general:
uname [opción]
Estas son las opciones aceptables:
- -a imprime toda la información del sistema.
- -s imprime el nombre del núcleo.
- -n imprime el nombre de host del nodo del sistema.
- Comando top
El comando top en el Terminal de Linux mostrará todos los procesos en ejecución y una vista dinámica en tiempo real del sistema actual. Este resume la utilización de recursos, desde la CPU hasta el uso de memoria.
El comando top también puede ayudarte a identificar y terminar un proceso que pueda utilizar demasiados recursos del sistema.
Para ejecutar el comando, basta con introducir top en la CLI.
- Comando history
Con history, el sistema listará hasta 500 comandos ejecutados previamente, permitiéndote reutilizarlos sin necesidad de volver a entrar. Ten en cuenta que sólo los usuarios con privilegios sudo pueden ejecutar este comando. La ejecución de esta utilidad también depende del shell de Linux que utilices.
Para ejecutarlo, introduce el siguiente comando:
history [opción]
Este comando admite muchas opciones, como:
- -c borra toda la lista del historial.
- -d offset borra la entrada del historial en la posición OFFSET.
- -a añade líneas de historial.
- Comando man
El comando man proporciona un manual de usuario de cualquier comando o utilidad que pueda ejecutar en Terminal, incluyendo el nombre, la descripción y las opciones.
Consta de nueve secciones:
- Programas ejecutables o comandos de shell
- Llamadas al sistema
- Llamadas a la biblioteca
- Juegos
- Expedientes especiales
- Formatos de archivo y convenciones
- Comandos de administración del sistema
- Rutinas del núcleo
- Varios
Para visualizar el manual completo, introduce:
man [nombre_comando]
Por ejemplo, si quieres acceder al manual del comando ls:
man ls
Introduce este comando si deseas especificar la sección mostrada:
man [opción] [número_sección] [nombre_comando]
Por ejemplo, si quieres ver la sección 2 del manual del comando ls:
man 2 ls
- Comando echo
El comando echo es una utilidad integrada que muestra una línea de texto o cadena utilizando la salida estándar. Sintaxis general:
echo [opción] [cadena]
Por ejemplo, puede mostrar el texto Tutoriales Hostinger introduciendo:
echo «Tutoriales Hostinger»
Este comando admite muchas opciones, como:
- -n muestra la salida sin la línea final.
- -e permite la interpretación de las siguientes barras invertidas:
- \a reproduce la alerta sonora.
- \b elimina los espacios entre un texto.
- \c no produce más salida.
- -E muestra la opción por defecto y desactiva la interpretación de las barras invertidas.
- Comandos zip y unzip
Utiliza el comando zip para comprimir tus archivos en un archivo ZIP, un formato universal de uso común en Linux. Puedes elegir automáticamente la mejor proporción de compresión.
El comando zip también es útil para archivar ficheros y directorios, y reducir el uso del disco.
Para utilizarlo, introduce la siguiente sintaxis:
zip [opciones] archivozip archivo1 archivo2….
Por ejemplo, si tienes un archivo llamado nota.txt que deseas comprimir en archivo.zip en el directorio actual:
zip archivo.zip nota.txt
Por otro lado, el comando unzip extrae los ficheros comprimidos de un archivo. Sintaxis general:
unzip [opción] nombre_archivo.zip
Así, para descomprimir un archivo llamado archivo.zip en el directorio actual, introduce:
unzip archivo.zip
- Comando hostname
Ejecuta el comando hostname para conocer el nombre de host del sistema. Puedes ejecutarlo con o sin opción. Sintaxis general:
hostname [opción]
Hay muchas banderas opcionales para usar, incluyendo:
- -a o -alias muestra el alias del nombre de host.
- -A o -all-fqdns muestra el nombre de dominio completo de la máquina (FQDN).
- -i o -ip-address muestra la dirección IP de la máquina.
Por ejemplo, introduce el siguiente comando para conocer la dirección IP de tu ordenador:
hostname -i
- Comando useradd y userdel
Linux es un sistema multiusuario, lo que significa que más de una persona puede utilizarlo simultáneamente. useradd se utiliza para crear una nueva cuenta, mientras que el comando passwd permite añadir una contraseña. Sólo aquellos con privilegios de root o sudo pueden ejecutar el comando useradd.
Cuando utilizas el comando useradd, este realiza algunos cambios importantes:
- Edita los archivos /etc/passwd, /etc/shadow, /etc/group y /etc/gshadow para las cuentas recién creadas.
- Crea y rellena un directorio personal para el usuario.
- Establece los permisos y la propiedad de los archivos en el directorio personal.
Sintaxis general:
useradd [opcion] nombredeusuario
Para establecer la contraseña:
passwd la_combinación_contraseña
Por ejemplo, para añadir una nueva persona llamada Juan, introduce simultáneamente el siguiente comando:
useradd Juan
passwd 123456789
Para eliminar una cuenta de usuario, utiliza el comando userdel:
userdel nombredeusuario
- Comando apt-get
apt-get es una herramienta de línea de comandos de Linux para gestionar las bibliotecas de Advanced Package Tool (APT) en Linux. Permite recuperar información y paquetes de fuentes autenticadas para gestionar, actualizar, eliminar e instalar software y sus dependencias.
Para ejecutar el comando apt-get es necesario utilizar privilegios sudo o de root.
Esta es la sintaxis principal:
apt-get [opciones] (comando)
Estos son los comandos más comunes que puedes añadir a apt-get:
- update sincroniza los archivos del paquete desde sus fuentes.
- upgrade instala la última versión de todos los paquetes instalados.
- check actualiza la caché de paquetes y comprueba las dependencias rotas.
- Comandos nano, vi y jed
Linux permite a los usuarios editar y gestionar archivos mediante un editor de texto, como nano, vi o jed. nano y vi vienen con el sistema operativo, mientras que jed hay que instalarlo.
El comando nano denota palabras clave y puede funcionar con la mayoría de los idiomas. Para utilizarlo, introduce el siguiente comando:
nano [nombredearchivo]
vi utiliza dos modos de funcionamiento para trabajar: insertar y comando. insertar se utiliza para editar y crear un archivo de texto. Por otro lado, comando realiza operaciones, como guardar, abrir, copiar y pegar un archivo.
Para utilizar vi en un archivo, introduce:
vi [nombredearchivo]
jed tiene una interfaz de menús desplegables que permite a los usuarios realizar acciones sin necesidad de introducir combinaciones o comandos de teclado. Al igual que vi, dispone de modos para cargar módulos o plugins para escribir textos específicos.
Para abrir el programa, basta con introducir jed en la línea de comandos.
- Comandos alias y unalias
alias te permite crear un acceso directo con la misma funcionalidad que un comando, nombre de archivo o texto. Cuando se ejecuta, indica al shell que sustituya una cadena por otra.
Para utilizar el comando alias, introduce esta sintaxis:
alias Nombre=Cadena
Por ejemplo, si quieres hacer k el alias para el comando kill:
alias k=’kill’
Por otro lado, el comando unalias borra un alias existente.
La sintaxis general es la siguiente:
unalias [nombre_alias]
- Comando su
El comando switch user o su permite ejecutar un programa como un usuario diferente. Este cambia la cuenta administrativa en la sesión de inicio de sesión actual. Este comando es especialmente beneficioso para acceder al sistema a través de SSH o utilizando el gestor de pantalla GUI cuando el usuario root no está disponible.
Sintaxis general del comando:
su [opciones] [nombredeusuario [argumento]]
Cuando se ejecuta sin ninguna opción o argumento, el comando su se ejecuta con privilegios de root. Te pedirá que te autentiques y utilices los privilegios sudo temporalmente.
Aquí algunas opciones aceptables:
- -p o -preserve-environment mantiene el mismo entorno de shell, formado por HOME, SHELL, USER y LOGNAME.
- -s o -shell te permite especificar un entorno shell diferente para ejecutar.
- -l o -login ejecuta un script de inicio de sesión para cambiar a un nombre de usuario diferente. Ejecutarlo requiere que introduzcas la contraseña del usuario.
- Comando htop
El comando htop es un programa interactivo que monitoriza los recursos del sistema y los procesos del servidor en tiempo real. Está disponible en la mayoría de las distribuciones de Linux y puedes instalarlo con el gestor de paquetes predeterminado.
Comparado con el comando top, htop tiene muchas mejoras y funciones adicionales, como el manejo con ratón e indicadores visuales.
Para utilizarlo, ejecuta el siguiente comando:
htop [opciones]
También puedes añadir opciones, como:
- -d o -delay muestra el retardo entre actualizaciones en décimas de segundo.
- -C o -no-color activa el modo monocromo.
- -h o -help muestra el mensaje de ayuda y la salida.
- Comando ps
El comando de estado de procesos o ps produce una instantánea de todos los procesos en ejecución en tu sistema. Los resultados estáticos se toman de los archivos virtuales del sistema de archivos /proc.
Ejecutando el comando ps sin una opción o argumento listará los procesos en ejecución en el shell junto con:
- El identificador único del proceso (PID).
- El tipo de terminal (TTY).
- El tiempo de funcionamiento (TIME).
- El comando que lanza el proceso (CMD).
Aquí tienes algunas opciones aceptables que puedes utilizar:
- -T muestra todos los procesos asociados a la sesión de shell actual.
- -u nombredeusuario lista los procesos asociados a un usuario específico.
- -A o -e muestra todos los procesos en ejecución.
Trucos y consejos adicionales
Estos son algunos consejos y trucos que puedes utilizar para gestionar el sistema Linux:
- Introduce el comando clear para limpiar la pantalla del Terminal.
- Pulsa el botón Tab para autorrellenar después de introducir un comando con un argumento.
- Utiliza Ctrl + C para terminar un comando en ejecución.
- Pulsa Ctrl + Z para pausar un comando de trabajo.
- Utiliza Ctrl + S para congelar tu Terminal temporalmente.
- Pulsa Ctrl + Q para deshacer la congelación del Terminal.
- Utiliza Ctrl + A para desplazarte al principio de la línea.
- Pulsa Ctrl + E parallegar al final de la línea.
- Cuando ejecutes varios comandos de Linux en una sola línea, utiliza (;) para separarlos. Alternativamente, utiliza && para permitir que sólo se ejecute el siguiente comando si el anterior tiene éxito.
Lista de comandos de Linux
A continuación, te dejamos una lista con los comandos detallados en este artículo y su función para que puedas acceder rápidamente cuando lo necesites.
| Comando | Uso |
| alias | Crea un alias para ejecutar un comando. |
| apt-get | Gestiona paquetes resolviendo dependencias. |
| cat | Lista, combina y escribe archivos en la salida estándar o en otro archivo. |
| cd | Cambia de directorio. |
| chmod | Modifica permisos de lectura, escritura y ejecución. |
| chown | Cambia el propietario de un archivo, directorio o enlace simbólico. |
| cp | Copia archivos o directorios y su contenido. |
| df | Informa sobre el uso del espacio en disco de un sistema de archivos. |
| diff | Compara dos archivos o directorios entre sí. |
| du | Comprueba cuánto espacio ocupa un archivo o directorio. |
| echo | Muestra una cadena de texto en la salida estándar. |
| find | Busca archivos y directorios. |
| grep | Busca cadenas de texto dentro de un archivo o de la entrada estándar. |
| head | Muestra las primeras diez líneas de un archivo o N líneas especificadas. |
| history | Lista hasta 500 comandos ejecutados previamente. |
| hostname | Muestra el nombre de host del sistema. |
| htop | Monitoriza recursos del sistema y procesos del servidor en tiempo real. |
| jobs | Muestra todos los procesos en ejecución junto con sus estados. |
| kill | Termina manualmente un programa que no responde. |
| locate | Encuentra un archivo en el sistema de base de datos. |
| ls | Muestra el contenido de un directorio. |
| man | Proporciona un manual de usuario de un comando o utilidad. |
| mkdir | Crea uno o varios directorios. |
| mv | Mueve o renombra archivos. |
| nano, vi y jed | Abren editores de texto. |
| ping | Comprueba si se puede acceder a una red o servidor. |
| ps | Produce una instantánea de todos los procesos en ejecución. |
| pwd | Muestra la ruta del directorio de trabajo actual. |
| rm | Borra archivos. |
| rmdir | Borra directorios vacíos. |
| su | Permite usar el intérprete de comandos de otro usuario. |
| sudo | Permite realizar tareas que requieren permisos administrativos o de root. |
| tail | Muestra las últimas diez líneas de un archivo o N líneas especificadas. |
| tar | Comprime múltiples archivos en un archivo tar y descomprime un archivo tar. |
| top | Muestra los procesos en ejecución en tiempo real. |
| touch | Crea un archivo vacío o genera y modifica la información de marca de tiempo. |
| unalias | Borra un alias existente. |
| uname | Imprime información detallada sobre el sitema operativo y detalles del equipo. |
| unzip | Descomprime archivos zip. |
| useradd | Crea una nueva cuenta de usuario. |
| userdel | Elimina una cuenta de usuario. |
| wget | Obtiene contenidos de servidores web. |
| zip | Comprime múltiples archivos en un archivo zip. |
Apuntes de Antía Loureiro (Licenciado bajo GFDL)
