0% encontró este documento útil (0 votos)
51 vistas11 páginas

Comandos Linux

Este documento describe comandos básicos de Linux para la manipulación de archivos y directorios, así como el uso de pipes, redirecciones, wildcards y variables de entorno. Explica conceptos como permisos de archivos, usuarios y grupos. Contiene numerosos ejemplos para ilustrar el uso de cada comando.

Cargado por

Diego Cruz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
51 vistas11 páginas

Comandos Linux

Este documento describe comandos básicos de Linux para la manipulación de archivos y directorios, así como el uso de pipes, redirecciones, wildcards y variables de entorno. Explica conceptos como permisos de archivos, usuarios y grupos. Contiene numerosos ejemplos para ilustrar el uso de cada comando.

Cargado por

Diego Cruz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

BÁSICOS (MANEJO DE ARCHIVOS Y DIRECTORIOS):

 sudo (root, ejecuta el commando con permisos de Administrador o root)


 clear o ctrl+L (Para limpiar la pantalla)
 pwd (muestra ruta actual "Print Working directory")
 ls (Listar el directorio) -l (long con todo los detalles) -lr (orden alfabético reverso) -lh (muestra ocultos)
 file +nombre de Archivo (ver los detalles)
 tree (lista carpetas como árbol) -L +# (se le indica el número de niveles de árbol)
 cd +ruta (moverse entre directorios) +.. (es para atras)
 rm +nombre (remover archivos o carpeta) -rf (dir lleno) -d (dir vacia) -i (interactivo)
 mkdir +nombreCarpeta +nombreCarpeta2 (crear carpetas)
 touch + nombre1 + nombre2 (crear archivos)
 cp +nombre1 + nombreCopia (copiar un archivo)
 mv +nombre1 +ruta (mover archivos o carpetas) ej (..) para mover al directorio anterior
 mv +nombre1 + nombreNuevo (así se renombra un archivo o un directorio)
 cat (leer archivo)
 head +nombreArchivo (lee las primeras 10 líneas de un archivo) -n # (Se le indica el número de líneas a mostrar)
 tail +nombreArchivo (lee las ultimas líneas)
 less (comando avanzado de lectura de archivo) si se usa tecla "slash" / se puede hacer búsqueda de texto. para
salir se presiona "Q"
 xdg-open +nombreArchivo (abre el archivo en la aplicación predeterminada) esto abre un proceso, para
terminarlo ctrl+C
 nautilus +rutaDirectorio (abre carpeta en interfaz gráfica) (Comando debe instalarse)

MANUALES Y AYUDAS DE COMANDOS


 man +comando (manual completo del comando)
 help +comando (ayuda del comando)
 info +comando (información más resumida del comando)
 whatis +comando (muestra información muy corta del comando)
 type +Comando (muestra la descripción o función de un comando)
 alias (crea un alias para un comando nuevo con ciertos parámetros) ej: alias comando="ls -lh" (son temporales
mientras esté abierta la terminal)

WILDCARDS:
Serie de caracteres especiales que sirven para encontrar patrones para operaciones avanzadas con archivos como
realizar seccionamientos, búsquedas, movimientos etc. Pueden usarse con cualquier comando que realice la
manipulación de archivos como mv, cp y rm. Ejemplos ( * , ? , [ [:xxx:] ] )

 ls *.txt (muestra todos los archivos que terminan en .txt)


 ls datos* (muestra todo lo que inicie con datos)
 ls datos? (muestra todo lo que inicie con datos, pero solo con un carácter después por cada signo de
interrogación)
 ls [ [:upper:] ]* (busca que inicie con mayúscula y cualquier sucesión de caracteres)
 ls -d [ [:upper:] ]* (lo mismo pero solo para directorios)
 ls -d [ [:lower:] ]* mismo pero con minúsculas
 ls [ad]* (todo lo que inicie con a o con d)
 mv *.txt +NombreCarpeta/ (mover todos los archivos .txt hacia una carpeta)
