Está en la página 1de 12

Comandos

(Parte I)
Índice de Contenidos
1. El sistema de archivos de Linux. Generalidades........................................................................................................3
2. Uso de comodines en los comandos...........................................................................................................................5
3. Comandos dentro del terminal de línea de comandos................................................................................................8
3.1. Comandos de uso general (man, clear, alias, cat)...............................................................................................8
3.2. Visualización, creación y cambio de directorio (ls, pwd, cd, mkdir)..................................................................9
3.3. Creación y visualización de ficheros (cat, more, less, head, tail).....................................................................10
3.4. Copiado y borrado de ficheros (cp, mv, rm, rmdir)..........................................................................................11

2
1. El sistema de archivos de Linux. Generalidades
Las principales características del sistema de archivos de Linux son las siguientes:

● Al igual que en Windows, los sistemas de archivos de Linux poseen una estructura de árbol.
● No se impone ningún formato a los archivos al contrario de lo que ocurre en NTFS o FAT.
● Se dispone de gestión de derechos de acceso sobre archivos. Característica que comparte con NTFS.
● Utiliza asignación dinámica del espacio de disco para los archivos.
● Se realiza un tratamiento de los dispositivos sobre los archivos.

Un sistema de ficheros es una estructura completa de directorios completa. Para poder utilizar un sistema de
ficheros hay que montarlo; o sea, enlazarlo a la estructura de directorios ya existente. Los sistemas de archivos se
montan automáticamente cada vez que se inicia el S.O.

Los directorios más importantes que tiene un S.O. Linux son:

● / : Toda la estructura de directorios en los sistemas basados en UNIX parte de un directorio raíz
también llamado directorio root (raiz) y que se simboliza por una barra inclinada o /. De este
directorio, es desde donde nacen todo el resto de directorios, independientemente que estén
almacenados físicamente en discos o unidades separadas. Cualquier dirección de archivo o carpeta en
Linux empieza por el directorio raíz o /, seguido de todos los directorios y subdirectorios que que lo
contienen, separados cada uno de ellos por /.

● /bin/: El directorio /bin es un directorio estático y es donde se almacenan todos los binarios
necesarios para garantizar las funciones básicas a nivel de usuario. Solo almacena los ejecutables de
usuario, ya que los binarios necesarios para tareas administrativas gestionadas por el usuario root o
superusuario del sistema se encuentran en el directorio /sbin.Incluye también los binarios que
permiten la ejecución de varias utilidades estándar de la terminal de Linux, concretamente cat, cd,
cp, echo, grep, gzip, kill, ls, mv, rm, ping, su, ps, tar y vi.

● /boot/: Es un directorio estático e incluye todos los ejecutables y archivos que son necesarios en el
proceso de arranque del sistema, y que deberán ser utilizados antes que que el kernel empiece a dar
las órdenes de ejecución de los diferentes módulos del sistema. Es también donde se encuentra el
gestor de arranque GRUB

● /dev/: Dispositivos esenciales, discos duros, terminales, sonido, video, lectores dvd/cd, etc

● /etc/: Ficheros de configuración utilizados en todo el sistema y que son específicos del ordenador

● /etc/opt/: Ficheros de configuración utilizados por programas alojados dentro de /opt/

● /home/: Es el directorio de los usuarios estándar, y por lo tanto, el destinado a almacenar todos los
archivos del usuario, como documentos, fotos, vídeos, música, plantillas, etc. También incluye
archivos temporales de aplicaciones ejecutadas en modo usuario, que sirven para guardar las
configuraciones de programas, etc.

● /lib/: Bibliotecas compartidas esenciales para los binarios de /bin/, /sbin/ y el núcleo del sistema.

3
● /media/: Representa el punto de montaje de todos los volúmenes lógicos que se montan
temporalmente, ya sean unidades externas USB, otras particiones de disco, etc. En la mayoría de
distribuciones GNU/Linux, desde hace ya algún tiempo, cada vez que se monta una unidad externa,
partición, etc., esta se monta dentro del directorio /media y a su vez dentro de un directorio
específico dependiendo del usuario del sistema que monta el volumen.

● /mnt/: Es un directorio vacío que cumple funciones similares a /media, pero que actualmente no se
suele utilizar, ya que la mayoría de distribuciones hacen uso de este último para los puntos de
montaje temporales.

● /opt/: Paquetes de aplicaciones estáticas.

