Post on 23-Jun-2015
description
COMANDOS BÁSICOS II
DU (DISK USAGE) Nos da el espacio del disco utilizado por el archivo o directorio.
Sintaxis:
du <directorio/archivo> [-opciones]
Opciones:
-s Da el total del tamaño, sin especificar cada archivo
-b Da el tamaño en bytes
-h Da el tamaño en unidades más simples de leer (kilobytes, megabytes, gigabytes, etc.)
-c Produce un total con la suma del tamaño de los archivos
LN Permite la creación de enlaces duros o blandos hacia archivos o directorios
Sintaxis:
ln <archivo_origen><archivo_destino> [-opciones]
Los enlaces duros son copias exactas del archivo origen, con todas sus características, digamos que en realidad es
darle otro nombre a un archivo. El nuevo archivo tendrá otro nombre, pero mismo dueño, mismos permisos, misma
fecha de modificación, mismo i-nodo, mismo contenido. Si yo borro alguno de los dos archivos, el contenido no se
perderá. Puedo utilizarlo, por ejemplo, para hacer referencia a un archivo con un nombre más sencillo.
No puedo hacer un enlace duro con archivos que estén en distintas particiones.
Los enlaces blandos, son archivos que hacen referencia a otro archivo, pero son archivos diferentes, digamos que son
como los accesos directos. Del mismo modo que estos, si yo borro el archivo original, el enlace blando queda sin
referencia y no se podrá volver a utilizar.
Opciones:
-s Crea un vínculo blando o simbólico
Ejemplos:
ln –s /etc/passwd claves Crea un enlace blando al archivo /etc/passwd, llamado claves en el directorio en el
que estoy parado. De ese modo yo puedo mirar el archivo claves y ver el contenido
de passwd con un nombre un poco más sencillo.
CAT comando que muestra el contenido de los archivos que se le dan como argumentos, si los archivos son varios, los
concatena (los une), uno detrás del otro, de acuerdo al orden en que se ingresaron.
Sintaxis:
cat <ruta/archivo1 … ruta/archivoN> [-opciones]
Opciones
-n Numera las líneas mostradas (Desde 1).
-b Numera las líneas mostradas, pero no se numeran las líneas vacías (en blanco).
-s Reduce las múltiples líneas vacías contiguas a una sola línea en blanco.
Además, cat se puede utilizar para ingresar datos en el archivo (un sistema similar al “copy con” de DOS).
Para ello utilizamos una característica de GNU/Linux, muy utilizada: la redirección de la entrada y la salida estándar.
En este caso, para ingresar texto (plano, sin formato ninguno) a un archivo utilizaremos:
cat > archivo
a partir de este comando, todo lo que escribamos se va a ingresar al archivo. Incluyendo retornos de carro (<Enter>).
Para salir de este simple editor, digitamos la combinación de teclas <Ctrl> + <d>.
Si el archivo no existe, lo crea en el directorio de trabajo actual.
Si el archivo existe, borra todo el contenido anterior y lo reemplaza por el nuevo contenido (incluso cuando no
agregamos nada y simplemente pulsamos ctrl+d, borra todo el contenido y deja el archivo vacío)
No tengo la posibilidad de borrar si ya he pulsado <Enter>
Si yo quiero agregar texto al final del archivo, puedo utilizar el operador >> que anexará el texto ingresado al final de
lo que ya existe.
ENTRADA, SALIDA Y ERROR ESTÁNDAR: REDIRECCIONES Y
PIPES Los comandos que nosotros ingresamos en la terminal Linux, aceptan órdenes del teclado, imprimen los
resultados en la pantalla principal, y si se presenta algún error, nos lo muestra también por la pantalla.
Se definen entrada, salida y error estándar de Linux, a los dispositivos por defecto en donde se espera que se
dirijan los flujos de datos. Tenemos que volver a repetir. Todo en Linux es un archivo. Esta afirmación también se
aplica a los flujos de datos. Vamos a pensar un poquito en lo que nosotros hacemos cuando leemos un texto: Vamos
pasando nuestra vista de izquierda a derecha y de arriba hacia abajo, letra a letra, palabra a palabra y frase a frase,
incluso se podría decir que nuestro cerebro procesa un flujo de letras, palabras y frases a medida que van entrando,
las vamos segmentando y dándole significado. Es más, cuando queremos expresar lo que pensamos podríamos decir
que hacemos el camino inverso, pero también se trata de un flujo de letras que vamos poniendo una detrás de otra en
un medio determinado, oral si estamos hablando e impreso si lo hacemos en papel. Vemos que nuestra salida puede
ser una u otra, o incluso alguna otra más que podamos pensar. Pero en realidad, el papel ha sido una salida medio
tardía en el tiempo, hace más o menos 5.000 años que escribimos, pero que hablamos probablemente un millón de
años. Así que diríamos que el habla, los sonidos son nuestra salida estándar.
Del mismo modo Linux define el medio de entrada estándar, el medio de salida estándar y el medio en el que
se expresan los errores estándar, y del mismo modo, Linux permite que cambiemos esos estándares por otros que no
lo son, lo que se llama re-dirección.
La entrada estándar es el teclado de nuestra computadora, el teclado que está asociado a la terminal que
estamos usando. Pero cuando nosotros queremos que el comando tome datos desde otro flujo de datos, lo
redireccionamos con el símbolo < (menor que…). Entonces, si yo tengo un archivo llamado nuevo, que dentro tiene
un texto y ese texto lo quiero copiar al archivo llamado viejo, puedo hacer:
cat < archivo >> viejo
cuando re-direcciono la entrada, lo que hago es que el comando acepte como entrada lo que está dentro del archivo.
La salida estándar es la pantalla. Pero esta salida, también se puede re-direccionar a un archivo, entonces si yo
escribo:
ls -l > archivo1
redirigirá la salida del comando ls -l hacia el archivo llamado archivo1, es decir, todo lo que ls normalmente escribiría
en la pantalla lo va a mandar al archivo. Otra vez, si el archivo no existe, lo crea. Si existe lo sobre-escribe, borrando
todo su contenido anterior. Ojo, si somos dueños del archivo, no nos va a pedir confirmación, así que podríamos
borrar un archivo importante.
Si nosotros queremos agregar al contenido utilizaremos el >>
Linux también define lo que se llama el error estándar. Este es el lugar donde normalmente se mostrarán los errores
que puedan producirse durante la ejecución de un comando. También se puede re-dirigir hacia un archivo. De pronto
estamos ejecutando un comando largo, que puede llegar a tener muchos archivos y nosotros necesitamos que quede
un registro. Podemos redirigir el error con el operador 2> Entonces ponemos:
ls -l *.txt 2> errores
y no nos va a mostrar los errores en la pantalla, sino que va a crear un archivo llamado errores (si no existe) donde va
a escribirlos.
TUBERÍAS (PIPES) Además de la re-dirección, Linux nos da otra herramienta poderosa, que se llama Pipe o Tubería. Una tubería es un
camino que se establece entre dos comandos diferentes. Entonces, yo puedo unir dos comandos mediante una
tubería, mediante la cual, la salida del primer comando se convertirá en la entrada del segundo comando. Con el
operador “|” o “¦” dependiendo de la terminal que usemos.
Si queremos saber cuántas líneas me insume la salida ls -l, podemos poner:
ls -l ¦ cat –n
de ese modo cat va a tomar como entrada la salida del ls y va a numerar las líneas.