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.

 
Permisos de forma numérica:

-> 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 flagmodifica el funcionamiento de un comando. Para ejecutarla, utiliza guiones (-) o guiones dobles (—).
  • Parameter 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

  1. 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 -reset-timestamp invalida el archivo timestamp.
  • -g -group=group ejecuta comandos como un nombre o ID de grupo especificado.
  • -h -host=host ejecuta comandos en el host.  

     

  1. 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 -logical imprime el contenido de las variables de entorno, incluidos los enlaces simbólicos.
  • -P -physical imprime la ruta real del directorio actual. 

     

  1. 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. 

     

  1. 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. 

     

  1. 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. 

     

  1. 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 

 

  1. 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

 

  1. 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 -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.

 

  1. 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 

 

  1. 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.

  

  1. 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 

 

  1. 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 nota, tanto si utilizan mayúsculas como minúsculas.

  

  1. 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. 

     

  1. 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.

  

  1. 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. 

     

  1. 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.
  • muestra la información en KB.
  • -h informa de la última fecha de modificación de las carpetas y archivos mostrados. 

     

  1. 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 -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 -bytes imprime el primer número personalizado de bytes de cada archivo.
  • -q -quiet no imprimirán cabeceras que especifiquen el nombre del archivo. 

     

  1. 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 

 

  1. 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 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. 

     

  1. 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. 

     

  1. 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: propietariomiembro de grupo 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 -changes muestra información cuando se realiza un cambio.
  • -f -silent suprimen los mensajes de error.
  • -v -verbose muestra un diagnóstico para cada archivo procesado. 

     

  1. 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 

 

  1. 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 cshbashtcsh 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. 

     

  1. 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 

 

  1. 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 

 

  1. 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 

 

  1. 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. 

     

  1. 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.

  

  1. 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. 

     

  1. 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 

 

  1. 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. 

     

  1. 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 

 

  1. 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 -alias muestra el alias del nombre de host.
  • -A -all-fqdns muestra el nombre de dominio completo de la máquina (FQDN).
  • -i -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 

 

  1. 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 /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 

 

  1. 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.

  

  1. Comandos nano, vi y jed

Linux permite a los usuarios editar y gestionar archivos mediante un editor de texto, como nanovi jednano 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 comandoinsertar 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. 

 

  1. 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 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] 

 

  1. 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 -preserve-environment mantiene el mismo entorno de shell, formado por HOME, SHELL, USER y LOGNAME.
  • -s -shell te permite especificar un entorno shell diferente para ejecutar.
  • -l -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.

  

  1. 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 tophtop 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 -delay muestra el retardo entre actualizaciones en décimas de segundo.
  • -C -no-color activa el modo monocromo.
  • -h -help muestra el mensaje de ayuda y la salida. 

     

  1. 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 -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.

ComandoUso
aliasCrea un alias para ejecutar un comando.
apt-getGestiona paquetes resolviendo dependencias.
catLista, combina y escribe archivos en la salida estándar o en otro archivo.
cdCambia de directorio.
chmodModifica permisos de lectura, escritura y ejecución.
chownCambia el propietario de un archivo, directorio o enlace simbólico.
cpCopia archivos o directorios y su contenido.
dfInforma sobre el uso del espacio en disco de un sistema de archivos.
diffCompara dos archivos o directorios entre sí.
duComprueba cuánto espacio ocupa un archivo o directorio.
echoMuestra una cadena de texto en la salida estándar.
findBusca archivos y directorios.
grepBusca cadenas de texto dentro de un archivo o de la entrada estándar.
headMuestra las primeras diez líneas de un archivo o N líneas especificadas.
historyLista hasta 500 comandos ejecutados previamente.
hostnameMuestra el nombre de host del sistema.
htopMonitoriza recursos del sistema y procesos del servidor en tiempo real.
jobsMuestra todos los procesos en ejecución junto con sus estados.
killTermina manualmente un programa que no responde.
locateEncuentra un archivo en el sistema de base de datos.
lsMuestra el contenido de un directorio.
manProporciona un manual de usuario de un comando o utilidad.
mkdirCrea uno o varios directorios.
mvMueve o renombra archivos.
nano, vi y jedAbren editores de texto.
pingComprueba si se puede acceder a una red o servidor.
psProduce una instantánea de todos los procesos en ejecución.
pwdMuestra la ruta del directorio de trabajo actual.
rmBorra archivos.
rmdirBorra directorios vacíos.
suPermite usar el intérprete de comandos de otro usuario.
sudoPermite realizar tareas que requieren permisos administrativos o de root.
tailMuestra las últimas diez líneas de un archivo o N líneas especificadas.
tarComprime múltiples archivos en un archivo tar y descomprime un archivo tar.
topMuestra los procesos en ejecución en tiempo real.
touchCrea un archivo vacío o genera y modifica la información de marca de tiempo.
unaliasBorra un alias existente.
unameImprime información detallada sobre el sitema operativo y detalles del equipo.
unzipDescomprime archivos zip.
useraddCrea una nueva cuenta de usuario.
userdelElimina una cuenta de usuario.
wgetObtiene contenidos de servidores web.
zipComprime múltiples archivos en un archivo zip.

Apuntes de Antía Loureiro (Licenciado bajo  GFDL)