Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Basico UNIX
Basico UNIX
Kernel
Shell
Creado por el finlandés Linus Torvalds (1992) a
partir de Minix
Es libre
De código abierto.
# man command
# man option command
# man option filename
Ejemplo:
# man ls
Con la opción –l nos muestra si existe más de 1
manual de ayuda para el comando.
Con la opción –s nos da la ayuda correspondiente al
numero seleccionado ejemplo:
Práctica 2
Moverse entre directorios
Listar información
Rutas absolutas y relativas
Mostrar contenido de archivos
Un directorio es una lista de referencias a
objetos, puede incluir archivos, subdirectorios
y ligas simbólicas.
Cada referencia consiste de 2 componentes: un
nombre y un número
El nombre del objeto es usado para identificar
y accessar al objeto.
El número especifica el i-nodo en el cuál se
almacena la información sobre el objeto.
Opciones mas comunes del comando ls:
Opciones:
- : Regresa al último directorio donde se haya
estado.
Ejemplos:
cd
cd /tmp
cd ../../../carpeta
cd -
El comando pwd muestra el directorio en el que
actualmente se esta trabajando.
Sintaxis: pwd
Absoluta.- Siempre comienza con el directorio
raíz
p.e. /usr/local/bin/sudo
p.e. ../../una/carpeta/archivo
carpeta/en/esta/posicion
./script.sh
El comando cat despliega en pantalla el contenido de un archivo de texto.
# cat filename
# more filename
# wc –option filename
Práctica 3
Copiar, renombrar, mover, crear y
eliminar archivos y directorios
Ligas simbólicas
El comando cp se utiliza para copiar el contenido de
un archivo a otro, o copiar varios archivos.
La sintaxis es:
La sintaxis es:
Ejemplo:
El comando mv se utiliza para:
• Mover archivos y directorios dentro del árbol
# mv file1 file2
# mv /export/home/user1/file1 /var/tmp/file1
Ejemplo:
# mv /etc/hostname.hme1 /etc/hostname.hme0
Se pueden crear archivos y directorios vacíos dentro
del árbol jerárquico de directorios, los comandos
son:
• Crear archivos
# touch filename
• Crear directorios
# mkdir dir1
# mkdir –p dir10/dir11/dir12
Ejemplos:
# touch
# mkdir
El comando rm es utilizado para borrar directorios o
archivos.
# rm –option filename
Ejemplos:
Ejemplo:
Existen 2 maneras de borrar directorios, se puede utilizar el
comando rmdir para eliminar directorios vacíos o bien la opción
–i para el comando rm. Si un directorio no esta vacío aparecerá
un mensaje indicandolo
La sintaxis es la siguiente:
• Directorio vacío
# rmdir dir1
# rm –r dir2
Ejemplos:
• Directorio vacío:
La sintaxis es:
# ln –s source_file target_file
Se puede utilizar el comando rm para borrar una liga simbolica como
cualquier otro archivo.
Ejemplo:
Práctica 4
Uso de editor vi
Listar permisos en archivos y directorios
Cambio de permisos (dueño y grupo) de
archivos y directorios
Listar atributos
Cambiar atributos
umask
ed
vi
nano
sed
emacs
Editor de texto interactivo sin formato
Creado por Bill Joy en 1976 (basado en ed y
ex) Comandos Acciones
:wq Write / Quit
X, x Borra carácter
I, i Inserta
D,d Borrado de líneas
Y, yy Copiado de línea en
buffer
o Nueva Línea
P, p Inserción desde el buffer
Usuario Propietario
Grupo propietario
Permisos (modo)
Modificabilidad
El usuario quien creó el archivo.
Opciones:
-R (recursive) .- Cambia los permisos a los subdirectorios
y archivos de la carpeta dada
-v (verbose) .- Muestra los cambios que se realizan
Ejemplos:
chown user1 /home/user2/miarchivo
chown -R -v user2:xertix otroarchivo.txt
chown :users archivo.txt
Generalmente es el grupo primario al que
pertenece el usuario propietario.
Opciones:
-R (recursive) .- Cambia los permisos a los
subdirectorios y archivos de la carpeta dada
-v (verbose) .- Muestra los cambios que se realizan
Ejemplos:
chgrp grupo1 /home/user2/miarchivo
chgrp -R -v xertix unacarpeta
PERMISOS NOMENCLATURA VALOR
PARA
r = read rwx
w = write 000 - 0
Usuarios x = execute 001 - 1
010 - 2
1 = encendido 011 - 3
Grupo 0 = apagado 100 - 4
101 - 5
Otros 110 - 6
111 - 7
Ejemplos:
rwx rw- --x (761)
usuario grupo otros
Opciones:
-R (recursive) .- Muestra los atributos de la
carpeta y sus subdirectorios
-a (all) .- Lista los atributos de todos los
archivos en el directorio
Ejemplos:
lsattr archivo.txt
lsattr –R carpeta
Sintaxis: chattr [opciones] archivo
Opciones:
-R (recursive) .- Modifica los atributos
de la carpeta y sus subdirectorios
Ejemplos:
chattr -i archivo.txt
chattr –R +i carpeta
Todos los archivos y directorios tienen
asignados permisos por default al momento de
ser creados.
Opciones:
Opción Característica Opción Característica
-u ID de usuario -d Ruta al home
-g ID de grupo -m Crea el home en caso de que no
existiera
-c GECOS -s shell
Ejemplos:
useradd –u 2000 –g 2000 –c “GECOS” –m –d /export/home/user1 –s /bin/bash user1
# cat /etc/shadow
rpcuser:7z07DAcPey8yc:14409:0:30:7:60::
nfsnobody:e4NfjwRHauKTA:14056::::::
user1:i.PQUTBHzxVws:14400:0:30:7:60::7
Ejemplo:
passwd user1
passwd –l user1
Sintaxis: chage [opciones] usuario
Opciones:
-m : Mínimo de días en que deberá pasar antes del cambio de
contraseña
-M : Máximo de días que deberá pasar para el cambio de
contraseña
-w : Días previos al vencimiento en que deberá avisar la
expiración de la contraseña
-d : Expiración de contraseña
-l : Lista la configuración de la política para el usuario
-E yyyy-mm-dd : Fecha en que expira la contraseña
Ejemplos:
Si ya se cuenta con algún usuario en el sistema y se desea
modificar alguna de sus propiedades se utiliza el comando
usermod.
Opciones:
-o : Permite la duplicidad de ID
-m : Mover el home del usuario
-l : Cambia el nombre (login) del usuario
-f : Se define el número de días en que puede estar inactiva
antes de bloquearse
-e : Define la fecha de expiración de la cuenta
Si ya se cuenta con algún usuario en el sistema y se desea
eliminar, se utiliza el comando userdel el cual puede borrar
solo el usuario y dejar su información disponible.
Opciones:
-r : Elimina el home del usuario y su contenido, dejando los
archivos que el usuario pueda tener en otros directorios.
Es posible crear, modificar y eliminar grupos dentro del
sistema, para esto se utilizan los siguientes comandos.
Ejemplos:
ps –fea | more
ls | grep [a-z] | sort | tail | less
Comando basado en sed para búsqueda de patrones en archivos
Opciones:
-l : Imprime únicamente el nombre del archivo que contenía el patrón
-n (number of line) : Antepone el número de la línea en dónde se encuentra el patrón
-i (ignore case) : Considera Mayúsculas y minúsculas en su búsqueda
-r (recursive) : Realiza la búsqueda en el directorio requerido y todos sus subdirectorios
-v (invert) : Invierte la búsqueda
-c (count) : Cuenta las líneas que incluyan el patrón
-w : Busca la expresión como una palabra completa ignorando aquellos patrones que
son subcadenas de palabras mas grandes.
Ejemplos:
grep 502 /etc/passwd
grep –r –i body /public/html
Sintaxis: tar [opciones] paquete_destino.tar archivo(s)_origen
Opciones:
-x (extract) .- Extrae los archivos de un archive
-f (force) .- Indica un archive de archivos
-c (create) .- Crea un archive
-v (verbose) .- Muestra información del archive en curso
-z (zip) .- Comprime/Descomprime el archive resultante con gzip
-j .- Comprime/Descomprime el archive resultante con bunzip2
-w .- Pregunta por cada acción a realizar
-u (update) .- Actualiza los archivos de un archive
-X archivo (exclude) .- Excluye los archivos listados en: archivo, del archive
-r .- Agrega archivos a un archive
-t : lista el contenido del archivo sin descompactarlo
-h : Maneja las ligas simbólicas como archivos estándar o directorios
Ejemplos:
tar zcfv * ../archive.tar.gz
tar jxf archive.tar.bz
tar –u archive.tar archivo_actualizado
El comando compress compacta los archivos
para facilitar su envío por medio de la red o
para ahorrar espacio en disco. La compresión
de archivos de texto es del alrededor del 50-60
%.
La sintaxis es:
# compress [-v] file_name
Ejemplo:
# compress –v file01.tar
file01.tar: Compression: 70.20% -- replaced with file01.tar.Z
El resultado de un archivo compactado con
compress tiene la extensión .Z (file01.tar.Z).
Después de este procedimiento el archivo
file01.tar ya no existe.
Opciones:
-e (encrypt) .- Encripta el contenido y protege con contraseña el
archivo
-r (recursive) .- Realiza la compresión de la carpeta origen y sus
subdirectorios y archivos
-u (update) .- Agrega contenido recientemente modificado
-v (verbose) .- Muestra información durante la compresión
Ejemplos:
zip -r arch_compreso.zip carpeta_a_comprimir
unzip arch_compreso.zip
Sintaxis: gzip [-v] archivo_origen
gunzip archivo_origen.gz
Opciones:
-v (verbose) .- Muestra información durante la
compresión
Ejemplos:
gzip -v miarchivo
gunzip miarchivo.gz
Sintaxis: find [ruta] [opciones] expresión
Opciones:
-name .- Busca archivos cuyo nombre se
indica
-user .- Busca archivos cuyo usuario es el
solicitado
-mtime .- Aquellos archivos cuyo ctime sea el
buscado
Ejemplos:
find . -name archivo.txt
find /opt –user apache
locate un_archivo .- Busca la ruta absoluta del
archivo
Nivel 4: No se utiliza
Nivel 6: Reinicio.
0: OBP (Sparc), Halt (x86). Para apagar el equipo de manera segura
s o S : Monousuario (Single User). Con algunos FS montados y accesibles.
1: Monousuario (Single User). Con acceso a todos los FS disponibles. Los
accesos a usuarios estan deshabilitados.
2: Multiusuario. Para operaciones normales. Los usuarios pueden
accesar al equipo y a todos los FS disponibles. Todos los demonios se
encuentran en ejecución, excepto los de samba y NFS.
3: Multiusuario. Para operación normal con todos los demonios
habilitados. Incluyendo NFS y samba. Este es el estado por default.
4: Estado alternativo de multiusuario. No configurado por default, pero
disponible para uso del cliente.
5: Apagado. Baja todos los servicios del SO para que el equipo sea
apagado de manera segura.
6: Reboot. Envía el sistema a estado 0 y lo reinicia en modo multiusuario
con todos los servicios y demonios habilitados (nivel 3)
Para “bootear” el equipo en algún nivel en particular:
/sbin/init nivel_de_arranque
/usr/sbin/init nivel_de_arranque
who –r
/sbin/runlevel
Personalizan el manejo de los programas y la
comunicación entre ellos.
Opciones:
-i (ignore) .- Configura un ambiente en
blanco
Ejemplo:
env
Sintaxis: export [opciones] VARIABLE_AMBIENTE [=valor]
Ejemplos:
export MI_VARIABLE
export PATH=$PATH:/opt/bin
Práctica 8
Monitoreo de memoria, swap, disco, file
system, procesos, conexiones
Agregar / eliminar memoria swap
Listar / eliminar procesos
Daemons
Procesos FG y BG
Fecha del sistema
Obtener información del sistema
Tareas programadas
Creación de alias
Memoria
swap
Uso de disco
Filesystems
Procesos
Conexiones
Syntaxis: free [opciones]
Opciones:
-t (total) .- Muestra el total
-b (B), -k (kB), -m (MB) .- Muestra la salida en
la unidad requerida
Syntaxis: swap [opciones]
Opciones:
-l (list) : Muestra los dispositivos de swap
-s (summary) : Muestra los valores de swap
-d <file name> [device] : Elimina swap
-a <file name> [device] : Asigna swap
Syntaxis: swapon [opciones]
Opciones:
-s (summary) : Muestra los dispositivos de
swap
-a <file name> [device] : Asigna swap
Opciones:
-a : Elimina todos los dispositivos de swap
<file name> [device] : Elimina dispositivo de
swap seleccionado
Es un espacio en disco duro, reservado para
emular mayor memoria principal. Enviando
procesos conforme requiere liberar espacio en
la RAM
Sintaxis: vmstat [opciones]
Reporta:
Procs Memory
IO
bi Bloques recibidos de un
dispositivo
bo Bloques enviados a un dispositivo
Archivos involucrados:
/proc/meminfo
/proc/stat
system CPU
Opciones:
-i : Reporta el número de interrupciones por
dispositivo.
-p : Actividad de paginación de manera detallada.
-q : Suprime los mensajes relacionados a los
cambios de estado
-s : Despliega los eventos del sistema desde el
último reinicio.
El uso más común es indicando el intervalo de
tiempo entre las muestras que serán visualizadas.
Ejemplo:
# vmstat 2 10
Sintaxis: du [opciones] archivo
Opciones:
-h (human) .- Reporta en unidades “legibles”
-k (kb) .- Reporta las cantidades en kilobytes
-s (summarize) .- Reporta el tamaño de la carpeta
(sin mostrar subcarpetas y archivos)
Ejemplos:
du -sh
du –k /u01
Sintaxis: df [opciones] [filesystem]
Opciones:
-h (human) .- Reporta en unidades “legibles”
-k (kb) .- Reporta las cantidades en kilobytes
-a (all) .- Reporta todos los FS, incluyendo aquellos
con 0 bloques
Ejemplos:
df -h
df –k /u01
Es un script, comando, aplicación o tarea que se
encuentra actuando en la memoria.
Opciones:
-f (full) .- Formato completo
-e .- Todos los procesos
-a : Todos los procesos solicitados con mayor
frecuencia
Ejemplos:
ps –ef // Ver todos los procesos
ps –ejH // Imprime los procesos en árbol
ps -U root -u root // Todos los procesos
del usuario: root
Sintaxis: pstree [opciones]
Opciones:
-a (arguments) .- Muestra los argumentos enviados
en la cli
-p (PID) .- Muestra en paréntesis el PID de cada
proceso
Ejemplos:
pstree
Sintaxis: ptree [opciones]
Opciones:
-a : Muestra todo el árbol de procesos
-c : Muestra el árbol de procesos de manera
compacta
-z : muestra los procesos de la zona indicada
Ejemplos:
ptree –a
ptree PID
Sintaxis: kill [opciones] PID
Ejemplo:
kill -9 2345
Señal Valor Acción Descripción
Se ejecutan en modo
background
Foreground (primer plano) .- Se invoca con fg
Opciones:
-a (all) : Muestra todas las interfaces de red del equipo.
Nombre_interfaz : Muestra solo esa interfaz configurada
Ejemplos:
ifconfig –a // Todas las interfaces y su
configuración
ifconfig e1000g0 // Solo la configuración
para esa interfaz
ifconfig // Todas las interfaces
configuradas
Sintaxis: netstat [opciones]
Opciones:
-a (all) .- Muestra todas las conexiones actuales y su estado.
-r (route) .- Muestra la tabla de ruteo
-n (no resolve) .- No resuelve las IP’s.
-v (verbose) .- Muestra mayor información (como la máscara
de red)
Ejemplos:
netstat –a // Todas las conexiones actuales y
su estado
netstat –rnv // Tabla de rutas estáticas
Ejemplos:
date : Muestra la fecha configurada.
date MMDDHHmmYYYY : Cambia la fecha.
Dónde:
MM : Mes
DD : Día
HH : Hora
mm: Minuto
YYYY: Año
Sintaxis: uname [opciones]
Opciones:
-a (all) .- Muestra todos los parámetros
-o (OS) .- Muestra el tipo de OS
-s (OS) .- Muestra el tipo de OS
Ejemplos:
uname // uname –s
uname –a
Es el demonio encargado de ejecutar tareas
programadas
Archivos involucrados:
/etc/crontab
/etc/cron.allow
/etc/cron.deny
/var/spool/cron/*
Sintaxis: crontab [opciones] [usuario]
Opciones:
-l (list).- Muestra las tareas cron del usuario
-e (edit) .- Edita la tabla de tareas
-u (user) .- Aplica el comando al usuario requerido
-r (remove) .- Elimina la tabla cron del usuario
Ejemplos:
crontab –l
crontab –e –u oracle
minuto (0-59)
| hora (0-23)
| | Día del mes (1-31)
| | | Mes del año (1-12)
| | | | Día de la semana (0-6; donde 0=Domingo)
| | | | |
* * * * * COMANDO
* = Metacaracter
# = Comentario
Ejemplo:
0 10 * * * /root/bin/proceso.sh > /dev/null 2>&1
Sintaxis: at [opciones] fecha (tarea y
CTRL+D)
Opciones:
-l (list).- Muestra las tareas almacenadas
-r (remove) .- Elimina la tarea at programada
Ejemplos:
at 20.06.2006 13:30
at -l
Sintaxis: sleep número[sufijo]
Opciones:
--help .- Muestra el manual del comando
--version .- Muestra información acerca de la versión del
comando
Ejemplos:
sleep 5
sleep 1m
Secuencia para repetir el último comando
ejecutado (incluye retorno de carro)
Ejemplos:
!!
Opciones:
-l (lines) .- Cuentas las líneas enviadas
-w (word) .- Cuenta las palabras enviadas
-L (length).- Muestra la longitud de la línea más larga
-c .- Cuenta el número de bytes enviados
-m .- Cuenta el número de caracteres enviados
Ejemplos:
wc // Cuenta líneas, palabras y
caracteres
wc –l nombre_archivo
wc –w nombre_archivo
Sintaxis: alias [opciones]
nombre_alias=‘comando’
Opciones
-p (print) .- Muestra los alias actuales
Ejemplos:
alias busca=‘find /opt/ -name logs’
alias -p
Sintaxis: clear
Ejemplo:
# ifconfig qfe0 inet 172.28.18.134 netmask
255.255.255.0 broadcast + up
Para eliminar la configuración de una interfaz se
utiliza el comando unplumb.
La sintaxis es la siguiente:
Ejemplo:
• /etc/hosts
• /etc/hostname.nombre_interfaz
• /etc/netmasks
• /etc/sysconfig/network-scripts/ifcfg-nombre_interfaz
Un sistema puede tener una gran cantidad de discos internos o
externos. Para listarlos se utiliza el comando format.
# format
- Etiquetar discos
1. Conectar el disco
2. Crear slices necesarios y etiquetarlos para poder ser
utilizados con UFS
3. Crear el FS de tipo UFS
4. Montar el FS
5. Hacerlo persistente al reinicio
Ejemplo:
# newfs /dev/rdsk/c1t1d0s7
# vi /etc/vfstab
.
.
.
/dev/dsk/c1t1d0s7 /dev/rdsk/c1t1d0s7 /punto_montaje ufs 2 yes -
En el sistema Solaris viene incluido un manejador de volúmenes
llamado Solaris Volume Manager (SVM), en versiones 8 y
anteriores era conocido como Solaris Disk Suite (SDS).
# format
# metainit d29 1 1 c1t1d0s7
# newfs /dev/md/rdsk/d29
# vi /etc/vfstab
/dev/md/dsk/d29 /dev/md/rdsk/d29 /punto_montaje ufs 2 yes -
# mount -a
Ejemplo:
# format
# metainit d29 1 1 c1t1d0s7
# newfs /dev/md/rdsk/d29
# vi /etc/vfstab
/dev/md/dsk/d29 /dev/md/rdsk/d29 /punto_montaje ufs 2 yes -
# mount -a
Práctica 10
Gracias…