Anda di halaman 1dari 20

GUIA LINUX – TALLER DE SISTEMAS OPERATIVOS

GUIA COMANDOS LINUX

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

passwd LPT Le asigna la clave de acceso al usuario LPT

userdel LPT Borra la cuenta LPT

su Da momentáneamente privilegios de ROOT (Si sabemos la clave sonrisa )

su - LPT Se toma momentáneamente los privilegios del usuario LPT.

exit Sale del perfil del usuario que lo ejecuta.

Otra de las consideraciones que debemos de tener es verificar siempre en que


directorio nos encontramos, como seguridad para nuestros trabajos, para lo cual
ocuparemos el comando pwd más adelante especificaremos este comando y su
utilización. Es importante tener presente que en GNU/Linux el intérprete de
comandos es case-sesitive. Esto quiere decir que NO es lo mismo escribir ls que
Ls. El sistema diferencia entre mayúsculas y minúsculas.

A la hora de trabajar con se pueden usar caracteres comodín. Como caracteres


comodín están los siguientes:

* Asterisco

El símbolo asterisco significa cualquier cadena de caracteres. Por ejemplo si se


pone:
ls -la lis*
Se listaran todos los directorios y que empiecen por lis, por ejemplo lista.txt,
listado

? Interrogación

El símbolo de interrogación significa cualquier carácter. Por ejemplo si se pone:


ls -la l?
Se listaran todos los directorios y que empiecen por l y que tenga cualquier otro
carácter, por ejemplo li, la ...

DOCENTE Roberto Delgado B. 1


roberto.delgado04@docentes.inacap.cl
GUIA LINUX – TALLER DE SISTEMAS OPERATIVOS
[] Corchetes

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

Utilizaremos en nuestras clases el editor NANO.

Los comandos de la utilización se encuentran al pie de la pantalla del editor, y se


manejan con tecla ctrl. + la letra determinada.

DOCENTE Roberto Delgado B. 2


roberto.delgado04@docentes.inacap.cl
GUIA LINUX – TALLER DE SISTEMAS OPERATIVOS

Listar archivos del sistema

Para listar archivos del sistema se usa el comandos ls.


Las opciones más usadas con este comando son las siguientes:
-l
Muestra información detallada sobre los archivos que hay en una ruta que se le
indique. Se muestran los permisos, el número de inodos, propietario del archivo,
grupo al que pertenece el archivo, tamaño en bytes del archivo, fecha de última
modificación del archivo y nombre del archivo.
-a
Muestra todos los archivos y directorios de la ruta que se le indique. Muestra
también los archivos ocultos que en GNU/Linux son aquellos que empiezan por .
-h
Muestra la información del tamaño de los archivos en bytes, KB, MB o Gygas en
función de lo que ocupe el archivo.
-t
Lista los archivos de forma cronológica. Lista los archivos de más nuevos a más
antiguos.
-r
Invierte el orden de ordenación que le hayamos puesto al ls.
-R
Lista de forma recursiva lo que hay en un directorio.
-S
Lista los archivos por tamaño poniendo en primer lugar los más grandes.
Estas opciones se pueden combinar de forma que si queremos ver todo lo que hay
en un directorio ,ver los archivos ocultos y que los ordene cronologicamente habría
que poner:
ls -lat

Saber en que directorio estamos

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

DOCENTE Roberto Delgado B. 3


roberto.delgado04@docentes.inacap.cl
GUIA LINUX – TALLER DE SISTEMAS OPERATIVOS

Moverse por directorios

Para movernos por la estructura de directorios se hace con el comando cd.


La forma de usarlo es la siguiente:
cd /directorio
A la hora de movernos por los directorios usando el comando cd se pueden usar
rutas relativas o absolutas:

1. Rutas relativas: Son aquellas que se construyen a partir del directorio en el


que nos encontramos.
Como ejemplo si tenemos la siguiente estructura de directorios:
o /directorio1/directorio2/directorio3

Si estamos en el directorio2 y queremos ir al directorio3 se pondría:


cd directorio3
Si ahora queremos ir al directorio1 se haría de la siguiente forma:
cd ../../
Cuando se pone ../ se baja un nivel en la estructura de directorios. En el
ejemplo de arriba bajaríamos primero al directorio2 y luego del directorio2 al
directorio1.

2. Rutas absolutas: Son aquellas que se construyen poniendo toda la ruta


hasta el directorio que nos queremos mover.
Como ejemplo si tenemos la siguiente estructura de directorios:
o /directorio1/directorio2/directorio3

Si estamos en el directorio2 y queremos ir al directorio3 se pondría:


cd /directorio1/directorio2/directorio3
Si ahora queremos ir al directorio1 se haría de la siguiente forma:
cd /directorio1
Hay que poner toda la ruta hasta el directorio.

Si ponemos el comando cd solo lo que hace es llevarnos a nuestro directorio home.


El directorio home es el directorio que tiene asociado cada usuario para trabajar.

DOCENTE Roberto Delgado B. 4


roberto.delgado04@docentes.inacap.cl
GUIA LINUX – TALLER DE SISTEMAS OPERATIVOS
Copiar archivos

Para copiar archivos o directorios de un sitio a otro se usa el comando cp. La


sintaxis del comando sería:
cp archivo1 archivo2 /directorio_a_copiar_archivos

O si queremos copiar directorios sería:


cp -r directorio1 directorio2 /directorio_a_copiar_archivos

A la hora de poner la ruta de los ficheros o de la carpeta a la que se van a copiar


los archivos se pueden usar tanto rutas absolutas como relativas.
Opciones del comando cp:
-v
Muestra información sobre la copia de los archivos o directorios.
-i
Si lo que se va a copiar existe en el destino pregunta si se quiere sobreescribir.
-r
Copia de forma recursiva lo que hay en un directorio. Si ponemos este comando se
copiarían el directorio y subdirectorios que contenga la carpeta con todos sus
directorios y ficheros al destino.

Mover archivos

Para mover archivos o directorios de un sitio a otro se usa el comando mv. La


sintaxis del comando sería:
mv archivo1 archivo2 /directorio_a_copiar_archivos

O si queremos copiar directorios sería:


mv directorio1 directorio2 /directorio_a_copiar_archivos

A la hora de poner la ruta de los archivos o de la carpeta a la que se van a copiar


los archivos se pueden usar tanto rutas absolutas como relativas.
El comando mv se puede usar también para cambiar el nombre de un archivo o
directorio. Si ponemos como nombre de archivo origen el nombre del archivo del
que queremos cambiar el nombre y como destino el nuevo nombre que queremos
poner con eso ya cambiaríamos el nombre. Por ejemplo si tenemos el archivo
carta.txt y lo queremos cambiar a nota.txt habría que poner:
mv carta.txt note.txt
Opciones del comando mv:
-v
Muestra información sobre la copia de los archivos o directorios.
-i
Si lo que se va a copiar existe en el destino pregunta si se quiere sobrescribir.
-f
Si existe lo que se quiere copiar en el destino lo sobrescribe sin preguntar.

Con el comando mv se copian los directorios de forma recursiva sin poner ningún
argumento.

DOCENTE Roberto Delgado B. 5


roberto.delgado04@docentes.inacap.cl
GUIA LINUX – TALLER DE SISTEMAS OPERATIVOS
Borrar archivos

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.

DOCENTE Roberto Delgado B. 6


roberto.delgado04@docentes.inacap.cl
GUIA LINUX – TALLER DE SISTEMAS OPERATIVOS
Ver el contenido de archivos

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

Este comando permite ver el contenido completo de un archivo. Muestra el


contenido de un archivo todo seguido sin detenerse por lo que suele pasar
que no se vean todas las líneas ya que si un archivo posee 1000 líneas estas
no entran en la pantalla y solo se verán las últimas líneas. La sintaxis es cat
nombreArchivo. Como opciones del comando habría las siguientes:
-n