● /proc/: Este directorio contiene información de los procesos y aplicaciones que se están ejecutando
en un momento determinado en el sistema, pero realmente no guarda nada como tal, ya que lo que
almacena son archivos virtuales, por lo que el contenido de este directorio es nulo. Básicamente son
listas de eventos del sistema operativo que se generan en el momento de acceder a ellos, y que no
existen dentro del directorio como tales.

● /root/: Directorio de inicio del usuario root (super-usuario) (Opcional)

● /sbin/: Comandos/programas binarios de administración de sistema.

● /tmp/: Ficheros temporales

● /srv/: Datos específicos de sitio servidos por el sistema.

● /usr/: Jerarquía secundaria para datos compartidos de solo lectura (Unix system resources). Este
directorio puede ser compartido por múltiples ordenadores y no debe contener datos específicos del
ordenador que los comparte.

● /usr/bin/: Comandos/programas binarios.

● /usr/include/: Ficheros de inclusión estándar (cabeceras de cabecera utilizados para desarrollo).

● /usr/lib/: Bibliotecas compartidas.

● /usr/share/: Datos compartidos independientes de la arquitectura del sistema. Imágenes, ficheros


de texto, etc.

● /usr/src/: Códigos fuente (Opcional)

● /var/: Ficheros variables, como son logs, bases de datos, directorio raíz de servidores HTTP y FTP,
colas de correo, ficheros temporales, etc.

● /var/cache/: Cache da datos de aplicaciones.

4
● /var/lib/: Información de estado variable. Algunos servidores como MySQL y PostgreSQL
almacenan sus bases de datos en directorios subordinados de éste.

● /var/lock/:Ficheros de bloqueo.

● /var/log/: Ficheros y directorios de registro del sistema (logs).

● /var/opt/: Datos variables de /opt/.

● /var/spool/: Colas de datos de aplicaciones.

● /var/tmp/: Ficheros temporales preservados entre reinicios.

Existen dos tipos de distinciones cuando hablamos del tipo de contenido de un directorio: Estáticos /
dinámicos y compartibles / no compartibles.

● Estáticos: Contiene binarios, bibliotecas, documentación y otros ficheros que no cambian sin intervención
del administrador. Pueden estar en dispositivos de solo lectura (read-only) y no necesitan que se hagan copias
de seguridad tan a menudo como con ficheros dinámicos. Por ejemplo: /bin, /sbin, /opt, /boot, /usr/bin.

● Dinámicos: Contiene ficheros que no son estáticos. Deben de encontrase en dispositivos de lectura-escritura
(read-write). Necesitan que se hagan copias de seguridad a menudo. Ejemplos: /var/mail, /var/spool, /var/run,
/var/lock, /home

● Compartibles: Contiene ficheros que se pueden encontrar en un ordenador y utilizarse en otro. Por ejemplo:
/usr/bin, /opt

● No compartibles: Contiene ficheros que no son compartibles. /etc, /boot, /var/run, /var/lock son ejemplos
de esta clasificación.

Los nombres de los ficheros (directorios incluidos) pueden tener hasta 255 caracteres y, al menos en teoría,
pueden contener cualquier carácter. Sin embargo, alguno de los caracteres ASCII tienen significados especiales para
el intérprete de órdenes por lo que debemos evitarlos al nombrar ficheros y directorios.

2. Uso de comodines en los comandos


Una característica importante de la mayoría de los intérpretes de comandos en Unix es la capacidad para
referirse a más de un archivo usando expresiones regulares.

Linux usa los comodines para la sustitución de caracteres. Estos caracteres comodines nos puede ser de
mucha utilidad cuando lanzamos el comando de ls para buscar uno o varios de archivos o directorios cuyo nombre
contiene una determinada secuencia de caracteres.

5
El comodín asterisco “ * ”

Sustituye una cadena de caracteres en el nombre del archivo o directorio. Cuando se usa el carácter
“*” para referirse al nombre de un archivo o directorio, el intérprete de comandos lo sustituye por todas las
combinaciones posibles de los archivos y directorios dentro del directorio que estamos refiriendo.

Por ejemplo supongamos que en el directorio del usuario tenemos varios directorios:

usuario@equipo:~$ ls

Para listar todos los archivos que termina con la letra “s”, usaremos esta línea de comandos, el resultado
sería:

usuario@equipo:~$ ls *s

Como podemos ver, el comodín “*” ha sido sustituido todos los caracteres anteriores al carácter que
se ha introducido y ha realizado las combinaciones posibles para mostrar los archivos y directorios que terminen en
“s” del directorio donde nos encontramos.
Otros ejemplos sería:

