linux- comandos
Post on 08-Jun-2015
3.736 Views
Preview:
DESCRIPTION
TRANSCRIPT
1
Comandos Básicos Linux
2
Entorno de TrabajoServidor LINUX ( Recursos de Hardware )Acceso por telnetComparten
MemoriaRelojProcesadorDispositivosArchivos
3
Entorno de Trabajo WindowsComputadoras personales conectadas entre siNo compartenMemoriaRelojProcesadorPueden compartirDispositivosArchivos
4
Intérprete de comandosCualquier usuario de Linux acabará antes o después relacionándose con el sistema empleando el modo texto, y no los entornos gráficos. Este modo se basa en la ejecución de una serie de comandos, que son interpretados por un programa o shell. Linux dispone de varios de estos programas pero el más habitual es conocido como bash o Bourne Again Shell. Si Linux se arranco en modo texto el sistema arranca de forma directa el shell y queda a la espera de introducción de nuevos comandos
2
5
Intérprete de ComandosEl shell, o intérprete de comandos, es un programa queestá ejecutándose durante toda la sesión con Linux,
actuando de interfaz entre el sistema operativo y el usuario.Permite que el usuario obtenga el máximo rendimiento del sistema y aproveche toda su potencia.
Una vez que un usuario se ha registrado en el sistema con su login y su password,Se le cede el control al shell,el cual ejecuta dos archivos de configuración:
el general (/etc/profile)y el particular (<directorio_del_usuario>/.profile).
Hecho esto aparece el símbolo prompt y el cursor espera a que el usuario teclee una orden, que el shell interpretará y ejecutará en el momento de pulsar <Intro>.
6
Intérprete de comandosEl shell evalúa lo que se escribe buscando en primer lugar si contiene un carácter "/" inicial, en cuyo caso lo toma como un programa y lo ejecuta. En caso contrario, examina si se trata de una función (secuencia de comandos identificada por un nombre unívoco), un comando interno o una palabra reservada. Si ninguna de estas condiciones es cierta, el shell lo trata como un comando y lo busca en PATH. Si no está, saca un mensaje del tipo "XX:not found", siendo XX lo que se ha escrito. Por otra parte, el shell ofrece la posibilidad de controlar la ejecución de los programas y la comunicación entre ellos.
7
Intérprete de comandosLos intérpretes de comandos tienen dos formas de ejecutar el contenido de una línea de comandos:
esperar a que finalice la ejecución o volver a pedir otro comando durante la misma.
Se distinguen así dos planos de ejecución: uno donde el programa tiene toda la atención y otro donde el programa se ejecuta de fondo sin detener la sesión, lo cual permite la posibilidad de ejecutar más comandos al mismo tiempo.
Además, el shell también es un sencillo lenguaje de programación.
8
Línea de comandoEl formato de un comando es:
$ comando -opciones argumentosHay opciones que se pueden ingresar como: comando -opción argumento, o $ comando a+b argumento.Notar que entre las opciones y argumentos, hay un espacio, que suele ser tomado por Linux como un cambio de argumentos. Por este motivo los nombres de los archivos nodeben contener espacios en blanco.
3
9
Entrada – Salida del Sistema
Arranque del LinuxCómo apagar el equipoinitLimpieza del sistema de archivos
loginpasswdlogin scriptlogout
10
Arranque Del LinuxCuando el equipo se enciende el Linux realiza el proceso de arranque (boot process) automáticamente.Durante este proceso presenta una serie de mensajes en la pantallaDe existir inconvenientes, los mensajes de error se mostrarán.Los scripts de arranque se encuentran guardados en el directorio /etcLos principales archivos involucrados son
/etc/inittab/etc/rc.d
Recomendación: observar, pero no tocar hasta tener experiencia.
11
ShutdownA los sistemas operativos les disgusta que se apague el equipo.Se corre el riesgo de dañar al sistema operativoAntes de apagar el equipo, hay que ejecutar shutdownOpciones
now apaga al sistema de inmediato+n n es el número de minutos a esperar-r realiza el shutdown y re-boot-c cancela el shutdown
12
Shutdown
Idem anteriorreboot
Detiene al sistema de inmediato y automáticamente realiza el re-boot
shutdown now –r
Detiene al sistema en 10 minutos, listo para apagar
shutdown +10 –h
Detiene al sistema de inmediato, listo para apagar
shutdown now –h
Que haceEjemplos
4
13
shutdown#shutdown –h now
mensajes relacionados con la detención y apagado del sistema aparecen en la pantallaesperar hasta que el la última línea aparece
system halteden este momento se puede apagar el equipo
14
RebootingEl único motivo que hace que se requiera reinicializar al sistema es cuando un nuevo seteo se realizó, y se desea que él mismo tenga efecto.Método 1
Estando todos los usuarios deslogueados pulsar simultáneamente CTRL – ALT – DEL
Los mensajes de shutdown aparecerán y el sistema se reinicializará
Método 2#reboot
15
init
reboot6
multi-user mode with GUI started (modo normal para las workstations utilizando X Windows)
5multi-user mode (modo normal)3
single user mode (para mantenimiento, no permite que otros usuarios se logueen)
1halt system0Que haceOpciones
El sistema ya se encuentra “levantado” y en ejecución, se puede el comando init para arrancar o parar al sistema.
16
init
Ejemplos
init 1 para setear al sistema en modo single user
init 6 reboot
5
17
Limpieza del File SystemfsckSe ejecuta automáticamente cada vez que el sistema arrancaOcasionalmente se puede ejecutar manualmente, para fijar daños en el sistema de archivos.Lo utiliza únicamente el administrador del sistemaSe ejecuta logueado como root
18
loginPara entrar al sistema hay que conectarse al mismo.Frente al mensaje de login, hay que ingresar el nombre de usuarioEl sistema a continuación solicita la password o palabra clave que corresponde al usuarioSi ambos datos son correctos se entra al sistema, caso contrario, el sistema presenta el login nuevamente.El login y la password son case sensitive
19
Cambio de clave o passwordSi el usuario desea cambiar su password
$passwdEnter existing passwordEnter new passwordEnter new password again
Si el administrador del sistema desea cambiar la password de un usuario
#passwd nombre_usuario
20
login scriptsDetrás de escena, mientras uno se loguea al sistema, los siguientes shell scripts se ejecutan. Su objetivo es inicializar las variables de ambiente/etc/profile
Este es el primer script que se ejecutaSe utiliza para inicializar los parámetros globales que son comunes a todos los usuarios
/home/<username>/.profile_bashEs el próximo script que se ejecuta normalmenteEn general tiene el mismo contenido para todos los usuariosSe suele cambiar para inicializar parámetros únicos para cada usuario
/home/<username>/.bashrcEs el próximo script que se ejecuta cada vez que se comienza un nuevo shell.
6
21
logout
La salida de una sesión por parte del usuario se
puede realizar de varias maneras:
logout
exit
la combinación de teclas CTRL – D
En el modo gráfico mediante la opción de logout
22
Estado del Sistema
procinfotoppsenvdfdufreeid
whouptime
23
uptime$ uptime3:53pm up 21 min, 1 user, load average: 0.78, 0.63, 0.38Tiempo actual (3:53pm) Número de días o mínutos desde el último arranque (up 21min) Cantidad de usuarios logueados (1 user) Utilización del sistema por los últimos intérvalos de 1, 5 y15 minutos (load average – carga efectiva)
24
whoUsuarios logueadosCuando se loguearonDe donde se conectaron
tty que están utilizandoIdle time
Opciones:-i muestra el tiempo display idle time -H muestra las columnas de cabecera
7
25
who$ whomartin tty2 Aug 10 15:52
$ who –iH
(omni).Jun 5 23:27ttyp0pepe
FROMIDLELOGIN- TIMELINEUSER
26
idEste comando muestra en una linea un resumen del actual usuarionombre usuario y númerogrupo principal y númerootros grupos y números
$ iduid=500(martin) gid=500(martin) groups=500(martin)
27
freeMuestra la estadística de la memoria utilizada. Valores en Kbytes
total used free shared buffers cached
Mem: 158920 156160 2760 0 5208 47640-/+ buffers/cache:103312 55608Swap: 498920 0 498920
28
duMuestra la cantidad utilizada de disco y muestra el tamaño del actual directorio y subdirectorio en Kbytes.$ du20 .
8
29
duMuestra el espacio disponible en el disco partición por particiónLos drives/particiones tienen que estar montadas para obtener esta información.La información del NFS también se puede obtenerPara mostrar el espacio libre de los drivers montados localmente$df –l
30
duCuando se quiere saber donde y quien está consumiendo espacio en disco, en especial cuando se lentifica el sistemaEl comando du permite determinar la utilización del disco directorio por directorio
Resumen, sólo muestra la salida de cada argumento-s
Muestra los tamaños en Kbytes y no en bloques (Un bloque = 1 Kbyte, en Linux)
-k
Muestra los tamaños en formato entendible-h
Genera un reporte al final-c
DescripciónOpciones
31
du
Para visualizar la cantidad de espacio utilizado por
cada directorio dentro de /home, en un formato
entendible
$ du –sh /home/*
32
dfMuestra la información de cada file system
$dfFilesystem 1k-blocks Used Available Use% Mounted on/dev/hda2 2894608 1885204 862364 69% /none 79460 0 79460 0% /dev/shm
9
33
dfMuestra el espacio disponible en el disco partición por particiónLos drives/particiones tienen que estar montadas para obtener esta información.La información del NFS también se puede obtenerPara mostrar el espacio libre de los drivers montados localmente$df –l
34
df
Para mostrar en formato legible, el actual filesystem donde se halla el directorio actual$df –hPara mostrar el espacio disponible del filesystem donde /tmp está ubicado$df –h /tmp
35
envLista todas las variables de ambiente y su contenido para el usuario actual
PWD=/home/martin/comandosHOSTNAME=localhost.localdomainUSER=martinMAIL=/var/spool/mail/martinLANG=en_US.iso885915LOGNAME=martinHISTSIZE=1000HOME=/home/martinTERM=linuxPATH=/usr/local/bin:/bin:/usr/bin:/home/martin/bin_=/usr/bin/envOLDPWD=/home/martin
36
psEste comando lista el estado de los procesos.
$ ps uUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDmartin 10009 0.0 0.8 2452 1280 tty2 S 15:52 0:00 –bashmartin 10076 0.0 0.4 2584 668 tty2 R 15:56 0:00 ps u
El comando anterior muestra el estado de los procesos del usuario actual
10
37
psSiendo
PID ÚNICO Identificador de ProcesoSIZE tamaño de la imagen virtual; tamaño de texto + data + stack
RSS Resident set size; Kbytes del programa en memoria
TTY tty que controla el procesoSTAT información sobre el estado del proceso
R ejecuciónS durmiendoD interrumpiblemente durmiendo T detenido o en modo trazaZ zombie
• W si el proceso no tiene páginas residentes• N si el proceso tiene un valor de prioridad positiva
38
ps$ ps ax
muestra el estado de todos los procesos de todos los usuarios incluyendo los del sistema
39
killEl nombre causa confusión.Envía señales a los procesos en ejecuciónEl SO, por defecto, da a cada proceso un conjunto normalizado de manejadores de señales (signal handlers) para el tratamiento de las señales que le lleguen.Desde el punto de vista de la administración, las señales más importantes son la 9 y la 15, ya que ellas matan a un proceso o lo terminan, respectivamente.Cuando el kill se invoca, requiere al menos un parámetro, el pid del proceso al que se le envía la señal.Si se pasa sin parámetro, el sistema toma la 15 por defecto.
40
kill
Algunos procesos interceptan esta señal y realizan
una serie de operaciones para poder terminar
adecuadamente.
Otros simplemente terminan.
Desde ya el uso del kill no garantiza la terminación
de un proceso.
11
41
signalUn parámetro opcional para el kill es –n donde n representa un número de señal.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 de un system call, en este caso el proceso morirá cuando terminé la ejecución del system call.La señal 1 (hang up), es un bit, que se utilizaba en los 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.
42
seguridadesLa potencia de poder terminar un proceso hace necesario tomar precauciones.Solamente el usuario puede terminar su proceso o aquellos que tengan permiso de matarlo.Si se intenta terminar un proceso sobre el que no se tiene privilegios, el sistema da mensajes de error.El root es la excepción a esta limitación. El root puede enviar señales a cualquier proceso. Desde ya esto implica una gran atención con lo que se hace.$kill 2059$kill –9 593$kill –1 1
43
topMuestra en una pantalla completa la información top de los procesos.Automáticamente se actualiza hasta que se detiene la ejecución del programa.Para detenerlo se oprime la tecla q
44
top3:56pm up 25 min, 1 user, load average: 0.14, 0.32, 0.3055 processes: 54 sleeping, 1 running, 0 zombie, 0 stoppedCPU states: 11.2% user, 5.9% system, 0.2% nice, 82.6% idleMem: 158920K av, 156164K used, 2756K free, 0K shrd, 5696K buffSwap: 498920K av, 0K used, 498920K free 47016K cachedPID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND10078 martin 15 0 1024 1024 828 R 3.8 0.6 0:00 top1 root 15 0 476 476 420 S 0.0 0.2 0:03 init2 root 15 0 0 0 0 SW 0.0 0.0 0:00 keventd3 root 15 0 0 0 0 SW 0.0 0.0 0:00 kapmd4 root 34 19 0 0 0 SWN 0.0 0.0 0:00 ksoftirqd_CPU05 root 15 0 0 0 0 SW 0.0 0.0 0:00 kswapd6 root 15 0 0 0 0 SW 0.0 0.0 0:00 bdflush7 root 15 0 0 0 0 SW 0.0 0.0 0:00 kupdated8 root 25 0 0 0 0 SW 0.0 0.0 0:00 mdrecoveryd1212 root 15 0 0 0 0 SW 0.0 0.0 0:00 kjournald91 root 15 0 0 0 0 SW 0.0 0.0 0:00 khubd588 root 15 0 560 560 472 S 0.0 0.3 0:00 syslogd593 root 15 0 444 444 384 S 0.0 0.2 0:00 klogd613 rpc 15 0 552 552 468 S 0.0 0.3 0:00 portmap641 rpcuser 17 0 712 712 620 S 0.0 0.4 0:00 rpc.statd726 root 15 0 644 644 480 S 0.0 0.4 0:00 cardmgr820 root 15 0 480 480 424 S 0.0 0.3 0:00 apmd896 root 15 0 944 944 756 S 0.0 0.5 0:00 xinetd
12
45
procinfo Información del sistemaprocinfo da información del sistema que toma del archivo /proc y lo muestra en forma de reporte en la pantalla.Algunas de las informaciones que entrega:
Tiempo del último arranqueCarga promedio
promedio de tareas en ejecuciónnúmero de procesos en ejecuciónnúmero total de procesosPID del último proceso en ejecución
Información de swapRecursos de memoriaNúmero de discosInformación sobre las IRQsInformación sobre los file systems
La informacións se actualiza cada 30 segundos
46
$procinfo –fn30Linux 2.4.18-3 (bhcompile@daffy) (gcc 2.96 20000731 ) #1 1CPU localhost]Memory: Total Used Free Shared Buffers CachedMem: 158920 156156 2764 0 5772 47044Swap: 498920 0 498920Bootup: Sun Aug 10 15:31:28 2003 Load average: 0.10 0.29 0.29 1/55 10081
user : 0:02:51.00 10.9% page in : 163056 disk 1: 25137r 4835wnice : 0:00:03.10 0.2% page out: 65079system: 0:01:30.74 5.8% swap in : 1idle : 0:21:47.11 83.2% swap out: 0uptime: 0:26:11.95 context : 158729
irq 0: 157195 timer irq 8: 1 rtc irq 1: 744 keyboard irq 9: 6 xirc2ps_cs irq 2: 0 cascade [4] irq 10: 2irq 4: 9 irq 11: 0 usb-uhci, Texas Instirq 6: 6 irq 12: 8381 PS/2 Mouse irq 7: 2 irq 14: 32718 ide0
47
Estructura del Sistema de Archivos
La estructura de archivos es una estructura arbolada
El tronco del árbol es el directorio raíz
El root directory se identifica por /
Todos los otros directorios son ramas que salen de ese tronco.
48
Estructura jerárquica de archivos
Estructura de árbol invertido.
Un directorio equivale a abrir una rama dentro del árbol.
Los directorios pueden contener otros directorios, archivos ordinarios o estar vacíos.
Un archivo ordinario es siempre el último archivoen un path
13
49
pathnames
El primer directorio de la estructura es el directorio raíz; todos los demás archivos y directorios parten de él. El directorio raíz se designa con un nombre especial, /. Ningún otro archivo puede tener este nombre.Se lo denomina root, de allí el nombre del superusuario.
50
pathnamesTodos los archivos forman parte de la jerarquía. Cualquier archivo de esta estructura es parte de una red de directorios conectados. Esta red de directorios, junto con el nombre de un archivos particular, constituye el pathname para un archivo.Cada archivo se identifica con un único pathname, que describe su localización con respecto a los otros directorios.Se puede especificar un nombre de archivo utilizando pathnames
51
pathnamesUn pathname absoluto especifica la localización de un archivo
desde el directorio raíz. Por lo tanto, todos los pathnames absolutos deben de empezar
con un slash (/).
Un pathname relativo especifica la localización de un archivocon respecto al directorio en que se está trabajando, en lugar del directorio raíz, por lo que no empiezan con un slash
(/).
. El punto se refiere al directorio en que se está
.. dos puntos se refiere al directorio padre
52
HOMEDIRECTORYEl home directory es un subdirectorio del directorio raíz (root) en el que se entra cada vez que se hace login
es donde van a residir los archivos del usuario. Normalmente tiene el mismo nombre que el nombre de usuario.El comando pwd ( print working directory) dice en qué directorio se está. El formato es simplemente :
$pwd
14
53
Principales Directorios/ root directory/home directorio de los usuarios/usr comandos y utilitarios de Linux
/bin programas ejecutables/lib bibliotecas similares a las DLL de Windows/sbin más ejecutables de tipo administrativos/doc documentación/src código fuente de los programas
/tmp archivos temporarios de trabajo
54
Principales Directorios/etc archivos de configuración
/rd.d scripts usados durante el arranque y parada
/sysconf archivos de configuración por defecto/sysconf/daemons
programas especiales que se ejecutan en background
/bin archivos ejecutables que utilizan todos los usuarios
/dev archivos de dispositivos
55
Principales directorios/var archivos específicos de los
usuarios/log archivos logs /spool archivos utilizados durante las
impresiones/mail archivos de e-mail
/proc archivos del sistema/root home directory del root/opt otras opciones/sbin más ejecutables y utilitarios
56
Archivos y Directorios en Linux
pwd
mkdir
rm
Metacaracteres
*
?
[ ]
cd
rmdir
ls
cp
mv
wc
15
57
pwdMostrar el nombre del directorio completo actual/home/jpbeck
58
cdPara cambiar de directorio
se ubica en el directorio padrecd ..se ubica en el directorio /etccd /etcse ubica en el directorio rootcd /se ubica en el H0MEDIRECTORYcd
Qué haceEjemplos
59
mkdir rmdirmkdir Crea nuevos directoriosrmdir Borra directorios, pero que no contienen
archivosrm –r Borra en primer lugar los archivos que
contiene el directorio, y luego el directorio
borra al directorio dire1, junto con todos los directorios y archivos que contenga
rm –r dire1
borra al directorio estedir, si el mismo se encuentra vacio
rmdir estedir
crea un nuevo directorio denominado midirmkdir midir
60
mkdir
Se utiliza para crear directorios$mkdir midirCon la opción –p, se puede crear una rama de directorios, suponiendo que sólo existe /tmp$mkdir –p /tmp/bigdir/subdir/midiral ejecutarse de generó automáticamente bigdir, subdir y midir.
16
61
rmdir
Idem a la creación, con la opción –p puede borrar
directorios padre también
$ rmdir –p bigdir/subdir/midir
es importante la ubicación desde donde uno está
borrando directorios.
62
lsMuestra el contenido de un directorio
Muestra el archivo correspondientefilename(s)
muestra los archivos más recientemente accesados
-t
lista los archivos en orden alfabético inverso-r
muestra todos los archivos, aún los ocultos-a
lista el directorio actual y todos los directorios dentro del mismo
-Rlistado largo-lQué hace?Opciones
63
ls
Lista todos los archivos del directorio /etc, que sólo comienzan con rc y los ordena por el más recientemente utilizado
ls –lt /etc/rc*
Lista todos los archivos, ordenados por el más reciente utilizado primero
ls –lt
Lista todos los archivos del directorio actual y los que están por debajo
ls –R
Lista todos los archivos/directorios del directorio actual en formato largo
ls –l
muestra en una única lista todos los nombres de los archivos y directorios en el directorio actual
ls
¿Qué hace?Ejemplos
64
ls –l total 43-rw-rw-r— 1 martin martin 190 Aug 10 15:55 df-rw-rw-r-- 1 martin martin 5 Aug 10 15:55 du-rw-rw-r-- 1 martin martin 885 Aug 10 15:56 env-rw-rw-r-- 1 martin martin 230 Aug 10 15:54 free-rw-rw-r-- 1 martin martin 51 Aug 10 15:54 id-rw-rw-r-- 1 martin martin 0 Aug 10 16:04 lsl-rw-rw-r-- 1 martin martin 1124 Aug 10 15:57 procinfo-rw-rw-r-- 1 martin martin 208 Aug 10 15:56 ps-rw-rw-r-- 1 martin martin 1785 Aug 10 15:56 top-rw-rw-r-- 1 martin martin 62 Aug 10 15:53 uptime-rw-rw-r-- 1 martin martin 31 Aug 10 15:53 who
17
65
Información que muestra ls -lTIPO DE ARCHIVO :
d directorio - archivo ordinario
TIPO DE PERMISOS :r lecturaw escriturax ejecución
66
Información que muestra ls -l
NUMERO DE ENLACES
NOMBRE DEL PROPIETARIO DEL ARCHIVO
NOMBRE DEL GRUPO AL QUE PERTENECE EL PROPIETARIO
TAMAÑO DEL ARCHIVO (en bytes)
FECHA DE LA ULTIMA MODIFICACION
NOMBRE DEL ARCHIVO
67
Protección de archivos
Existen tres clases diferentes de usuarios de un archivo y tres modos diferentes de acceso al archivo.
CLASES DE USUARIO
Propietario
Grupo
Otros
68
Modos de accesoLECTURA (r)
Permite examinar el contenido del archivo. Permite listar los archivos contenidos en el directorio.
ESCRITURA (w)Permite cambiar el contenido del archivo.Permite crear y borrar archivos.
EJECUCION (x)Permite ejecutar el archivo como un comando.Permite buscar en el directorio.
18
69
Especificación de permisosrwx rwx rwx| | || | |_______ permisos para otros usuarios| || |____________ permisos para el grupo de
usuarios||________________ permisos para el usuario
propietario
70
Metacaracteres (wildcards)
representa los valores no contemplados en el rango
[ ! desde – a ]
representa un rango[ desde - a ]
representa uno y sólo un caracter?
representa ningún, uno o cualquier cantidad de caracteres
*Qué haceOpciones
71
Nombres de los ArchivosLetras mayúsculas ( A - Z ).Letras minúsculas ( a - z ).Números ( 0 - 9 ).Subrayado ( _ ).Punto ( . ).Coma ( , ).Extensión de un archivoNo se admiten espacios en blanco en el nombre
72
Metacaracteres
Todos los archivos que no comiencen ni con M o N u O[!M-O]*
todos los archivos que comiencen con x, y cuya segunda letra sea una A, o B o C
x[A-C]*todos los archivos que comiencen con a o b o c[a-c]*
todos los archivos cuyos nombres son de 4 caracteres y empiecen con th
th??
todos los archivos que comienzan con a y terminan con z
a*mtodos los archivos que terminan con z*ztodos los archivos que empiezen con aa*Qué haceEjemplos
19
73
Expansión del nombre de un archivo
Utilizando el bash, los wildcards o metacaracteres en la línea de comando se expanden antes de pasarse como parámetros a la aplicación. Si se quiere utilizar los metacaracteres como parte de un parámetro por alguna razón, se deben utilizar precedidos por el backslash (\). Esto hace que el shell interprete al asterisco, al signo de pregunta como caracteres regulares en vez de metacaracteres.
74
Archivos Invisibles u OcultosLos archivos cuyos nombres comienzan con un punto (.) Normalmente los archivos ocultos se utilizan para guardar información que el sistema utiliza automáticamente.$ ls -a
75
chmodEl comando chmod (change mode) se utiliza para cambiar los permisos de un archivo ordinario y de un directorio. Existen dos formas de cambiar los permisos. Se pueden cambiar teniendo encuenta los permisos existentes (modo simbólico)O se pueden asignar permisos independientemente de los ya existentes (modo absoluto).
76
chmod modo simbólico
Cuando se utiliza el modo simbólico se pueden
añadir o quitar permisos a los archivos y
directorios.
El formato del comando chmod simbólico es:
chmod [who] código-operador permisos fichero
[who] Tipo de usuario
20
77
chmod modo simbólicoPuede tener los siguientes valores:
u : propietario del ficherog : grupo del que el propietario es miembroo : usuarios clasificados como otrosa : todos los usuarios del sistema (propietario, grupo y otros)
Código-operador: Indica la operación que se va a realizar:+ : añadir permisos- : quitar permisos
Tipo de permiso:r : permiso de lecturaw : permiso de escriturax : permiso de ejecución
78
chmod modo simbólico
Por ejemplo, si el archivo progra1 tiene los siguientes permisos:
rwx r_ _ r_ _
y si se quiere dar al grupo de usuarios y al resto de los usuarios del sistema, el permiso de ejecución$chmod go +x datos
79
chmod modo absolutoEl modo absoluto se especifica con 3 dígitos numéricos;
cada número representa los permisos de cada tipo de usuario. Estos dígitos se obtienen, para cada clase de usuario, a partir de los valores siguientes:
4 : permiso de lectura2 : permiso de escritura1 : permiso de ejecución.
80
chmod modo absoluto0 : ningún permiso1 : permiso de ejecución2 : permiso de escritura3 : permiso de ejecución y escritura (1+2)4 : permiso de lectura5 : permiso de lectura y ejecución (4+1)6 : permiso de lectura y escritura (4+2)7 : permiso de lectura, escritura y ejecución (4+2+1)
21
81
chmod modo absolutoLa sintaxis para el comando chmod absoluto es:
chmod modo archivomodo: Son 3 dígitos numéricos. Cada uno de ellos corresponde a los permisos de cada tipo de usuario.archivo: Nombre de archivo o directorio.
Por ejemplo:$chmod 777 datos
concede permisos de lectura, escritura y ejecución sobre el fichero datos, a todos los usuarios.
82
Directorios
El directorio es una instancia especial de un
archivo normal
El archivo directorio contiene una lista de archivos,
donde algunos de ellos pueden ser a su vez
directorios.
Concepto similar al folder o carpeta de Windows.
83
Copiar – Renombrar - Movercp Copia un archivo
$ cp archi1 archi2copia el archivo archi1 con el nombre archi2, en el mismo directoriomv Renombra archivos
$ mv archi2 archi3le cambia el nombre al archivo archi2 llamándose ahora archi3mv Mueve archivos
$ mv archi1 /home/pepe/archi5mueve el archivo archi1 del directorio actual (copiando y borrando) al directorio /home/pepe y denominándolo archi5
84
cpDispone de una cantidad significativa de opciones. (ver con man cp)Para copiar index.html a index-orig.html$cp index.html index-orig.htmlse supone que el archivo index.html se encuentra el directorio corriente, y se copia con otro nombre en el mismo directorioPara realizar copias interactivas
$cp –i *.html /tmp
22
85
mvPuede mover archivos de una ubicación a otra, también a distintas particiones. En este último caso necesita que primero se haga la copia, por lo que se demora un poco más en su ejecución.Para mover el archivo desde /usr/src/myprog/bin/* a /usr/bin$ mv /usr/src/myprog/bin/* /usr/binPara renombrar /tmp/blah a /tmp/bleck$mv /tmp/blah /tmp/bleck
86
rmBorrar archivos
$ rm archivitos borra el archivo archivitos
$ rm –i abc* borra, pidiendo confirmación, a cada archivo que comienza con abc
$ rm abc* borra instántaneamente todos los archivos que comiencen con abc
87
wcSe utiliza para contar líneas, palabras y caracteres de un archivo
-c número de caracteres-w número de palabras-l número de líneas
$ wc /etc/sendmail.cf lista el número de líneas, palabras y caracteres en el archivo sendmail.cf
$ ls /etc | wc –l Muestra el número de archivos y directorios que contiene /etc
88
Enlaces o Accesos DirectosEnlace o Vínculos : permite que se comparta la información. La existencia de vinculos es lo que convierte al árbol en un grafo acíclico.
VINCULO
23
89
Enlaces o VínculosEl vínculo es un enlace con el archivo físico, para compartir un archivo entre varios usuarios.No se puede crear un archivo vínculo de la nada, es necesario que exista el archivo físico al cual está vinculado.Al realizar un ls el vinculo viene representado como :
clase - > / etc / passwd
VINCULOArchivo Físico
90
Enlaces o VínculosEnlaces SIMBÓLICOS : Amplia el concepto de vinculo permitiendo vincularse a directorios o archivos de la red. Un vinculo simbólico desde el punto de vista físico no es más que un archivo que contiene el nombre de otro. No se implementa un vínculo, sino que viene el archivo vinculado. Al hacer un vinculo, crea una entrada más en la tabla de directorios, y al mismo tiempo un archivo al que estávinculado.Directorios : Archivo que contiene información sobre otros archivos( es un archivo). Se puede tratar con las ordenes de tratamiento de archivos.
91
Enlaces Duros y SimbólicosHard link
$ ln pwd otroSoft link
$ ln –s pwd otromas$ ls –il7418 -rw-rw-r-- 2 martin martin 0 Aug 10 16:27 otro 7420 lrwxrwxrwx 1 martin martin 3 Aug 10 16:26 otromas -> pwd7418 -rw-rw-r-- 2 martin martin 0 Aug 10 16:27 pwd
92
Enlaces durosUn hard link no puede existir entre dos archivos que se encuentren en particiones separadas. Esto se debe a que el hard link hace referencia al i-nodo del archivo original, y el número de i-nodo puede diferir de partición en partición.$ ln pepe /home/miguel/pepe$ ls –i pepe$ ls –i /home/miguel/pepelos dos últimos comandos van a mostrar el mismo i-nodo, y el número de enlaces en 2
24
93
Enlaces simbólicos o blandos
Los hard link, que apuntan al archivo a través de su i-nodoLos symbolic link apuntan a otro archivo por su nombre.Esto permite a los symlinks apuntar a archivos ubicados en otras particiones, aún sobre discos de red.
94
ln
El formato general del comando es
ln original_file new_file
Pero ln tiene muchas opciones, la más común es –s, que crea un enlace simbólico en vez de uno duro.
$ln –s /usr/local/bin/myadduser /usr/bin/myadduser
95
Archivos de texto
fileMostrar archivos
lesscatheadtail
| pipes
Comandos múltiples
sort
grep
96
fileVerificación del tipo de archivo
$ file otrootro: ASCII text$ file otromasotromas: symbolic link to pwd
25
97
pipes |Si se desea saber cuantos usuarios hay logueados al sistema en un instante determinado
$who > logueados$wc –l logueados$rm logueados
Mediante la técnica de redireccionamiento se logro escribir un archivo, el cual después se leyo y dio la informaciónPero en un ambiente de multiprogramación, la escritura y lectura de disco, es un costo muy elevadoMediante pipes se resuelve todo en memoria
$who | wc –lAhorro de una escritura y una lectura en disco.
98
pipesLos pipes son un mecanismo por el cual la salida de un proceso se envía a la entrada de otro proceso
$printenv | grep PS1El intérprete de comandos de Windows utiliza también pipesLa diferencia radica en que los pipes se ejecutan concurrentemente, mientras que en Windows cada proceso se ejecuta en orden, utilizando archivos temporales para guardar los resultados parciales.
99
Comandos múltiples
Si se ejecuta
$ls –l
$ cat /etc/passwd
lo puedo hacer en una única línea de comando
$ls –l; cat /etc/passwd
100
RedireccionamientoMediante el redireccionamiento la salida de un proceso se puede enviar directamente a un archivo.El shell más que el proceso en sí administra esta situación, proveyendo de los mecanismos para que la misma se cumplaRedireccionamiento
salida a un archivoagregar a un archivoenviar un archivo como entrada
26
101
Redireccionamiento
$ls > /tmp/directory_listint
$echo “Final” >> /tmp/directory_listing
$grep ‘root’ < /etc/passwd
102
Mostrando Archivosless se utiliza para visualizar el contenido de
un archivo de texto$ less /etc/passwd
Mientras se visualiza se dispone de una serie de opciones que permiten moverse sobre el archivo hacia atrás y hacia adelante, y también buscar palabras.more se utiliza para visualizar el contenido de
un archivo de texto$ more /etc/passwd
Idem al anterior, pero con menor cantidad de posibilidades
103
Mostrando Archivoscat Muestra el archivo de texto completo, no
tiene posibilidad de paginación como el less o el more
$ cat /etc/passwd
También se puede utilizar para crear un nuevo archivo
$ cat > nuevoArchiSe ingresan las líneas de texto por teclado. Para cerrar el archivo se pulsa CTRL - D
104
cat
Muestra el contenido de los archivos.$cat /etc/passwd$cat /etc/passwd /etc/groupPara concatenar dos archivos en uno sólo$cat /etc/passwd /etc/group > /tmp/compPara concatenar un archivo a otro ya existente$cat /etc/passwd >> /tmp/orb
27
105
Mostrando Archivoshead Sólo muestra las primeras líneas de un
archivo de texto$ head –5 /etc/passwd
Solo muestra las primeras 5 líneas del archivo passwd
tail Sólo muestra las últimas líneas de un archivo de texto
$ tail –5 /etc/passwdSólo muestra las últimas 5 líneas del archivo passwd
106
Mostrando Archivosgrep se utiliza para encontrar un dato
específico dentro de un archivo o grupo de archivos
archivo sobre el que se hace la búsquedafilenametexto que se buscapatternignora mayúsculas y minúsculas-i
Hace lo opuesto a lo normal, lista las líneas que no cumplen
-v
Muestra la cantidad de líneas que cumplen la condición
-cQue haceOpciones
107
$ grep home /etc/passwd$grep –v home /etc/passwd$grep –c home /etc/passwd$grep ‘name*’ /etc/sendmail.cf$grep ‘domain name’ /etc/sendmail.cf$grep tcp /etc/rc*$grep TCP /etc/rc*$grep -i tcp /etc/rc*
Ejemplos de uso de grep
108
sortordenamiento de un archivo
- r ordenamiento en orden inversonombre del archivo-o archivo destino
Ejemplos$ sort /etc/passwd$grep home /etc/passwd | sort$grep home /etc/passwd | sort –r$sort /etc/passwd –o nuevopasswd
28
109
Cambio de propietario y grupochown cambio de propietario de archivos o
directorioschgrp cambio de grupo sobre archivos o
directorios
$ chown pepe archi archivos
$ chgrp mgmt archi1 listado2
110
Otros comandosdate permite visualizar o cambiar la fecha y
hora del sistemacal muestra el calendario del mes actual, año
indicado, o mes y año indicadoclear limpia la pantallatouch cambia la fecha de actualización de un
determinado archivo. En caso de no existir el archivo genera un archivo con 0 bytes.
111
Otros comandospidof Indica el número de proceso, si se colgara un
proceso se hace pidof <nombre>, y da un número ese es el pid.
diff Compara dos archivos en formato texto línea por línea.
find Busca algún archivo y ejecuta alguna acción con estos archivos.
locate Lista archivos asociados al patrón dado.tar Empaqueta o desempaqueta un conjunto
de archivos o directorios. Ver man para opciones.
112
Otros comandoszip Comprime o descomprime archivos.gzip Comprime o descomprime archivos,
usando el compresor gunzip.bzip2 Formato de compresión mas nuevo que
los anteriores, permite mayor compresión de los datos.
su Permite realizar tareas de superusuario estando logueado como usuario normal.
df Permite ver el uso de los discos que se encuentran montados. Tamaño de lo usado.
du Permite ver el tamaño de los directorios, se puede definir en que unidad de medida.
29
113
Tareas de Control Jobs ControlDesde el entorno bash se pueden comenzar múltiples programas desde el mismo prompt.Cada programa se lo denomina jobCuando un job comienza toma control de la terminal (el término proviene de las terminales bobas tipo VT-100 y Wyse-50)La terminal es la interfaz que existe cuando se trabaja en modo texto o la ventana que se crea a partir del X Windows sobre el cual el bash se ejecuta.Las terminales utilizadas en X Windows se llaman pseudo tty o pty
114
Jobs ControlSi una tarea tiene control de la terminal, cuando termina tendría que darle el control a la tarea que lo supervisa.Se tiene otra manera de trabajar
$galion&Inmediatamente después de oprimir el Enter, el bash devuelve el prompt. La tarea se ejecuta en background.Si el programa ya se está ejecutando y tiene control de la terminal, se puede hacer que la tarea abandone el control de la terminal presionando CTRL-z. Esto detiene la ejecución y devuelve el control al bash, de tal modo que se pueden introducir nuevos comandos.
115
Jobs Control
En cualquier momento se puede saber cuantas tareas están a cargo del bash ejecutando el comando
$jobsEl listado de programas que aparece estará en dos estados posibles:
ejecución (running)stopped (detenido o bloqueado)
116
Jobs ControlSi una tarea está detenida, se la puede empezar a ejecutar en background, dejando de este modo libre el control de la terminal.O se puede ejecutar la tarea en modo foreground, que le da el control de la terminal a la tareaSi se quiere ejecutar en background
$ bg numeroSi se quiere ejecutar en foreground
$ fg numerosiendo numero el número de job a tratar
30
117
Variables de ambienteCada instancia del shell se ejecuta en su propio ambiente, dándole un look & feel particularEl seteo particular se logra a través de las llamadas variables de ambiente (environment variables)Algunas variables tienen un significado especial para el shell, se utilizan en los shell scripts.Idem al concepto de variables de ambiente del NT y Windows 2000, la diferencia es que se pueden setear, ver y borrar.
118
Variables de ambientePara visualizar todas las variables de ambiente
$printenvPara observar alguna variable en particular
$printenv OSTYPESeteo de las variables
$ variable = valordonde variable es el nombre de la variable y valor es el
valor que se le asignaUna vez setea una variable se la puede pasar a otro entorno para ello se dispone de un comando
$export variable
119
Variables de ambiente o entornoSi el valor a asignar a una variable de ambiente tiene espacios en blanco, se tiene que encerrar con doble comilla
$export PEPE = “Bienvenidos al Tren”Para remover o borrar una variable de ambiente
$unset PEPECada shell tiene mecanismos especiales para setear y remover sus variables.
120
Backticks ` `La salida de un proceso puede ser el parámetro de otro procesoLos backticks ( ` ) pueden embeber comandos como parámetros en otro comando.Un servidor DNS, llamado named, tiene que terminarse.
cuando named comienza, escribe su número de identificación de proceso en el archivo /var/run/named.pidutilizando el comando cat se puede visualizar dicho número$cat /var/run/named.pid1243$kill –9 1243
Todo se lo puede ejecutar de la siguiente forma$ kill –9 `cat /var/run/named.pid`
31
121
herramientas de documentaciónman
info System tools8
Packages7
Games6
Configuration files5
Device Driver Information4
C library calls3
System Calls2
User tools1
TemaSección del Manual
122
man$man program_name$man ls$man 3 printf$man 1 printf
por defecto, la sección más baja se muestra primero$man –k printf
da un informe resumido de todas las páginas del manual, con su número de sección correspondiente.
123
Block DevicesTodos los dispositivos se acceden a través de archivosLos archivos tipo dispositivos de bloques se utilizan para la interfaz con dispositivos tales como discosUn archivo de block device tiene 3 rasgos identificatorios
un número mayorun número menorcuando se visualiza con ls –l, muestra b como primer caracter
124
block devices$ls –l /dev/hdabrw-rw---- 1 root disk 3, 0 May 5 1998 /dev/hda
b al principio indica que se trata de un block device3 es el número mayor0 es el número menorEl número mayor del block device identifica al device driver. Cuando se accede a un archivo el número menor se pasa al device driver como parámetro diciéndole cual es el dispositivo que se accede.Si se disponen de 2 ports, que comparten el mismo device driver o sea tendrán el mismo número mayor, pero cada port serial tendrá un único número menor.
32
125
character device
Son archivos especiales que permiten acceder a determinados dispositivos a través del filesystem.
Los dispositivos de bloques se comunican mediante grandes bloques, mientras que los de caracter lo hacen de un caracter por vez.
Un disco rígido es un dispositivo de bloque
Un modem es un dispositivo de caracter
126
character device
Idem a los dispositivos de bloques, empiezan en
vez de con una b de bloques con una c de caracter
Poseen un número mayor y un número menor que
cumple el mismo rol que en los dispositivos de
bloques.
127
findPermite ubicar un archivo basado en diferentes criterios.Tiene muchas opciones (recomendación leer el man find)Para encontrar todos los archivos en /tmp que no se accedieron en los últimos 7 días$find /tmp –atime 7 –printEncontrar todos los archivos en /usr/src cuyos nombres son core y borrarlos$find /usr/src –name core –exec rmEncontrar todos los archivos en /home que terminen en .jpg y sean mayores a 100K en tamaño$find /home –name “*.jpg” –size 100k
128
el parámetro exec
Uno de las parámetros más utiles para find es –exec.
Este le permite a find ejecutar un comando sobre cualquier archivo encontrado.
El nombre del archivo se pasa al comando utilizando el string “{}”, y al fin del comando se coloca un \.
Buscar el string ‘tcp’ en todos los archivos en /usr/include/netinet utilizando grep
$find /usr/include/netinet –name “*.h” –exec grp ‘tcp’ {} \; -print
33
129
dd copiar y convertir un archivoLee el contenido de un archivo y lo envía a otro archivo.Su diferencia con cp es que realiza conversiones al vuelo (on-the-fly) y acepta datos desde una cinta o floppy u otro dispositivo.Cuando dd accede a un dispositivo, no asume nada acerca del filesystem, y coloca los datos en un formato crudo (raw format)dd se utiliza para generar imagenes de discos aún cuando el disco tenga un formato diferente.Para generar una imagen de un floppy (especialmente útil cuando tiene formatos diferentes)
$dd if=/dev/fd0 of=/tmp/floppy_imagedonde if infile y of outfile
130
gzipgzip no comparte formato de archivo ni con PKzip o WinZip; sin embargo, WinZip puede descomprimir archivos comprimidos con gzip.compress era el comando para comprimir archivos tradicionalmente en UNIX, pero alguién lo patentó, de modo tal que el GLP, no pudo aplicarse a él.Para reemplazarlo se creó el gzip, que resulto con un algoritmo de comprensión mejor que el compress.Permite descomprimir archivos comprimidos con compress
131
gzipGeneralmente los archivos comprimidos con gzip tienen una extensión .gz, mientras que los comprimidos con compress .zgzip lo comprime sobre sí mismo al archivoPara comprimir un archivo
$gzip miarchivoPara descomprimirlo
$gzip –d miarchivo.gzPara comprimir varios archivos utilizando la mejor comprensión
$gzip –9 *.html
132
tar
El tar combina múltiples archivos en uno sólo.
Permite seleccionar que herramienta de comprensión se va a utilizar
Permite leer y escribir en dispositivos tal como lo hace dd.
Es un buena herramienta para realizar backups en cintas.
34
133
tape archiver
$ tar –cf apache.tar /usr/src/apache
crea (-c) un archivo apache.tar (-f ) conteniendo todos los archivos de /usr/src/apache
Crear un archivo llamado apache.tar con todos los archivos de /usr/src/apache, pero mostrando lo que sucede mientras se realiza
$tar –cvf apache.tar /usr/src/apache
134
tarCrear 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$tar –cvzf apache.tar.gz /usr/src/apachela opción –z es para que utilize el gzip como programa para comprimir el archivo.Para crear un archivo en un floppy$tar –cvzf /dev/fd0 /usr/src/apachePara recuperar la información guardada en un diskette$tar –xvzf /dev/fd0desde ya lo recupera donde uno está parado en la estructura de directorios.
135
whichBusca en el path completo para encontrar el archivo especificado en la línea de comando.Si el archivo se encuentra, muestra el path del mismo$which lsEl which busca sólo en el path, mientras que el find lo hace desde donde se le indicaEl which por el motivo anterior es más rápido, aunque más limitado
136
whereis
Busca en el path del usuario y muestra el nombre
del archivo y su path absoluto
$ whereis grep
35
137
syncComo se dispone de una cache de disco para mejorar la eficiencia, implica que no siempre lo que se mando a escribir a disco se realizóPara planificar que la cache de disco escribe sobre el disco se utiliza el comando syncSi sync detecta que la escritura de la cache ya se planificó, el kernel de inmediato baja la información a disco.Para asegurarse que la cache de disco sea flusheada$sync; sync
138
unameEn el caso en que uno estuviera conectado remotamente a diversos servidores, puede ocurrir que no sepa en que servidor está (algo parecido a los directorios)También es útil para los scripts shell, ya que se puede variar el path de acuerdo al servidor
todo lo anterior-a
versión del sistema operativo-v
nombre del sistema operativo-s
muestra el número de release del SO-r
muestra el nombre del hostname-n
muestra el tipo de hardware de la máquina (i686 para el Pentium Pro)-m
DescripciónOpción
139
unamePara obtener el nombre del sistema operativo y release del mismo$uname –s –rLa opción –s parece no tener sentido, pero es muy útil cuando hay mezcla de sistemas operativos trabajando en las workstations, en una workstation SGI devuelve IRIX, mientras que en un SUN devuelve SunOS.Es muy útil en los scripts que deben trabajar en diferentes entornos de UNIX
140
suUna vez que uno se logueo, si desea cambiar de identidad, o sea loguearse como otro usuario no se necesita salir y volver a loguearse, simplemente se cambia de usuarioEl su sin ningún parámetro intenta conectarse como superusuario.Cuando se le pasa un parámetro ese tiene que ser el identificador de un usuario del sistema.$su pepe$su – pepeEl – del último comando informa que se loguee corriendo el login script que le corresponde a dicho usuario.
top related