Muestra el número de línea.

-E

Muestra el símbolo $ al final de cada línea.

-T

Muestra las tabulaciones con el caracter ^I.

2. more

Muestra el contenido de un archivo y muestra el número de líneas que


entran en la pantalla, si en la pantalla entra como máximo 50 líneas muestra
50 líneas y se detiene. Para seguir avanzando basta con pulsar la barra
espaciadora y continua mostrando líneas. Si se quiere dejar de ver el
contenido del archivo se pulsa la tecla q y se sale.
La sintaxis del comando es more nombreArchivo1 nombreArchivo2 ....

3. less

Muestra el contenido de un archivo y muestra el número de líneas que


entran en la pantalla, si en la pantalla entra como máximo 50 líneas muestra
50 líneas y se detiene. Para seguir avanzando basta con pulsar la barra
espaciadora y continua mostrando líneas. Si se quiere dejar de ver el
contenido del archivo se pulsa la tecla q y se sale.
Con este comando además se pueden hacer búsquedas poniendo
/palabraAbuscar. Si hacemos esto resaltara en el archivo todas las
coincidencias que haya encontrado.
Además funcionan las teclas de flecha arriba para subir una línea, flecha
abajo para bajar una línea, AvPag para avanzar una página y RePag para
retroceder un página.
La sintaxis del comando es more nombreArchivo1 nombreArchivo2 ...

DOCENTE Roberto Delgado B. 7


roberto.delgado04@docentes.inacap.cl
GUIA LINUX – TALLER DE SISTEMAS OPERATIVOS
4. head

Muestra las 10 primeras líneas de un archivo. Como opciones del comando


habría las siguientes:
-c

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

Muestra las primeras líneas que le indiquemos. Por ejemplo si ponemos:


head -n 8 archivo1
Mostrara las primeras 8 líneas del archivo.

-n

Muestra las primeras líneas que le indiquemos. Por ejemplo si ponemos:


head -n 8 archivo1
Mostrara las primeras 8 líneas del archivo.

-q

No muestra en la primera línea el nombre del archivo.

-v

Muestra en la primera línea el nombre del archivo.

La sintaxis del comando es head nombreArchivo1 nombreArchivo2 ...

5. tail

Muestra las 10 últimas líneas de un archivo. Como opciones del comando


habría las siguientes:
-c

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

DOCENTE Roberto Delgado B. 8


roberto.delgado04@docentes.inacap.cl
GUIA LINUX – TALLER DE SISTEMAS OPERATIVOS
Muestra las primeras líneas que le indiquemos. Por ejemplo si ponemos:
tail -n 8 archivo1
Mostrara las últimas 8 líneas del archivo.

-n

Muestra las últimas líneas que le indiquemos. Por ejemplo si ponemos:


tail -n 8 archivo1
Mostrara las últimas 8 líneas del archivo.

-q

No muestra en la primera línea el nombre del archivo.

-v

Muestra en la primera línea el nombre del archivo.

La sintaxis del comando es tail nombreArchivo1 nombreArchivo2

Comprimir y descomprimir archivos

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

Gzip se complementa con el comando gunzip que lo que hace es descomprimir


archivos comprmidos con gzip. Si queremos comprimir un archivo con gzip lo
haríamos de la siguiente forma:
gzip documento
Esto crearía el archivo documento.gz. El archivo documento desaparece y se crea
documento.gz que es el archivo comprimido.
Ahora para descomprimirlo habría que hacer lo siguiente:
gzip -d documento.gz
O también:
gunzip documento.gz
Esto descomprimiría el archivo documento.gz y crearía el archivo documento.
Gzip además posee más opciones como las siguientes, algunas de ellas son
aplicables también al comando gunzip:
-d
Descomprime un archivo comprimido con gzip.
-l
Muestra información sobre el archivo comprimido que le pasemos como parámetro.
-r

DOCENTE Roberto Delgado B. 9


