Comandos Mas Usados Linux
Comandos Mas Usados Linux
Comandos Mas Usados Linux
SENCICO - TRUJILLO
COMANDOS
EN LINUX
1
UNIDAD DIDACTICA DE ADMINISTRACION DE REDES CON LINUX – E.S.T. SENCICO - TRUJILLO
Ingreso de
comandos
Se escriben los comandos y se presiona la tecla Enter. Si el comando es válido
se ejecuta, en caso contrario el sistema responde con un mensaje de error.
Los comandos tiene la siguiente sintaxis:
Opción Descripción
ctrl + c finalizar tarea, limpiar línea
ctrl + z suspender tarea
ctrl + l limpia la pantalla
ctrl + b retrocede un espacio ( tecla ← )
ctrl + f Adelante un espacio (tecla → )
ctrl + a Al principio de la línea (tecla home)
ctrl + e Al fin de la línea (tecla end )
del Elimina a la derecha del cursor.
ctrl + k Elimina desde el cursor al final de la línea
ctrl + d Elimina de la izquierda del cursor (tecla
backspace)
esc del Elimina palabra a la izquierda del cursor.
esc + d Elimina desde el cursor al final de la palabra
corriente
ctrl + y Pega la ultima palabra eliminada
ctrl + d exit de la sesión
tab Autocompletar
ESC Autocompletar, se presiona dos veces
2
UNIDAD DIDACTICA DE ADMINISTRACION DE REDES CON LINUX – E.S.T. SENCICO - TRUJILLO
Comando pwd
sintaxis: pwd
Muestra el directorio actual
Comando echo
sintaxis: echo [-ne]
Escribe los argumentos separados por blancos y terminados en un nueva línea
en la salida estándar.
Opciones Descripción
-n sin salto de línea
-e activa la interpretación de caracteres de control.
Ejemplos:
[root@localhost root]# echo "Salida del comando"
Salida del comando
[root@localhost root]# echo -n "Salida del comando"
Salida del comando[root@localhost root]#
[root@localhost root]# echo -e "Salida \n del \t comando"
Salida
del comando
[root@localhost root]# echo "El path $PATH"
Comando clear
Sintaxis: clear
Limpia la pantalla. Idem Crl + l
Ejemplos
Mostrar solo el nombre del usuario
whoami
root
3
UNIDAD DIDACTICA DE ADMINISTRACION DE REDES CON LINUX – E.S.T. SENCICO - TRUJILLO
Información total
who –a es equivalente: -b -d --login -p -r -t -T -u
who -a
Sep 5 09:07 16 id=si
term=0 salida=0
system boot Sep 5 09:07
`run-level' 3 Sep 5 09:07 Ultimo=S
Sep 5 09:08 738 id=l3
term=0 salida=0
root - tty1 Sep 5 09:08 . 1160
solange + tty2 Sep 5 09:08 00:03 1161
root + tty3 Sep 5 09:08 00:19 1162
root + tty4 Sep 5 09:32 00:01 1163
LOGIN tty5 Sep 5 09:08 1164 id=5
LOGIN tty6 Sep 5 09:08 1165 id=6
Comando tty
En que consola se encuentra el usuario.
tty
/dev/tty1
Comando cal
Muestra el calendario en la salida estándar.
Sintaxis: cal [[mes] año]|-3
Opciones descripción
-3 muestra el mes anterior el actual y el siguiente
mes año el mes y año correspondiente
año todo el año.
4
UNIDAD DIDACTICA DE ADMINISTRACION DE REDES CON LINUX – E.S.T. SENCICO - TRUJILLO
Comando date
Sin argumentos, despliega en la salida estándar del sistema. El formato de
salida se puede especificar precedido por un +. La opción -u es para utilizar la
hora universal (Greenwich). El único usuario que puede cambiar la fecha del
sistema es root. Basta ingresar date y la nueva fecha.
Ejemplos:
> date
> date -u
> date +%D
> date +Dia :%d/%m/%y
> date +%H:%M%t%t%T
Opción Descripción
n Inserta un enter
t Inserta un carácter
m Meses del 1 al 12
d Días del 1 al 31
y Últimos dos dígitos del año
D Fecha con formato mm/dd/aa
H Hora de 00 a 23
M Minutos de 00 a 59
S Segundos de 00 a 59
T Hora con formato HH:MM:SS
j Día del año de 001 a 366
w Día de la semana, domingo =0
a Abreviatura del día de la semana: Sun, Mon, etc.
h Abreviatura para el mes: Jan, Feb, etc.
r Hora con formato AM/PM
Comando bc
Calculadora binaria.
Comando uname
sintaxis uname [a|s|n|r|v|m|p|i|o]
Muestra la información del sistema operativo.
Opciones descripción
-a Muestra toda la información
-s Nombre del sistema operativo
-n Nombre del host
-r Versión del sistema
-v Fecha de la versión
-m Tipo de maquina
-p Tipo de procesador
-i Tipo de hardware
-o Sistema operativo
Comando passwd
Permite cambiar la contraseña del usuario.
5
UNIDAD DIDACTICA DE ADMINISTRACION DE REDES CON LINUX – E.S.T. SENCICO - TRUJILLO
Comando su
Ejecuta la shell sustituyendo al usuario logeado.
Siendo un usuario común puede transformarse en el usuario root si conoce la
password.
Sintaxis: su - [-c comando]
Opciones descripción
-c Ejecuta un comando como root:, ejemplo:
su - '-c /sbin/halt'
- Pasa a ser root.
Comando history
Muestra los comandos ingresados en la consola.
sintaxis: history [nro | c ]
Ejemplo
history #muestra todo el historial
history 10 #muestra las últimas 10
history –c #limpia el historial
Comando fc
Comando asociado al historial, lista, busca, edita y ejecuta comandos.
sintaxis: fc [-l|-n]
Opciones Descripción
-l Lista
-n edita y ejecuta
Ejemplos:
Muestra las últimas 10 líneas
fc –l
Busca en la historia por el string y muestra desde la coincidencia hasta
el final.
fc -l string #
6
UNIDAD DIDACTICA DE ADMINISTRACION DE REDES CON LINUX – E.S.T. SENCICO - TRUJILLO
Opción Descripción
!! Ejecuta el último comando
!nro Ejecuta el comando numero nro
ctrl r Buscar comando
!-n Ejecuta el comando ejecutado hace n
posiciones anteriores.
! string Ejecuta el comando que comienza con el
string, recientemente ejecutado.
!? string Ejecuta el comando que contiene el string.
ctrl p Linea previa (tecla ↑ )
ctrl n Linea siguiente (tecla ↓ )
alt < Ir al principio
alt > ir al final
^string1^string2 Ejecuta el comando anterior sustituyendo
string1 por string2
Ayuda en
línea
Muchos comandos ofrecen una ayuda sintáctica sobre las posibles opciones.
Sintaxis: comando --help
Comando man
7
UNIDAD DIDACTICA DE ADMINISTRACION DE REDES CON LINUX – E.S.T. SENCICO - TRUJILLO
Comando apropos
Este comando cumple la misma función que el comando man –k.
Comando whereis
Este comando devuelve la localización de un comando y de su ayuda, si existe.
Devuelve mas información que el comando man -w
sintaxis: whereis comando
Comando whatis
Devuelve la cabecera de las paginas man que coinciden con el comando. Es
como el comando man -f
sintaxis: whatis comando
Comando info
Manual en línea, el comando info permite acceder a las páginas info de los
comandos, al igual que el comando man brinda documentación y ayuda sobre
los comandos del shell.
Ejercicio
1. Cuales son las paginas man del comando passwd.
2. Obtenga ayuda del comando passwd.
3. Obtenga ayuda del archivo passwd.
8
UNIDAD DIDACTICA DE ADMINISTRACION DE REDES CON LINUX – E.S.T. SENCICO - TRUJILLO
Metacaracteres
Construcción de patterns
Antes de la ejecución de un comando, el shell busca los caracteres * ? [ ] en los
parámetros del comando. Si alguno de ellos aparece la palabra que lo contiene
es vista como un pattern.
Cada pattern se reemplaza por los nombres de archivos del directorio actual
(por orden alfabético) que coincidan con él (pattern matching).
Si ningún archivo del directorio actual coincide con el pattern se deja la palabra
original sin modificar.
Los patterns los resuelve el shell, los comandos sólo deben estar preparados
para recibir una cantidad variable de nombres como parámetro.
Carácter Significado
* Cualquier string, incluso el nulo
? Un carácter cualquiera
[ ... ] Cualquiera de los caracteres dentro de los paréntesis rectos
[c1-c2] Cualquier carácter entre c1 y c2
[!c1-c2] Complemento de [c1-c2]
[[:upper:] ] mayúsculas
[[:lower:] ] minúsculas
[0-9] Digito
{string1,string2} Coincide con string1 o string2
9
UNIDAD DIDACTICA DE ADMINISTRACION DE REDES CON LINUX – E.S.T. SENCICO - TRUJILLO
Manipulación de directorios
Comandos relativos a manejo de directorios:
➢ pwd
Muestra el directorio actual.
➢ cd directorio
Para cambiar el directorio actual.
➢ mkdir directorio
Crea directorios.
➢ rmdir directorio
Borra directorios vacíos.
➢ ls directorio
Lista el contenido de un directorio
➢ tree
Muestra la estructura de directorios
Caminos (path)
Un nombre de camino (path name) identifica un archivo o directorio en forma
única dentro de la estructura de archivos.
Contiene las “direcciones” a tomar dentro de la estructura de modo de localizar
un determinado archivo o directorio. El separador de “direcciones” es /.
Ejemplo:
/home/usr1/textos/mi_texto
. Directorio actual
.. Padre del directorio actual
~ Camino absoluto al home directory
~user Al home del usuario user
10
UNIDAD DIDACTICA DE ADMINISTRACION DE REDES CON LINUX – E.S.T. SENCICO - TRUJILLO
Ejemplo:
> su - usr1
> cd /tmp
> cd
> pwd
/home/usr1
> cd textos
textos: bad directory
> mkdir textos
> cd textos
> pwd
/home/usr1/textos
> cd ..
> pwd
/home/usr1
> exit
> cd /tmp
> cd ~usr2
> pwd
/home/usr2
Comando mkdir
Crea un directorio, o un conjunto de directorios
Sintaxis: mkdir [-p] [directorio|directorio...]
Ejemplos
mkdir dir1
Crea el directorio dir1
mkdir –p dir/dir5/dir6
El modificador –p permite crear todo un camino, en este caso crea primero el
directorio dir, dentro de este dir5 y dentro de dir5 el dir6.
Ejemplo
mkdir -p primero/a/b/{abc,cdf}/otro
primero/
`-- a
`-- b
|-- abc
| `-- otro
`-- cdf
`-- otro
11
UNIDAD DIDACTICA DE ADMINISTRACION DE REDES CON LINUX – E.S.T. SENCICO - TRUJILLO
Comando rmdir
El comando rmdir permite eliminar directorios vacíos.
Comando ls
Despliegue del contenido de un directorio
Sintaxis: ls [-opciones] [nombre(s) de camino]
Opciones Descripción
-a Muestra archivos ocultos. Éstos comienzan con “.”
-A Como el anterior, pero no muestra “.” y “..”
-d Cuando el argumento para ls es un directorio, muestra el
nombre y otros datos del directorio en lugar de su contenido. ( ls
–d */ )
-F Permite diferenciar los directorios, los archivos ejecutables y los
links de los archivos comunes:
@ link simbólico
* ejecutable
/ directorio
-l Formato largo, en orden alfabético por nombre de archivo.
-r Ordena la salida en forma inversa a la establecida.
-R Lista los directorios en forma recursiva (en profundidad desde el
actual).
-i Muestra el número de i-nodo en la primer columna.
-t Ordena la salida por fecha de modificación.
-c Muestra la fecha de modificación del i-nodo.
-u Muestra la fecha del último acceso (en lugar de la de
modificación).
Ejemplo:
> ls -l
total 2
-rwxr--r-- 1 usr1 class 2048 Oct 24 11:10 prueba
-rwxr--r-- 1 usr2 class 48 Oct 26 10:05 ejecut
12
UNIDAD DIDACTICA DE ADMINISTRACION DE REDES CON LINUX – E.S.T. SENCICO - TRUJILLO
Ejemplos:
> cd /etc
>ls pass*
passwd passwd- passwd.lock passwd.OLD
> ls -d rc*/
rc0.d/ rc1.d/ rc2.d/ rc3.d/ rc4.d/ rc5.d/ rc6.d/
rc7.d/ rc.d/
> ls -d rc[0-2]*/
rc0.d/ rc1.d/ rc2.d/
>ls -d rc[!0-2]*/
rc3.d/ rc4.d/ rc5.d/ rc6.d/ rc7.d/ rc.d/
>ls /etc/rc?.d/ -d
/etc/rc0.d/ /etc/rc1.d/ /etc/rc2.d/ /etc/rc3.d/
/etc/rc4.d/ /etc/rc5.d/ /etc/rc6.d/
>ls o*i
odbc.ini odbcinst.ini
13
UNIDAD DIDACTICA DE ADMINISTRACION DE REDES CON LINUX – E.S.T. SENCICO - TRUJILLO
>ls /etc/{cups,samba}
/etc/cups:
certs client.conf interfaces mime.convs ppd
printers.conf pstoraster.convs
classes.conf cupsd.conf lpoptions mime.types ppds.dat
/etc/samba:
lmhosts.res secrets.tdb smb.conf
Ejercicio
Liste los archivos de /var/log que terminan en 1 o en 2.
Liste los archivos de /var/log que comienzan con boot o con
mail.
Liste solamente los directorios contenidos en /var/log
Comando tree
El comando despliega la estructura del árbol de directorios, opcionalmente los
archivos y sus permisos.
Sintaxis: tree [–augdfp]
Opciones Descripción
-a all
-d directorios
-f camino total
-u dueño
-g grupo
-p permisos
14
UNIDAD DIDACTICA DE ADMINISTRACION DE REDES CON LINUX – E.S.T. SENCICO - TRUJILLO
Manipulación de archivos
Comando touch
Crea un archivo vacío, también permite modificar la fecha de acceso y
modificación.
Sintaxis: touch[a|m ] [-r archivo] [-t fecha] archivo[s]
Opciones detalle
-a Cambia la fecha de acceso del archivo
-m Cambia la fecha de modificacion
-r archivo Toma la fecha del archivo como referencia
-t time Valor de la fecha en decimal. Formato:
aaaaMMddHHmm.ss
Ejemplo
touch /tmp/archivo
touch /tmp/file-{one,two}-{a,b}
ls –l /tmp
total 0
-rw-rw-r-- 1 jack jack 0 Apr 8 10:33 file-one-a
-rw-rw-r-- 1 jack jack 0 Apr 8 10:33 file-one-b
-rw-rw-r-- 1 jack jack 0 Apr 8 10:33 file-two-a
-rw-rw-r-- 1 jack jack 0 Apr 8 10:33 file-two-b
-rw-rw-r-- 1 jack jack 0 Apr 8 10:29 archivo
15
UNIDAD DIDACTICA DE ADMINISTRACION DE REDES CON LINUX – E.S.T. SENCICO - TRUJILLO
Comando cp
Este comando permite copiar archivos y/o directorios.
Sintaxis: cp -[i|r|R|p|--parents|a|d|x] origen destino
Opciones Descripción
-i Interactivo: pide confirmación de la copia cuando el
archivo destino existe.
16
Comandos Linux
Por defecto, el archivo creado en la copia tiene como dueño a quien hace la
copia, y como fecha de modificación la de la copia.
No es posible copiar un archivo sobre sí mismo.
En el caso de los links simbólicos, no se copia el link, sólo se copia el contenido
del archivo. Esto puede llevar a inconsistencias.
Comando mv
El comando mv permite mover archivos o directorios, o cambiarles el nombre.
Sintaxis: mv [-fi] origen destino
Opciones Descripción
-f Fuerza: suprime cualquier mensaje de advertencia y realiza el
movimiento suprimiendo cualquier tipo de restricción (siempre que
los permisos lo permitan).
-i Interactivo: Pregunta antes de sobreescribir cualquier archivo o
subdirectorio.
Comando rm
Borrar archivos o directorios.
Borra uno o más archivos. Como borra la entrada del directorio, si se borra el
último link a un archivo, el contenido de éste se pierde de forma definitiva.
¡Linux no tiene undelete!
Para poder borrar un archivo es necesario tener permiso de escritura sobre el
directorio en el que éste se encuentra.
Sintaxis: rm [-fir] archivo(s)
20
Comandos Linux
Opciones Descripción
-f Fuerza: borra sin hacer caso a los permisos (siempre que se
tengan las potestades adecuadas sobre el archivo o directorio a
borrar).
-i Interactivo: Pide confirmación antes de borrar.
-r Recursivo: si el argumento de rm -r es un directorio, se
borra su contenido, y recursivamente el de todos los
subdirectorios que este contenga
-v Explica lo que esta haciendo
Ejemplos:
cd /home/usr1
rm –rf *
Elimina todos los archivos y directorios.
rm –rf .??* *
Elimina todo, incluso los ocultos.
Comando rename
Cambiar el nombre a un conjunto de archivos.
Sintaxis: rename a b c
Opciones descripción
A que cambiar
B cambiar por
C donde
Ejemplo
21
Comandos Linux
Comando more
Comando less
Idem que more pero permite el retroceso, se utiliza para desplegar archivos
largos.
Comando cat
Opciones Descripción
-A muestra todos los caracteres equivalente a -vET
-b numera las líneas que no están en blanco
-e equivalente a –vE
-E muestra el final de la línea con $
-n numera todas las líneas
-s salta varias líneas en blanco
-t equivalente a –vT
-T muestra los tabuladores como ^I
-v muestra caracteres no imprimibles
22
Comandos Linux
Ejemplos:
cat -n /etc/passwd
cat -A /etc/hosts /etc/profile
Comando tac
23
Comandos Linux
Comando fmt
Formatea cada párrafo de un archivo o de la entrada estándar, establece un
ancho máximo de 75 caracteres por defecto.
Sintaxis: fmt -[wsu] file
Opciones Descripción
-w cantidad de caracteres
-s divide las líneas largas para que entren en el ancho
especificado
-u un solo blanco de separación.
Ejemplo
>head /etc/group |fmt -w 40
root:x:0:root bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
sys:x:3:root,bin,adm
adm:x:4:root,adm,daemon tty:x:5:
disk:x:6:root lp:x:7:daemon,lp mem:x:8:
kmem:x:9:
Comando pr
Prepara un archivo para imprimir.
Sintaxis: pr -[w|l] archivo
Opciones Descripción
-w ancho de pagina
-l largo de pagina
Ejemplo
pr /etc/hosts -l 20 -w 75
24
Comandos Linux
Búsqueda de archivos
Comando find
Búsqueda de archivos en la estructura de directorios
Opción Descripción
Name nombre de archivo
Type tipo:
b archivo especial de bloques
d directorio
c archivo de caracteres
f archivo
size nro tamaño en bloques del archivo buscado.
atime nro día del último acceso al archivo
mtime nro día de la última modificación.
User del usuario
group del grupo
newer archivo Archivos modificados más recientemente
que archivo.
print Muestra en la salida estándar el camino donde se
encontró el archivo. Por defecto
exec comando busca los archivos y exec ejecuta el comando
Mmin Minutos, mmin + 5 hace mas de 5; mmin –10 hace
menos de 10
perm –perm Busca por un permiso
nouser Sin usuario propietario
nogroup Sin grupo propietario
maxdepth Niveles, en 1 busca en primer nivel
Ejemplos:
find /internet -name netscape –print
find -name “file*” -exec ls -l “{}” “;”
find /var -user “pepe” -name “d*”
find /var -user “pepe” -name “d*”
find /var -perm -2 -type f #busca con permiso de
escritura
find /var –perm 0755 –type d #por el permiso
find /var -nouser #sin usuario propietario
find /var -nouser -nogroup #sin usuario ni grupo
propietario
find /etc –maxdepth 1 –name “a*”
find /etc – mmin –5 #hace menos de 5 minutos.
find /var –mmin +60 –mmin –180 #mas de 1 hora y menos de 3
find /var/log -mtime -1 #modificados hace menos de 24 horas
25
Comandos Linux
Comando locate
Comando which
Localiza un comando en el path
Ejemplos
>which more
/bin/more
>which -a ls
alias ls='ls --color=tty'
/bin/ls
>which --skip-alias ls
/bin/ls
26
Comandos Linux
Redireccionamiento
Toda operación dentro de un proceso tiene una entrada y una salida (I/O) y en
algunas ocasiones una salida de error.
Unix permite que la entrada y la salida de los comandos sea redireccionada.
Entrada: se envían datos a un comando.
Salida: recibe datos de un comando.
Los comandos siguen el siguiente esquema:
Redireccionar el error
Ejemplo
ls archivo 2>/dev/null
ls archivo 2>>file.error
Exit status
Todo comando devuelve un exit status luego de su ejecución:
27
Comandos Linux
Comando tee
Lee de la entrada estándar y escribe en la salida estándar o un archivo.
sintaxis: tee –a file
Ejemplo
Agrega la entrada al final del archivo prueba.
cat /etc/passwd |tee -a prueba
Sobrescribe
echo "Texto"|tee prueba
Combinación de comandos
Comandos simples:
Son secuencias de palabras separadas por espacios: la primera es el nombre
del comando el resto son los parámetros
Ejemplo:
ls
who am i
man id
Pipes y pipelines:
Un pipe permite enviar información de un proceso a otro. Conecta la stdout del
primero con la stdin del segundo.
Los procesos comunicados se ejecutan al mismo tiempo: en cuanto el primero
deja datos en el pipe el segundo los toma.
Un pipeline es la ejecución simultánea de 2 o más comandos simples
comunicados por un pipe. Sintácticamente se especifica por medio de un “|”:
Parentizado:
Si un comando es escrito entre paréntesis curvos ( ), el shell invoca a un nuevo
shell que ejecuta dicho comando.
De esa forma es posible alterar las precedencias de los operadores.
28
Comandos Linux
Ejemplos:
> (cd /etc ; ls passwd) ; pwd
passwd
/home/usr1
> cd /etc ; ls passwd ; pwd
passwd
/etc
Ejemplos:
$ { date ; who ; } | lp
En la impresora sale:
Tue Mar 28 10:20:20 WST 1997
usr1 ttyp0 Mar 28 10:00
Ejemplo
{ id ; who ;id; who; } | sort
Secuencias
Una secuencia es un conjunto de comandos simples separados por:
; && ||
y opcionalmente terminada por
; &
comando1 ; comando2
comando1 || comando2
29
Comandos Linux
comando1&&comando2||comando3
Ejemplos
ls -l | more ; date ; who
cat archivo || echo “El archivo no existe“
cat archivo && echo “Fin del archivo“
cat archivo && echo OK || echo MAL
find –name file 1>/dev/null 2>&1 && echo “Existe”|| echo
“No”
comando
comando &
Substitución de comando
Ejemplo
ls -la /lib/modules/$(uname -r)/*
kill -9 $(ps aux|tr -s " " "\t"|cut -f1,2|grep usr2|cut
-f2)
Comando alias
Permite asociar la ejecución de un conjunto de comandos.
sintaxis: alias
Muestra todos los alias definidos.
Crear un alias:
Ejemplo
30
Comandos Linux
Comando unalias
Para desactivar una alias.
sintaxis: unalias nombrealias
31
Comandos Linux
Asignación de Permisos
Generalidades.
Los permisos en el sistema de archivos determinan quién puede acceder a los
archivos y directorios dependiendo del tipo de acceso que tengan. Los primeros
10 caracteres de un listado ls -l de cualquier entidad se parecen a lo
siguiente:
-rwxrwxrwx
Permisos
r read, leer
w write, escribir
x execute, ejecutar
- sin permisos
32
Comandos Linux
Para un directorio:
➢ Read: Es posible listar el contenido del directorio con el comando ls.
➢ Write: Es posible agregar o borrar archivos dentro de él (incluso si no se
tiene el permiso de escritura específico sobre el archivo individual).
➢ Execute: Control de acceso para el directorio.
Cambio de permisos
Comando chmod
Sintaxis: chmod [u|g|o|a] [+-=] [ rwx] file
Ejemplos:
Quitar el permiso de lectura al grupo:
chmod g-r mi.archivo
33
Comandos Linux
Opciones de chmod
chmod [-fR] modo archivos
Opciones Descripción
-f forzar
-R Recursivo: cuando el argumento es un subdirectorio, se
modifican los permisos del directorio, de todos los archivos de
dicho directorio y se continúa el cambio recursivamente hacia
abajo en la estructura
34
Comandos Linux
Tabla octal
Valor numérico Permisos
0 ---------
1 --------x
2 -------w-
3 -------wx
4 ------r—
5 ------r-x
6 ------rw-
7 ------rwx
10 -----x---11
11 -----x—x
22 -----w--w-
33 ----wx-wx
55 ---r-xr-x
77 ---rwxrwx
100 --x------
101 --x-----x
111 --x--x—x
222 -w--w--w-
311 -wx--x—x
322 -wx-w--w-
400 r--------
444 r--r--r—
511 r-x---x—x
544 r-xr--r—
644 rw-r--r—
666 rw-rw-rw
755 rwxr-xr-x
777 rwxrwxrwx
Ejercicio
¿Cuál de los siguientes permisos se representa por el valor numérico 44?
a. - - - - - - r w –
b. - - - r w - - - -
c. - - - r - - r - -
d. r - - r - - - - -
35
Comandos Linux
Comando mkdir
El comando mkdir ya visto anteriormente permite crear un directorio
asignándole permisos diferentes a los definidos por la mascara.
Ejemplo
>mkdir -m 700 directrorio
> ll
total 4
drwx------ 2 root root 4096 abr 11 22:50 directorio
Comando umask
Modificar los valores de los permisos por defecto
sintaxis umask [-pS]
Con un umask de 022, los permisos asignados a los nuevos archivos serán 644
(rw-r—r--) y a los directorios 755 (rwxr-xr-x).
Cálculo de los valores de las nuevas entidades después de sustraer el valor de
umask.
Archivos Directorios
022 ----w--w- 022 ----w--w-
644-rw-r—r- 755 dwxr-xr-x
Comando chown
Cambiar el usuario o grupo propietario de un archivo o directorio.
sintaxis chown usuario:grupo archivo
sintaxis chown usuario.grupo archivo
Ejemplos:
Asignar el usuario y grupo
chown usr1:usr1 file
36
Comandos Linux
Comando chgr
Modificar únicamente el grupo propietario
sintaxis chgr grupo file
chmod chown
37
Comandos Linux
Permisos especiales
Asignar UID
Al activar este permiso el archivo pasa a estar disponible para todos los
usuarios como si fueran sus propietarios. Utilizado para programas.
Normalmente, un programa en ejecución pertenece a quien lo esté ejecutando.
Si está activado el UID el programa pertenece al propietario del archivo. Esto
quiere decir que el programa en ejecución tiene todos los permisos del
propietario del archivo. Si el usuario común ejecuta el programa y el programa
es propiedad del Root, el programa tiene automáticamente permiso para leer y
escribir cualquier archivo del sistema, sin tener en cuenta los permisos del
usuario común. Ejemplo cambiar la contraseña de un usuario.
Asignar GID
Asignar Sticky
Para que este permiso esta vigente, todos los demás permisos primarios
deben estar activos. Todos los usuarios pueden ver y grabar archivos o
directorios. Pero solo podrán eliminarlos si son los propietarios de dichos
objetos, o es el usuario Root. Se utiliza para tener un directorio compartido para
todo el mundo.
valores
4 2 1
s s T
SUID SGID sticky
Información de un archivo
Comando stat
El comando devuelve mas información del archivo, como ser los permisos en
octal, las fechas de: acceso (access), modificacion ( modify) y cambio (change).
sintaxis stat file
Comando file
Realiza algunos chequeos sobre el archivo para determinar su tipo. Por
ejemplo los ejecutables se marcan con un número mágico.
38
Comandos Linux
Opción Descripción
-i Información mas explicita.
-L Cuando el archivo corresponde a un link simbólico, se testea por el
contenido del archivo, no por el link propiamente dicho.
Ejemplos
file /usr/bin/vim
/usr/bin/vim: ELF 32-bit LSB executable, Intel 80386, version 1
(SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs),
stripped
file /etc/passwd
/etc/passwd: ASCII text
file -i /etc/passwd
/etc/passwd: text/plain; charset=us-ascii
Ejercicio
¿Cuales serán los permisos del archivo ejecutable “portable” cuando se utilice
chmod con el valor numérico 1777?
e. r w s r w x r w x
f. r w x r w s r w x
g. r w x r w x r w t
h. r w x r w x t w T
39
Comandos Linux
Variables
Comando env
El comando env lista todas la variables del ambiente.
Variable $PATH
Ejecución de los comandos.
Al ingresar un comando, el shell busca el programa a ejecutar en la lista de
caminos que contiene la variable PATH.
Esta variable contiene una lista de caminos separados por : (dos puntos).
Si se encuentra en el PATH se ingresan directamente.
Sino se encuentra en el PATH se ubica en el directorio del comando y se
digita:
./command
Ejemplo
> PATH=/usr/bin:/usr/openwin/bin:.
> export PATH
> PATH=$PATH:/usr/ucb
> echo $PATH
/usr/bin:/usr/openwin/bin:.:/usr/ucb
Variable $PS1
Prompt del usuario
Variable $TERM
Contiene el tipo de terminal.
La base de datos de configuración de terminal se encuentra en:
/etc/termcap RedHat SuSE
/etc/terminfo/* Debian
Variable $HOME
Contiene el directorio personal del usuario
Variable $HOSTNAME
Contiene el nombre del host.
Variable $CDPATH
Esta variable por defecto está vacía. Contiene directorios que se utilizarán con
el comando cd. Al hacer cd se busca en los paht definidos en la variable.
Ejemplo:
CDPATH=~/dir:/tmp
cd /etc
cd subdirectorio
pwd
/root/dir/subdirectorio
40
Comandos Linux
Definición de variables
Comando set
Permite la modificación de variables del shel del usuario, y también lista todas
las variables locales y variables del ambiente
sintaxis: set [-o|+o] opción
Ejemplos
set #lista todas las variales
set -o #lista cada opción del shell y su propiedad (on|off)
set -o allexport #se activa esta opción cada variable que
se defina automáticamente será exportada.
set +o allexport #se desactiva la opción.
Opciones activas:
SHELLOPTS=allexport:braceexpand:emacs:hashall:histexpand:hi
story:interactive-comments:monitor
Comando unset
Desasignar variables asignadas
sintaxis: unset variable
Comando export
Exportar variables del ambiente, o muestra todas las variables que se exportan
a otros ambientes
sintaxis: export variable[=value]
sintaxis: export
Comando declare
Agrega la variable a la lista de variables a exportar, otra forma de exportar.
Sintaxis declare [airx] variable
Opciones descripción
-a vector
-i entera
-r readonly
-x exportar
Comando readonly
Lista todas read-only variables, o asigna el atributo a una variable, estas
variables no se pueden cambiar o unset.
sintaxis: readonly
sintaxis: readonly variable
41
Comandos Linux
Utilización de variables
Ejemplos
var=$(date +%a-%b)
echo $var
var=$(ls b*)
cp $var /directorio
Encomillado
Hay tres clases de comillas, y su uso lo ilustran los siguientes ejemplos:
> echo “mi home es $HOME”
mi home es /home/usr1
>echo ‘mi home es $HOME‘
mi home es $HOME
> echo “el contenido de arch es `cat arch`”
el contenido de arch es contenido de archecho
$HOME
>echo $HOME
/root
>echo '$HOME'
$HOME
>echo "'$HOME'"
'/root'
42
Comandos Linux
Expresiones regulares
Metacaracteres: \ ^ $ . [ ] | ( ) * + ?
Son utilizadas para buscar expresiones en textos.
Expresiones básicas:
Ejemplos:
Expresión Resultado
ab*c abbbc,ac
b[cq]*e bce,bqe,be,bccce,bqqe
A[A-Z]T ANT, (no con AnT)
al.o Algo
h[ae]ll hall, hell
43
Comandos Linux
Ejemplos
[0-9]\{2,4\} Es un dígito y pude repetirse desde 2 hasta cuatro
veces.
[0-9]\{4\} Es un dígito y se repite cuatro veces
[0-9]\{4,\} Es un dígito y se repite cuatro veces o mas
[0-9]\{4\}[ ][.] Es un dígito y se repite cuatro veces, luego un
espacio en blanco, luego un punto.
[[:upper:]]\ {3\} Son exactamente tres letras mayúsculas.
A[[:lower:]]\ {3\} Comienza con la letra A, luego siguen
exactamente tres letras minúsculas.
\<palabra\> Exactamente una palabra
Comando grep
Busca en los archivos las líneas que concuerdan con la expresión regular dada
y las despliega en la salida estándar.
Si se pasa más de un archivo, el nombre del archivo aparece delante de cada
línea.
[expresión] es una expresión regular, y debe ir entre comillas ‘‘ o ““.
:
Opciones Descripción
-v Despliega las líneas que no concuerdan con la expresión.
-c Sólo despliega la cantidad de líneas que concuerdan con la
expresión.
-l Sólo despliega el nombre del archivo al que pertenecen las
líneas que concuerdan con la expresión.
-h Suprime el nombre de archivo en el despliegue.
-n Numera las líneas que contienen la expresión.
-i No diferencia entre mayúsculas y minúsculas.
-R Recursivo, entra en directorios
-w Busca por palabra
-x Busca por línea
-A# Muestra la coincidencia mas # líneas siguientes
-B# Muestra la coincidencia mas # líneas anteriores
-C# Muestra la coincidencia mas # anteriores y siguientes
44
Comandos Linux
Ejemplos
Obtener las líneas del archivo que contienen la palabra user
grep user /etc/group
Obtener las líneas del archivo que comienzan con la palabra user.
grep ^user /etc/group
Ejemplos
Obtener los procesos de usr1, comienza con letras y termina en uno.
ps aux|grep ^[a-z][a-z]*1
45
Comandos Linux
Ejemplos
Buscar el nombre “root“ o “user“ en el archivo
grep –E ´(root|user)’ /etc/group
46
Comandos Linux
Comando cut
lista Descripción
N carácter número, a partir del primero
N- a partir del número de carácter hasta el final
N-M un rango
-M desde el principio hasta el número
Ejemplos
> cat archivo
Esto es una prueba
del comando cut
> cut -c1,3 archivo
Et
dl
> cut –d “ “ -f2 archivo
es
comando
> cat arch
Hola Chau
Prueba1 Prueba2 (separados por tab)
> cat arch | cut -f2
Chau
Prueba2
>cut -f1,3 -d: /etc/passwd
>cut -f1-3 -d: /etc/passwd
Comando tr
Sintaxis: tr [-ds][ string1 [ string2 ] ]
47
Comandos Linux
Opciones Descripción
-d Borra todas las ocurrencias de string1 de la entrada.
-s Cuando el mismo carácter de string1 se repite varias veces
consecutivamente, lo sustituye por una sola ocurrencia del
mismo.
Ejemplo
head /etc/group |tr [a-z] [A-Z] #convierte a mayúsculas
head /etc/group |tr –s “:” “\t” #cambia : por tabulador
ll |tail +2|tr -d " " #elimina todos los espacios
Comando expand
Ejemplos:
[root]# echo -e "\tHOLA\tMUNDO"|cat -A
^IHOLA^IMUNDO$
[root]# echo -e "\tHOLA\tMUNDO"|expand|cat -A
HOLA MUNDO$
[root]# echo -e "\tHOLA\tMUNDO"|expand -i |cat -A
HOLA^IMUNDO$
[root]# echo -e "\tHOLA\tMUNDO"|expand -it1 |cat -A
HOLA^IMUNDO$
[root]# echo -e "\tHOLA\tMUNDO"|expand -t1 |cat -A
HOLA MUNDO$
48
Comandos Linux
Comando head
Retorna la primera n líneas del archivo especificado. Por defecto retorna las 10
primeras
Opción Descripción
-c nro .Despliega la cantidad de caracteres especificado por nro
-n nro Despliega las primeras líneas especificadas por nro
-q No despliega la cabecera
-v Muestra la cabecera
Comando wc
sintaxis: wc [-cwlL] file
Cuenta la cantidad de caracteres, palabras o líneas de un archivo.
Opciones Descripción
-c cuenta caracteres
-w cuenta palabras
-l cuenta líneas
-L El tamaño de la línea mas larga
Ejemplo
>wc –l /etc/hosts
11 /etc/hosts
>wc /etc/hosts
11 37 342 /etc/hosts
>wc << EOF
> Hello
> There are
> Four lines
> I think
> EOF
4 7 35
Ejercicio
Obtener cuantos archivos tiene el directorio /etc/samba
Guardar el resultado en una variable.
Cual es la línea mas larga del archivo /etc/passwd
49
Comandos Linux
Comando tail
Opciones Descripción
-nro Retorna las últimas número líneas del archivo especificado. Por
defecto asume 10
+nro Muestra desde la línea número hasta el final del archivo.
-l Líneas: es la opción por defecto.
-c nro Muestra los últimos caracteres dados por nro
-f deja abierto el archivo mostrando las modificaciones del archivo,
Ejemplo: ver tail –f /var/log/messages
-q No muestra la cabecera
-v Muestra la cabecera
-n nro Es equivalente a -nro
Ejemplo
>tail -n 1 /etc/passwd /etc/group
==> /etc/passwd <==
usr2:x:503:10000:::/bin/bash
Ejercicio
Muestre a partir de la línea 15 al final de los archivos /etc/passwd y
/etc/group sin la cabecera.
Muestre las ultimas 5 líneas del archivo /etc/group con la cabecera.
Comando join
El comando join trabaja con dos archivos, realiza la fusión en columnas, en
base a un campo en común.
Sintaxis: join [aivt] [-File1Campo] [-File2Campo] file1
file2
Opciones descripción
-a[1|2] además muestra las líneas no coincidentes, del primer o
segundo archivo
-v[1|2] solo muestra las líneas no coincidentes, del primer o
segundo archivo
-t delimitador, por defecto es el espacio.
-File1Campo número de campo del primer archivo
-File2Campo número de campo del segundo archivo.
50
Comandos Linux
Ejemplo:
>more filedatos
100 Shoes
200 Laces
300 Socks
>more fileprecio
100 $40.00
200 $1.00
300 $2.00
Ejemplos
>join -t: -14 -23 <(head -5 /etc/passwd) <(head -5 /etc/group)
0:root:x:0:root:/root:/bin/bash:root:x:root
1:bin:x:1:bin:/bin:/sbin/nologin:bin:x:root,bin,daemon
2:daemon:x:2:daemon:/sbin:/sbin/nologin:daemon:x:root,bin,daemon
4:adm:x:3:adm:/var/adm:/sbin/nologin:adm:x:root,adm,daemon
Comando nl
Numera las líneas de un archivo, por defecto las que no están en blanco.
Sintáxis: nl [-b[a|n|t|p] [-n[ln|rn|rz][-i] [-s string]
file
Opciones Descripción
-b A quienes numera:
-ba Numera a todas, incluso las que están en blanco.
-bn Ninguna, inserta línea en blanco.
-bt Las que no están en blanco, es la opcion por defecto
-bpstring Numera las líneas que contienen el string.
-n formato de la numeración
-nln Alinea a la izquierda
-nrn Alinea a la derecha, por defecto
-nrz Alinea a la derecha, justificado
51
Comandos Linux
Ejemplo:
nl -s :usuarios: /etc/passwd
nl -bproot /etc/passwd
Comando od
Muestra el contenido de un archivo o de la entrada estándar, en octal y otros
formatos. Por defecto trabaja en octal.
sintaxis: od [-A|j|N|s|t|w] archivo
Opciones detalle
-A base Tipo de numeración base:
d decimal
o octal
x hexadecimal
n ninguno
-j BYTES Saltea en la entrada la cantidad de BYTES
-N BYTES El máximo de BYTES para mostrar
-s [N] Cantidad de bytes a mostrar, por defecto son tres.
-t TYPE Especifica como se mostrará la salida TYPE:
a caracteres
c ASCII
d decimal
f punto flotante
o octal
x hexadecimal
-w BYTES Cantidad de bytes por línea
52
Comandos Linux
Comando hexdump
Muestra el contenido de un archivo o de la entrada estandar en hexadecimal
por defecto, o en otros formatos.
Sintaxis: hexdump [b|c|C|d|o|v|x] archivo
Opciones descripción
-b octal, un byte
-c caracteres
-C Hexadecimal y caracteres
-d decimal dos bytes
-o octal, dos bytes
-x hexadecimal
Ejemplo
>echo hola mundo |hexdump -C
00000000 68 6f 6c 61 20 6d 75 6e 64 6f 0a |hola mundo.|
0000000b
Comando paste
Produce la salida de varios archivos en columnas, una columna por archivo.
Sino se especifica un delimitador se asume tab.
Sintaxis: paste [-d] file1 file2
Ejemplos
paste -d- <(head -5 /etc/passwd) <(head -5 /etc/group)
53
Comandos Linux
Comando sort
Este comando ordena o fusiona archivos.
Sintaxis sort [-cmufnrbdk] [-o archivo] [archivo(s)]
Opción Descripción
-c Comprueba si el archivo está ordenado.
-u Elimina las líneas duplicadas.
-f No diferencia entre mayúsculas y minúsculas.
-n Ordena los campos como si la clave fuera numérica.
-r Invierte el orden de la clasificación.
-b Ignora espacios en blanco y tabuladores al principio. de
la línea.
-d Orden de diccionario.
-o Almacena la salida en el archivo especificado.
-k Por campo, k#
Un campo es una cadena no vacía, sin blancos, separada de otras cadenas por
espacios en blanco.
Ejemplos
head /etc/group|sort
ll |sort –nk5 #ordena por tamaño ascendente
ll |sort –nk5 -r #ordena por tamaño descendente
sort –nk 5 <(ll /tmp) <(ll /boot) #ordena los dos
directorios
sort <(head -3 /etc/passwd) <(head -3 /etc/group) -o salida
cat salida |sort -c #no devuelve nada si esta ordenado
cat /etc/hosts |sort -c #sino esta ordenado devuelve la
primera linea que no cumple:
sort: -:3: fuera de secuencia: 127.0.0.1
Comando uniq
Sintaxis: uniq [-ducwi] [entrada [salida]]
Opciones Descripción
-d solo muestra las repetidas
-u solo las líneas únicas
-c cuantas veces aparece
-w especifica cuantos caracteres se van a comparar
-i ignora mayúsculas minúsculas
54
Comandos Linux
Ejemplo
Ordenación y eliminación de líneas repetidas
cat <(head -3 /etc/group) <(head -3 /etc/group) |sort|uniq
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
root:x:0:root
55
Comandos Linux
Comando split
Forma varios archivos a partir de uno. Partiéndolo según un tamaño dado, no
se modifica el original.
Sintaxis: split -[bcla] [archivo [prefijo]
Opciones descripción
prefijo El prefijo por defecto es `x'.
-a utiliza sufijos de longitud N (por omisión 2)
-b BYTES escribe BYTES bytes en cada fichero de salida
BYTES puede tener un factor indicado con el sufijo: b para 512, k
para 1K, m para 1Meg
-C bytes escribe un máximo de BYTES bytes sin cortar líneas
-l rno. pone nro. de líneas en cada fichero de salida, por defecto asume
1000 líneas.
Comando md5sum
Comprobación de la integridad de los archivos con el comando md5sum:
md5sum raaa sm56setup
96802e303c1bcdccc6aed576d9880ea6 raaa
96802e303c1bcdccc6aed576d9880ea6 sm56setup
56
Comandos Linux
Ejemplo
>echo "hola mundo linux"|cat -A
hola mundo linux$
57
Comandos Linux
Procesos
Generalidades.
Un proceso es un programa en ejecución.
Un programa es una entidad inanimada, el procesador trabaja sobre una
instancia de éste, y esa entidad “viva” se denomina proceso (H. Deitel,
Sistemas Operativos).
En general en el sistema habrán procesos de usuarios y del sistema
ejecutándose en forma concurrente.
Cada proceso se identifica por un número: su PID.
Comando ps
El comando ps muestra información de los procesos activos.
Sintaxis. ps [-opciones]
Comando kill
El comando kill envía una señal a un cierto proceso. El uso más común es para
terminar un proceso corriendo en el sistema.
58
Comandos Linux
Editor de texto Vi
vi - vim
El vi es un editor interactivo usado para editar archivos de texto. Utiliza la
pantalla.
Todas las modificaciones se hacen a través de un buffer.
Los cambios en el buffrer pueden hacerse permanentes o pueden desecharse.
Como invocarlo:
> vi archivo
> vi +nn archivo #para comenzar la edición en la línea nn.
> vi +/string archivo #se posiciona donde localiza string
> vi +”set number” archivo #activa la numeración de líneas
Archivo .exrc
Se puede generar el archivo ~/.exrc para personalizar el comportamiento
del vi, por ejemplo puede contener:
set number
Cada vez que se ejecute el vi la numeración estará activada.
Terminan la edición
ESC :wq! termina y guarda los cambios
ESC :q! Termina sin guardar los cambios
ZZ termina y guarda los cambios
ESC :x! termina y guarda los cambios
ESC :e! Volver a la ultima version guardada
ESC:w file Guardar con otro nombre el archivo
Modo inserción
i antes del cursor
a después del cursor
A al fin de la línea
o línea siguiente del cursos
O línea anterior del cursor
59
Comandos Linux
Referencia:
Teclas Función
Cursor left
h or
Cursor right.
l or
Cursor up.
k or
Cursor down.
j or
B Cursor left one word.
w Cursor right one word.
{ Cursor up one paragraph.
} Cursor down one paragraph.
^ Cursor to line start.
$ Cursor to line end.
gg Cursor to first line.
G Cursor to last line.
Get out of current mode.
i Start insert mode.
o Insert a blank line below the current line and then start
insert mode.
O Insert a blank line above the current line and then start
insert mode.
a Append (start insert mode after the current character).
R Replace (start insert mode with overwrite).
:wq Save (write) and quit.
:q Quit.
:q! Quit forced (without checking whether a save is required).
x Delete (delete under cursor and copy to register).
X Backspace (delete left of cursor and copy to register).
dd Delete line (and copy to register).
:j! Join line (remove newline at end of current line).
Ctrl-J Same.
u Undo.
Ctrl-R Redo.
de Delete to word end (and copy to register).
db Delete to word start (and copy to register).
d$ Delete to line end (and copy to register).
d^ Delete to line beginning (and copy to register).
dd Delete current line (and copy to register).
2dd Delete two lines (and copy to register).
5dd Delete five lines (and copy to register).
p Paste clipboard (insert register).
Ctrl-G Show cursor position.
5G Cursor to line five.
16G Cursor to line sixteen.
60
Comandos Linux
61