Professional Documents
Culture Documents
1
Intérprete de Comandos Intérprete de comandos
El shell, o intérprete de comandos, es un programa que Los intérpretes de comandos tienen dos formas de
está ejecutándose durante toda la sesión con Linux, ejecutar el contenido de una línea de comandos:
actuando de interfaz entre el sistema operativo y el usuario.
esperar a que finalice la ejecución
Permite que el usuario obtenga el máximo rendimiento del sistema
y aproveche toda su potencia. o volver a pedir otro comando durante la misma.
Una vez que un usuario se ha registrado en el sistema con Se distinguen así dos planos de ejecución:
su login y su password, uno donde el programa tiene toda la atención
Se le cede el control al shell, y otro donde el programa se ejecuta de fondo sin detener
el cual ejecuta dos archivos de configuración: la sesión, lo cual permite la posibilidad de ejecutar más
el general (/etc/profile) comandos al mismo tiempo.
y el particular (<directorio_del_usuario>/.profile). Además, el shell también es un sencillo lenguaje de
Hecho esto aparece el símbolo prompt y el cursor espera a programación.
que el usuario teclee una orden, que el shell interpretará y
ejecutará en el momento de pulsar <Intro>.
5 7
6 8
2
Entrada – Salida del Sistema Shutdown
Arranque del Linux login A los sistemas operativos les disgusta que se
apague el equipo.
Cómo apagar el passwd Se corre el riesgo de dañar al sistema operativo
equipo login script Antes de apagar el equipo, hay que ejecutar
init logout shutdown
Limpieza del Opciones
now apaga al sistema de inmediato
sistema de archivos
+n n es el número de minutos a esperar
-r realiza el shutdown y re-boot
-c cancela el shutdown
9 11
3
shutdown init
El sistema ya se encuentra “levantado” y en ejecución, se puede
#shutdown –h now
el comando init para arrancar o parar al sistema.
mensajes relacionados con la detención y apagado
del sistema aparecen en la pantalla Opciones Que hace
esperar hasta que el la última línea aparece
0 halt system
system halted
1 single user mode (para mantenimiento, no permite
en este momento se puede apagar el equipo que otros usuarios se logueen)
3 multi-user mode (modo normal)
5 multi-user mode with GUI started (modo normal
para las workstations utilizando X Windows)
6 reboot
13 15
Rebooting init
El único motivo que hace que se requiera
reinicializar al sistema es cuando un nuevo seteo Ejemplos
se realizó, y se desea que él mismo tenga efecto.
Método 1 init 1 para setear al sistema en modo single user
Estando todos los usuarios deslogueados pulsar
simultáneamente CTRL – ALT – DEL
init 6 reboot
Los mensajes de shutdown aparecerán y el sistema
se reinicializará
Método 2
#reboot
14 16
4
Limpieza del File System Cambio de clave o password
fsck Si el usuario desea cambiar su password
Se ejecuta automáticamente cada vez que el $passwd
sistema arranca Enter existing password
Ocasionalmente se puede ejecutar manualmente, Enter new password
para fijar daños en el sistema de archivos. Enter new password again
Lo utiliza únicamente el administrador del sistema Si el administrador del sistema desea cambiar la
Se ejecuta logueado como root password de un usuario
#passwd nombre_usuario
17 19
5
logout uptime
$ uptime
La salida de una sesión por parte del usuario se
3:53pm up 21 min, 1 user, load average: 0.78, 0.63, 0.38
De donde se
id free conectaron
du df
env ps Opciones:
-i muestra el tiempo display idle time
top procinfo -H muestra las columnas de cabecera
22 24
6
who free
$ who Muestra la estadística de la memoria utilizada.
martin tty2 Aug 10 15:52 Valores en Kbytes
total used free shared buffers cached
Mem: 158920 156160 2760 0 5208 47640
$ who –iH -/+ buffers/cache:103312 55608
Swap: 498920 0 498920
25 27
id du
Este comando muestra en una linea un resumen Muestra la cantidad utilizada de disco y muestra el
del actual usuario tamaño del actual directorio y subdirectorio en
nombre usuario y número Kbytes.
grupo principal y número $ du
otros grupos y números 20 .
$ id
uid=500(martin) gid=500(martin) groups=500(martin)
26 28
7
du du
Muestra el espacio disponible en el disco partición
por partición Para visualizar la cantidad de espacio utilizado por
Los drives/particiones tienen que estar montadas
para obtener esta información. cada directorio dentro de /home, en un formato
La información del NFS también se puede obtener entendible
Para mostrar el espacio libre de los drivers
montados localmente $ du –sh /home/*
$df –l
29 31
du df
Cuando se quiere saber donde y quien está consumiendo Muestra la información de cada file system
espacio en disco, en especial cuando se lentifica el sistema
$df
El comando du permite determinar la utilización del disco Filesystem 1k-blocks Used Available Use% Mounted on
directorio por directorio /dev/hda2 2894608 1885204 862364 69% /
none 79460 0 79460 0% /dev/shm
Opciones Descripción
-c Genera un reporte al final
-h Muestra los tamaños en formato entendible
30 32
8
df env
Muestra el espacio disponible en el disco partición Lista todas las variables de ambiente y su
por partición contenido para el usuario actual
PWD=/home/martin/comandos
Los drives/particiones tienen que estar montadas HOSTNAME=localhost.localdomain
para obtener esta información. USER=martin
MAIL=/var/spool/mail/martin
La información del NFS también se puede obtener LANG=en_US.iso885915
LOGNAME=martin
Para mostrar el espacio libre de los drivers HISTSIZE=1000
montados localmente HOME=/home/martin
TERM=linux
$df –l PATH=/usr/local/bin:/bin:/usr/bin:/home/martin/bin_=/usr/bin/env
OLDPWD=/home/martin
33 35
df ps
Para mostrar en formato legible, el actual Este comando lista el estado de los procesos.
filesystem donde se halla el directorio actual $ ps u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
$df –h martin 10009 0.0 0.8 2452 1280 tty2 S 15:52 0:00 –bash
martin 10076 0.0 0.4 2584 668 tty2 R 15:56 0:00 ps u
Para mostrar el espacio disponible del filesystem
donde /tmp está ubicado El comando anterior muestra el estado de los
procesos del usuario actual
$df –h /tmp
34 36
9
ps kill
Siendo El nombre causa confusión.
PID ÚNICO Identificador de Proceso Envía señales a los procesos en ejecución
SIZE tamaño de la imagen virtual; tamaño de El SO, por defecto, da a cada proceso un conjunto
texto + data + stack normalizado de manejadores de señales (signal handlers)
RSS Resident set size; Kbytes del programa en para el tratamiento de las señales que le lleguen.
memoria
Desde el punto de vista de la administración, las señales
TTY tty que controla el proceso más importantes son la 9 y la 15, ya que ellas matan a un
STAT información sobre el estado del proceso proceso o lo terminan, respectivamente.
R ejecución
Cuando el kill se invoca, requiere al menos un parámetro,
S durmiendo el pid del proceso al que se le envía la señal.
D interrumpiblemente durmiendo
T detenido o en modo traza
Si se pasa sin parámetro, el sistema toma la 15 por
defecto.
Z zombie
• W si el proceso no tiene páginas residentes
• N si el proceso tiene un valor de prioridad positiva 37 39
ps kill
$ ps ax Algunos procesos interceptan esta señal y realizan
una serie de operaciones para poder terminar
muestra el estado de todos los procesos de todos
los usuarios incluyendo los del sistema adecuadamente.
38 40
10
signal top
Un parámetro opcional para el kill es –n donde n Muestra en una pantalla completa la información
representa un número de señal.
top de los procesos.
La señal 9 mata a un proceso. La única vez que esta
señal falla es cuando esta en el medio de la ejecución Automáticamente se actualiza hasta que se
de un system call, en este caso el proceso morirá detiene la ejecución del programa.
cuando terminé la ejecución del system call.
La señal 1 (hang up), es un bit, que se utilizaba en los
Para detenerlo se oprime la tecla q
tiempos de las terminales VT100. En el caso que la
comunicación de una terminal de cayerá a la mitad de
una sesión, todos los procesos asociados con esa
terminal recibián la señal SIGHUP o HUP. Esto le daba
la oportunidad a todos los procesos de realizar una
terminación limpia, o en el caso de los procesos en
background ignorar la señal.
41 43
seguridades top
3:56pm up 25 min, 1 user, load average: 0.14, 0.32, 0.30
55 processes: 54 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: 11.2% user, 5.9% system, 0.2% nice, 82.6% idle
La potencia de poder terminar un proceso hace necesario Mem: 158920K av, 156164K used, 2756K free, 0K shrd, 5696K buff
42 44
11
procinfo Información del sistema Estructura del Sistema de Archivos
procinfo da información del sistema que toma del archivo /proc y lo
muestra en forma de reporte en la pantalla. La estructura de archivos es una estructura
Algunas de las informaciones que entrega:
Tiempo del último arranque arbolada
Carga promedio
promedio de tareas en ejecución El tronco del árbol es el directorio raíz
número de procesos en ejecución
número total de procesos
El root directory se identifica por /
PID del último proceso en ejecución
Todos los otros directorios son ramas que salen de
Información de swap
Recursos de memoria ese tronco.
Número de discos
Información sobre las IRQs
Información sobre los file systems
La informacións se actualiza cada 30 segundos 45 47
46 48
12
pathnames pathnames
El primer directorio de la estructura es el directorio Un pathname absoluto especifica la localización de un archivo
raíz; todos los demás archivos y directorios parten desde el directorio raíz.
Por lo tanto, todos los pathnames absolutos deben de empezar
de él.
con un slash (/).
El directorio raíz se designa con un nombre Un pathname relativo especifica la localización de un archivo
especial, /. con respecto al directorio en que se está trabajando,
Ningún otro archivo puede tener este nombre. en lugar del directorio raíz, por lo que no empiezan con un slash
(/).
Se lo denomina root, de allí el nombre del
. El punto se refiere al directorio en que se está
superusuario.
.. dos puntos se refiere al directorio padre
49 51
pathnames HOMEDIRECTORY
Todos los archivos forman parte de la jerarquía. El home directory es un subdirectorio del directorio
Cualquier archivo de esta estructura es parte de una
raíz (root) en el que se entra cada vez que se hace
login
red de directorios conectados.
es donde van a residir los archivos del usuario.
Esta red de directorios, junto con el nombre de un
Normalmente tiene el mismo nombre que el
archivos particular, constituye el pathname para un nombre de usuario.
archivo. El comando pwd ( print working directory) dice en
Cada archivo se identifica con un único pathname, que qué directorio se está.
describe su localización con respecto a los otros El formato es simplemente :
directorios. $pwd
Se puede especificar un nombre de archivo utilizando
pathnames 50 52
13
Principales Directorios Principales directorios
/ root directory /var archivos específicos de los
/home directorio de los usuarios usuarios
/log archivos logs
/usr comandos y utilitarios de Linux
/spool archivos utilizados durante las
/bin programas ejecutables impresiones
/lib bibliotecas similares a las DLL de Windows /mail archivos de e-mail
/sbin más ejecutables de tipo administrativos /proc archivos del sistema
/doc documentación /root home directory del root
/src código fuente de los programas /opt otras opciones
/tmp archivos temporarios de trabajo /sbin más ejecutables y utilitarios
53 55
14
pwd mkdir rmdir
Mostrar el nombre del directorio completo actual mkdir Crea nuevos directorios
/home/jpbeck rmdir Borra directorios, pero que no contienen
archivos
rm –r Borra en primer lugar los archivos que
contiene el directorio, y luego el directorio
mkdir midir crea un nuevo directorio denominado midir
57 59
cd mkdir
Para cambiar de directorio Se utiliza para crear directorios
$mkdir midir
Ejemplos Qué hace Con la opción –p, se puede crear una rama de
cd se ubica en el H0MEDIRECTORY directorios, suponiendo que sólo existe /tmp
cd / se ubica en el directorio root
$mkdir –p /tmp/bigdir/subdir/midir
cd /etc se ubica en el directorio /etc
cd .. se ubica en el directorio padre al ejecutarse de generó automáticamente bigdir,
subdir y midir.
58 60
15
rmdir ls
Ejemplos ¿Qué hace?
Idem a la creación, con la opción –p puede borrar ls muestra en una única lista todos los nombres de los
archivos y directorios en el directorio actual
directorios padre también ls –l Lista todos los archivos/directorios del directorio
actual en formato largo
ls –R Lista todos los archivos del directorio actual y los
$ rmdir –p bigdir/subdir/midir que están por debajo
ls –lt Lista todos los archivos, ordenados por el más
es importante la ubicación desde donde uno está reciente utilizado primero
ls –lt /etc/rc* Lista todos los archivos del directorio /etc, que sólo
borrando directorios. comienzan con rc y los ordena por el más
recientemente utilizado
61 63
ls ls –l
total 43
Muestra el contenido de un directorio
-rw-rw-r— 1 martin martin 190 Aug 10 15:55 df
Opciones Qué hace? -rw-rw-r-- 1 martin martin 5 Aug 10 15:55 du
-rw-rw-r-- 1 martin martin 885 Aug 10 15:56 env
-l listado largo
-rw-rw-r-- 1 martin martin 230 Aug 10 15:54 free
-R lista el directorio actual y todos los directorios -rw-rw-r-- 1 martin martin 51 Aug 10 15:54 id
dentro del mismo -rw-rw-r-- 1 martin martin 0 Aug 10 16:04 lsl
-a muestra todos los archivos, aún los ocultos -rw-rw-r-- 1 martin martin 1124 Aug 10 15:57 procinfo
-rw-rw-r-- 1 martin martin 208 Aug 10 15:56 ps
-r lista los archivos en orden alfabético inverso -rw-rw-r-- 1 martin martin 1785 Aug 10 15:56 top
-rw-rw-r-- 1 martin martin 62 Aug 10 15:53 uptime
-t muestra los archivos más recientemente
-rw-rw-r-- 1 martin martin 31 Aug 10 15:53 who
accesados
filename(s) Muestra el archivo correspondiente
62 64
16
Información que muestra ls -l Protección de archivos
TIPO DE ARCHIVO : Existen tres clases diferentes de usuarios de un
d directorio
archivo y tres modos diferentes de acceso al
- archivo ordinario
archivo.
TIPO DE PERMISOS : CLASES DE USUARIO
r lectura
Propietario
w escritura
x ejecución Grupo
Otros
65 67
66 68
17
Especificación de permisos Nombres de los Archivos
rwx rwx rwx Letras mayúsculas ( A - Z ).
| | | Letras minúsculas ( a - z ).
| | |_______ permisos para otros usuarios Números ( 0 - 9 ).
| | Subrayado ( _ ).
| |____________ permisos para el grupo de Punto ( . ).
usuarios Coma ( , ).
| Extensión de un archivo
|________________ permisos para el usuario No se admiten espacios en blanco en el nombre
propietario
69 71
70 72
18
Expansión del nombre de un archivo chmod
Utilizando el bash, los wildcards o metacaracteres El comando chmod (change mode) se utiliza para
en la línea de comando se expanden antes de cambiar los permisos de un archivo ordinario y de
un directorio.
pasarse como parámetros a la aplicación.
Existen dos formas de cambiar los permisos.
Si se quiere utilizar los metacaracteres como parte
Se pueden cambiar teniendo encuenta los
de un parámetro por alguna razón, se deben permisos existentes (modo simbólico)
utilizar precedidos por el backslash (\). Esto hace O se pueden asignar permisos
que el shell interprete al asterisco, al signo de independientemente de los ya existentes (modo
pregunta como caracteres regulares en vez de absoluto).
metacaracteres.
73 75
74 76
19
chmod modo simbólico chmod modo absoluto
Puede tener los siguientes valores: El modo absoluto se especifica con 3 dígitos
u : propietario del fichero numéricos;
g : grupo del que el propietario es miembro
o : usuarios clasificados como otros
cada número representa los permisos de cada tipo
a : todos los usuarios del sistema (propietario, grupo y otros) de usuario.
Código-operador: Indica la operación que se va a realizar: Estos dígitos se obtienen, para cada clase de
+ : añadir permisos usuario, a partir de los valores siguientes:
- : quitar permisos
4 : permiso de lectura
Tipo de permiso:
r : permiso de lectura 2 : permiso de escritura
w : permiso de escritura 1 : permiso de ejecución.
x : permiso de ejecución
77 79
20
chmod modo absoluto Copiar – Renombrar - Mover
La sintaxis para el comando chmod absoluto es: cp Copia un archivo
Directorios cp
82 84
21
mv wc
Puede mover archivos de una ubicación a otra, Se utiliza para contar líneas, palabras y caracteres
también a distintas particiones. En este último de un archivo
caso necesita que primero se haga la copia, por lo -c número de caracteres
que se demora un poco más en su ejecución. -w número de palabras
-l número de líneas
Para mover el archivo desde /usr/src/myprog/bin/*
$ wc /etc/sendmail.cf lista el número de líneas,
a /usr/bin
palabras y caracteres en el
$ mv /usr/src/myprog/bin/* /usr/bin archivo sendmail.cf
Para renombrar /tmp/blah a /tmp/bleck $ ls /etc | wc –l Muestra el número de
$mv /tmp/blah /tmp/bleck archivos y directorios que
contiene /etc
85 87
VINCULO
86 88
22
Enlaces o Vínculos Enlaces Duros y Simbólicos
El vínculo es un enlace con el archivo físico, para Hard link
compartir un archivo entre varios usuarios. $ ln pwd otro
No se puede crear un archivo vínculo de la nada, Soft link
es necesario que exista el archivo físico al cual $ ln –s pwd otromas
está vinculado.
$ ls –il
Al realizar un ls el vinculo viene representado 7418 -rw-rw-r-- 2 martin martin 0 Aug 10 16:27 otro
como : 7420 lrwxrwxrwx 1 martin martin 3 Aug 10 16:26 otromas -> pwd
7418 -rw-rw-r-- 2 martin martin 0 Aug 10 16:27 pwd
clase - > / etc / passwd
Archivo Físico
VINCULO
89 91
90 92
23
Enlaces simbólicos o blandos Archivos de texto
Los hard link, que apuntan al archivo a través de file | pipes
su i-nodo Mostrar archivos
Comandos múltiples
Los symbolic link apuntan a otro archivo por su less
nombre. cat sort
Esto permite a los symlinks apuntar a archivos head grep
ubicados en otras particiones, aún sobre discos de
tail
red.
93 95
ln file
El formato general del comando es Verificación del tipo de archivo
$ file otro
ln original_file new_file
otro: ASCII text
Pero ln tiene muchas opciones, la más común es – $ file otromas
s, que crea un enlace simbólico en vez de uno otromas: symbolic link to pwd
duro.
$ln –s /usr/local/bin/myadduser /usr/bin/myadduser
94 96
24
pipes | Comandos múltiples
Si se desea saber cuantos usuarios hay logueados al sistema
en un instante determinado Si se ejecuta
$who > logueados
$wc –l logueados $ls –l
$rm logueados
Mediante la técnica de redireccionamiento se logro escribir un $ cat /etc/passwd
archivo, el cual después se leyo y dio la información
Pero en un ambiente de multiprogramación, la escritura y
lectura de disco, es un costo muy elevado lo puedo hacer en una única línea de comando
Mediante pipes se resuelve todo en memoria
$who | wc –l $ls –l; cat /etc/passwd
Ahorro de una escritura y una lectura en disco.
97 99
pipes Redireccionamiento
Los pipes son un mecanismo por el cual la salida Mediante el redireccionamiento la salida de un
de un proceso se envía a la entrada de otro proceso se puede enviar directamente a un
proceso archivo.
$printenv | grep PS1 El shell más que el proceso en sí administra esta
El intérprete de comandos de Windows utiliza situación, proveyendo de los mecanismos para
también pipes que la misma se cumpla
La diferencia radica en que los pipes se ejecutan Redireccionamiento
concurrentemente, mientras que en Windows cada salida a un archivo
proceso se ejecuta en orden, utilizando archivos agregar a un archivo
temporales para guardar los resultados parciales. enviar un archivo como entrada
98 100
25
Redireccionamiento Mostrando Archivos
cat Muestra el archivo de texto completo, no
tiene posibilidad de paginación como el
$ls > /tmp/directory_listint less o el more
$ cat /etc/passwd
$echo “Final” >> /tmp/directory_listing También se puede utilizar para crear un nuevo
archivo
$ cat > nuevoArchi
$grep ‘root’ < /etc/passwd Se ingresan las líneas de texto por teclado. Para
cerrar el archivo se pulsa CTRL - D
101 103
102 104
26
Mostrando Archivos Ejemplos de uso de grep
head Sólo muestra las primeras líneas de un $ grep home /etc/passwd
archivo de texto
$grep –v home /etc/passwd
$ head –5 /etc/passwd
$grep –c home /etc/passwd
Solo muestra las primeras 5 líneas del archivo passwd
$grep ‘name*’ /etc/sendmail.cf
tail Sólo muestra las últimas líneas de un $grep ‘domain name’ /etc/sendmail.cf
archivo de texto $grep tcp /etc/rc*
$ tail –5 /etc/passwd
$grep TCP /etc/rc*
Sólo muestra las últimas 5 líneas del archivo passwd
$grep -i tcp /etc/rc*
105 107
27
Cambio de propietario y grupo Otros comandos
chown cambio de propietario de archivos o pidof Indica el número de proceso, si se colgara un
directorios proceso se hace pidof <nombre>, y da un
número ese es el pid.
chgrp cambio de grupo sobre archivos o diff Compara dos archivos en formato texto línea
directorios por línea.
find Busca algún archivo y ejecuta alguna acción con
$ chown pepe archi archivos estos archivos.
locate Lista archivos asociados al patrón dado.
tar Empaqueta o desempaqueta un conjunto
$ chgrp mgmt archi1 listado2 de archivos o directorios. Ver man para
opciones.
109 111
110 112
28
Tareas de Control Jobs Control Jobs Control
Desde el entorno bash se pueden comenzar múltiples En cualquier momento se puede saber cuantas
programas desde el mismo prompt.
Cada programa se lo denomina job
tareas están a cargo del bash ejecutando el
Cuando un job comienza toma control de la terminal (el comando
término proviene de las terminales bobas tipo VT-100 y $jobs
Wyse-50)
La terminal es la interfaz que existe cuando se trabaja en El listado de programas que aparece estará en dos
modo texto o la ventana que se crea a partir del X Windows estados posibles:
sobre el cual el bash se ejecuta.
Las terminales utilizadas en X Windows se llaman pseudo ejecución (running)
tty o pty stopped (detenido o bloqueado)
113 115
29
Variables de ambiente Variables de ambiente o entorno
Cada instancia del shell se ejecuta en su propio Si el valor a asignar a una variable de ambiente
ambiente, dándole un look & feel particular tiene espacios en blanco, se tiene que encerrar
El seteo particular se logra a través de las con doble comilla
llamadas variables de ambiente (environment $export PEPE = “Bienvenidos al Tren”
variables)
Algunas variables tienen un significado especial Para remover o borrar una variable de ambiente
para el shell, se utilizan en los shell scripts. $unset PEPE
Idem al concepto de variables de ambiente del NT Cada shell tiene mecanismos especiales para
y Windows 2000, la diferencia es que se pueden setear y remover sus variables.
setear, ver y borrar.
117 119
30
herramientas de documentación Block Devices
man Sección del Manual Tema Todos los dispositivos se acceden a través de archivos
1 User tools Los archivos tipo dispositivos de bloques se utilizan
2 System Calls para la interfaz con dispositivos tales como discos
3 C library calls Un archivo de block device tiene 3 rasgos
4 Device Driver Information identificatorios
5 Configuration files un número mayor
6 Games
un número menor
7 Packages
cuando se visualiza con ls –l, muestra b como
8 System tools
info primer caracter
121 123
31
character device find
Permite ubicar un archivo basado en diferentes
Son archivos especiales que permiten acceder a criterios.
determinados dispositivos a través del filesystem. Tiene muchas opciones (recomendación leer el man
find)
Los dispositivos de bloques se comunican Para encontrar todos los archivos en /tmp que no se
mediante grandes bloques, mientras que los de accedieron en los últimos 7 días
$find /tmp –atime 7 –print
caracter lo hacen de un caracter por vez. Encontrar todos los archivos en /usr/src cuyos
nombres son core y borrarlos
Un disco rígido es un dispositivo de bloque
$find /usr/src –name core –exec rm
Un modem es un dispositivo de caracter Encontrar todos los archivos en /home que terminen
en .jpg y sean mayores a 100K en tamaño
$find /home –name “*.jpg” –size 100k
125 127
126 128
32
dd copiar y convertir un archivo gzip
Lee el contenido de un archivo y lo envía a otro Generalmente los archivos comprimidos con gzip
archivo. tienen una extensión .gz, mientras que los
Su diferencia con cp es que realiza conversiones al comprimidos con compress .z
vuelo (on-the-fly) y acepta datos desde una cinta o gzip lo comprime sobre sí mismo al archivo
floppy u otro dispositivo. Para comprimir un archivo
Cuando dd accede a un dispositivo, no asume nada $gzip miarchivo
acerca del filesystem, y coloca los datos en un formato Para descomprimirlo
crudo (raw format)
$gzip –d miarchivo.gz
dd se utiliza para generar imagenes de discos aún
cuando el disco tenga un formato diferente. Para comprimir varios archivos utilizando la mejor
comprensión
Para generar una imagen de un floppy (especialmente
útil cuando tiene formatos diferentes) $gzip –9 *.html
$dd if=/dev/fd0 of=/tmp/floppy_image
donde if infile y of outfile 129 131
gzip tar
gzip no comparte formato de archivo ni con PKzip El tar combina múltiples archivos en uno sólo.
o WinZip; sin embargo, WinZip puede
descomprimir archivos comprimidos con gzip. Permite seleccionar que herramienta de
compress era el comando para comprimir archivos
tradicionalmente en UNIX, pero alguién lo patentó, comprensión se va a utilizar
de modo tal que el GLP, no pudo aplicarse a él. Permite leer y escribir en dispositivos tal como lo
Para reemplazarlo se creó el gzip, que resulto con
un algoritmo de comprensión mejor que el hace dd.
compress. Es un buena herramienta para realizar backups en
Permite descomprimir archivos comprimidos con
compress cintas.
130 132
33
tape archiver which
$ tar –cf apache.tar /usr/src/apache Busca en el path completo para encontrar el
archivo especificado en la línea de comando.
crea (-c) un archivo apache.tar (-f ) conteniendo
Si el archivo se encuentra, muestra el path del
todos los archivos de /usr/src/apache mismo
Crear un archivo llamado apache.tar con todos los $which ls
archivos de /usr/src/apache, pero mostrando lo El which busca sólo en el path, mientras que el
find lo hace desde donde se le indica
que sucede mientras se realiza
El which por el motivo anterior es más rápido,
$tar –cvf apache.tar /usr/src/apache aunque más limitado
133 135
tar whereis
Crear un archivo comprimido con gzip llamándolo
apache.tar.gz que contenga todos los archivos de
/usr/src/apache, y que muestre lo que realiza mientras se
ejecuta Busca en el path del usuario y muestra el nombre
$tar –cvzf apache.tar.gz /usr/src/apache
la opción –z es para que utilize el gzip como programa
para comprimir el archivo. del archivo y su path absoluto
Para crear un archivo en un floppy
$tar –cvzf /dev/fd0 /usr/src/apache
Para recuperar la información guardada en un diskette $ whereis grep
$tar –xvzf /dev/fd0
desde ya lo recupera donde uno está parado en la
estructura de directorios.
134 136
34
sync uname
Como se dispone de una cache de disco para mejorar Para obtener el nombre del sistema operativo y
la eficiencia, implica que no siempre lo que se mando a release del mismo
escribir a disco se realizó $uname –s –r
Para planificar que la cache de disco escribe sobre el La opción –s parece no tener sentido, pero es muy
disco se utiliza el comando sync
útil cuando hay mezcla de sistemas operativos
trabajando en las workstations, en una workstation
Si sync detecta que la escritura de la cache ya se SGI devuelve IRIX, mientras que en un SUN
planificó, el kernel de inmediato baja la información a devuelve SunOS.
disco. Es muy útil en los scripts que deben trabajar en
Para asegurarse que la cache de disco sea flusheada diferentes entornos de UNIX
$sync; sync
137 139
uname su
En el caso en que uno estuviera conectado remotamente a Una vez que uno se logueo, si desea cambiar de identidad,
diversos servidores, puede ocurrir que no sepa en que servidor o sea loguearse como otro usuario no se necesita salir y
está (algo parecido a los directorios) volver a loguearse, simplemente se cambia de usuario
También es útil para los scripts shell, ya que se puede variar el El su sin ningún parámetro intenta conectarse como
path de acuerdo al servidor
superusuario.
Opción Descripción
Cuando se le pasa un parámetro ese tiene que ser el
-m muestra el tipo de hardware de la máquina (i686 para el Pentium Pro)
identificador de un usuario del sistema.
-n muestra el nombre del hostname
$su pepe
-r muestra el número de release del SO
$su – pepe
-s nombre del sistema operativo
-v versión del sistema operativo
El – del último comando informa que se loguee corriendo el
login script que le corresponde a dicho usuario.
-a todo lo anterior
138 140
35