Está en la página 1de 14

Tux Files

Buscar
Saltar al contenido

Home

Algunos comandos tiles para Linux.


Esta es una serie de comandos de uso frecuente en la administracin de un sistma Debian a
travez del BASH.
Comando: man
Descripcin: muestra entradas del manual que se encuentra en nuestra distribucin
Uso: man [busqueda]
Comando: cd
Descripcin: Comando para cambiar de directorios
Uso: cd [directorio]
Ejemplos:

cd Nombre (entra al directorio nombre

cd .. (sale del directorio)

Comando: pwd
Descripcin: Nos muestra en que directorio estamos parados
Uso: pwd
Comando: ls
Descripcin: Lista los archivos y directorios del directorio donde estemos. Tambin se
puede listar otros directorios distintos de donde estamos.
Uso: ls [opciones] [directorio]
Ejemplos:

ls (lista el contenido del directorio en donde nos encontremos.

ls -l (muestra la vista en forma de lista)

ls -h (cambia los valores en MB de los archivos)

ls -a (muestra archivos ocultos)

ls -R (muestra de forma recursiva el contenido del directorio

Comando: find
Descripcin: Comando para buscar archivos dentro de nuestro filesystem
Uso: find [opciones] [path] [expresion] [acciones]
Ejemplos:

find . -name archivo (busca en el directorio donde esto el archivo con nombre
archivo)

find / -name archivo -print (busca en todo el filesystem el archivo con nombre
archivo mostrandome la ruta completa)

Comando: chmod
Descripcin: Cambia los perisos de usuario, grupo y otros de archivos y directorios
Uso: chmod [opciones] [modo] [archivo]
La estructura de losp permisos es la siguiente:
-rwxrwxrwx owner group size date file
Los permisos son asignados por nmeros los cuales nos muestras si es de escritura, lectura
o ejecucin. Los nmeros y sus permisos son:

r=4

w=2

x=1

Sumando estos nmeros nos d el permiso que necesitamos, sea para el dueo (owner),
grupo, u otros:

Permiso owner: rwx = 4 + 2 + 1 = 7

Permiso grupo: r-x = 4 + 1 = 5

Permiso otros: r-x = 4 + 1 = 5

Entonces seria:
chown 0755 file
Quedando con el ejemplo anterior
-rwxr-xr-x owner group size date file

Comando: chown
Descripcin: Cambia los permisos de el dueo (owner) de un archivo
Uso: chown dueo_nuevo file
Comando: chgrp
Descripcin: Cambia los permisos del grupo (group) de un archivo
Uso: chgrp grupo_nuevo file
Comando: grep
Descripcin: Busca lineas dentro de un archivo. Puede usarse en combinacion con otros
comandos como el ls
Uso: grep [opciones] linea
Ejemplos:

grep linea

ls *.sh | grep linea

Comando: ifconfig
Descripcin: Nos muestra datos de nuestra interface de red (direccin ip, interface, etc) y
tambin se puede usar de herramienta de configuracin para nuestra interface de red.
Uso: ifconfig [interface]
Ejemplo:

ifconfig eth0 (muestra los datos de nuestra interface de red eth0)

ifconfig eth0 up (levanta nuestra interface de red idem comando ifup)

ifconfig eth0 down (desconecta nuestra interface de red dem comando ifdown)

ifconfig eth0:1 192.168.0.1 netmask 255.255.255.0 (agrega una placa de red virtual
eth0:1 con ip 192.168.0.1 y mscara de subred 255.255.255.0)

Comando: kill
Descripcin: Comando que nos permite poder para procesos enviando una seal forzada de
terminacin.
Uso: kill [opciones] [trabajo o PID]
Ejemplos:

kill 1234 (va a matar el proceso con PID = 1234)

kill -9 1234 (termina con el proceso 1234 sin esperar respuesta alguna de este)

Comando: ps
Descripcin: Muestra informacin de los procesos que se estan corriendo en nuestro

sistema.
Uso: ps [opciones]
Ejemplos:

ps (lista los procesos)

ps -L

Comando: cat
Descripcin: Nos muestra el contenido de un archivo
Uso: cat archivo
Comando: ln
Descripcin: Nos permite hacer enlaces simblicos de un archivo
Uso: ln [opciones] archivo nombre_del_link
Ejemplos:

ln -s archivo link_del_archivo

Comando: mkdir
Descripcin: Comando para crear directorios
Uso: mkdir directorio
Comando: rmdir
Descripcin: Comando para borrar directorios
Uso: rmdir [opciones] directorio
Comando: sudo
Descripcin: Nos permite ejecutar comandos como otro usuario si no se especifica se
ejecuta como el superusuario o root
Uso: sudo comando
Comando: tail
Descripcin: Nos permite ver las ultimas lineas (por default son 10) de algun archivo.
Uso: tail [opciones] archivo
Comando: rm
Descripcin: Comando para borrar archivos.
Uso: rm [opciones] archivo
Ejemplos:

rm -r /home/usuario (borra recursivamente el contenido del directorio


/home/usuario)

rm -f archivo (fuerza el borrado)

rm -i archivo (modo interactivo)

Comando: mv
Descripcin: Comando para mover archivos
Uso: mv [opciones] origen destino
Comando: cp
Descripcin: Comando para copiar archivos
Uso: cp [opciones] origen destino
Comando: tar
Descripcin: Desempaquetador/empaquetador de archivos
Uso: tar [-funciones] [opciones] archivo
Ejemplos:

tar -xvzf archivo.tar.gz (descomprime el archivo que tiene como formato zip)

tar -xvcf /home/usuario archivo.tar.gz (crea el archivo.tar.gz con el contenido de


/home/usuario en formato zip)

Comando: top
Descripcin: Visor de procesos que estan corriendo en nuestro sistema
Uso: top [opciones]
Comando: whoami
Descripcin: Nos muestra el id del usuario y el nombre
Uso: whoami [opciones]
Comando: who
Descripcin: Nos muestra una lista de los usuarios actualmente logueados en nuestro
sistema.
Uso: who [opciones]
Comando: uname
Descripcin: Nos muestra informacin de nuestro sistema y de nuestra mquna
Uso: uname [opciones]
Ejemplos:

uname -r (muestra el release de nuestro kernel)

Comando: crontab
Descripcin: Administrador de tareas de nuestro sistema
Uso: crontab [-u usuario]
Ejemplos:

crontab -e (edita nuestras tareas)

crontab -l (lista nuestras tareas)

crontab -r (borra nuestras tareas)

Estructura:
Este es un ejemplo de la estructura del archivo cron
xx xx xx xx x usuario /usr/bin/comando
La lista de los campos es la siguente

Campo 1 = Minutos

Campo 2 = Hora

Campo 3 = Dia

Campo 4 = Mes

Campo 5 = Dia de la semana donde cae el dia (0-6 0 = Domingo al 6 = Sbado)

Campo 6 = Usuario que va a ejecutar la tarea

Campo 7 = Comando a ejecutar

Comando: ping
Descripcin: Envio de paquetes ip y su respuesta como testeo de redes.
Uso: ping [opciones] destino
Comando: traceroute
Descripcin: Nos muestra la ruta que toma nuestros paquetes ip hasta un destino
Uso: traceroute [opciones] host [tamao_del_paquete]
Comando: wget
Descripcin: Comando que nos permite descargar archivos desde internet con la linea de
comando
Uso: wget [opciones] url
Comando: rcp
Descripcin: Comando para copiar archivos o directorios remotamente. La sintaxis del
archivo debe ser usuario@host:path
Uso: rcp [opciones] archivo1 archivo 2

Comando: scp
Descripcin: Idem rcp pero en forma segura a travez de SSL.
Comando: shutdown
Descripcin: Comando para apagar o reiniciar nuestro sistema
Uso: shutdown [opciones] [cuando] [mensaje]
Ejemplos:

shutdown -h now (Apaga el equipo ahora)

shutdown -r now (Reinicia el equipo ahora)

shutdown -h 16:00 (Apagar el equipo a las 16 horas)

shutdown -h +5 (Apagar el equipo 5 minutos despus de ejecutado el comando)

Links

http://www.oreillynet.com/linux/cmd/

http://ss64.com/bash/

http://www.linuxbsd.com.br/portal/?q=node/40

Share this:

Compartir

Just another Linux blog

Elemento 1

Buscar:

Siguenos en

Entradas Recientes

Feliz ao nuevo para todos!!!!!!!!

Feliz Navidad!!!!!

Nota completa a Linus Torvalds en 360TV

Listando modulos del Kernel

Extrayendo informacin del kernel con dmesg

Recent tweets

Interesante para una intranet pequea - Installing Online Editors on Debian with
ONLYOFFICE Document Server howtoforge.com/tutorial/onlyo 1 week ago

Bueno, llegue a @nerdearla 1 year ago

RT @systutorials: How to create and apply VMware vSphere Host Profiles |


Sysadmin Tutorials sysadmintutorials.com/tutorials/vmwa 1 year ago

RT @sysARmy: RT @rodo_nasif: El Family Game, como se lo conoci en


Argentina, cumpli 30 aos. Que lindos recuerdos engadget.com/2013/07/15/nin
1 year ago

RT @linuxalert: The Linux Foundation releases open source hypervisor Xen 4.3
dlvr.it/3frfvt 1 year ago

Etiquetas
.deb 10.04

Android apt Argentina Audio Bash BSD Buenos Aires CaFeLug Chrome comandos Consola Copyleft

Cdigo Abierto

Debian Distribuciones Distribucin Drivers Educacin Evento Eventos Exploits

Fedora Free Software Free Software Foundation FSF Games

GNU

GNU/Linux Google

GPL Informtica Instalacin Internet Juegos Kernel Lanzamiento Lenny Libre LibreOffice Libros

Linux
Paquetes

Live-CD Lucid Lynx Microsoft Musica Ofimtica

Programacin proyecto Python Red Hat

OpenOffice OpenSource Open

Revista Richard Stallman

Source Oracle

Seguridad Software

Libre Squeeze Sun SuSe tecnologia Tux Tuxinfo Ubuntu Unix Usuarios Video VirtualBox
Virtualizacin Web Windows

Esta obra est licenciada bajo una Licencia Creative Commons.


El tema Twenty Fourteen. Funciona con WordPress
Seguir

Seguir Tux Files


Recibe cada nueva publicacin en tu buzn de correo electrnico.
nete a otros 63 seguidores
Construye un sitio web con WordPress.com
Los 15 comandos Linux ms tiles para mantener sistemas de ficheros
01/10/2014 Linux, Consejos y trucos 1 comentario

Una de las tareas ms frecuentes y tediosas del administrador de sistemas es evitar que se
llenen los sistemas de ficheros de una mquina, pues cuando un servidor se queda sin
espacio las consecuencias son impredecibles. Dependiendo de cmo est estructurado el
sistema de ficheros raz de dicha mquina y de la divisin entre distintas particiones o

volmenes que hayamos establecido, dichas consecuencias sern ms o menos graves, pero
en cualquier caso indeseables.
En cualquier caso siempre es mejor prevenir que curar, por lo que conviene utilizar
herramientas que realicen la rotacin automtica de logs como logrotate y scripts
personalizados que vigilen y lleven a cabo acciones peridicas de vaciado para evitar que
se nos llenen nuestros sistemas de ficheros. No obstante, an usando estos mtodos de
prevencin sern muchas las ocasiones en que tendremos que actuar manualmente para
solucionar problemas que seguro se producirn.
A continuacin recojo una recopilacin de los comandos Linux que a mi me resultan
ms tiles en el da a da para liberar espacio y mantener desde el intrprete de comandos
mis sistemas de ficheros en un estado de salud ptimo.
1. Comprobar el espacio libre disponible

Para saber el espacio libre del que disponemos en todos los sistemas de ficheros de nuestra
mquina ejecutaremos el siguiente comando:
$ df -h
S.ficheros
/dev/sdb5
udev
tmpfs
none
none
/dev/sdb1
/dev/sdb10
/dev/sdb6
/dev/sdb7
/dev/sdb8
/dev/sdb11
/dev/sda1

Tamao Usados
3,9G
842M
2,0G
4,0K
791M
956K
5,0M
0
2,0G
72M
118M
91M
31G
6,8G
23G
12G
9,6G
1,5G
2,9G
62M
102G
11G
230G
93G

Disp Uso% Montado en


3,0G 22% /
2,0G
1% /dev
790M
1% /run
5,0M
0% /run/lock
1,9G
4% /run/shm
28M 77% /boot
24G 23% /home
12G 52% /usr
8,1G 16% /var
2,8G
3% /tmp
91G 11% /vmware
125G 43% /var/datos

Para un directorio concreto:


$ df -h /home
S.ficheros
/dev/sdb10

Tamao Usados
31G
6,8G

Disp Uso% Montado en


24G 23% /home

Para mostrar los sistemas de ficheros por orden de ocupacin y saber as cuales son los que
estn ms llenos:
$ df -h | awk '{print $5 " " $6}' | sort -n | tail -5
22% /
23% /home
43% /var/datos
52% /usr
77% /boot

2. Calcular el tamao ocupado por un directorio

El parmetro -h indica que se muestre el tamao del modo ms amigable posible, ya sea en
Kilobytes, Megabytes, Gigabytes o Terabytes.
# du -h -s /var/log
9,6M
/var/log

3. Eliminar vs vaciar ficheros

Para eliminar ficheros con el fin de liberar espacio emplearemos habitualmente el comando
rm. Sin embargo, es muy habitual que no nos podamos permitir eliminar un fichero por
estar siendo utilizado en ese momento por una aplicacin, lo cual es de lo ms habitual con
ficheros de log en sistemas en produccin que no pueden parar. Eliminarlos directamente
puede tener consecuencias nefastas, como el bloqueo de la propia aplicacin que los est
utilizando, o ms leves pero tambin indeseables, como que se interrumpa el volcado de
datos a estos ficheros y dejen de ser tiles.
Para no alterar el funcionamiento de una aplicacin y conseguir nuestro objetivo de liberar
espacio vaciaremos los ficheros en lugar de eliminarlos:
# >/var/log/syslog

Tras esto el fichero quedar con un tamao de 0 bytes.


Si necesitamos vaciar mltiples ficheros a la vez con un nico comando:
# for I in `ls "/var/log/*.log"`;do >"$I";done

4. Contar el nmero de ficheros en un directorio


# ls -l /var/log | wc -l
80

5. Obtener los ficheros que ms pesan de un filesystem

Este comando es til cuando queremos liberar espacio, pues muestra los ficheros que tienen
un mayor tamao dentro de un directorio incluyendo sus subdirectorios, siendo el ltimo
de la lista el ms pesado.
# du -k
516
5256
12884
13504
21456

/var/log | sort -n | tail -5


/var/log/apache2
/var/log/exim4
/var/log/installer/cdebconf
/var/log/installer
/var/log

El tamao de los ficheros se debe mostrar Kilobytes (parmetro -k). Es necesario utilizar
este parmetro en lugar de -h porque si no el comando sort -n no ordenara la lista del modo
que nosotros esperamos.
Es importante limitar el nmero de ficheros que queremos mostrar con tail -X, siendo X
dicho nmero, pues si el directorio en cuestin tiene cientos o miles de ficheros, la salida

del comando se puede demorar demasiado por la sobrecarga de entrada/salida a la que


someteremos a nuestro terminal, sobre todo si nos estamos conectando de forma remota via
telnet o ssh a un servidor y la conexin no es muy rpida.
6. Listar los ficheros ms pesados de un directorio

Similar al anterior, pero en este caso slo se muestran los fichero del propio directorio, sin
incluir subdirectorios.
# ls -lSr | tail -5
-rw-r----- 1 syslog
-rw-r--r-- 1 root
-rw-r--r-- 1 root
-rw-r----- 1 syslog
-rw-rw-r-- 1 root

adm
118616
root 149012
root 160128
adm
499400
utmp 1461168

sep 29 22:05 auth.log


sep 9 17:12 udev
ago 4 19:27 faillog
sep 28 06:25 auth.log.1
sep 29 21:54 lastlog

Si eliminramos el parmetro -r obtendramos los ficheros ms ligeros en lugar de los de


mayor tamao.
7. Calcular el espacio ocupado por ciertos ficheros

Por ejemplo, si queremos obtener el espacio total ocupado slo por los ficheros con
extensin .log en un directorio, usaremos el siguiente comando:
# du -ch /var/log/*.log | grep total
468K
total

8. Encontrar ficheros de gran tamao fijando lmites

Por ejemplo, aquellos que tengan un tamao de ms de 100 MB, o aquellos que ocupen
entre 100 MB y 1 GB:
$ find . -type f -size +100M -ls
$ find . -type f -size +100M -size -1G -ls

9. Listar los ficheros modificados ms recientemente


# ls -larth /var/log | tail -5
drwxr-xr-x 20 root
-rw-rw-r-- 1 root
-rw-r----- 1 syslog
-rw-r----- 1 syslog
-rw-r----- 1 syslog

root
utmp
adm
adm
adm

4,2K
11K
13K
13K
1000

sep
sep
sep
sep
sep

30
30
30
30
30

12:27
13:03
13:03
13:03
13:03

.
wtmp
syslog
kern.log
auth.log

El parmetro -a indica que tambin se muestren los ficheros ocultos.


10. Encontrar ficheros antiguos (I)

Muchas veces necesitamos saber los ficheros modificados dentro de un intervalo de tiempo
dado. En el siguiente ejemplo, localizamos los ficheros que tengan una antigedad de ms
de 90 das con el fin de encontrar ficheros antiguos que ya no sirvan y puedan eliminarse
para liberar espacio.

# find /var/log -mtime +90 -ls


# find /var/log -mtime +90 -ls -exec rm {} \;

El primer comando slo localiza los ficheros, el segundo adems los elimina.
11. Encontrar ficheros antiguos (II)

Igual que el anterior, pero en este caso tambin se consideran los ficheros que hayan sido
accedidos dentro del intervalo de tiempo especificado, sin que hayan tenido por qu ser
modificados.
# find /var/log -atime +90 -ls

12. Encontrar ficheros vacos

El siguiente comando nos permite encontrar en el directorio actual ficheros con un tamao
de 0 bytes, es decir, vacos. Esto es til ante situaciones anmalas en las que se generan
este tipo de ficheros, por ejemplo tras llenarse un filesystem o por el comportamiento
anmalo de una aplicacin. Ante estos escenarios se hace necesaria una limpieza, pues
aunque estos ficheros no ocupen espacio en disco s que pueden llegar a consumir todos los
inodos disponibles de un sistema de ficheros si se crean de forma masiva e impedir as que
se puedan crear nuevos ficheros.
$ find . -type f -size 0b -ls

O tambin:
$ find . -type f -empty -ls

Para saber el nmero de inodos libres del que disponen los distintos sistemas de ficheros de
una mquina usaremos el comando df -i.
13. Empaquetar y comprimir el contenido de un directorio

A veces es til empaquetar todos los ficheros de registro o de log de un directorio en un


nico fichero comprimido para conservar el estado de dicho directorio en un punto
temporal determinado y poder eliminar o vaciar todos esos ficheros con el fin de liberar
espacio.
# tar -zcvf var_log.`date +%Y%m%d`.tar.gz /var/log/*.log

El comando anterior comprime todos los ficheros de log en un nico fichero comprimido
con extensin tar.gz y con la fecha de hoy para que sea ms fcil localizar los distintos
puntos temporales en el futuro. Veamos cmo conseguir ahorrar espacio, pasando en este
ejemplo de 468 MB a 35 MB:
# du -ch /var/log/*.log | grep total
468M
total
# ls -lh var_log.20140930.tar.gz
-rw-r--r-- 1 root root 35M sep 30 13:36 var_log.20140930.tar.gz

Tras esto podemos proceder a vaciar todos los ficheros de log como en el punto 3.

14. Encontrar ficheros en la papelera de reciclaje

Normalmente cuando enviamos algn fichero a la papelera de reciclaje ste simplemente


se mueve a un directorio oculto de nuestra carpeta personal como por ejemplo
~/.local/share/Trash en Ubuntu. Sin embargo, hay aplicaciones especficas que utilizan sus
propios directorios para almacenar la basura con un nombre que surge de la combinacin de
la palabra trash en maysculas o minsculas con alguna secuencia de nmeros, como por
ejemplo .Trash001, .trash-002, .Trash_0003, etc.
Tambin cuando montamos sistemas de ficheros externos procedentes de un disco duro
externo o una tarjeta SD, el sistema operativo del que procede ha podido guardar ficheros
en la papelera, pero el nombre de sta puede diferir de un sistema operativo a otro y ser
distinto del que utiliza nuestra distribucin Linux y por tanto no reconocerla. En estos casos
nos encontramos con que aunque vaciemos la papelera de reciclaje seguiremos teniendo
una gran cantidad de espacio ocupado en nuestro dispositivo sin razn aparente.
Pues bien, la solucin pasa por buscar todos los subdirectorios *trash* que haya en
nuestro sistema sin diferenciar entre maysculas o minsculas y analizar su contenido para
ver si podemos deshacernos de l (no siempre ser basura todo lo que encontremos). El
comando necesario sera el siguiente y su ejecucin puede llevar mucho tiempo, por lo que
quizs queramos restringirlo a un sistema de ficheros o directorio concreto:
$ find / -iname "*trash*" -ls

15. Encontrar ficheros repetidos

Por ltimo, ah va un enorme comando que nos permitir encontrar y eliminar los ficheros
duplicados que haya en un directorio para evitar redundancias innecesarias que pueden ser
muy costosas en trminos de espacio consumido.
find -not -empty -type f -printf "%s\n" | sort -rn | uniq -d | xargs -I{}
-n1 find -type f -size {}c -print0 | xargs -0 md5sum | sort | uniq -w32
--all-repeated=separate | cut -f3-100 -d ' ' | tr '\n.' '\t.' | sed
's/\t\t/\n/g' | cut -f2-100 | tr '\t' '\n' | perl -i -pe 's/([ (){}-])/\\
$1/g' | perl -i -pe 's/'\''/\\'\''/g' | xargs -pr rm -v

Y a ti? Se te ocurren ms comandos tiles que utilices habitualmente


para mantener tus filesystems desocupados?

También podría gustarte