Comandos Básicos
¿Qué son?
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"
ls (listar directorios y archivos)
Muestra el contenido de un directorio en particular
Opciones:
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|
Descripción:
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.
Ejemplo listar archivos:
$ 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
Ejemplo listar elementos y sus contenidos
$ ls -R
.:
D1 'directorio 3' Directorio1 directorio_2
./D1:
D2
./D1/D2:
D3
./D1/D2/D3:
'./directorio 3':
./Directorio1:
./directorio_2:
cd (Cambiar de directorio)
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
pwd (Mostrar directorio de trabajo)
¿Como saber en que lugar del árbol de directorio nos encontramos ?
Se debe usar el comando "pwd"
$ pwd
/home/juaramir/
du (peso de un directorio)
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
mkdir (crear directorios)
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
Crear subdirectorios
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″.
rmdir (borrar directorios)
Para borrar un directorio se usa rmdir pero el directorio debe estar vació.
Borrar "directorio_2"
$ rmdir directorio_2
Borrar "D1"
$ 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.
touch (crear archivos 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
cp (copiar archivos y directorios)
El comando "cp" permite copiar archivos y directorios
Uso:
$ cp archivo_origen lugar_archivo_destino
Ejemplo:
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
mv (mover/renombrar archivos)
El comando "mv" permite el mover (corta, pegar) como renombrar un archivo o directorio
Uso:
$ mv origen destino
Mover
Si el destino es otro directorio "mueve"
$ mv arch1.txt Directorio1/
$ ls Directorio1/
arch1.txt
Renombrar
Si el destino es el mismo directorio "renombra"
$ mv arch2.c codigo.c
$ ls
arch3.java codigo.c D1 'directorio 3' Directorio1
rm (borrar archivos y directorios)
El comando "rm" borra archivos y directorios; Puede borrar mas de un archivo
$ rm archivo1 archivo2 archivo3
Borrar un directorio incluyendo todo
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
ln (Enlaces simbólicos)
El comando "ln" crea enlaces, utilizando la opción "s" se crean enlaces simbólicos
Uso:
$ ln -s archivo enlace_a_archivo
$ ln -s directorio enlace_a_directorio
Ejemplo:
$ 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