Comandos básicos para Linux para Ubuntu, Debian, Centos, MacOS y otros

En este artículo veremos los comandos más básicos para usar en un sistema operativo Linux. Ya sea Ubuntu, Debian, Centos, incluso en macOS... Cualquiera basado en Unix podrá ejecutarlos. Para algunos comandos hay ligeras variaciones. Pero no tendrás problema con estos básicos.
Tabla de contenidos
Comando Básicos de Linux para Ubuntu - Centos o Debian entre otros
Échale un ojo a estos comandos, si tienes dudas, al final te he dejado una web donde podrás poner el comando en cuestión y te devolverá una explicación detallada. Eso sí, en inglés por supuesto. Como la mayoría de comandos.
¿Para qué distribuciones de linux funcionan estos comandos?
Estos comandos al ser tan básicos funcionan para casi cualquier distribución basada en Unix, incluido macOS si.
Por lo que podemos decir que estos comandos sirven para Ubuntu, Debian y Mac. ¿A qué esperas para probarlos?
Lista de comandos para Linux
cd ~ ➜ Cambia el directorio al de usuario
cd .. ➜ vuelve al directorio superior
ls ➜ Lista el contenido de un directorio (por defecto en orden alfabético) ($ls -ld)
ls -h ➜ Formatos legibles por seres humanos --block-size=M ➜ Muestra en MB
ls -F ➜ Muestra si es un directorio “/”, ejecutable”*” o FIFO “|”
ls -R ➜ Recursivamente -o ➜ Los cuenta
ls -a ➜ Incluye los ocultos -ls .* ➜ Muestra solo archivos ocultos
ls -i ➜ Muestra el nodo-i asociado a cada fichero
ls -r ➜ Invierte el orden.
ls -t ➜ Clasifica por la marca de tiempo mostrada
ls -u ➜ Clasifica por fecha de último acceso, primero el accedido en menos tiempo
ls -1 ➜ Salida en una sola columna ls -1 * // ls -x *
ls -o ➜ No muestra el grupo al que pertenece cada fichero $ls -lG
ls -S ➜ Clasifica por tamaño, de mayor a menor, (-r) inverte el orden
ls -X ➜ Ordena los ficheros por su extension
ls -n ➜ Cambia el nombre del usuario por su UID
ls -s ➜ Muestra el tamaño de cada fichero en bloques de 1024 bytes
ls -v ➜ Ordena de acuerdo a la version de los ficheros, !!es decir por su número!!
ls -w ➜ Asume que la pantalla tiene x cols de ancho ls -w 40 ➜ tres columnas + o -
ls -l /dev/sda* ➜ Muestra las particiones del disco duro
ls -sh .bash_history ➜ Tamaño del fichero(s)
ls -1 | wc -l ➜ Contar ficheros de un directorio ls -1a | wc -l ➜ (ocultos tambien)
ls -d */ ➜ Muestra solo los directorios ls -d b*/ ➜ Directorios que empiezan por b
ls -l ➜ Listado extendido ➜ permisos del fichero, número de enlaces que tiene, nombre del propietario, grupo al que pertenece, tamaño (en bytes), marca de tiempo, y nombre
De forma predeterminada, la marca de tiempo que se muestra es la de la última modificación; las opciones -c y -u seleccionan las otras dos que hay. Para ficheros especiales de dispositivo el campo de tamaño se reemplaza comúnmente por los números de dispositivo mayor y menor.
ls -d- ➜ Directorio -l- ➜ Enlace -c- ➜ Fichero especial(caracteres) -b- ➜ Fichero especial(bloques) -s-➜ Socket -p- ➜ Tuberia
ls -lShr ➜ Muestra una lista de los ficheros de una carpeta ordenados por tamaño (los mas grandes al final)
tree ➜ Muestra el arbol de directorios (por instalar)
cp -b ➜ Crea un archivo backup en el destino en caso de existan archivos con el mismo nombre. Con $cp -b -S backup ➜ Añade la palabra backup a los archivos de backup creados creados
cp -u (Update) El comando cp en Linux no copia un archivo o directorio a un destino si este destino tiene la misma fecha de modificación o una fecha de modificación posterior comparándola con el archivo o directorio que queremos mover.
cp -iv ➜ Pide confirmación y muestra lo que está ejecutando
cp -rv “archivos encontrados con find” “directorio” | tee archivos.copiados.txt ➜ Copia muchos archivos (salida de un comando find . ) y vemos el proceso y los archivos que ya ha copiado, sirve para copiar muchas películas, por ejemplo
gcp ➜ cp con barra de progreso (no sobreescribe archivos en destino, para ello -f)
pwd ➜ Muestra el directorio en el que estas
PS1=$PWD ➜ Cambia el prompt al directorio actual
mkdir ➜ Crea directorios (vacios) $mkdir -p /hola/buenos/dias ➜Crea un arbol de directorios
rmdir ➜ Borra directorios vacios $rm -i nos pide confirmación y -v muestra lo que hace el comando. rmdir -rf ➜ Borra directorios que no esten vacios, sin pedir confirmación.
alias “rm=rm -iv” en ~/.bashrc ➜ Cambia el rm para que siempre que se ejecute haga un rm -iv unalias ➜ Borra un alias
alias “rm=rm -iv” ➜ Cambia el rm para que siempre que se ejecute rm a secas, haga un rm -iv. Con -iv nos pide confirmación y muestra lo que hace el comando.
rm -f ➜ Borra recursivamente directorios y carpetas y sin pedir confirmación
-r, Procesa subdirectorios de forma recursiva.
-i, Pide confirmación para cada borrado.
-f, Forzado, ignora archivos no existentes y elimina cualquier aviso de confirmación.
-v, Muestra el nombre de cada fichero antes de borrarlo
mv ➜ Renombrar y mover ficheros y carpetas
Este comando quita los espacios y renombra los archivos de toda la carpeta añadiendo la extensión .mp3 ➜ $ for FILE in * ; do NEWFILE=`echo $FILE | sed 's/ /_/g'` ; echo “$FILE sera renombrado como $NEWFILE.mp3” ; mv “$FILE” “$NEWFILE.mp3” ; done
Eliminar un sufijo ➜ for FILE in *.txt ; do NEWFILE=`echo $FILE | sed 's/.txt$//'` ; mv $FILE $NEWFILE ; done
tee file{0..9}.txt ➜ Crea un fichero y lo editamos desde stin
echo “hola” | tee hola.txt ➜ Muestra la salida del comando echo por consola y también lo envía al archivo hola.txt
ls | tee -a fichero.txt ➜ Muestra la salida de ls por consola y envía el resultado a fichero.txt
ln ➜ Crea un enlace hacia un fichero o directorio -s enlace soft, simbolico unlink enlace ➜ Elimina el enlace simbolico ln -s /media/rocky/Datos Datos
cleanlinks ➜ Limpia enlaces simbolicos que no tengan relacion y tambien remueve directorios vacios
cat ➜ Muestra el contenido de un fichero $cat fichero1 fichero2
cat -n ➜ Con el número de lineas $cat -s ➜ omite lineas repetidas
cat “fichero.txt” >> “copia_fichero.txt” ➜ Copia el fichero
cat access.log | awk {print $7} | sort uniq | less | tail ➜ Muestra el campo 7 del fichero
cat /etc/passwd | cut -d: -f1 | sort ➜ Muestra el primer campo del fichero (usuarios)
cat /etc/passwd | cut -d: -f1 | xargs echo "Los usuarios son: " ➜ Mostramos todos los usuarios.
cat * > contactos.txt ➜ Copia todos los ficheros en contactos.txt (Concatena ficheros)
cat /proc/cpuinfo ➜ Muestra informacion de los procesos y del sistema
cat /etc/passwd | wc -l ➜ Cuenta las lineas del fichero
cat /et/null > fichero.txt ➜ Borrar/vaciar el contenido de un fichero
cat > fichero.txt➜ Esto es una forma muy rudimentaria de editar un fichero sin tener un editor. Para terminar pulsamos Ctrl+D.
tac ➜ Muestra un fichero al reves
uniq ➜ Muestra o elimina lineas repetidas -dc ➜ Muestra las lineas repetidas
duff -r ➜ Busca archivos duplicados|repetidos
more ➜ Muestra un fichero paginado zmore ➜ para archivos comprimidos
less ➜ Muestra un fichero paginado(mejor que more) zless ➜ para archivos comprimidos
head ➜ Muestra el principio de un fichero (10 lineas)
head -n 20 fich ➜ muestra las 20 primeras lineas.
head -c 100 fic ➜ muestra los 100 primeros bytes.
tail ➜ Muestra el final de un fichero (10 lineas)
tail -n 20 fich ➜ muestra las 20 últimas lineas.
tail -f ➜Muestra las últimas 10 lineas del fichero en tiempo real igual que $tailf
mc ➜ Ejecuta Midnight Commander (sin instalar)
locate -i ➜ Busca un fichero en la base de datos $locate -i “*.jpg”
echo ➜ Visualiza un texto por pantalla -e ➜ Activa la interpretación de caracteres de escape
\n ➜ nueva linea \t ➜ tabulador -n ➜ Sin retorno de carro al final
Si tienes alguna duda con algún comando en concreto puedes preguntarme dejando un comentario en este mismo artículo. Si tienes muchas dudas o quieres aprender más sobre estos comandos, te dejo esta magnífica web, que lo explican francamente bien: https://explainshell.com
Espero que este artículo te haya gustado, estoy seguro de que sí, y de que le irás cogiendo el gustillo a Linux muy pronto, sino se lo has cogido ya ;)