domingo, 6 de enero de 2019

Obtener ayuda en Linux

Como sabemos con el comando man podemos acceder al manual de Linux. El manual está compuesto de varias secciones:

  1. Comandos de usuario
  2. Llamadas del sistema
  3. Librería de Funciones
  4. Archivos especiales
  5. Formatos de archivo
  6. Juegos
  7. Estándares
  8. Administración del Sistema y privilegios
  9. Kernel de Linux

Con man -a intro podemos ver el intro de cada una de las secciones. Si queremos ver información de un comando en una sección distinta, por ejemplo passwd en formatos de archivo: man 5 passwd

Con man -k podemos buscar por palabras en el título de las páginas del manual, ejemplo: man -k login
Con man -K podemos buscar palabras en el cuerpo de las páginas del manual.

Si queremos buscar por información que nos explique de forma detallada un comando podemos utilizar el comando pinfo.

El File System de Linux







El File System de Linux está compuesto de diversas carpetas estructuradas en forma de árbol inverso, siendo el origen del mismo el directorio conocido como raíz y representada con una diagonal “/”. A partir de ésta carpeta se encuentran otras carpetas de las cuales listaremos algunas a continuación.






  • /usr: Tiene binarios y librerias de éstos binarios (programas compilados)
    • /usr/bin: comandos de usuario
    • /usr/sbin: comandos de administrador de sistema (root)
    • /usr/local: software customatizado
  • /etc: Es un directorio persistente (no se borra nada al reiniciar el sistema) que contiene archivos de configuración del sistema
  • /var: Contiene archivos y directorios dinámicos por ejemplo es donde se publican los sitios web, los sitios ftp
  • /run: Tiene archivos temporales de tiempo de ejecución
  • /home: Contiene los directorios home de los usuarios del sistema, es decir donde se almacenan los archivos personales de los usuarios
  • /root: Es el directorio home del usuario root. Este se mantiene fuera de /home
  • /tmp: Mantiene archivos temporales generados por las aplicaciones, estos arhivos se mantienen por 30 días si no son utilizados
  • /boot: Archivos de arranque del sistema
  • /dev: Contiene archivos que nos permiten interactuar con dispositivos conectados al sistema


Cuando trabajamos con el File System de Linux debemos entender el concepto de rutas. Existen dos tipos de rutas: Absolutas y Relativas

  • Las rutas absolutas son rutas completas iniciando siempre desde el directorio raíz. Por ejemplo /etc/passwd
  • Las rutas relativas son rutas relativas al directorio donde nos encontramos (o directorio de trabajo). Por ejemplo si nuestro directorio de trabajo es el directorio etc la ruta relativa archivo passwd será simplemente: passwd. Para referirnos a un directorio “atrás” del donde estamos trabajando utilizamos “../” por ejemplo si estamos en el directorio home la ruta relativa a passwd será: ../etc/passwd

Otro punto importante a considerar en Linux es que el sistema operativo es sensible a mayúsculas y minúsculas por lo que siempre debemos escribir los nombres de archivos y carpetas tal cual son.

Para saber cual es nuestro directorio de trabajo en cierto momento utilizamos el comando pwd
Para movernos a un directorio utilizamos el comando “cd” por ejemplo: cd /home/javier
Para movernos a nuestro directorio home utilizamos: cd ~
Para movernos a un directorio donde estábamos posicionados antes del actual usamos: cd -
Para movernos un directorio atrás del actual: cd ..

Si queremos crear un archivo en blanco podemos utilizar el comando touch. Ejemplo: touch /home/javier/Documents/myfile.txt

Para listar archivos en un directorio usamos el comando ls
Si queremos listar los archivos incluidos los archivos ocultos (los cuales empiezan con un punto) utilizamos ls -a
Para hacer un listado recursivo, es decir de todo lo que está dentro de un directorio usamos ls -r
Si queremos un listado con información mas completa (o listado largo) usamos el comando ls -l o ll


Para trabajar con archivos tenemos varios comandos

  • cp: Nos sierve para copiar archivos, por ejemplo: cp file1 file2 (crea una copia de file1 llamada file2)
  • mv: Nos sirve para mover un archivo, ejemplo: mv file1 file2 (renombra el archivo file1 como file2)
  • rm: Nos sirve para eliminar archivos, ejemplo rm file1 (elimina file1), rm -f nos ayuda a forzarlo
  • mkdir: Nos sirve para crear directorios mkdir dir (crea un directorio llamado dir en el directorio actual). Si queremos crear toda una ruta de directorios usaremos: mkdir -p dir1/dir1a/dir1a_1
  • cp -r: Copia todo el contenido de un directorio a otro, ejemplo: cp -r dir1 dir2
  • mv: También nos sirve para mover directorios, ejemplo mv dir1 dir2
  • rm -r: Elimina un directorio completo, ejemplo rm -r dir1 para forzarlo usamos rm -r -f dir1

Introducción a la linea de comandos de Linux


Lo primero que tenemos que aprender al respcto es que al utilizar la línea de comandos estamos utilizando la shell Bash (GNU Bourne again Shell).
Cuando el promt de nuestra linea de comandos es un “$” estamos logueados como un usuario regular, cuando tenemos un “#” estamos logueados como un usario con altos privilegios administrativos o super usuario. El super usuario en linux es el usuario root. Para acceder al shell bash accederemos a través de una terminal.


Los comandos en Bash no son otra cosa que programas que podemos correr y siguen la siguiente sintaxis: comando [opciones] [argumentos]

Si queremos acceder a la ayuda de un comando escribimos el nombre del comando y -- help: Por ejemplo: date -- help . También podemos revisar el manual de uso de un comando utilizando el comando man, por ejemplo: man date

Un ejemplo de opciones en un comando sería: date +%R la opción “+%R” nos entrega solo la hora actual. Si desconocemos la sintaxis completa de un comando podemos comenzar a escribir el comando y teclar la tecla Tab para completarlo, lo mismo nos sirve para completar rutas de archivos o carpetas. Podemos presionar la tecla Tab dos veces cuando tenemos mas de una opción para poder verlas o después de un comando para ver las opciones posibles sobre el mismo.

Para cambiarnos entre sesiones de usuario en la termina escribimos el comando “su” seguido de un “-” y el nombre del usuario con el que deseamos loguearnos: su – javier


Para conocer el tipo de archivo utilizamos el comando file. Ejemplo: file /etc/passwd
Con los comando tail y head podemos ver las ultimas 10 lineas o las primeras 10 de un archivo respectivamente, por ejemplo: tail etc/passwd o head /etc/passwd
Con la opción “-n” podemos indicar cuantas lineas queremos ver si no deseamos el comportamiento default de 10. Por ejemplo: head -n 3 /etc/passwd
El anterior es un ejemplo de un comando (head) con opciones (-n 3) y su argument (/etc/passwd)
El comando “wc” nos sirve para sabe cuantas lineas, palabras y caracteres tiene un archivo. Ejemplo: wc /etc/passwd

Para conocer los últimos comandos ejecutados podemos utilizar el comando “history”, este comando nos lista el historial de comandos utilizados




Si desdeo ejecutar un comando del listado tecleo ! Y el número de comando correspondiente, por ejemplo !40
Otra forma es ejecutar ![comando] por ejemplo: !head ejecutará el último comando head de la lista.

Si queremos cambiar el password de nuesto usuario utilizamos el comando passwd nos solicitará el password actual y el nuevo.

Servicios y Demonios

Un demonio es un procesos que corre en el background para realizar un servicios. Generalmente se lanzan desde el inicio de...