roberto.delgado04@docentes.inacap.cl
GUIA LINUX – TALLER DE SISTEMAS OPERATIVOS
A esta opción se le pasa como parámetro un directorio. Gzip navegara por ese
directorio de forma recursiva y comprimirá todos los archivos que encuentre dentro
de la estructura de directorios.
-t
Comprueba que un archivo comprimido con gzip este correcto. Si se encuentra bien
no muestra ningún error y si lo encuentra nos informa de cual es el problema.
-v
Muestra el nombre y el porcentaje de reducción por cada archivo comprimido o
descomprimido.

Ahora continuamos con bzip2.

Bzip2

Bzip se complementa con el comando bunzip2 que lo que hace es descomprimir


archivos comprimidos con bzip2. Si queremos comprimir un archivo con bzip lo
haríamos de la siguiente forma:
bzip2 documento
Esto crearía el archivo documento.bz2. El archivo documento desaparece y se crea
documento.bz2 que es el archivo comprimido.
Ahora para descomprimirlo habría que hacer lo siguiente:
bzip2 -d documento.bz2
O también:
bunzip2 documento.bz2
Esto descomprimiría el archivo documento.bz2 y crearía el archivo documento.
Bzip2 además posee más opciones como las siguientes, algunas de ellas son
aplicables también al comando bunzip2:
-d
Descomprime un archivo comprimido con bzip2.
-l
Muestra información sobre el archivo comprimido que le pasemos como parámetro.
-t
Comprueba que un archivo comprimido con gzip este correcto. Si se encuentra bien
no muestra ningún error y si lo encuentra nos informa de cual es el problema.
-v
Muestra el nombre y el porcentaje de reducción por cada archivo comprimido o
descomprimido.

Al usar cualquiera de los dos comandos al comprimir se genera un archivo .gz y


desaparece el archivo de origen, al descomprimirlo se crea el archivo comprimido y
desaparece el archivo .gz.
A la hora de comprimir se obtiene mayor ratio de compresión comprimiendo con
bzip2.

Empaquetar directorios. Comando tar

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:

tar vcf directorioEmpaquetado.tar directorio1

Esto nos pondría en el archivo directorioEmpaquetado.tar toda la estructura de


directorios a partir del directorio1 con todos sus archivos.

DOCENTE Roberto Delgado B. 10


roberto.delgado04@docentes.inacap.cl
GUIA LINUX – TALLER DE SISTEMAS OPERATIVOS
A diferencia de gzip y bzip2 no desaparece el archivo o directorios que
empaquetemos. Ahora si queremos desempaquetar el archivo que acabamos de
crear había que poner lo siguiente:

tar vxf directorioEmpaquetado.tar

Con esta orden desempaquetaríamos el archivo y nos generaría de nuevo la


estructura de directorios. Al desempaquetar el archivo .tar no se borra el archivo
.tar.
El comando tar se suele usar generalmente para hacer backups y se suele combinar
con los comandos gzip y bzip2 para que el archivo que se genere ocupe menos
espacio. Para empaquetar y comprimir un directorio se puede hacer en dos pasos
empaquetando primero el directorio y luego comprimiéndolo o bien en un solo
comando.

Si se quiere hacer con gzip para empaquetarlo y comprimirlo habría que poner:

tar cfvz directorioEmpaquetado.tar.gz directorio

Ahora para desempaquetarlo y descomprimirlo se haría de la siguiente forma:

tar xfvz directorioEmpaquetado.tar.gz

Si quisiéramos desempaquetarlo y descomprimirlo a un directorio concreto se haría


de la siguiente forma:

tar zxvf directorioEmpaquetado.tar.gz -C directorioDestino

Si queremos ver el contenido de un archivo con extensión tar.gz hay que poner:

tar ztvf directorioEmpaquetado.tar.gz

Ahora para hacer lo mismo pero comprimiendolo con bzip2 habría que poner:

tar jfvc directorioEmpaquetado.tar.bz2 directorio

Ahora para desempaquetarlo y descomprimirlo se pondría:

tar jfvx directorioEmpaquetado.tar.bz2

