Consideraciones previas
Antes de empezar con los comandos hay que tener en cuenta primero que tipo de
usuario soy para considerar las atribuciones que tengo, para lo cual es importante
fijarnos en el prompt, $ el cual nos indica que es un usuario normal con atributos
limitados, en el caso de que nuestro prompt # el cual nos indica que somos súper
usuario root. En estos casos podemos cambiarnos momentáneamente en una
cuenta normal colocando su; en caso contrario ingresaríamos con una clave si
fuésemos usuario root.
Administración de usuarios.
-----------------------------------
adduser LPT Agrega un usuario llamado LPT
* Asterisco
? Interrogación
Los corchetes significan un carácter y se puede sustituir por aquello que se ponga
dentro de los corchetes. Por ejemplo si se pone ls -la in[a-z]* listaría todos aquellos
archivos que empiecen por in que su tercer carácter sea una letra que este entre la
a y la z y luego cualquier cadena de caracteres.
ls -la l?
Se listaran todos los directorios y que empiecen por l y que tenga cualquier otro
caracter, por ejemplo li, la ...
Si se pone [ABC] al hacer ls -la a[ABC]* se listar?n todos los que tengan la
primera letra una a la segunda debe ser A,B o C y después cualquier cadena de
caracteres.
Las opciones de los comandos se pueden concatenar para que se hagan varias
opciones a la vez. Por ejemplo si ponemos ls -lah nos mostrara los todos los que
hay en el directorio en formato largo y además nos dará su tamaño. Hemos puesto
tres opciones y se han ejecutado las tres a la vez al ejecutar ls.
Consideraciones editor
Para saberlo se hace sin más poniendo el comando pwd. Esto muestra toda ruta
hasta el directorio en que nos encontramos.
Como ejemplo sería esto:
#pwd
/home/usuario
Mover archivos
Con el comando mv se copian los directorios de forma recursiva sin poner ningún
argumento.
Para borrar archivos se usa el comando rm. La sintaxis del comando sería:
rm archivo1 archivo2
A la hora de poner la ruta del archivo o archivos a borrar se pueden usar tanto
rutas absolutas como relativas.
Opciones del comando rm:
-v
Muestra información sobre el borrado de los archivos.
-r
Permite hacer borrados recursivos. Con esta opción se pueden borrar también
directorios.
-i
Pregunta antes de borrar los archivos si estamos seguros de querer borrarlos.
-f
Borrar los archivos si hacer ninguna pregunta de si queremos borrarlos.
Borrar directorios
Para borrar directorios se usa el comando rmdir. Para borrar directorios con este
comando los directorios han de estar vacíos. La sintaxis del comando sería:
rmdir directorio1 directorio2 ...
A la hora de poner la ruta del directorio a borrar se pueden usar tanto rutas
absolutas como relativas.
Opciones del comando rmdir:
-v
Muestra información sobre el borrado de los directorios.
-p
Borra los directorios que le pongamos en la ruta de borrado del directorio. Por
ejemplo si ponemos rm -r dir1/dir2/dir3 borraría el dir3 luego el dir2 y luego el
dir1.
Crear directorios
Para crear directorios se usa el comando mkdir. La sintaxis del comando sería:
mkdir directorio1 directorio2 ...
A la hora de poner la ruta del directorio a borrar se pueden usar tanto rutas
absolutas como relativas.
Opciones del comando mkdir:
-v
Muestra información sobre el directorio creado.
-p
Crea los directorios que le pongamos en la ruta de creación del directorio. Por
ejemplo si ponemos mkdir -p dir1/dir2/dir3 crearía el dir1 luego el dir2 y luego el
dir3.
-m
Permite asociarle permisos al directorio nada más crearlo. Por ejemplo si ponemos:
mkdir -m 777 directorio
Daríamos permisos de lectura, ejecución y escritura a todo el mundo.
Para ver el contenido de un archivo existen varios comandos. Estos comandos solo
permiten ver el contenido no permiten modificar el archivo. Los más usados serían
los siguientes:
1. cat
-E
-T
2. more
3. less
Muestra los caracteres que haya en los primeros bytes que le pongamos. Por
ejemplo si ponemos:
head -c 8 archivo1
Mostrara los primeros 8 bytes del archivo.
-n
-n
-q
-v
5. tail
Muestra los caracteres que haya en los últimas bytes que le pongamos. Por
ejemplo si ponemos:
tail -c 8 archivo1
Mostrara los últimos 8 bytes del archivo.
-n
-n
-q
-v
Para comprimir y descomprimir archivos están los comandos gzip y bzip2. Estos dos
comandos solo permiten comprimir y descomprimir un archivo a la vez y no pueden
comprimir y descomprimir directorios.
Vamos a empezar comentando primero gzip.
Gzip
Bzip2
El comando tar permite crear a partir de varios archivos un único archivo que los
contiene. También permite empaquetar en un único archivo uno o varios
directorios. Si quisiéramos hacer un paquete de la siguiente estructura de
directorios directorio1/directorio2/directorio3 habría que poner:
Si se quiere hacer con gzip para empaquetarlo y comprimirlo habría que poner:
Si queremos ver el contenido de un archivo con extensión tar.gz hay que poner:
Ahora para hacer lo mismo pero comprimiendolo con bzip2 habría que poner:
Si queremos ver el contenido de un archivo con extensión tar.bz2 hay que poner:
Para ver el tamaño de archivos y carpetas se suele usar el comando du. Este
comando tiene los siguientes parámetros:
-h
-s
Muestra un resumen para todos los argumentos que se han pasado. Si pasamos
como parámetro un directorio mostrará lo que ocupa el directorio, esto lo hara de
forma recursiva.
-a
Muestra el tamaño para todos los archivo, no solo para los directorios. Si se pasa
un directorio como parámetro mostrara el tamaño de cada directorio y de cada
archivo contenido en cada uno.
--exclude=patrón
Se puede poner un patrón para que no se tengán en cuenta aquello que coincida
con el patrón puesto.
Ejemplos de uso de du:
Ver procesos
Para ver los procesos que hay corriendo en nuestra máquina se usa el comando ps.
Este comando muestra que procesos se est? ejecutando así como el estado de los
mismos.
ps aux
Si quisieramos saber si se está ejecutando apache habría que poner ps aux | grep
apache.
Matar procesos
Para matar un proceso que se está ejecutando se usa el comando kill. Para poder
matar un proceso es necesario saber cual es su PID (Identificador de proceso). Para
obtener el pid se hace con ps, si por ejemplo queremos matar el proceso de XMMS
se pondría:
Esto nos devuelve una línea con información sobre el proceso, el PID es lo que
viene en la segunda columna. Si por ejemplo el ps nos devuelve 2345 para matar el
proceso habría que poner:
kill -9 2345
Memoria disponible
free -m
En este caso lo mostrara en megas la memoria, pero se puede ver en bytes
pasandole de parámetro una b, con k lo mostrará en KB y con g en GB.
Hay otros parámetros interesantes como -t que nos muestra el total de RAM +
SWAP y la opción -s segundos que mostrar la información cada x segundos que le
pongamos como parámetro.
Para ver el rendimiento del sistema se suele usar el comando top. Este comando
muestra el uso de micro, cuanto tiempo lleva arrancada la máquina, procesos
corriendo, usos de memoria, usuarios en el sistema, los procesos que más memoria
consumen ...
Las búsquedas que se realizan con el comando find se hacen de fornma recursiva.
Por ejemplo para encontrar el archivo "prueba" dentro del directorio actual en el
que nos encontramos habría que poner lo siguiente:
Por defecto la búsqueda del archivo es case-sensitive lo que quiere decir que se
buscará el nombre del archivo según se haya escrito diferenciando entre
mayúsculas y minúsculas en el nombre de lo que se va a buscar. En el ejemplo
anterior hemos buscado el archivo "prueba" pero si hubiese un archivo llamado
"pruebA" no nos lo mostraría. Para hacer que busque todos los archivos sin tener
en cuenta mayúsculas y minúsculas habr? que escribir el comando de la siguiente
manera:
• -type: especifica que tipo de archivo se quiere buscar. Los tipos de archivo
que se le pueden poner para buscar son los siguientes:
o d - directorios
o f - archivos
o l - enlaces simb?icos
o s - sockets
• -perm: se busca archivos que posean los permisos que se indican. Si se
pone delante de los permisos "-" se busca aquellos que no posean esos
permisos.
• -user: se buscan archivos cuyo propietario sea el usuario indicado.
Ejemplos de busquedas:
Buscar archivos cuyo nombre sea "abc" sin tener en cuentas mayúsculas ni
minúsculas:
Buscar archivos que terminen en "wd" en el directorio /etc, sin importar las
mayúsculas y minúsculas y redirigir la salida al archivo find.log
find . -type d
Búsquedas complejas
Hacer la misma búsqueda evitando que se muestren mensajes de error por pantalla
Hacer la misma búsqueda que en el caso anterior pero esta vez que se muestren
todos los usuarios del archivo passwd excepto "root":
Borrar los archivos que empiezen por "A" en el directorio actual y hacia abajo:
Lo mismo que en el caso anterior pero que se pida confirmación antes de borrar
La opción -exec permite realizar lo mismo que si se pone xargs pero sin usar un
pipe. La sintaxis de -exec es la siguiente:
Cuando se usa la opcion -exec el comando find todos los resultados obtenidos con a
exec para que trabaje con cada uno. Lo que pasa es que en algunos sistemas hay
un límite en la longitud de la cadena que se le pasa a exec por lo que al rato de
estar ejecutandose esta búsqueda termina por error. Para estos casos es mejor
utilizar xargs.
Buscar aquellos archivos que han sido modificados en los últimos 14 días:
Para ver el tamaño de archivos y carpetas se suele usar el comando du. Este
comando tiene los siguientes parámetros:
-h
-s
Muestra un resumen para todos los argumentos que se han pasado. Si pasamos
como parámetro un directorio mostrará lo que ocupa el directorio, esto lo hara de
forma recursiva.
-a
Muestra el tamaño para todos los archivo, no solo para los directorios. Si se pasa
un directorio como parámetro mostrara el tamaño de cada directorio y de cada
archivo contenido en cada uno.
--exclude=patrón
Se puede poner un patrón para que no se tengan en cuenta aquello que coincida
con el patrón puesto.
Ejemplos de uso de du:
Para ver los procesos que hay corriendo en nuestra máquina se usa el comando ps.
Este comando muestra que procesos se están ejecutando así como el estado de los
mismos.
ps aux
Si quisieramos saber si se está ejecutando apache habría que poner ps aux | grep
apache.
Matar procesos
Para matar un proceso que se está ejecutando se usa el comando hill (muy similar
al que vimos en windows). Para poder matar un proceso es necesario saber cual es
su PID (Identificador de proceso). Para obtener el pid se hace con ps, si por
ejemplo queremos matar el proceso de XMMS se pondría:
Esto nos devuelve una línea con información sobre el proceso, el PID es lo que
viene en la segunda columna. Si por ejemplo el ps nos devuelve 2345 para matar el
proceso habría que poner:
kill -9 2345
Memoria disponible
free -m
En este caso lo mostrara en megas la memoria, pero se puede ver en bytes
pasándole de parámetro una b, con k lo mostrará en KB y con g en GB.
Hay otros parámetros interesantes como -t que nos muestra el total de RAM +
SWAP y la opción -s segundos que mostrar la información cada x segundos que le
pongamos como parámetro.
Para ver el rendimiento del sistema se suele usar el comando top. Este comando
muestra el uso de micro, cuanto tiempo lleva arrancada la máquina, procesos
corriendo, usos de memoria, usuarios en el sistema, los procesos que más memoria
consumen ...
last Información sobre los últimos usuarios que han usado el sistema.