Unix Basico 02
Unix Basico 02
comando [-opciones][argumentos]
Pág. 2
Conceptos Generales
Comandos básicos.
$ date
Mon Apr 2 15:18:18 CST 2006
$ _
Pág. 3
Conceptos Generales
Comandos auxiliares.
■ Id: Muestra la identificación del usuario actual.
$ id
uid=0(root) gid=3(sys)groups=3(sys),0(root),1(other)
■ logname: Muestra el login name del usuario.
$ logname
root
■ Tty: Muestra el terminal actual de trabajo.
$ tty
/dev/ttyp0
■ uname: Muestra la identificación del computador central.
$ uname
SCO_SV
Pág. 4
Conceptos Generales
El manual interactivo
$ man cat
CAT(C) CAT(C)
Name
cat - concatenates and displays files.
Syntax
cat [-u][-s][-v][-t][-e] file ...
Description
cat reads each file in secuence and writes ...
Pág. 5
Archivos y directorios
Archivos
Un archivo es la unidad fundamental del Sistema de
archivos del Unix.
Existen tres diferentes clases de archivos: Ordinarios,
Especiales y Directorios.
■ Archivos Ordinarios.- Casi todos los archivos que
depositamos en el disco. Documentos, programas. Los
archivos ordinarios pueden crearse, cambiarse, o
borrarse cuando lo desee.
Pág. 6
Archivos y directorios
Archivos
■ Directorios (carpetas).- Son un tipo especial de
archivos; un directorio contiene los nombres (file name)
y números de identificación (i-nodo) de cada uno de los
archivos que contiene.
■ Archivos Especiales.- Cada uno de los dispositivos
físicos en el Unix, el disco duro, el CD/DVD, la
impresora, etc. tiene asignado un archivo especial
(special file) que permite que el sistema pueda
manejarlos de forma transparente para el usuario.
Pág. 7
Archivos y directorios
Archivos
$ ls -l /dev
total 30
brw-rw-rw- 2 bin bin 2, 64 Jan 12 1997 fd0
brw-rw-rw- 2 bin bin 2, 65 Jan 12 1997 fd1
:
brw------- 1 sysinfo sysinfo 1, 0 May 7 1996 hd00
brw------- 1 sysinfo sysinfo 1, 15 May 7 1996 hd01
:
crw------- 2 bin bin 6, 0 May 17 21:02 lp
:
crw--w--w- 1 root sys 58, 0 May 17 21:05 ttyp0
:
Pág. 8
Archivos y directorios
Archivos
■ Inodos.- Cada entrada de un directorio tiene dos partes:
un nombre y un apuntador llamado link.
■ El link apunta al denominado inodo (i-odo).
■ En el i-nodo se encuentra almacenada la información
del archivo: longitud, fecha de creación, ID del
propietario, los modos y el resto de detalles
importantes.
■ Un archivo no existe en un directorio ya que la
entrada de un directorio solo consta del nombre de
dicho archivo y del puntero que indica el lugar donde
se encuentra almacenada la descripción del archivo.
Pág. 9
Archivos y directorios
El directorio raiz
Pág. 10
Archivos y directorios
Trabajando con archivos.
■ Listando archivos.- El comando ls (list) lista los
archivos contenidos en un directorio.
$ ls
xsoft
ejemplo
practica
prueba
sfmt
unix.dcx
$ l
total 2004
drwxr-xr-x 3 silvia sistemas 48 Jan 11 17:43 xsoft
-rw-r--r-- 1 silvia sistemas 47 Jan 15 12:10 ejemplo
-rw-r--r-- 1 silvia sistemas 39 Jan 15 12:10 practica
-rw-r--r-- 1 silvia sistemas 993 Jan 15 12:34 prueba
-rwx------ 2 bin bin 2840 Nov 3 1988 sfmt
-rw-r--r-- 1 silvia sistemas 87321 Jan 11 13:30 unix.dcx
Pág. 11
Archivos y directorios
Trabajando con archivos.
■ cat.- El nombre del comando cat viene de la palabra
inglesa catch (capturar), y por costumbre se dice que se
usa para "concatenar archivos", y, puede imprimir
archivos en la salida estándar (la pantalla generalmente)
y/o juntar archivos en un solo. Por ejemplo :
$ cat file
:
:
Este es el final de un archivo ejemplo que
contiene mas de una pantalla de texto.
Pág. 12
Archivos y directorios
Trabajando con archivos.
■ more.- El comando more, muestra el contenido de un
archivo, pero sólo una pantalla a la vez. Si el archivo
contiene más de la cantidad de líneas que la pantalla
puede presentar, se puede apreciar el siguiente prompt
después de cada pantalla de texto es mostrada:
$ more archivo
Pág. 13
Archivos y directorios
Rutas de acceso a archivos y directorios.
■ La localización de un archivo se logra mediante un
camino de acceso que parte desde directorio raíz y
recorre la lista de directorios intermedios hasta llegar al
archivo deseado.
■ Los distintos nombres que componen el camino de
acceso de un archivo están separados por el caracter "/",
por ejemplo :
/u/silvia/finanzas/control.c
Pág. 14
Archivos y directorios
Trabajando con directorios.
■ pwd.- Nos retorna el directorio actual de trabajo.
Todos los comandos son ejecutados en relación a
nuestro directorio de trabajo, para conocer en que
directorio nos encontramos, tenemos el comando
pwd (print working directory) así, si ingresamos el
comando:
$ pwd
/usr/silvia
Pág. 15
Archivos y directorios
Trabajando con directorios.
■ mkdir.- Para crear un subdirectorio en nuestro directorio
de trabajo, debemos usar el comando mkdir (make
directory).
Por ejemplo para crear un subdirectorio que llamaremos
archivo1 en nuestro directorio hogar, primero digitamos
cd el cual nos ubicará en donde queremos y luego
damos el siguiente comando:
$ mkdir archivo1
Pág. 16
Archivos y directorios
Trabajando con directorios.
■ rmdir.- Si lo que deseamos es borrar un directorio,
entonces lo hacemos con rmdir (remove directory).
Este comando no trabaja si el directorio a borrar no esta
vacío, es decir, si contiene aún archivos y/o otros
subdirectorios.
$ rmdir archivo1
Pág. 17
Archivos y directorios
Trabajando con directorios.
■ rm.- Para borrar archivos se utiliza el comando rm
(remove). El formato de rm, es el siguiente :
Pág. 18
Archivos y directorios
Trabajando con directorios.
■ mv (move) se utiliza para mover enlaces de archivos
dentro del filesystem Unix. El efecto desde el punto de
vista del usuario es de movimiento de archivos entre
directorios, o, el de renombrado de los mismos. Así por
ejemplo :
$ mv file1 file2
Renombrará el archivo file1 como file2
■ También podemos mover un archivo de un directorio a
otro, por ejemplo:
$ mv file2 /tmp
Pág. 19
Archivos y directorios
Trabajando con directorios.
■ cp.- Para realizar copias de archivos dentro del Unix, el
shell usa el comando cp (copy). Por ejemplo, si
tenemos un archivo llamado curso en nuestro directorio
y deseamos copiarlo se hace:
$ cp curso curso2
$ lc prog*
Pág. 21
Archivos y directorios
Metacaracteres
■ ? .- El signo de interrogación reemplaza cualquier
caracter (uno solo) en el nombre de un archivo. Por lo
tanto:
$ ls ? ?? ???
Pág. 22
Archivos y directorios
Metacaracteres
■ [ ] .- Los caracteres o los rangos mencionados entre
corchetes reemplazan a un caracter en el nombre de un
archivo. Son válidos, por ejemplo, los rangos : 0-9 o a-z.
Por lo tanto : file1.[cos]
se referirá a : file1.c file1.o file1.s
Pág. 23
Archivos y directorios
Permisos de acceso
■ Existen tres tipos de permisos para cada archivo:
r : read; leer, o examinar su contenido.
w : write; escribir, o cambiar su contenido.
x : execute; ejecutar el archivo como un programa.
Para el caso de directorios, esto significa permiso de entrada.
■ El Unix distingue tres categorías de usuarios que pueden
accesar a un archivo:
usuario: user, es el dueño o propietario del archivo.
grupo: group, los usuarios que pertenecen al mismo grupo.
otros: other, el resto de los usuarios.
Pág. 24
Archivos y directorios
Permisos de acceso
■ Como propietario de un archivo, el usuario posee un
conjunto de permisos de: lectura, escritura y ejecución;
el grupo al cual pertenece tiene otro conjunto, y los
demás usuarios tienen un tercer conjunto.
■ El dueño del archivo controla qué usuarios tienen
permiso de acceso y de qué manera pueden hacerlo.
$ls -l sistemas
-rwx r-x r-- 1 jmatias sistemas 682 Jan 16 09:26 wp.c
| | |
dueño |los demás
(user) | (other)
grupo
(group)
Pág. 25
Archivos y directorios
Umask y sus efectos en archivos y directorios.
■ umask (user masking) define los permisos por defecto
para la creación de archivos y directorios, es una
máscara de los permisos NO deseados.
■ Archivos.- El valor de umask equivale a un
complemento a 6 de cada uno de los dígitos octales.
0 2 2 ==> valor de umask
6 4 4 ==> valor complemento
-----------
6 6 6
■ El valor complemento es el valor que van a tomar los
permisos de los archivos recién creados; en el caso
anterior:
6 4 4 equivale a rw- r-- r--
Pág. 26
Archivos y directorios
Umask y sus efectos en archivos y directorios.
■ Directorios.- El valor de umask equivale a un
complemento a 7 de cada uno de los dígitos octales.
0 2 2 ==> valor de umask
7 5 5 ==> valor complemento
------------
7 7 7
■ El valor complemento es el valor que van a tomar los
permisos de los directorios recién creados; en el caso
anterior :
Pág. 27
Archivos y directorios
chmod
■ chmod.- Modifica los permisos de acceso de un archivo
o directorio. El comando chmod cambia los permisos del
archivo o directorio especificado.
■ Sólo el propietario o el superusuario pueden cambiar los
permisos a un archivo.
Pág. 28
Archivos y directorios
chmod
■ El tipo de usuario se establece por una o más de las
siguientes letras:
■ a (all) todos los tipos de usuario.
■ g (group) grupo al que pertenece el dueño del archivo.
■ o (other) los demás usuarios.
■ u (user) dueño del archivo o directorio.
■ La operación que se ejecutará está definida en la
siguiente lista:
■ + agrega el permiso para el usuario especificado.
■ - Quita el permiso para el usuario especificado.
■ = Asigna el permiso para el usuario especificado; todos
los demás permisos para ese usuario se habilitan de
nuevo.
Pág. 29
Archivos y directorios
chmod
■ El permiso de acceso está definido en las siguiente
lista:
■ x permiso de ejecución (de búsqueda para directorios).
■ r permiso de lectura.
■ w permiso de ejecución.
■ Empleando el modo absoluto, la sintaxis sería:
chmod modo archivo
■ donde modo es un número octal.
Permiso Binario Octal
r 100 4
w 010 2
x 001 1
Pág. 30
Archivos y directorios
chmod
■ Por ejemplo, deseamos que al archivos xdatos tenga
todos los permisos para el dueño, lectura y ejecución
para su grupo y sólo lectura para el resto.
$ chmod 754 xdatos
NOTA :
(rwx) : 7 : 4 + 2 + 1
(r-x) : 5 : 4 + 1
(r--) : 4 : 4
Pág. 31
Archivos y directorios
find
find directorio expresión
■ find busca en directorio, aquellos archivos que cumplan
con la expresión.
■ directorio contiene la ruta del directorio donde buscará
find. La búsqueda se realiza en todos los subdirectorios
y a todos los niveles.
■ expresión contiene uno o más criterios. Los criterios
pueden combinarse usando operadores lógicos:
■ ! (NOT) Niega el criterio que le sigue.
■ <espacio> (AND) Cuando dos criterios están separados
por un espacio en blanco, se supone una relación y.
■ -o (OR) Cuando dos criterios están separados por -o, se
considera una relación o.
■
Pág. 32
Edición de textos (vi)
El buffer de memoria.
Pág. 33
Edición de textos (vi)
Modos de operación.
Pág. 34
Edición de textos (vi)
Invocando a vi.
$ vi texo1
Permite editar el archivo "texto1", comenzando en la primera
línea.
$ vi +n texto1
Permite editar el archivo comenzando en la línea n.
$ vi + texto1
Permite editar el archivo comenzando en la última línea.
$ vi +/patrón texto1
Edita el archivo comenzando con la primera línea que contenga
patrón.
$ vi -r archivo
Recupera archivo después de una falla del sistema.
Pág. 35
Edición de textos (vi)
Movimiento del cursor por unidades de medida.
Mandato Mueve el cursor
Espacio, l un espacio a la derecha.
H espacio a la izquierda
w una palabra a la derecha
W una palabra delimitada por blancos a la derecha.
b una palabra a la izquierda
B una palabra delimitada por blancos a la izquierda
$ fin de línea
O principio de línea
[ENTER] principio de la siguiente línea
j una línea hacia abajo
k una línea hacia arriba.
Pág. 36
Edición de textos (vi)
Movimiento del cursor dentro de la pantalla:
Mandato Mueve el cursor
[Ctrl][d] media pantalla hacia adelante.
[Ctrl][u] media pantalla hacia atrás
[Ctrl][f] una pantalla hacia adelante
[Ctrl][b] una pantalla hacia atrás
nG a la línea n
n| a la columna n
H al principio de la pantalla
M a la parte media de la pantalla
L al final de la pantalla.
Pág. 37
Edición de textos (vi)
Adición de texto.
Todos los mandatos siguientes dejan a vi en el modo
de inserción (excepto r).
Mandato Inserta texto
i antes del cursor
a después del cursor.
A al final de la línea
o en la siguiente línea (abrir una línea)
O en la anterior línea (abrir una línea)
r reemplaza el caracter actual
R reemplaza caracteres, comienza con el caracte
actual (sobreescribe hasta que se presione
[ESC])
Pág. 38
Edición de textos (vi)
Borrar y cambiar de texto.
En al siguiente lista, [UM] representa una unidad de medida
que puede ir precedida de un factor de repetición [FR].
Mandato Efecto
[FR]x borrar el número de caracteres especificado por
FR, empezando por el caracter en curso.
[FR]X borrar el número de caracteres especificado por
FR, empezando por el caracter siguiente al que
está en curso.
[FR]dd borrar el número de líneas especificado por FR.
D borrar desde la posición del cursor hasta el final
de la línea.
Pág. 39
Edición de textos (vi)
Búsqueda de una cadena.
En la lista siguiente, [rexp] representa una expresión
regular que puede ser una cadena de caracteres
sencilla.
Mandato Efecto
/[rexp] busca rexp hacia adelante.
?[rexp] busca rexp hacia atrás.
n repite la búsqueda original en forma exacta.
N repite la búsqueda original en la dirección
opuesta.
/ repite la búsqueda original hacia adelante.
? repite la búsqueda original hacia atrás.
Pág. 40
Edición de textos (vi)
Sustitución de una cadena.
El formato de un mandato de sustitución es el siguiente:
:[dirección]s/cadena1/cadena2/g]
Pág. 42
Entrada y Salida en Unix
Redireccionando los datos
Pág. 43
Entrada y Salida en Unix
Redireccionando los datos
Pág. 44
Entrada y Salida en Unix
Redireccionando los datos
Pág. 45
Entrada y Salida en Unix
Redireccionando los datos
Pág. 47
Entrada y Salida en Unix
Filtros y tuberías
Pág. 48
Entrada y Salida en Unix
Filtros y tuberías