Si quisieramos desempaquetarlo y descomprimirlo a un directorio concreto se haría


de la siguiente forma:

tar jxvf directorioEmpaquetado.tar.bz2 -C directorioDestino

Si queremos ver el contenido de un archivo con extensión tar.bz2 hay que poner:

tar jtvf directorioEmpaquetado.tar.bz2

DOCENTE Roberto Delgado B. 11


roberto.delgado04@docentes.inacap.cl
GUIA LINUX – TALLER DE SISTEMAS OPERATIVOS
Ver espacio libre en sistemas de archivos

Si se quiere saber el espacio libre que tenemos en un dispositivo o en una partición


se puede usar el comando df. Este comando muestra la siguiente información:

1. Sistema de archivos del que se muestra la información.


2. Tamaño del sistema de archivos.
3. Espacio usado en el sistema de archivos.
4. Espacio libre en el sistema de archivos.
5. Porcentaje usado del sistema de archivos.
6. Donde se encuentra montado el sistema de archivos.

El comando tiene los siguientes opciones:


-h
Muestra la información del tamaño de los archivos en bytes, KB, MB o Gygas en
función de lo que ocupe el archivo.
-k
Muestra la información del tamaño de los archivos en kylobytes.
-m
Muestra la información del tamaño de los archivos en megabytes.

Ver tamaño de archivos y carpetas

Para ver el tamaño de archivos y carpetas se suele usar el comando du. Este
comando tiene los siguientes parámetros:

-h

Muestra la información del tamaño de los archivos en bytes, KB, MB o Gygas en


función de lo que ocupe el archivo.

-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:

du -sh directorio: mostrará el tamaño total de un directorio.


du -cah directorio: mostrará el tamaño total de un directorio así como los
subdirectorios que halla dentro del directorio. Se muestran también el

DOCENTE Roberto Delgado B. 12


roberto.delgado04@docentes.inacap.cl
GUIA LINUX – TALLER DE SISTEMAS OPERATIVOS
tamaño de cada archivo contenido en los directorios.
du -sh archivo: muestra el tamaño de un archivo.

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.

Para ver todos los procesos que se están ejecutando se pone:

ps aux

Para buscar si se esta ejecutando algún programa en concreto se pondría:

ps aux | grep programa

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:

ps aux | grep xmms

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

Si se quiere saber la memoria que tenemos en la máquina hay que ejecutar el


comando free. El comando muestra tanto la memoria física del ordenador como la
swap.
Para ver la memoria que esta en uso

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.

DOCENTE Roberto Delgado B. 13


roberto.delgado04@docentes.inacap.cl
GUIA LINUX – TALLER DE SISTEMAS OPERATIVOS

Rendimiento del sistema

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 ...

Para salir de top hay que pulsar la tecla "q".


Pulsando la tecla "k" nos pregunta que proceso queremos terminar.
Pulsando la tecla "u" nos pregunta de que usuario queremos ver los usuarios y nos
los muestra.
Pulsando la tecla "M" ordena los procesos por consumo de memoria.

Búsqueda de archivos, comando find

Este comando nos permite realizar la búsqueda de archivos dentro de nuestro


sistema. Su sintaxis básica es la siguiente:

find path -name nombreArchivo(el nombre entre comillas)

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:

find . -name "prueba"

El punto significa el directorio actual.

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:

find . -iname "prueba"

El comando find tiene una gran cantidad de opciones, vamos ha enumerar y a


explicar las principales:

• -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.

DOCENTE Roberto Delgado B. 14


roberto.delgado04@docentes.inacap.cl
GUIA LINUX – TALLER DE SISTEMAS OPERATIVOS
• -group: se buscan archivos que sean miembro de determinado grupo.
• -nouser: se buscan archivos cuyo propietario sea el usuario indicado.
• -nogroup: se buscan archivos que sean miembro de determinado grupo.
• -size: busca archivos de un determinado tamaño.
• -newer: busca archivos que sean más nuevos que el archivo 1 pero más
antiguos que el archivo 2..
• -mtime: busca archivos que han sido modificados antes de x d?s. Si pone el
car?ter "-" antes de los d?s se buscan archivos en ese mismo día o antes
que han sido modificados. Si se pusiese "-mtime -5" se buscarían aquellos
archivos que han sido modificados hace 5 días. Si se pone el carácter "+" se
buscan archivos que no han sido modificados en los días pasados como
parámetros.

