.. |br| raw:: html
Comandos útiles de Linux
========================
Los comandos y descripciones aquí listados se han volcado de un documento
preparado hace unos 15 años más o menos por un antiguo becario del CCA.
Trabajando con archivos
-----------------------
+--------------------------------+------------------------------------------------------------------------------------+
| Comando | Descripión |
+================================+====================================================================================+
| ``ls`` | lista el contenido de un directorio |
+--------------------------------+------------------------------------------------------------------------------------+
| ``ls -al`` | listado con atributos y archivos ocultos |
+--------------------------------+------------------------------------------------------------------------------------+
| ``ls -alrt`` | listado ordenado por fecha |
+--------------------------------+------------------------------------------------------------------------------------+
| ``mkdir newdir`` | crea un nuevo directorio llamado newdir |
+--------------------------------+------------------------------------------------------------------------------------+
| ``cd newdir`` | moverse al directorio newdir |
+--------------------------------+------------------------------------------------------------------------------------+
| ``pwd`` | mostrar la ruta actual |
+--------------------------------+------------------------------------------------------------------------------------+
| ``cd ..`` | va al directorio inmediatamente superior |
+--------------------------------+------------------------------------------------------------------------------------+
| ``cd`` | va directamente al HOME |
+--------------------------------+------------------------------------------------------------------------------------+
| ``rm file`` | borra el archivo file |
+--------------------------------+------------------------------------------------------------------------------------+
| ``rm -r dir`` | borra el directorio dir y todo su contenido |
+--------------------------------+------------------------------------------------------------------------------------+
| ``rm -f file`` | borra el fichero sin emitir mensajes de error |
+--------------------------------+------------------------------------------------------------------------------------+
| ``cp file1 file2`` | copia file1 en file2 |
+--------------------------------+------------------------------------------------------------------------------------+
| ``mv file1 file2`` | renombra file1 como file2. Si file2 es un directorio, mueve file1 dentro del mismo |
+--------------------------------+------------------------------------------------------------------------------------+
| ``ln -sf file link`` | crea el enlace simbólico llamado link que apunta hacia file |
+--------------------------------+------------------------------------------------------------------------------------+
| ``less file`` o ``mmore file`` | muestra el contenido de file una página a la vez |
+--------------------------------+------------------------------------------------------------------------------------+
| ``head file`` | muestra las primeras 10 líneas de file |
+--------------------------------+------------------------------------------------------------------------------------+
| ``tail file`` | muestra las última 10 líneas de file |
+--------------------------------+------------------------------------------------------------------------------------+
| ``!!`` | repite el último comando |
+--------------------------------+------------------------------------------------------------------------------------+
Combinaciones de teclas
-----------------------
+--------------------------------+------------------------------------------------------------------------------------+
| Comando | Descripión |
+================================+====================================================================================+
| ``Ctrl+c`` | interrumpe el comando activo |
+--------------------------------+------------------------------------------------------------------------------------+
| ``Ctrl+z`` | suspende el comando activo; con fg se reanuda, con bg se lleva a segundo plano |
+--------------------------------+------------------------------------------------------------------------------------+
| ``Ctrl+w`` | borra una palabra en la línea actual |
+--------------------------------+------------------------------------------------------------------------------------+
| ``Ctrl+u`` | borra toda la línea |
+--------------------------------+------------------------------------------------------------------------------------+
| ``Ctrl+a`` | en una consola, lleva al comienzo (start) de la línea |
+--------------------------------+------------------------------------------------------------------------------------+
| ``Ctrl+e`` | en una consola, lleva al final (end) de la línea |
+--------------------------------+------------------------------------------------------------------------------------+
| ``TAB`` | completa un comando o palabra que hay en la terminal. Útil con rutas largas |
+--------------------------------+------------------------------------------------------------------------------------+
Permisos en archivos
--------------------
+--------------------------------+------------------------------------------------------------------------------------+
| Comando | Descripión |
+================================+====================================================================================+
| ``chmod octal file`` | Cambia los permisos especificados en octal: usuario (u), grupo (g), otros (o) |
+--------------------------------+------------------------------------------------------------------------------------+
| ``chmod g+w file`` | añade a file permisos de escritura para el grupo |
+--------------------------------+------------------------------------------------------------------------------------+
| ``chmod a+x file`` | añade a file permisos de ejecución para todos (usuario+grupo+otros) |
+--------------------------------+------------------------------------------------------------------------------------+
| ``chmod g-rwx,o-rwx file`` | quita a file todos los permisos para grupo y otros |
+--------------------------------+------------------------------------------------------------------------------------+
| ``chmod 755`` | pone permisos totales al usuario, solo lectura y ejecución a grupo y otros |
+--------------------------------+------------------------------------------------------------------------------------+
los valores octales son: 4 - lectura (r); 2 - escritura (w); 1 - ejecución (x).
Se suman, de forma tal que por ejemplo 6 implicas lectura + escritura (rw-),
5 implica lectura más ejecución (r-x)
Un archivo que aparezca como rwxr-xr-x significa que el usuario tiene
todos los permisos, mientras grupo y otros tienen permiso de lectura,
ejecución pero no escritura; en octal corresponde a 755.
Gestión de procesos
-------------------
+--------------------------------+------------------------------------------------------------------------------------+
| Comando | Descripión |
+================================+====================================================================================+
| ``ps -fea`` | muestra todos los procesos que se están ejecutando |
+--------------------------------+------------------------------------------------------------------------------------+
| ``ps -u`` | muestra los procesos del usuario |
+--------------------------------+------------------------------------------------------------------------------------+
| ``top o htop`` | muestra los procesos activos |
+--------------------------------+------------------------------------------------------------------------------------+
| ``kill -9 pid`` | mata el proceso con id pid (útil si se cuelga algún programa o aplicación) |
+--------------------------------+------------------------------------------------------------------------------------+
Búsqueda
--------
+--------------------------------+------------------------------------------------------------------------------------+
| Comando | Descripión |
+================================+====================================================================================+
| ``grep pattern files`` | busca el patrón/palabra "pattern" denrto de los ficheros "files" |
+--------------------------------+------------------------------------------------------------------------------------+
| ``grep -r pattern dir`` | busca recursivamente (directorios y subdirectorios) |
+--------------------------------+------------------------------------------------------------------------------------+
| ``command | grep pattern`` | busca patrón "pattern" en la salida de command |
+--------------------------------+------------------------------------------------------------------------------------+
| ``find ./ -name galaxia.fits`` | busca el fichero "galaxia.fits" en los subdirectorios |
+--------------------------------+------------------------------------------------------------------------------------+
Información de sistema
----------------------
+--------------------------------+------------------------------------------------------------------------------------+
| Comando | Descripión |
+================================+====================================================================================+
| ``date`` | consulta la fecha y hora actual |
+--------------------------------+------------------------------------------------------------------------------------+
| ``cal`` | consulta el calendario del mes actual |
+--------------------------------+------------------------------------------------------------------------------------+
| ``uptime`` | tiempo que lleva encendida la máquina y su carga de trabajo |
+--------------------------------+------------------------------------------------------------------------------------+
| ``w`` | muestra los usuarios conectados a la máquina |
+--------------------------------+------------------------------------------------------------------------------------+
| ``whoami`` | nombre de mi usuario |
+--------------------------------+------------------------------------------------------------------------------------+
| ``finger user`` | muestra información sobre user (nota: no siempre está instalado en una máquina) |
+--------------------------------+------------------------------------------------------------------------------------+
| ``man command`` | páginas de manual sobre command |
+--------------------------------+------------------------------------------------------------------------------------+
| ``df -H espacio`` | libre en los discos |
+--------------------------------+------------------------------------------------------------------------------------+
| ``du -sh dir`` | espacio usado por un directorio |
+--------------------------------+------------------------------------------------------------------------------------+
| ``whereis command`` | localiza el binario, fuente y página de manual del comando |
+--------------------------------+------------------------------------------------------------------------------------+
Compresión de archivos
----------------------
+--------------------------------+------------------------------------------------------------------------------------+
| Comando | Descripión |
+================================+====================================================================================+
| ``unzip file.zip`` | descomprime el fichero file.zip |
+--------------------------------+------------------------------------------------------------------------------------+
| ``tar cf file.tar files`` | empaqueta files en el fichero file.tar |
+--------------------------------+------------------------------------------------------------------------------------+
| ``tar xf file.tar`` | extrae el contenido del fichero file.tar |
+--------------------------------+------------------------------------------------------------------------------------+
| ``tar tvf file.tar`` | lista los ficheros contenidos en el fichero file.tar |
+--------------------------------+------------------------------------------------------------------------------------+
| ``gzip file`` | comprime el fichero file, la salida es el fichero file.gzz |
+--------------------------------+------------------------------------------------------------------------------------+
| ``gunzip file.gz`` | descomprime el fichero file.gz |
+--------------------------------+------------------------------------------------------------------------------------+