usuario@equipo:~$ ls t*

Los caracteres comodín nos permiten referirse a más de un archivo a la vez. Por ejemplo, también
podemos usarlo con los comandos cp y mv para copiar o mover varios archivos de una vez. Por ejemplo:

usuario@equipo:~$ mkdir archivos_host


usuario@equipo:~$ cp /etc/host* /home/usuario/archivos_host/
usuario@equipo:~$ cd archivos_host/
usuario@equipo:~/archivos_host$ ls
host.conf hostname hosts hosts.allow hosts.deny

Lo que estamos haciendo es copiar todos los archivos del directorio /etc que comiencen con “host” al
directorio /home/usuario/archivos_host/.

El comodín “ ? ”

Este carácter comodín sólo sustituye un carácter, por ejemplo:

usuario@equipo:~$ ls -ld texto?.txt

El comodín corchetes [ ]

Los corchetes se utilizan para pasar un rango de caracteres, que tomará para realizar la búsqueda, por
ejemplo:

6
usuario@equipo:~$ ls -ld [a-r]*l

El listado que nos muestra son los archivos o directorios que comienza en “a” hasta la “r” incluida y como
hemos pasado también el carácter comodín “*” tomará cualquier carácter.

El comodín exclamación “ ! “

La exclamación se utilizan para denegar el rango de caracteres que se pasa, es decir, tomará todos los
caracteres menos los que se pasen para realizar la búsqueda, por ejemplo:

usuario@equipo:~$ ls -ld [!d-r]*

El listado que nos muestra son los archivos o directorios que NO comienza por “d” hasta la “r” incluida y
como hemos pasado también el carácter comodín “*” tomará cualquier carácter. Otros ejemplos:

El comodín llaves “ { } “

Las llaves se utilizan para pasar un número de caracteres, que se usarán para realizar la búsquedas de los
archivos y directorios que contenga esos caracteres, por ejemplo:

usuario@equipo:~$ ls -ld {a,r}*

El listado que nos muestra son los archivos o directorios que comienza en “a” y los que comienzan por “r” y
con el carácter comodín “*” tomará cualquier otro carácter. Otros ejemplos:

usuario@equipo:~$ ls -ld {a,c}*o

ls: no se puede acceder a c*o: No existe el fichero o el directorio


drwxr-xr-x 2 aceitunero aceitunero 4096 2011-05-04 19:30 aceitunero
drwxr-xr-x 2 aceitunero aceitunero 4096 2011-05-04 19:30 antonio

usuario@equipo:~$ ls -ld *{a,c}

drwxr-xr-x 2 aceitunero aceitunero 4096 2011-05-04 17:39 Música

Como podéis observar estas combinaciones de los comodines nos puede ayudar a la hora de copiar, mover,
listar, etc. un conjunto de archivos o directorios de una forma sencilla.

7
3. Comandos dentro del terminal de línea de comandos
Cuando abrimos una ventana de terminal, por defecto, la abrimos como el usuario que actualmente está en el
sistema. Una vez que nosotros hemos abierto la ventana, podemos cambiar de usuario.

En la captura de pantalla, podemos ver dos ventanas del terminal en las cuales estamos como dos usuarios
diferentes. Siempre nos mostrará antes del cursor, la información de quienes somos, en que equipo estamos y donde
nos encontramos dentro de ese equipo.

En el ejemplo de la imagen, en la ventana de la derecha, vemos que el prompt del sistema es


root@M24200104:/home/joseluis# mientras que en la ventana de la izquierda el prompt es
joseluis@M24200104:~$. Estas líneas nos aportan muchísima y muy importante información para no perdernos
por el sistema.

La primera parte (antes de la arroba) nos indica con que usuario estamos accediendo al terminal, en función
de quien seamos podremos hacer o no ciertas cosas en el sistema. En nuestro caso, en el terminal de la derecha
estamos actuando como root o superusuario y en el terminal inferior como el usuario joseluis.
Tras el nombre de usuario, aparecerá una arroba ( @ ) y después y hasta los dos puntos ( : ) nos mostrará el
nombre del equipo al que estamos accediendo. En nuestro caso como accedemos al equipo local, en ambas ventanas
es M24200104

3.1. Comandos de uso general (man, clear, alias, cat)

● man
Muestra los manuales de referencia en formato electrónico. El formato de uso de este comando es man
<nombre_comando>

