Son los comandos para realizar diversas tareas (copiar, mover, borrar, renombrar, crear directorios, crear archivos, cambiar propiedades, etc).
Todo comando permite el uso de "opciones", estas modificaran el comportamiento del comando.
Es posible combinar estos comandos para realizar tareas complejas.
Como convención se utilizara "$" para indicar que el comando debe ejecutarse en bash.
Ejemplo: ejecutar el comando para listar archivos/directorios
$ ls -la
El comando es "ls"
Las opciones son "la"
Muestra el contenido de un directorio en particular
l: Escribe (en formato de una sola columna) los permisos del fichero, el numero de enlaces que tiene, el nombre del propietario, el grupo al que pertenece, el tamaño (en bytes), una marca de tiempo y el nombre del fichero. De forma predeterminada la marca de tiempo que se muestra es el de la ultima modificación.
a: Incluye en el listado archivos ocultos (cuyos nombres comienzan con ".").
h: Human-readable, indica una letra al lado del tamaño, pudiendo ser K: Kilobytes, M: Megabytes, G: Gigabytes.
F: Permite difereciar los tipos de archivos de los directorios, donde los directorios con un caracter "/" al final del nombre, los archivos ejecutables con un "*" y los enlaces simbolicos con una "@".
R: Realiza un listado recursivo dentro de cada directorio.
Al utilizar la opción "l" muestra:
|Permisos | Enlaces | Dueño | Grupo | Tamaño | Fecha | Nombre|
Permisos: El Primer carácter indica el tipo de archivo el que puede ser "-"(archivo), "d"(directorio) o "l"(enlace simbólico), las 9 letras restantes se dividen en tres conjuntos de tres caracteres cada uno (rwx donde r=lectura, w=escritura, x=ejecucion, -=sin permiso), donde el primer conjunto representa los permisos para el usuario, el segundo conjunto representa los permisos para el grupo y el tercer conjunto representa los permisos para el resto de los usuarios del sistema.
Enlaces: Numero de enlaces.
Dueño: Nombre del usuario propietario del archivo.
Grupo: grupo al que pertenece el archivo.
Tamaño: Tamaño del archivo en Bytes.
Fecha: fecha y hora de creacion del archivo o ultima modificacion.
$ ls -lah
total 24K
drwxrwxr-x 6 juaramir juaramir 4,0K ene 3 15:41 .
drwxr-x--- 45 juaramir juaramir 4,0K ene 3 15:33 ..
drwxrwxr-x 3 juaramir juaramir 4,0K ene 3 15:41 D1
drwxrwxr-x 2 juaramir juaramir 4,0K ene 3 15:34 'directorio 3'
drwxrwxr-x 2 juaramir juaramir 4,0K ene 3 15:34 Directorio1
drwxrwxr-x 2 juaramir juaramir 4,0K ene 3 15:34 directorio_2
$ ls -R
.:
D1 'directorio 3' Directorio1 directorio_2
./D1:
D2
./D1/D2:
D3
./D1/D2/D3:
'./directorio 3':
./Directorio1:
./directorio_2:
Con este comando se puede navegar por el sistema de archivos
Para ingresar a un directorio:
$ cd nombre_directorio
Para retroceder al directorio padre
$ cd ..
Para ir a cualquier directorio (utilizando el nombre absoluto)
$ cd /dir1/subdir/dirfinal
Para ir al directorio /etc/apt/
$ cd /etc/apt
Para ir al directorio de la cuenta
$ cd /home/$USER
$ cd
¿Como saber en que lugar del árbol de directorio nos encontramos ?
Se debe usar el comando "pwd"
$ pwd
/home/juaramir/
Para ver el peso de un directorio (incluyendo sus subdirectorios) se utiliza "du"
¿Cuanto pesa el directorio personal ?
$ du -sh /home/$USER
57G /home/juaramir
Para ver el espacio disponible de disco se usa el comando "df"
$ df -h
S.ficheros Tamaño Usados Disp Uso% Montado en
tmpfs 783M 3,1M 780M 1% /run
/dev/sda2 117G 85G 26G 77% /
tmpfs 3,9G 60M 3,8G 2% /dev/shm
tmpfs 5,0M 4,0K 5,0M 1% /run/lock
/dev/sda1 511M 5,3M 506M 2% /boot/efi
tmpfs 783M 112K 783M 1% /run/user/1000
El comando "mkdir" creará un/os directorio/s y subdirectorios
Ejemplo crear 3 directorios:
$ mkdir Directorio1 directorio_2 directorio\ 3
$ ls
'directorio 3' Directorio1 directorio_2
Si quieres crear una estructura de árbol de directorios desde consola, debes ejecuta el comando “mkdir” con el parametro “-p”.
Ejemplo:
$ mkdir -p "D1/D2/D3"
Creara una carpeta llamada “D1″, dentro creará “D2″ y dentro de “D2″ creará “D3″.
Para borrar un directorio se usa rmdir pero el directorio debe estar vació.
$ rmdir directorio_2
$ rmdir D1/
rmdir: fallo al borrar 'D1/': El directorio no está vacío
El directorio no es posible borrarlo ya que posee directorios dentro, aunque estos igual esten vacios.
El comando "touch" crear un/os archivo/s vacio/s
Ejemplo:
$ touch arch1.txt arch2.c arch3.java
$ ls
arch1.txt arch2.c arch3.java D1 'directorio 3' Directorio1
El comando "cp" permite copiar archivos y directorios
$ cp archivo_origen lugar_archivo_destino
copiar /etc/apt/source.list en la carpeta "D1"
$ cp /etc/apt/source.list ~/D1/
También se le puede indicar como 2do parametro el directorio actual (donde se esta posicionado, para verificar use pwd), usando "."
$ cp /etc/apt/source.list .
Para copiar un directorio completo se debe utilizar la opción revursiva "r"
$ cp -r directorio_origen destino
El comando "mv" permite el mover (corta, pegar) como renombrar un archivo o directorio
$ mv origen destino
Si el destino es otro directorio "mueve"
$ mv arch1.txt Directorio1/
$ ls Directorio1/
arch1.txt
Si el destino es el mismo directorio "renombra"
$ mv arch2.c codigo.c
$ ls
arch3.java codigo.c D1 'directorio 3' Directorio1
El comando "rm" borra archivos y directorios; Puede borrar mas de un archivo
$ rm archivo1 archivo2 archivo3
Para borrar un directorio incluyendo todo su contenido se debe usar la opción "r"
$ rm -r directorio
Si no queremos que confirme el eliminar se usa la opción "f" (usar con mucho cuidado)
$ rm -rf directorio
El comando "ln" crea enlaces, utilizando la opción "s" se crean enlaces simbólicos
$ ln -s archivo enlace_a_archivo
$ ln -s directorio enlace_a_directorio
$ ln -s D1/D2/D3/ Carpeta_D3
$ ls
arch3.java Carpeta_D3 codigo.c D1 'directorio 3' Directorio1
$ ls -lh
total 12K
-rw-rw-r-- 1 juaramir juaramir 0 ene 3 15:52 arch3.java
lrwxrwxrwx 1 juaramir juaramir 9 ene 3 15:59 Carpeta_D3 -> D1/D2/D3/
-rw-rw-r-- 1 juaramir juaramir 0 ene 3 15:52 codigo.c
drwxrwxr-x 3 juaramir juaramir 4,0K ene 3 15:41 D1
drwxrwxr-x 2 juaramir juaramir 4,0K ene 3 15:34 'directorio 3'
drwxrwxr-x 2 juaramir juaramir 4,0K ene 3 15:54 Directorio1