====== Shell Linux ====== Intérprete de comandos. ===== Shells ===== * sh * bash * zsh ===== Consultar ayuda ===== ===== Búsquedas de ficheros ===== ===== Búsquedas de texto ===== ===== Creación y lectura de ficheros ===== ===== Directorios ===== ===== Tuberías y redireccionamiento ===== La tuberia se representa con el carácter ''|'' Uso: ''comando | comando | comando | ...'' Ejemplo: ''la salida estandard de aquí | entra aquí'' Ejemplo: ''cat filename | less'' ==== tee ==== ''tee'' sirve para leer desde la entrada estándar y escribe en la salida estándar y ficheros. Ejemplo: ''ls | tee fichero1 fichero2'' Y si queremos agregar al final en vez de sobrescribir: ''-a'' ==== xargs ==== ''xargs'' sirve para pasar argumentos de la salida estándar de otro comando por ejemplo. Uso: ''comando | xargs comando'' Ejemplo: ''ls fichero[12] | xargs rm'' ===== Entrada estándar ===== Puede ser por un teclado o la salida de otro comando Su identificador es el 0 ===== Salida estándar ===== Salida de un programa. Su identificador es el 1. ===== Salida de error estandar ===== Es la salida error de un programa. Su identificador es el 2. ===== Redireccionamientos ===== ''comando < fichero'': Toma la entrada de un fichero ''comando > fichero'': Envía la salida del comando al fichero sobrescribiendo este ''comando 2> fichero'': Envía la salida de error del comando al fichero ''comando %%>>%% fichero'': Añade al final del archivo ''comando 2>&1'': Envia la salida de error a la salida estándar ''comando &> fichero'': Envía la salida estandar y error al fichero ''comando 2> errorfile 1>stadout'': Pasa las salidas a archivos diferentes ===== Compresión ===== Instalar zip: ''zip'' y ''unzip'' Comprimir ficheros: ''zip nombreArchivo.zip [fichero | carpeta | patrón | ficheros]'' Comprimir ficheros de forma recursiva: ''zip -r nombreArchivo.zip [fichero | carpeta | patrón | ficheros]'' Ver el contenido de un fichero zip: ''unzip -vl archivo.zip'' Borrar un fichero dentro de un zip : ''zip -d fichero.zip fichero_a_borrar'' Descomprimir en la carpeta actual: ''unzip archivo.zip'' Descomprimir en otra ruta: ''unzip archivo.zip -d ruta'' Comprime todos tus ficheros de *.avi: ''find . -iname '*avi' | xargs zip videos.zip'' ===== Empaquetado ===== Crear un contenedor: ''tar vcf archivo.tar archivos'' Crear un contenedor y comprimirlo: ''tar cfz archivo.tar.gz archivos'' Descomprimir todo y sacar del contenedor: ''tar xcf archivo.tar.gz'' ===== Permisos ===== Significado de las letras en los permisos: (''r'')ead, (''w'')rite, e(''x'')cution y ''-'' sin permisos ''%%---%%:%%---%%:%%---%%'': Lo podemos dividir en tres ''%%---%%'': * El de mas a la izquierda los permisos del dueño * El del centro los permisos del grupo * El de mas a la derecha los permisos de anónimo Para cada grupo los permisos tienen el siguiente valor: rwx 421 Ejemplos: * ''r%%--%%'' = 4 * ''rw-'' = 6 * ''r-x'' = 5 * ''-wx'' = 3 * ''rwx'' = 7 Ejemplo una vez dado algún permisos a los usuarios, grupo y anónimos 777 = rwx:rwx:rwx ==== Modificando permisos ==== Ejemplo de cambios de permisos con sistema octal: ''chmod 721 fichero'' Ejemplo de cambios de permisos de modo carácter: ''chmod chmod ugo=rx fichero'' O si quieres quitar permisos: ''chmod ugo=rx- fichero'' Varios permisos diferentes a la vez: ''chmod u=rw, go= fichero'' ===== Alias ===== ¿Esto solo vale para bash? Los alias se guardan en el fichero: ''~/.bashrc'' Los alias empiezan por la palabra alias seguido de un espacio el nombre del alias un igual y entre comillas el comando, no debe poner espacios a ambos lados del igual. Una forma rápida de crearlo es: ''echo alias ls='ls -lah' >> ~/.bashrc''