● clear
Este comando limpia la pantalla del terminal.

8
● alias
Con este comando podemos crear para la sesión de terminal actual un nombre por el que llamar a un
comando con los parámetros que especifiquemos. El formato de este comando es alias
<nombre>=’<valor>’ Por ejemplo:
alias dir=’ls -l”

● cat
Este comando sirve para concatenar archivos y para mostrar su contenido por la salida estándar.
Habitualmente se utiliza para mostrar el contenido de un archivo.

3.2. Visualización, creación y cambio de directorio (ls, pwd, cd, mkdir)

● ls
Su nombre proviene del inglés list (listar o enumerar)
Muestra el contenido de los archivos, directorios, enlaces simbólicos y demás archivos de la carpeta indicada,
en caso de no indicar ninguna carpeta, mostrará los de la carpeta actual. La forma de usar este comando es ls
<opciones> <directorio>
Algunos modificadores que se pueden añadir a este comando son:
o ls --help: muestra la ayuda de uso del comando
o ls -a <directorio> : mostrará todo el contenido del directorio incluyendo los archivos ocultos.
o ls -l <directorio> : mostrará los archivos no ocultos en formato largo
o ls -la <directorio> : combina los dos anteriores.

● pwd
Imprime en pantalla el nombre y la ruta del directorio de trabajo actual.

● cd
Del inglés "change directory", o mejor dicho en español, cambiar directorio, se usa para navegar por
los árboles de directorios en sistema tipo UNIX y GNU/Linux.
Si se utiliza tal cual, sin ningún tipo de argumento, cambia al directorio de trabajo personal. Si se
utiliza seguido de una ruta, cambia al directorio que se le indica.
Podemos indicarle el directorio al que queremos cambiar mediante una dirección relativa o una
dirección absoluta.
Las rutas pueden ser absolutas o relativas. Una ruta es absoluta cuando comienza por el
carácter “/” y relativa cuando comienza por cualquier otro carácter.

Una dirección absoluta es una ubicación desde el directorio raíz hasta el directorio donde queremos
llegar, por ejemplo, para ir al directorio Documentos de nuestro directorio de trabajo deberíamos ejecutar
el comando cd /home/miusuario/Documentos. Las rutas absolutas siempre comienzan con /.
Cuando utilizamos el comando cd sin ningún argumento, nos movera al directorio de trabajo del
usuario.

9
Cualquier directorio siempre tiene dos directorios que se pueden utilizar para las rutas relativas, el
directorio .. (punto punto) que hace referencia al directorio padre del directorio en el que nos
encontramos y el directorio . (punto) que hace referencia al propio directorio en el que nos encontramos.

● mkdir
Del inglés "make directory", como su nombre lo indica, con este comando podemos crear directorios
a discreción, siempre y cuando tengamos los permisos necesarios para hacerlo en la ruta que se le indica. Al
contrario de lo que ocurre con el comando mkdir del CLI de Windows, por defecto, en Linux, para crear un
directorio dando una ruta, todos los directorios de niveles superiores deben existir. Algunos de sus
modificadores principales son:
○ mkdir --help: muestra la ayuda de uso del comando.
○ mkdir -m XYZ <directorio> donde X,Y y Z son valores entre 0 y 7. Con este modificador,
creamos un directorio y le damos los permisos que deseamos.
○ También se puede utilizar en el formato mkdir --mode=XYZ <directorio>
○ mkdir -p <directorio> crea los directorios de nivel superior necesarios para crear el directorio de
último nivel que le estamos indicando.

Cuando al comando mkdir le indicamos tras los parámetros varios nombres, creará todos los
directorios que le estemos indicando.

Por ejemplo: mkdir -p dir1 dir2 dir3 dir4 esto creará 4 directorios, dir1, dir2, dir3 y dir4 en el
directorio actual.

3.3. Creación y visualización de ficheros (cat, more, less, head, tail)


Los comandos cat, more y less sirven para mostrar el contenido de ficheros de texto. La diferencia radica en
cómo se muestra el contenido. A todos estos comandos hay que pasarles como argumento el fichero que se quiere
mostrar. Se puede indicar una ruta, en caso de que el fichero que se quiere mostrar no esté en el directorio actual.

● touch:
Este comando cuyo parámetro habitual es un nombre o un nombre con su ubicación, crea un archivo
vacío.
Por ejemplo, touch ./Documentos/miarchivo.txt