Ejemplos de busquedas:

Buscar el archivo "abc" en el directorio actual:

find . -name "abc"

Buscar archivos cuyo nombre sea "abc" sin tener en cuentas mayúsculas ni
minúsculas:

find . -iname "abc"

Buscar archivos cuya primera letra sea A,B o C en el directorio /etc

find /etc -name "[ABC]*"

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 /etc -iname "*wd" > find.log

Realizar lo mismo de lo anterior solo que mandando los mensajes de error al


archivo findErrors.log

find /etc -iname "*wd" 2>findErrors.log

La misma búsqueda que la anterior haciendo que no se muestren los mensajes de


error por la pantalla:

find /etc/ -iname "*wd" 2>/dev/null

Buscar en el directorio actual los directorios que hay:

find . -type d

Buscar en el directorio actual los directorios que empiezan por A:

find . -type d -name "A*"

Búsquedas complejas

DOCENTE Roberto Delgado B. 15


roberto.delgado04@docentes.inacap.cl
GUIA LINUX – TALLER DE SISTEMAS OPERATIVOS
Hasta ahora las búsquedas que hemos visto son búsquedas sencillas pero ahora
voy a poner ejemplos de búsquedas más complejas ayudandonos de pipes.

Buscar en el directorio /etc el archivo "passwd" y buscar dentro si hay un usuario


llamado root:

find /etc -name "passwd" | xargs grep "root"

Hacer la misma búsqueda evitando que se muestren mensajes de error por pantalla

find /etc -name "passwd" 2>/dev/null | xargs grep "root"

El comando xargs lo que permite es la ejecución de un comando tomando como


parámetro de entrada la entrada standard. Para el ejemplo anterior lo que haría
sería buscar el archivo "passwd" dentro del directorio /etc y en el caso de encontrar
alguna coincidencia se ejecutaría el comando grep que buscaría la cadena de texto
"root". En el caso de que se produzcan errores en la busqueda del archivo "passwd"
debido por ejemplo a la falta de permisos para acceder a un determinado directorio
estos se mandarán a /dev/null y no veríamos dichos mensajes por la 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":

find /etc -name "passwd" 2>/dev/null | xargs grep -v "root"

Borrar los archivos que empiezen por "A" en el directorio actual y hacia abajo:

find . -type f -iname "A*" | xargs rm

Lo mismo que en el caso anterior pero que se pida confirmación antes de borrar

find . -type f -name "A*" -exec rm -i {} \;

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:

find path -name nombreArchivo -exec comandoAEjecutar {} \;

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.

He puesto esta opción porque al querer ejecutar el borrado interactivo de los


archivos con xargs no funcionaba bien del todo pues no me dejaba responder a si
quería o no borrar un archivo.

Buscar archivos dentro del nuestro directorio de trabajo que contegan sh en su


nombre y ver su información.

find $HOME -name "*sh*" | xargs ls -l

DOCENTE Roberto Delgado B. 16


roberto.delgado04@docentes.inacap.cl
GUIA LINUX – TALLER DE SISTEMAS OPERATIVOS
El "$HOME" es una variable del sistema que define donde se encuentra el directorio
de trabajo de un usuario. El caracter "~" realiza la misma función.

Buscar aquellos archivos que han sido modificados en los últimos 14 días:

find . -type f -mtime -14

Si se quiere buscar más de un archivo con el comando find se hace usando el


parámetro -o. Lo que se consigue con este parámetro es hacer busquedas en las
que se cumpla o una condición u otra. Por ejemplo para buscar todos los archivo
con extensión "xml" y "xsl" del directorio actual se haría de la siguiente forma:

find . -name "*.xml" -o -name "*.xsl"

Ver tamaño de archivos y carpetas

Para ver el tamaño de archivos y carpetas se suele usar el comando du. Este
comando tiene los siguientes parámetros:

-h

Muestra la información del tamaño de los archivos en bytes, KB, MB o Gygas en


función de lo que ocupe el archivo.

-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:

du -sh directorio: mostrará el tamaño total de un directorio.


du -cah directorio: mostrará el tamaño total de un directorio así como los
subdirectorios que halla dentro del directorio. Se muestran también el
tamaño de cada archivo contenido en los directorios.
du -sh archivo: muestra el tamaño de un archivo.

DOCENTE Roberto Delgado B. 17


roberto.delgado04@docentes.inacap.cl
GUIA LINUX – TALLER DE SISTEMAS OPERATIVOS
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án ejecutando así como el estado de los
mismos.

Para ver todos los procesos que se están ejecutando se pone:

ps aux

Para buscar si se esta ejecutando algún programa en concreto se pondría:

ps aux | grep programa

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:

ps aux | grep xmms

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

Ampliar ayuda de mandatos.


-------------------------------------
man mandato Muestra un manual sobre el mandato. Su modo de uso y sus
variantes.

Prendiendo y apagando el sistema.

shutdown -h 5 Apaga el sistema en 5 minutos después de ejecutarse y no reinicia.

shutdown -h now Apaga el sistema en ese momento y NO lo vuelve a reinicia

halt Apaga el sistema de la misma manera que el mandato anterior

shutdown -r 5 Apaga el sistema 5 minutos después de haberlo ejecutado y reinicia

shutdown -r now Apaga el sistema en ese momento y reinicia

reboot Reinicia el sistema

DOCENTE Roberto Delgado B. 18


roberto.delgado04@docentes.inacap.cl
GUIA LINUX – TALLER DE SISTEMAS OPERATIVOS

Memoria disponible

Si se quiere saber la memoria que tenemos en la máquina hay que ejecutar el


comando free. El comando muestra tanto la memoria física del ordenador como la
swap.
Para ver la memoria que esta en uso

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.

Rendimiento del sistema

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 ...

Para salir de top hay que pulsar la tecla "q".


Pulsando la tecla "k" nos pregunta que proceso queremos terminar.
Pulsando la tecla "u" nos pregunta de que usuario queremos ver los usuarios y nos
los muestra.
Pulsando la tecla "M" ordena los procesos por consumo de memoria.

Comandos del sistema

Información del Sistema


-------------------------------
hostname Devuelve el nombre de la maquina.

uptime Devuelve la cantidad de tiempo transcurrido desde la ultima vez que se


arranco el sistema.

uname -a Información sobre el sistema operativo de la maquina.

dmesg|more Imprime el "ring buffer" del kernel.

free -tm Información sobre la cantidad de memoria disponible y usada

df -h Información sobre todo los dispositivos montados en la maquina

du -bh /|more Información sobre el espacio ocupado por cada subdirectorio,


comenzando en el directorio raíz (/)

cat /proc/cpuinfo Información sobre el microprocesador

cat /proc/interrupts Información sobre las interrupciones en uso (IRQs)

DOCENTE Roberto Delgado B. 19


roberto.delgado04@docentes.inacap.cl
GUIA LINUX – TALLER DE SISTEMAS OPERATIVOS

cat /proc/filesystems Información sobre los sistemas de archivos que se pueden


utilizar (compilados en el kernel).

who Información sobre los usuarios usando el sistema.

id LPT Información sobre UID, GID y GROUPS del usuario LPT

last Información sobre los últimos usuarios que han usado el sistema.

/sbin/ifconfig Información sobre los distintos dispositivos de red

netstat Información valiosa sobre la conexion de red

DOCENTE Roberto Delgado B. 20


roberto.delgado04@docentes.inacap.cl

Anda mungkin juga menyukai