Comandos Linus Terminal
Comandos Linus Terminal
Comandos Linus Terminal
conocer :D
Alejandro (a.k.a KZKG^Gaara) | | GNU/Linux, Recomendados, Redes/Servidores, Tutoriales/Manuales/Tips
181 Comentarios
Comparte
Twitea
Me he encontrado en la Wiki de GUTL este completo listado con más de 400 comandos para GNU/Linux con su respectiva explicación, y
los quiero compartir con ustedes para complementar este excelente artículo que escribió mi colega para aprender a vivir con la consola.
Índice [Ocultar]
1 Información del sistema
2 Apagar (Reiniciar Sistema o Cerrar Sesión)
3 Archivos y Directorios
4 Encontrar archivos
5 Montando un sistema de ficheros
6 Espacio de Disco
7 Usuarios y Grupos
8 Permisos en Ficheros (Usa ”+” para colocar permisos y ”-” para eliminar)
9 Atributos especiales en ficheros (Usa ”+” para colocar permisos y ”-” para eliminar)
10 Archivos y Ficheros comprimidos
11 Paquetes RPM (Red Hat, Fedora y similares)
12 Actualizador de paquetes YUM (Red Hat, Fedora y similares)
13 Paquetes Deb (Debian, Ubuntu y derivados)
14 Actualizador de paquetes APT (Debian, Ubuntu y derivados)
15 Ver el contenido de un fichero
16 Manipulación de texto
17 Establecer caracter y conversión de ficheros
18 Análisis del sistema de ficheros
19 Formatear un sistema de ficheros
20 Trabajo con la SWAP
21 Salvas (Backup)
22 CD-ROM
23 Trabajo con la RED ( LAN y Wi-Fi)
24 Redes de Microsoft Windows (SAMBA)
25 Tablas IP (CORTAFUEGOS)
26 Monitoreando y depurando
27 Otros comandos útiles
Archivos y Directorios
1. cd /home: entrar en el directorio “home”.
2. cd ..: retroceder un nivel.
3. cd ../..: retroceder 2 niveles.
4. cd: ir al directorio raíz.
5. cd ~user1: ir al directorio user1.
6. cd –: ir (regresar) al directorio anterior.
7. pwd: mostrar el camino del directorio de trabajo.
8. ls: ver los ficheros de un directorio.
9. ls -F: ver los ficheros de un directorio.
10. ls -l: mostrar los detalles de ficheros y carpetas de un directorio.
11. ls -a: mostrar los ficheros ocultos.
12. ls *[0-9]*: mostrar los ficheros y carpetas que contienen números.
13. tree: mostrar los ficheros y carpetas en forma de árbol comenzando por la raíz.(1)
14. lstree: mostrar los ficheros y carpetas en forma de árbol comenzando por la raíz.(2)
15. mkdir dir1: crear una carpeta o directorio con nombre ‘dir1’.
16. mkdir dir1 dir2: crear dos carpetas o directorios simultáneamente (Crear dos directorios a la vez).
17. mkdir -p /tmp/dir1/dir2: crear un árbol de directorios.
18. rm -f file1: borrar el fichero llamado ‘file1’.
19. rmdir dir1: borrar la carpeta llamada ‘dir1’.
20. rm -rf dir1: eliminar una carpeta llamada ‘dir1’ con su contenido de forma recursiva. (Si lo borro recursivo estoy diciendo
que es con su contenido).
21. rm -rf dir1 dir2: borrar dos carpetas (directorios) con su contenido de forma recursiva.
22. mv dir1 new_dir: renombrar o mover un fichero o carpeta (directorio).
23. cp file1: copiar un fichero.
24. cp file1 file2: copiar dos ficheros al unísono.
25. cp dir /* .: copiar todos los ficheros de un directorio dentro del directorio de trabajo actual.
26. cp -a /tmp/dir1 .: copiar un directorio dentro del directorio actual de trabajo.
27. cp -a dir1: copiar un directorio.
28. cp -a dir1 dir2: copiar dos directorio al unísono.
29. ln -s file1 lnk1: crear un enlace simbólico al fichero o directorio.
30. ln file1 lnk1: crear un enlace físico al fichero o directorio.
31. touch -t 0712250000 file1: modificar el tiempo real (tiempo de creación) de un fichero o directorio.
32. file file1: salida (volcado en pantalla) del tipo mime de un fichero texto.
33. iconv -l: listas de cifrados conocidos.
34. iconv -f fromEncoding -t toEncoding inputFile > outputFile: crea una nueva forma del fichero de entrada asumiendo que
está codificado en fromEncoding y convirtiéndolo a ToEncoding.
35. find . -maxdepth 1 -name *.jpg -print -exec convert ”{}” -resize 80×60 “thumbs/{}” \;: agrupar ficheros redimensionados
en el directorio actual y enviarlos a directorios en vistas de miniaturas (requiere convertir desde ImagemagicK).
Encontrar archivos
1. find / -name file1: buscar fichero y directorio a partir de la raíz del sistema.
2. find / -user user1: buscar ficheros y directorios pertenecientes al usuario ‘user1’.
3. find /home/user1 -name \*.bin: buscar ficheros con extensión ‘. bin’ dentro del directorio ‘/ home/user1’.
4. find /usr/bin -type f -atime +100: buscar ficheros binarios no usados en los últimos 100 días.
5. find /usr/bin -type f -mtime -10: buscar ficheros creados o cambiados dentro de los últimos 10 días.
6. find / -name \*.rpm -exec chmod 755 ‘{}’ \;: buscar ficheros con extensión ‘.rpm’ y modificar permisos.
7. find / -xdev -name \*.rpm: Buscar ficheros con extensión ‘.rpm’ ignorando los dispositivos removibles como cdrom, pen-drive, etc.
…
8. locate \*.ps: encuentra ficheros con extensión ‘.ps’ ejecutados primeramente con el command ‘updatedb’.
9. whereis halt: mostrar la ubicación de un fichero binario, de ayuda o fuente. En este caso pregunta dónde está el comando ‘halt’.
10. which halt: mostrar la senda completa (el camino completo) a un binario / ejecutable.
Artículo relacionado:
4 comandos para conocer datos de nuestros HDD o particiones
Espacio de Disco
1. df -h: mostrar una lista de las particiones montadas.
2. ls -lSr |more: mostrar el tamaño de los ficheros y directorios ordenados por tamaño.
3. du -sh dir1: Estimar el espacio usado por el directorio ‘dir1’.
4. du -sk * | sort -rn: mostrar el tamaño de los ficheros y directorios ordenados por tamaño.
5. rpm -q -a –qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1n: mostrar el espacio usado por los paquetes rpm instalados organizados por
tamaño (Fedora, Redhat y otros).
6. dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1n: mostrar el espacio usado por los paquetes instalados,
organizados por tamaño (Ubuntu, Debian y otros).
Usuarios y Grupos
1. groupadd nombre_del_grupo: crear un nuevo grupo.
2. groupdel nombre_del_grupo: borrar un grupo.
3. groupmod -n nuevo_nombre_del_grupo viejo_nombre_del_grupo: renombrar un grupo.
4. useradd -c “Name Surname ” -g admin -d /home/user1 -s /bin/bash user1: Crear un nuevo usuario perteneciente al grupo
“admin”.
5. useradd user1: crear un nuevo usuario.
6. userdel -r user1: borrar un usuario (‘-r’ elimina el directorio Home).
7. usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1: cambiar los atributos del usuario.
8. passwd: cambiar contraseña.
9. passwd user1: cambiar la contraseña de un usuario (solamente por root).
10. chage -E 2011-12-31 user1: colocar un plazo para la contraseña del usuario. En este caso dice que la clave expira el 31 de
diciembre de 2011.
11. pwck: chequear la sintaxis correcta el formato de fichero de ‘/etc/passwd’ y la existencia de usuarios.
12. grpck: chequear la sintaxis correcta y el formato del fichero ‘/etc/group’ y la existencia de grupos.
13. newgrp group_name: registra a un nuevo grupo para cambiar el grupo predeterminado de los ficheros creados recientemente.
Permisos en Ficheros (Usa ”+” para colocar permisos y ”-” para eliminar)
1. ls -lh: Mostrar permisos.
2. ls /tmp | pr -T5 -W$COLUMNS: dividir la terminal en 5 columnas.
3. chmod ugo+rwx directory1: colocar permisos de lectura ®, escritura (w) y ejecución(x) al propietario (u), al grupo (g) y a otros (o)
sobre el directorio ‘directory1’.
4. chmod go-rwx directory1: quitar permiso de lectura ®, escritura (w) y (x) ejecución al grupo (g) y otros (o) sobre el directorio
‘directory1’.
5. chown user1 file1: cambiar el dueño de un fichero.
6. chown -R user1 directory1: cambiar el propietario de un directorio y de todos los ficheros y directorios contenidos dentro.
7. chgrp group1 file1: cambiar grupo de ficheros.
8. chown user1:group1 file1: cambiar usuario y el grupo propietario de un fichero.
9. find / -perm -u+s: visualizar todos los ficheros del sistema con SUID configurado.
10. chmod u+s /bin/file1: colocar el bit SUID en un fichero binario. El usuario que corriendo ese fichero adquiere los mismos
privilegios como dueño.
11. chmod u-s /bin/file1: deshabilitar el bit SUID en un fichero binario.
12. chmod g+s /home/public: colocar un bit SGID en un directorio –similar al SUID pero por directorio.
13. chmod g-s /home/public: desabilitar un bit SGID en un directorio.
14. chmod o+t /home/public: colocar un bit STIKY en un directorio. Permite el borrado de ficheros solamente a los dueños
legítimos.
15. chmod o-t /home/public: desabilitar un bit STIKY en un directorio.
Atributos especiales en ficheros (Usa ”+” para colocar permisos y ”-” para eliminar)
1. chattr +a file1: permite escribir abriendo un fichero solamente modo append.
2. chattr +c file1: permite que un fichero sea comprimido / descomprimido automaticamente.
3. chattr +d file1: asegura que el programa ignore borrar los ficheros durante la copia de seguridad.
4. chattr +i file1: convierte el fichero en invariable, por lo que no puede ser eliminado, alterado, renombrado, ni enlazado.
5. chattr +s file1: permite que un fichero sea borrado de forma segura.
6. chattr +S file1: asegura que un fichero sea modificado, los cambios son escritos en modo synchronous como con sync.
7. chattr +u file1: te permite recuperar el contenido de un fichero aún si este está cancelado.
8. lsattr: mostrar atributos especiales.
Artículo relacionado:
Con el terminal: Comandos de tamaño y espacio
Manipulación de texto
1. cat file1 file2 .. | command <> file1_in.txt_or_file1_out.txt: sintaxis general para la manipulación de texto utilizando PIPE, STDIN
y STDOUT.
2. cat file1 | command( sed, grep, awk, grep, etc…) > result.txt: sintaxis general para manipular un texto de un fichero y escribir el
resultado en un fichero nuevo.
3. cat file1 | command( sed, grep, awk, grep, etc…) » result.txt: sintaxis general para manipular un texto de un fichero y añadir
resultado en un fichero existente.
4. grep Aug /var/log/messages: buscar palabras “Aug” en el fichero ‘/var/log/messages’.
5. grep ^Aug /var/log/messages: buscar palabras que comienzan con “Aug” en fichero ‘/var/log/messages’
6. grep [0-9] /var/log/messages: seleccionar todas las líneas del fichero ‘/var/log/messages’ que contienen números.
7. grep Aug -R /var/log/*: buscar la cadena “Aug” en el directorio ‘/var/log’ y debajo.
8. sed ‘s/stringa1/stringa2/g’ example.txt: reubicar “string1” con “string2” en ejemplo.txt
9. sed ‘/^$/d’ example.txt: eliminar todas las líneas en blanco desde el ejemplo.txt
10. sed ‘/ *#/d; /^$/d’ example.txt: eliminar comentarios y líneas en blanco de ejemplo.txt
11. echo ‘esempio’ | tr ‘[:lower:]’ ‘[:upper:]’: convertir minúsculas en mayúsculas.
12. sed -e ‘1d’ result.txt: elimina la primera línea del fichero ejemplo.txt
13. sed -n ‘/stringa1/p’: visualizar solamente las líneas que contienen la palabra “string1”.
Salvas (Backup)
1. dump -0aj -f /tmp/home0.bak /home: hacer una salva completa del directorio ‘/home’.
2. dump -1aj -f /tmp/home0.bak /home: hacer una salva incremental del directorio ‘/home’.
3. restore -if /tmp/home0.bak: restaurando una salva interactivamente.
4. rsync -rogpav –delete /home /tmp: sincronización entre directorios.
5. rsync -rogpav -e ssh –delete /home ip_address:/tmp: rsync a través del túnel SSH.
6. rsync -az -e ssh –delete ip_addr:/home/public /home/local: sincronizar un directorio local con un directorio remoto a través de ssh
y de compresión.
7. rsync -az -e ssh –delete /home/local ip_addr:/home/public: sincronizar un directorio remoto con un directorio local a través de ssh
y de compresión.
8. dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’: hacer una salva de un disco duro en un host remoto a través de
ssh.
9. dd if=/dev/sda of=/tmp/file1: salvar el contenido de un disco duro a un fichero. (En este caso el disco duro es “sda” y el fichero
“file1”).
10. tar -Puf backup.tar /home/user: hacer una salva incremental del directorio ‘/home/user’.
11. ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’: copiar el contenido de un directorio en
un directorio remoto a través de ssh.
12. ( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’: copiar un directorio local en un directorio
remoto a través de ssh.
13. tar cf – . | (cd /tmp/backup ; tar xf – ): copia local conservando las licencias y enlaces desde un directorio a otro.
14. find /home/user1 -name ‘*.txt’ | xargs cp -av –target-directory=/home/backup/ –parents: encontrar y copiar todos los
ficheros con extensión ‘.txt’ de un directorio a otro.
15. find /var/log -name ‘*.log’ | tar cv –files-from=- | bzip2 > log.tar.bz2: encontrar todos los ficheros con extensión ‘.log’ y
hacer un archivo bzip.
16. dd if=/dev/hda of=/dev/fd0 bs=512 count=1: hacer una copia del MRB (Master Boot Record) a un disco floppy.
17. dd if=/dev/fd0 of=/dev/hda bs=512 count=1: restaurar la copia del MBR (Master Boot Record) salvada en un floppy.
CD-ROM
1. cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force: limpiar o borrar un cd regrabable.
2. mkisofs /dev/cdrom > cd.iso: crear una imagen iso de cdrom en disco.
3. mkisofs /dev/cdrom | gzip > cd_iso.gz: crear una imagen comprimida iso de cdrom en disco.
4. mkisofs -J -allow-leading-dots -R -V “Label CD” -iso-level 4 -o ./cd.iso data_cd: crear una imagen iso de un directorio.
5. cdrecord -v dev=/dev/cdrom cd.iso: quemar una imagen iso.
6. gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom –: quemar una imagen iso comprimida.
7. mount -o loop cd.iso /mnt/iso: montar una imagen iso.
8. cd-paranoia -B: llevar canciones de un cd a ficheros wav.
9. cd-paranoia – ”-3”: llevar las 3 primeras canciones de un cd a ficheros wav.
10. cdrecord –scanbus: escanear bus para identificar el canal scsi.
11. dd if=/dev/hdc | md5sum: hacer funcionar un md5sum en un dispositivo, como un CD.
Tablas IP (CORTAFUEGOS)
1. iptables -t filter -L: mostrar todas las cadenas de la tabla de filtro.
2. iptables -t nat -L: mostrar todas las cadenas de la tabla nat.
3. iptables -t filter -F: limpiar todas las reglas de la tabla de filtro.
4. iptables -t nat -F: limpiar todas las reglas de la tabla nat.
5. iptables -t filter -X: borrar cualquier cadena creada por el usuario.
6. iptables -t filter -A INPUT -p tcp –dport telnet -j ACCEPT: permitir las conexiones telnet para entar.
7. iptables -t filter -A OUTPUT -p tcp –dport http -j DROP: bloquear las conexiones HTTP para salir.
8. iptables -t filter -A FORWARD -p tcp –dport pop3 -j ACCEPT: permitir las conexiones POP a una cadena delantera.
9. iptables -t filter -A INPUT -j LOG –log-prefix “DROP INPUT”: registrando una cadena de entrada.
10. iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE: configurar un PAT (Puerto de traducción de dirección) en
eth0, ocultando los paquetes de salida forzada.
11. iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp –dport 22 -j DNAT –to-destination 10.0.0.2:22:
redireccionar los paquetes diriguidos de un host a otro.
Monitoreando y depurando
1. top: mostrar las tareas de linux usando la mayoría cpu.
2. ps -eafw: muestra las tareas Linux.
3. ps -e -o pid,args –forest: muestra las tareas Linux en un modo jerárquico.
4. pstree: mostrar un árbol sistema de procesos.
5. kill -9 ID_Processo: forzar el cierre de un proceso y terminarlo.
6. kill -1 ID_Processo: forzar un proceso para recargar la configuración.
7. lsof -p $$: mostrar una lista de ficheros abiertos por procesos.
8. lsof /home/user1: muestra una lista de ficheros abiertos en un camino dado del sistema.
9. strace -c ls >/dev/null: mostrar las llamadas del sistema hechas y recibidas por un proceso.
10. strace -f -e open ls >/dev/null: mostrar las llamadas a la biblioteca.
11. watch -n1 ‘cat /proc/interrupts’: mostrar interrupciones en tiempo real.
12. last reboot: mostrar historial de reinicio.
13. lsmod: mostrar el kernel cargado.
14. free -m: muestra el estado de la RAM en megabytes.
15. smartctl -A /dev/hda: monitorear la fiabilidad de un disco duro a través de SMART.
16. smartctl -i /dev/hda: chequear si SMART está activado en un disco duro.
17. tail /var/log/dmesg: mostrar eventos inherentes al proceso de carga del kernel.
18. tail /var/log/messages: mostrar los eventos del sistema.
por defecto se manda la señal -15 para que la muerte del proceso
sea NO FORZADA, si aún así se resiste prueba con -9:
killall sudo kill -9 XXXX sudo killall
sudo killall
Otra cosilla:
Te da el tamaño total de todas las carpetas de
un dir, si lo queres
du -hlsc * du -hlsc
totalizado anda un nivel antes y cambia * porel
nombre de la carpeta
$ find
# locate Fin
Busqueda Por
# which exp
En GNU/Linux, tenemos una serie de herramientas que nos $ fi
$ whereis permiten encontrar ficheros de una manera más o menos
rápida. El comando más versátil para este propósito es find, Con esto
aunque depende de lo que busquemos y de nuestra doc. Pero
configuración puede que no sea tan rápido como otros directorio
comandos. nos inform
añadiriam
whe
Buscando programas con which $w
$ ss
Si lo que queremos buscar son programas, lo más probable
es que se encuentren en algún directorio de nuestro PATH.
PATH es una variable de entorno que contiene los
directorios donde el shell (intérprete de comandos) buscará
los programas (y comandos) cuando los queramos ejecutar.
Pues bien, si queremos buscar un programa que creemos que
está en el PATH, en vez de usar find o locate, que nos
tardarán más, podemos usar: which <programa>. Así, por
ejemplo, podríamos querer saber donde está instalado el
comando ssh; haríamos esto:
Fuente: http://www.adslayuda.com/Linux-busqueda.html
^d^d
SIrve para enviar mensajes locales de forma rapida a usuarios
conectados / logeados en linux. Necesitaras el usuario y la terminar
en la que esta conectado, para saberlo usa el comando who, te write us
listada los usuarios y las terminales que estan usando (ttys).
Hola usu
Una vez que inicias el comando write, puedes comenzar a
write usuario terminal escribir, cada vez que preciones (enter) la linea sera enviada Crtl+D
al usuario y cuando desees terminar de enviar presiona
Ctrl+D Enviara
gksudo ge
who -b Muestra la fecha y hora del último reinicio del sistema who -b
ps -A | grep bash Muestra todos los procesos que lleven la palabra "bash" ps -A | grep
cp nombrefichero carpetadestino Copia uno o varios (*) ficheros a la carpeta especificada cp * /usr/b
ifconfig id_tarjeta down Detiene los servicios de red de la tarjeta especificada (id_tarjeta) ifconfig eth
ifconfig id_tarjeta up Inicia los servicios de red de la tarjeta especificada (id_tarjeta) ifconfig eth
vi nombrefichero vi /etc/my
pulse "i" para editar el fichero.
pulse "ESCAPE", a continuación ":wq" e INTRO para guardar los
cambios y cerrar el fichero.
shred -u nombre_fichero Elimina un fichero de forma segura (ya no podrá ser recuperado). El shred -u "fe
comando "rm" no elimina ficheros completamente, podrían ser
recuperados
cal mes año Muestra un calendario del mes y año especificados cal 12 2005
rmdir nombredirectorio Elimina el directorio especificado (debe estar vacío) rmdir prueb
find expresionbusqueda Busca ficheros coincidentes con la expresión de búsqueda find . -nam
find -size +500000 Muestra los ficheros de tamaño superior a 500 MB find -size +
cksum nombrefichero Muestra el CRC del fichero y el tamaño en bytes cksum isoin
grep MemTotal /proc/meminfo Muestra la memoria RAM total del sistema grep MemT
df -h df -h
-h: muestra el resultado en unidades entendibles por el
usuario (M= Megabytes, G=Gigabytes, etc).
chown nombreusuario nombrearchivo Cambia el propietario del archivo nombrearchivo a nombreusuario chown alon
date --set=15:30 Cambia la hora del sistema a las 15:30 date --set=
env Muestra las variables de entorno definidas para el usuario actual env
find / -name mysql* -exec rm {} ; Busca todos los ficheros que comiencen por "mysql" y los ELIMINA find / -nam
free Muestra información sobre la memoria RAM y Swap (total, libre y free
ocupada)
gunzip fichero.tar.gz | tar -xvf fichero.tar Descomprime y desempaqueta el archivo 'fichero.tar.gz' gunzip mys
head nombrefichero Muestra las 10 primeras líneas del fichero nombrefichero head mysql
netstat -atun | grep ESTAB Muestra las conexiones establecidas a puertos determinados netstat -atu
type comando Muestra la ubicación del comando especificado type ifconfi
wc nombrefichero Muestra las líneas, palabras y caracteres del fichero especificado wc prueba
wget direccionftp/nombrefichero Descarga el fichero nombrefichero de la dirección ftp direccionftp wget ftp://
tr 'A-Z' 'a-z' < fichero.txt Convierte a minúsculas todos los caracteres del archivo 'fichero.txt' tr 'A-Z' 'a-z
tail nombrefichero Muestra las últimas diez líneas del fichero nombrefichero tail my.cnf
chgrp grupo archivo Cambia el grupo del archivo especificado al grupo especificado chgrp acces
sqlplus /no
select stat
cd /etc/init.d cd /etc/ini
En el directorio init.d se guardan todos los servicios instalados en el
equipo, accediendo a este directorio y haciendo un ls -l se pueden ver
ls -l ls -l