Redirecciones de cómo funciona la Shell:

 < (lo sobre escribe)


 >> (lo concatena)

Ejemplos:

 ls > [Link] (me guarda el resultado de ls en un nuevo archivo de texto "[Link]")


 ls xxxdsafsd > [Link] (me guarda el standard output en [Link]) -este estaría vacío
 ls xxxdsafsd 2> [Link] (me guarda el standard error en [Link])- este mostraría el texto del error
 ls xxxdsafsd > [Link] 2>&1 (guarda en el archivo ambos resultados output y error)

PIPE OPERATOR:

Operador que permite ejecutar un comando cuyo "standardOutput" sirva como "standardInput" a otro comando. " | "
pleca horizontal

Comandos usados en ejemplos:

 echo "texto o comando" (muestra en pantalla el standard output) ejemplo echo "hola mundo"
 cat +archivo1 +archivo2 (muestra el contenido concatenado de los archivos)
 tee hace lo mismo que el direccionador > pero permite guardarlo en un archivo pasando a través de los Pipes.
 cowsay + "texto" (muestra el texto con una vaquita)
 lolcat (cambia cualquier texto de color)

Ejemplos de Pipes:

 ls -lh | less (redirige el resultado del ls-lh al comando less para leer el output)
 ls -lh | tee [Link] | less (redirige el resultado y lo guarda en [Link] y luego lo lee con less)
 ls -lh | sort | tee [Link] | less (lo mismo, pero primero lo ordena)
 echo "Hola Platzi" | lolcat (muestra el msj hola platzi pasado a colores con lolcat)
 cowsay "Hola compitas" | lolcat (muestra el msj con la vaquita pasado a colores)
OPERADORES DE CONTROL:

Símbolos reservados que permiten ejecutar más de un comando o encadenarlos. Puede ser síncrono, asíncrono, o con
condicionales. Ej. crear una carpeta y luego moverse a ella. ( ";" "&" "&&" "| |" )

Comandos usados en ejemplos:


 cal (utilidad de la terminal que muestra un calendario)
 date (muestra la fecha actual)

Ejemplo síncronamente:
 ls; mkdir carpeta1; cal (lista un directorio luego crea la carpeta y luego muestra el calendario)

Ejemplo asincrono (o paralelo):


*Por cada comando ejecutado se va a abrir una linea o proceso

 ls & date & cal (lista un directorio, muestra la fecha y muestra el calendario en procesos simultaneos)

Ejemplo con condicionales:


 mkdir prueba && cd prueba (crea la carpeta "prueba" y solo si se ejecuta correctamente mueve a dicha
carpeta)
 cd directorioquenoexiste || touch [Link] || echo "archivo creado" (cambia directorio, pero no existe, crea
el archivo txt y luego muestra el mensaje)

MANEJO DE PERMISOS Y USUARIOS:

Atributos que aparecen a la izquierda de los archivos y directorios:

Atributo Tipo de Archivo

- Un archivo normal

d Un directorio (carpeta)

l Un link simbólico.

Un archivo de bloque especial. Son archivos que maneja la información de los


b
bloques de datos o un dispositivo x ejemplo una memoria USB
Tipos de modos o grupos de permisos más comunes:

 Representación de los permisos realizada a través de sistema de bits llamado modo Octal:

 Representación de la asignación de permisos realizada a través de modo Simbólico:

Diferencia de permisos entre archivos y directorios:

Permis
Archivo Directorio
o

Permite listar el contenido de un


r Permite abrir y leer un archivo. directorio solo si el permiso de
ejecución (x) también está activo.

w Permite escribir en un archivo; sin embargo, este atributo no Permite que los archivos dentro de un
permite cambiar el nombre de los archivos o eliminarlos. La directorio sean creados, eliminados y
capacidad de eliminar o cambiar el nombre de los archivos está renombrados si también se establece
determinado por los atributos del directorio. el atributo de ejecución.

Permite que un archivo sea tratado como un programa y


x Permite entrar al directorio.
pueda ser ejecutado.