● cat
El comando cat muestra por pantalla el contenido de un fichero y, cuando termina, el usuario está
otra vez de vuelta en la línea de comandos.
Por ejemplo, cat /etc/passwd

● more
El comando more hace lo mismo que cat, a diferencia de que muestra el fichero pantalla a pantalla,
es decir, llena de texto la pantalla y se espera a que el usuario pulse la tecla <espacio> para pasar a la
siguiente:
Por ejemplo, cat /etc/group

10
● less
El comando less es el más versátil de los tres, ya que permite moverse hacia delante y hacia atrás
dentro del fichero, utilizando los cursores o las teclas de “AvPág” y “RePág”:
Por ejemplo, less /var/log/dmesg
En cualquier momento se puede interrumpir la visualización y volver al símbolo del sistema
pulsando la letra “q”.

● head y tail
Los comandos head y tail permiten mostrar de forma parcial el contenido de un fichero. Como su
nombre indica, head muestra las primeras líneas del fichero (la cabecera) y tail muestra las últimas
líneas (la cola).
Por ejemplo, head /boot/grub/menu.lst mostraría el comienzo del fichero del menú del grub.
Por defecto, tanto head como tail muestran 10 líneas, pero eso se puede cambiar con la opción -n.
Por ejemplo, tail -n4 /etc/passwd mostraría las últimas cuatro líneas del archivo.

3.4. Copiado y borrado de ficheros (cp, mv, rm, rmdir)

● cp

Proviene del ingles “Copy”. Su uso básico es para copiar archivos de una ubicación a otra con el
mismo u otro nombre de archivo. El nuevo fichero tendrá nuevos permisos y el dueño del mismo
será el que ejecutó el comando "cp". Por ejemplo queremos copiar el archivo juanito.txt desde donde
nos encontramos hasta la carpeta "Musica" del "home" del usuario y de paso queremos cambiarle el
nombre al fichero final para algo más descriptivo de su contenido "canciondejuanito.txt, para ello
debemos teclear en la terminal

cp juanito.txt /home/usuario/Musica/canciondejuanito.txt

Como al resto de comandos, le podemos agregar modificadores para variar su uso por defecto.

❏ cp --help muestra una ayuda de uso del comando

❏ cp -r Argumento usado para copiar de forma recursiva directorios y sus contenidos. Ç

❏ cp -p Del inglés "preserve", se usa para preservar los atributos de los ficheros a copiar,
como fechas de modificación, acceso y usuario dueños y grupos de usuarios dueños (siempre
que se tengan los permisos necesarios), es una especie de clonación.

❏ cp -i Vuelve al comando interactivo donde te pregunta como proceder en el momento en el


cual consigue dentro del destino un fichero con el mismo nombre del que queremos copiar.

❏ cp -f Se fuerza la copia del archivo aunque no se tengan permisos de escritura sobre el


mismo.

11
● mv

Del Inglés, "move". Se usa de forma muy parecida a "cp" pero en vez de copiar ficheros los mueve
del sitio origen al sitio destino que escojamos. Alguno de los argumentos que utiliza mv son los
siguientes:

❏ mv --help : muestra la ayuda del comando.

❏ mv -f: no pregunta antes de de sobreescribir.

❏ mv -i: pregunta siempre antes de sobreescribir

❏ mv –n: no sobreescribe los archivos existentes con el mismo nombre.

❏ mv -u : mueve un archivo de origen al destino indicado solo si el origen es más nuevo que el
destino.

● rm
Del Inglés, "remove", que significa en castellano, borrar. Este comando por defecto no borrará
archivos aunque con el modificador -r se pueden borrar los directorios de la ubicación especificada.

○ rm -f <archivo>: fuerza la eliminación del archivo y no muestra errores si el archivo no


existe.
○ rm -i <archivo>: pregunta ante de borrar cada archivo si estamos seguros de su
eliminación.
○ rm -r <directorio>: borrar todos los archivos y directorios indicados y sus subdirectorios.

● rmdir

Del ingles “remove directory”. Es un comando específico para eliminar directorios en el sistema
siempre que esten vacios.

Si el directorio que queremos eliminar NO está vacío, es decir, hay algún fichero y/o directorio en su
interior, debemos añadirle al comando rmdir el modificador -n, con el cual indicaríamos que deseamos
borrar el directorio de forma recursiva, es decir, eliminando tanto el directorio como todo su contenido. En el
caso de que queramos un directorio que no está vacío sólo con el comando rmdir, nos daría error.

12

También podría gustarte