Ejemplos de comandos:

 Por default los arvhivos se crean con los siguientes permisos: (rw para el usuario, r para grupo y r para mundo) y
en consola se mira asi: -rw-r--r--

 chmod 755 [Link] (se asigna en modo octal permiso rwx para el usuario y permiso r-x para Grupo y World)
ahora en cosola se mira asi: -rwxr-xr-x

 chmod u-r [Link] (En modo simbólico le cambio a que usuario solamente tenga permiso de lectura r) ahora
en consola se mira asi: --wxr-xr-x

 chmod u+r [Link] (En modo simbólico se le vuelve a dar permiso r al usuario)

 chmod u-x,go=w [Link] (En modo simbólico le quito permiso de ejecución x a usuario u y le doy permiso
de solamente escritura w a grupo g y otros o)

 whoami (indica que usuario somos en este momento)

 id (muestra toda la información del usuario ej: uid=1000(diego) gid=1000(diego)


groups=1000(diego),4(adm),20(dialout),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),
117(netdev)

 su root (Cambiar de usuario a root “switch user)

 passwd (Cambiar contraseña del usuario actual)

 sudo chown -R +NombreUsuario +Ruta (Cambiar permisos de escritura en un directorio (Change owner)
CONFIGURAR VARIABLES DE ENTORNO:

La terminal tiene una configuración con diferentes valores, que se pueden acceder con las variables de entorno. Estas
son muy importantes para la configuración general del sistema. Podemos guardar alias para que se queden de manera
permanente con esto, pueden servir para configuraciones globales de un servidor o para ocultar valores que no se
quiere que otros usuarios vean.

 ln -s +ruta +NombreDelLink (se crea un “Link simbólico” que son un tipo de archivos que hacen referencia a un
lugar) (se crean con permisos dummies).

 printenv (muestra todas las variables de entorno que existen configuradas actualmente)

 echo $HOME (Forma de ver a donde a punta una variable de entorno, en este ejemplo la variable HOME)
ejemplo cd $home (me lleva al directorio home)

 echo $PATH (esta variable tiene todas las rutas de donde se ejecutan los binarios del sistema. Esta es
importante ya que cada vez que instalamos un paquete, estos casi siempre instalan nuevos binarios y a veces
solicitan la ruta para instalarlos)

 Al hacer un comando ls -la desde home (se encuentra en la lista un archivo .bashrc que es donde se mantiene la
configuración de la terminal bash y es el archivo que se debe modificar en caso de querer configurar nuevas
variables de entorno, en caso que fuese una mac seria el archivo .zshrc)

 code .bashrc (Para modificarlo se puede usar un editor de texto o preferiblemente con VisualStudio Code)

 bash (se escribe siempre para recargar la terminal y aceptar los cambios en el archivo)

 Ejemplo de uso: creo un directorio llamado binPersonales en mi home, luego para modificar la variable PATH
dentro del archivo bashrc escribimos PATH=$PATH:/home/diego/binPersonales (Los dos puntos concatenan)
COMANDOS DE BUSQUEDA:

Sirven para encontrar archivos o directorios dependiendo de su extensión, nombre, ubicación etc. Son útiles al buscar
logs u otros.

 Which (busca en todas las rutas de binarios contenidas en la variable de entorno $PATH la ubicación de un
comando) ej. which code (devuelve /mnt/c/Users/diego/AppData/Local/Programs/Microsoft VS Code/bin/code)

 find +ruta -name +NombreArchivo (Permite encontrar un archivo indicándole a partir de que directorio buscar
ej: find ./ -name index me busca un archivo llamado “índex” partiendo desde home)

 find ./ -name *.html (se pueden usar wildcards para buscar todos los html)

 find ./ -name *.html | less (combinado con un pipe operator, podemos hacer la búsqueda y manipularla con
less)

 find ./ -type f -name *.log (Para buscar todos los archivos tipo file que sean .log desde home)

 find ./ -size 5M (Busca cualquier archivo o directorio mayor de 5 Megabytes.

Banderas del comando find


 Banderas básicas:

o -name: Realiza una búsqueda por nombre de archivo.


o -iname: Realiza una búsqueda por nombre de archivo sin tomar en cuenta las mayúsculas o
minúsculas.
o -type: Realiza una búsqueda por tipo de archivo, f(files) y d(directories) que son los más
comunes.
o -size: Realiza una búsqueda por el tamaño de archivo y/o directorio.

 Banderas de tiempo
o mmin: Búsqueda por tiempo en minutos.
o mtime: Búsqueda por tiempo en días.

 Otras
o -maxdepth: Después de está bandera se pone el número de niveles de profundidad en los
que queremos realizar la búsqueda
o -empty: Realiza una búsqueda de archivos y/o directorios vacíos.
o -perm: Búsqueda de archivos por permisos.
o -not: Retorna los resultados que no coinciden con la búsqueda.
o -delete: Está bandera se coloca al final del comando, eliminara los resultados de la
busqueda(Hay que tener mucho cuidado al usarla).

 whereis +comando (localiza los ficheros binarios, fuentes y páginas del manual de un programa, es decir,
podemos decir que hace algo así como una “búsqueda mucho más profunda”)
 find ~ -type f -name '*.txt' > /home/diego/DirectorioPruebas/[Link] && cowsay "Archivos
Guardados Exitosamente" | lolcat (busca todos los txt desde home luego guarda la lista resultada en un nuevo
archivo de texto “[Link]” y si fue exitoso luego muestra con el cowsay el mensaje Archivos
guardados)
 grep (Comando de búsqueda que permite encontrar coincidencias de una búsqueda dentro de cualquier archivo
con texto. grep + “palabra” + “nombreArchivo” ejemplos: (Para los ejemplos se usará un archivo .csv llamados
[Link])

Ejemplos:
 grep Towers [Link] (Busca las coincidencias para el texto “Towers” en el archivo [Link] por default son
case sensitive)
 grep -i The [Link] ( El parámetro -I Busca coincidencias con “The” sin ser case Sensitive)
 grep -i The [Link] | less (Se usa el pipe operator para leer el resultado con less)
 grep -c -i the [Link] (el parámetro -c cuenta la cantidad de coincidencias de la búsqueda)
 grep -v -i towers [Link] > [Link] (el parámetro -v busca lo que NO coincida con la palabra towers y
se envía el resultado a un nuevo archivo “[Link]”)
 wc [Link] (Cuenta cuantas palabras hay en un archivo)
 wc -l (líneas) wc -w (Palabras) wc -c (numero de bits)

UNIDADES DE RED:

Comandos relacionados a hardware de red y direccionamientos:

 ifconfig (informacion de todos los dipositivos de red, estatus, ids etcétera)


 ping +Direccion (nos muestra si una ip o página, esta activa, si salen paquetes es porque hay conexión)
 curl +pagina_web (podemos traer el html de una página, podríamos guardarlo con el estándar output).
 wget +pagina_web (nos descarga el archivo html, pero con formato)
 traceroute +pagina_web (nos sirve para ver por cuales computadoras tenemos que ir pasando para llegar por
ejemplo a una página web)
 netstat –i (nos muestra resumido el estatus de los dispositivos de red)

COMPRESION DE ARCHIVOS:

Comandos relacionados al manejo y creación de archivos comprimidos:

 tar -c -v -f +NombreComprimido +Directorio ( comprime en formato “tar” y los parámetros “-c” es de comprimir
un archivo, “-v” verbouse, es decir muestra en la terminal el otput, “-f” indica que es un file el que va a
comprimir.) ej: tar -cvf [Link] Comprimidos
 tar -c -v -z -f [Link] Comprimidos (Agregando el parametro “-z” lo comprime en un formato “G-
Zip” que es un formato mas eficiente)
 tar -xzvf [Link] (Para Descomprimir el archivo lo hacemos Cambiando la “C” por una “X”)
 zip -r [Link] Comprimidos (Para comprimir en formato ZIP, con el parametro “-r” que indica hacerlo
recursivo para todos los archivos del directorio)
 unzip [Link] (Para descomprimir los archivos .zip)
MANEJO DE PROCESOS:

Comandos relacionados al manejo de procesos dentro de la terminal:

 ps (Nos muestra los procesos corriendo actualmente, muestra su “PID” que es el numero identificador, tipo,
tiempo)
 kill +PID (Para terminar un proceso, si esta en background no lo puede cerrar sin parametros extra)
 top (Muestra una lista mas detallada de los procesos corriendo pero ordenados por cual esta consumiendo mas
recursos).
 Al presionar la tecla “h” nos muestra los comandos para manipular la tabla.
 Al presionar la tecla “k” nos pide el PID para cerrarlo y un identificador de señal “sigterm” en el caso de kill seria
“9”. ([Link] )

Cuando un proceso está en ejecución sin que sea mostrado en la terminal se dice que se está ejecutando en el
background. Si se muestra la ejecución del comando dentro de la terminal se dice que está en el foreground.

Para mover los procesos del background al foreground a tu voluntad, o suspenderlos:

 cat > mi_nota.txt (Para empezar a editar un texto)


 CTRL+Z (Para suspenderlo sin cerrarlo que seria CTRL+D. Al suspenderlo ya se movió al background)
 Jobs (Para consultar todos los procesos que tenemos en background, A la izquierda aparece el número del
trabajo)
 Fg +NumeroTrabajo (Si queremos traer la ejecución de nuevo a la terminal es decir al foreground)

Existen otras formas de enviar comandos al background. La primera es usando el operador de control & al final de un
comando. Este operador nos permite enviar de manera directa un proceso al background una vez ejecutado. Por
ejemplo:

 cat > mi_nota.txt &

La segunda forma es con el comando bg. Este sirve de manera similar que fg solo que en vez de traerlo al foreground
este lleva un trabajo al background. Por ejemplo: bg 1

EDITORES DE CODIGO EN LA TERMINAL:

Pero, aunque prácticamente es cierto, cada editor es bueno para hacer ciertas actividades, claro, hay algunos que se
destaca más que otros en sus actividades.

GNU nano: aunque es muy simple, te ayuda con tareas simple, por ejemplo, crear un archivo de notas, modificar líneas
de algún archivo (por ejemplo, modificar variables de entorno, etc).

VIM: es un editor de texto muy poderoso, una de las ventajas de vim es que puedes llegar a convertirlo en todo un
editor de código super liviano. Vim resulta ser muy liviano y perfecto para computadoras de bajos recursos, sin
embargo, su curva de aprendizaje es un poco lenta.
ACTUALIZACIONES E INSTALACIONES:

 apt-get update (buscar actualizaciones en el repositorio de dependencias)


 apt-get upgrade (Aplicar las actualizaciones)
 sudo apt install XXX (Instalar algo adicional del repositorio) ej.. sudo apt install nodejs o npm o git
 -v (ver la versión) ej. node -v

NODE JS y GIT:

nodejs (Runtime enviroment para Javascript)

npm (Manejador de paquetes de NodeJS, acceso a librerias y frameworks publicos)

npx (para ejecutar paquetes deste internet SIN instalarlos) ej: npx create-react-app test

ssh-keygen -t rsa -b 4096 -C diegodfx90@[Link] (Generar SSH para github -t tipo de algoritmo y -b tamaño en bits y
-C el correo de la cuenta Github)

eval "$(ssh-agent -s)" (Revisa si hay un agente SSH ejecutandose)

ssh-copy-id -C diegodfx90@[Link] (sirve para copiar la llave pública y asignarla como una llave autorizada en otro
servidor remoto. Lo cual nos permite acceso al servidor sin tener que usar la contraseña.)

cd ~/.ssh (cambia a la carpeta donde esta la clave publica) cat id_rsa.pub (verla)

Subir a Git:

git init:

También podría gustarte