Anda di halaman 1dari 80

Introd.

Unix

CURSO
SISTEMAS OPERATIVOS I
SEMANA
SEGUNDA SEMANA

TEMA
PROGRAMACIN EN SHELL

ING. OMAR C. RARAZ TUPAC YUPANQUI

omar2093@hotmail.com 2013-I
Dr. Roberto Gmez Diapo. No. 1

Introd. Unix

UNIX: un sistema operativo

Funciones principales: - control del hardware - compartir memoria entre los diferentes elementos - compartir CPU entre los diferentes procesos - controlar la creacin y el acceso de los archivos

Usuarios Programas de aplicacin Administrador de la base de datos El shell

UNIX
Hardware

Dr. Roberto Gmez

Diapo. No. 2

Introd. Unix

Breve Historia Unix


MULTICS: Laboratorios Bell GE 645 Computer (1960s) Ken Thompson File System Dennis Ritchie Space Travel (Honeywell 635) PDP-7: buen monitor grfico sistema complejo y tedioso Implementacin del sistema en PDP 7 :file ystem predecesor sistema archivos Unix (1970) Procesador Textos Laboratorios Bell Unix fue movido a una PDP-11 Sistema 16K, usuario 8K, 512K en disco y 64K por archivo

Thompson desarrolla lenguaje B Ritchie crea lenguaje C 1973: Unix fue reescrito en C UNICS: Sistema de Informacin y Computo con Uniplexin
Dr. Roberto Gmez Diapo. No. 3

Dr. Roberto Gmez

Descendiente directo Fuerte Influencia Versin 6 (1975) Laboratorios Bell AT&T (c. 1969-1970)

Introd. Unix

BSD (1977)

Versin 7 (1977)

Xenix (1979 y despus)

Sistema III (1982)

4.2 BSD (1984)

Sistema V.2 (1984) Sistema V.3 (1986)

4.3 BSD (1985)

Diapo. No. 4

4.3 BSD (1993)

OSF/1 (c.1992)

Sistema V.4 (1988)

Introd. Unix

Dr. Roberto Gmez

BSD

System V.3

OSF/1

System V.4

SunOS IRIX DEC OSF/1 AIX HP-UX 10 definicin Solari s

SCO UNIX

Linux

Diapo. No. 5

implementacin

Introd. Unix

Acceso a un sistema UNIX


Para conectarse es necesario:

- Un nombre de usuario
8 caracteres como mximo, creado por el administrador del sistema, (apellido, nombre, matrcula) - Una clave de entrada o password Creada por el administrador del sistema y modificada por uno mismo formada por al menos seis caracteres, (al menos dos caracteres deben de ser diferentes a letras) Para "loguearse", (firmar) login: rogomez Password: Si hay algun error: Login incorrect

login:
Si todo se pasa bien, aparece el "prompt": $ para el bourne shell % para el C-shell

Dr. Roberto Gmez

Diapo. No. 6

Introd. Unix

El Shell
El shell es un programa que lee lneas de comando de una terminal o archivo, las interpreta, y le indica a UNIX que hacer Interfaz entre los usuarios y UNIX Interprete de comandos Es un lenguaje de programacin El shell no es parte del sistema operativo Tipos de shells: Bourne Shell (sh) el ms viejo de los principales shells de UNIX C-shell (csh) es el principal del UNIX BSD, sintaxis cercana al del lenguaje C posibilidad de controlar las tareas (job control), ms fcil de usar interactivamente Korn shell (ksh) es una extensin del Bourne shell algunas extensiones: posibilidad de contar con un histrico de los comandos y editar una lnea introducida anteriormente C-shell extendido (tcsh) versin mejorada del csh, que ofrece edicin interactiva de comandos almacenados en el histrico es de dominio pblico Bash shell shell de Linux, proporcionado por la Free Software Foundation, significa Bourne Again Shell compatible con sh ofreciendo edicin interactiva de lneas de comandos pasados
Dr. Roberto Gmez Diapo. No. 7

Introd. Unix

El ambiente UNIX

Cuando uno se "loguea", (entra) al sistema UNIX, el sistema les proporciona un Shell. Este Shell proporciona al usuario un ambiente propio El ambiente del usuario contiene toda la informacin necesaria, as como ciertas variables El Shell almacena los siguientes tipos de variables: + las variables locales

+ las variables exportadas


+ las variables de ambiente Las variables locales solo son conocidas por el Shell que las cre o modific Las variables exportadas pueden ser vistas por todos los subshells El comando printenv (todos shells) set (todos shells) setenv (csh, tcsh) despliega en la pantalla la lista de las variables as como su valor Cada vez que se crean o modifican las variables el ambiente del usuario es actualizado

Dr. Roberto Gmez

Diapo. No. 8

Introd. Unix

$printenv

MANPATH=/usr/dt/man:/usr/man:/usr/openwin/share/man LANG=en_US OPENWINHOME=/usr/openwin EDITOR=asedit LOGNAME=rogomez MAIL=/var/mail/rogomez PS1=$PWD $ TERMCAP=sun-cmd:te=\E[>4h:ti=\E[>4l:tc=sun: USER=rogomez LC_MESSAGES=C LC_CTYPE=en_US DISPLAY=:0.0 SHELL=/bin/ksh TERM=sun-cmd PWD=/home/rogomez

HOME=/home/rogomez
LC_COLLATE=en_US LC_NUMERIC=en_US TZ=US/Central HOST=armagnac.cem.itesm.mx HOSTTYPE=sun4 ENV=/home/rogomez/.kshrc VENDOR=sun OSTYPE=solaris MACHTYPE=sparc SHLVL=1 GROUP=unknown $
Dr. Roberto Gmez Diapo. No. 9

Introd. Unix

$set dcwd /home/rogomez dirstack /home/rogomez echo_style bsd edit gid 40 group unknown history 40 home /home/rogomez ignoreeof lpath (/usr/local/bin /usr/local/mtools /usr/local/ioffice/bin) mychoice openwin mypath /home/dic/rogomez/bin/ noclobber owd /home/rogomez path (. /home/rogomez /usr/openwin/bin/xview /usr/openwin/bin /usr/sbin /usr/ccs/bin /home/rogomez/bin /home/rogomez/bin /usr/local /usr/ucb /usr/bin /usr/etc /usr/local/bin /usr/local/mtools /usr/local/ioffice/bin) prompt rogomez@armagnac:%h> prompt2 %R? prompt3 CORRECT>%R (y|n|e|a)? shell /usr/local/bin/tcsh shlvl 1 status 0 tcsh 6.07.02 term sun-cmd tty pts/9 uid 2903 user rogomez $
Dr. Roberto Gmez Diapo. No. 10

Introd. Unix

Las variables
El Shell permite almacenar valores dentro de las variables El nombre de las variables debe de comenzar por una letra o un "_", seguida por cero o ms caracteres alfanumricos o un "_" Existen dos formas de asignar un valor a una variable:

1. a travs del comando set: (con o sin espacios):


$set variable = valor por ejemplo: $set mon_bin = /usr/toto/bin 2. asignando directamente el valor a la variable (sin espacios) $variable=valor por ejemplo:

$mon_bin=/usr/toto/bin
El contenido de una variable es una cadena de caracteres Para acceder el contenido de una variable, se debe anteceder el caracter "$" a su nombre. Si se necesita desplegar su contenido se debe utilizar el comando echo. Ejemplo: $ echo $mon_bin /usr/toto/bin $ Existen variables utilizadas por el shell (variable de ambiente, por convencin en maysculas) que son creadas e inicializadas en el momento en que el usuario entra al sistema Ejemplo: $ echo $TERM $HOME

sun-cmd /home/dic/aortiz
$
Dr. Roberto Gmez Diapo. No. 11

Introd. Unix

La variable PATH

El Shell utiliza esta variable para saber donde buscar los comandos a ejecutar, cuando el camino de acceso no se proporciona

Esta variable es inicializada despus del " login "

El usuario la puede modificar a su voluntad

Los valores comunes son: bshell, kshell PATH=.:/bin:/usr/bin PATH=/bin:/usr/bin:. cshell, tcshell set path = (. /usr/local /usr/ucb /usr/bin /usr/etc) set path = (/usr/local /usr/ucb /usr/bin /usr/etc .)

+ en el primer caso, el directorio actual es explorado primero + en el segundo caso, el directorio actual es explorado al ltimo Un ejemplo de modificacin de la variable PATH es: $PATH=/bin:/usr/bin:.:$HOME/bin (b-shell) %set path=($path /home/rogomez/bin (c-shell)
Dr. Roberto Gmez Diapo. No. 12

Introd. Unix

La creacin del ambiente (C shell)

El archivo .login + Este archivo contiene los comandos ejecutados al momento del login, siempre y cuando se ultize C-Shell + Puede ser utilizado para: - inicializar una aplicacin ( p.e. mail) - inicializar las variables de ambiente El archivo .cshrc + Contiene los comandos ejecutados en la inicializacin de todo C-Shell. El C-Shell ejecuta los comandos que se encuentran en el archivo .cshrc antes de ejecutar los del archivo .login + Puede ser utilizado para: - definir alias - inicializar las variables locales al C-Shell ( p.e. HOME) El archivo .logout + Contiene los comandos ejecutados al final de la sesin, (despus del comando logout ) + Puede ser utilizado para: - visualizar las informaciones estadsticas de toda la sesin de trabajo - borra la pantalla, para evitar indiscreciones

Dr. Roberto Gmez

Diapo. No. 13

Introd. Unix

Ejemplo .login

# archivo .login # mostrar fecha echo Hoy es date # fijar las opciones de la terminal stty echo echoe erase H #fijar las variables del entorno setenv SHELL /usr/bin/csh setenv TERM vt100 setenv MAIL /usr/spool/mail/SUPER #definicion ambiente ventanas if ( !{$OPENWINHOME} == 0 ) then setenv OPENWINHOME /usr/openwin endif if ( ! -e $OPENWINHOME/bin/openwin ) then set mychoice=sunview endif if ( !{$OPENWINHOME} == 0 ) then setenv OPENWINHOME /usr/openwin endif

Dr. Roberto Gmez

Diapo. No. 14

Introd. Unix

Ejemplo .cshrc

# archivo .cshrc - ejemplo

# fija las variables del shell set cdpath = ( . $home $home/work/project /usr/spool/uucppublic set path = ( /usr/bin /$home/bin . ) set history = 40 set prompt = `whoami`@`hostname|cut -d. f1`>
# activa ignoreeof y noclobber set ignoreeof set noclobber # definir alias alias cx chmod +x alias ll ls -la alias h history alias m more alias wg who | grep # fija permiso default para creacion sw archivos umask 0777

Dr. Roberto Gmez

Diapo. No. 15

Introd. Unix

Ejemplo .logout

# ejemplo de archivo .logout # a ejecutar cuando se acaba la sesion


clear echo Remember to turn on call echo forwarding before you go home. sleep 10

Dr. Roberto Gmez

Diapo. No. 16

Introd. Unix

Ejemplo .profile

# Haciendo globales alguna variables export MAIL PATH TERM # Estableciendo la mascara de permisos de archivos umask 022

# Indicar cuando llegue el correo MAIL=/var/mail/$LOGNAME


# Aadir path de PATH=$PATH:$HOME/bin # Asignar tipo de terminal TERM=${L0:-u/n/k/n/o/w/n} # gnar. invalido while: do if [ -f ${TERMINFO:-/usr/share/lib/terminfo}/ then break elif [ -f /usr/share/lib/terminfo/?/$TERM ] then break else echo invalid term $TERM 1>&2 fi echo terminal: \c read TERM done # Inicializar la terminal y establecer tabuladores # Asignar el caracter de borrado al backspace stty erase ^H echoe

Dr. Roberto Gmez

Diapo. No. 17

Introd. Unix

Cambio de clave-password

El comando passwd permite modificar el password de un usuario, para esto el usuario deber de conocer el password de la cuenta que desee modificar.

Sintaxis: passwd [ -l | -y ] [ -afs] [ -d [ usename] ]

[ -e username] [- F filename]
[ -n numdays username] [-x numdays username] [ username ]

Ejemplo: $ passwd

Changing password
Old password: <antiguo password> New password: <nuevo password> Re-enter new password: <nuevo password>

Dr. Roberto Gmez

Diapo. No. 18

Introd. Unix

El manual UNIX

Dividido en secciones: 1) Comandos de usuarios 5) Formatos de archivos

2) Llamadas de sistema
3) Subrutinas 4) Dispositivos

6) Juegos
7) Varios 8) Administracin de Sistema

Para cada comando se puede encontrar la siguiente informacin:


NAME SYNOPSIS

DESCRIPTION
WARNINGS SEE ALSO BUGS DIAGNOSTIC

EXAMPLE
FILES

Sintaxis man [ opcion ] [ seccion ] titulo(s) Opciones: -k busca la cadena "titulo" en los manuales y da las partes "NAME" de las pginas correspondientes.

Si no se especifica ninguna seccin, la pgina a imprimir es buscada en todas las secciones

Ejemplo:
$ man mkdir
Dr. Roberto Gmez Diapo. No. 19

Introd. Unix

Ejemplo de uso de man

rogomez@armagnac:79> man tty Reformatting page. Wait... Done TTY(1) NAME


tty - display the name of the terminal

USER COMMANDS

TTY(1)

SYNOPSIS
tty [-s]

DESCRIPTION
tty prints the pathname of the users terminal unless the -s (silent) option is given. In either case, the exit value is zero if the estndar input is a terminal, and one if it is not.

OPTIONS
-s Silent. Does not print the pathname of the users terminal.

Sun Release 4.1 Last change: 9 September 1987

Dr. Roberto Gmez

Diapo. No. 20

Introd. Unix

Ejemplo uso del man


rogomez@armagnac:79> man -s4 tty Reformatting page. Wait... Done TTY(4) NAME
tty - controlling terminal interface

DEVICES AND NETWORK INTERFACES

TTY(4)

DESCRIPTION
The file /dev/tty is, in each process, a synonym for the controlling terminal of that process, if any. Is is useful......

IOCTLS
In addition to the ioctl() requests supported by the device that tty refers to, the following ioctl() request is supported: TIOCNOTTY Detach the current process from its controlling terminal, and remove it from its......

FILES
/dev/tty

SEE ALSO
termio (4)

Sun Release 4.1 Last change: 9 September 1987


Dr. Roberto Gmez Diapo. No. 21

Introd. Unix

Contenido archivo /usr/man/man1/tty.1

rogomez@armagnac:79> more /usr/man/man1/tty.1 .\@(#)tty.1 1.10 90/02/15 SMI; form UCB 4.2 .TH TTY 1 9 September 1987 .SH NAME tty \- display the name of the terminal .SH SYNOPSIS .B tty [ .B \-s ] .IX tty command \fLtty\fP \(em get terminal name .IX get terminal name \(em \fLtty\fP .IX terminal get name of get name of \(em fLtty\fP .IX login enviroment TTY \fltty\fp \(em get terminal name .SH DESCRIPTION .B tty prints the pathname of the users terminal unless the .B \-s (silent) option is given. In either case, the exit value is zero if the estndar input is a terminal, and one if it is not. .SH OPTIONS .TP .B \-s Silent. Does nos print the pathname of the users terminal

Dr. Roberto Gmez

Diapo. No. 22

Introd. Unix

Comando nroff y apropos


Comando nroff
formatea documentos para ser desplegados en la lnea de impresin de estilo typewriter si no se da ningn nombre archivo comando lee la entrada estndar ejemplo:
rogomez@armagnac:79> nroff -man.tty1 | more Reformatting page. Wait... Done TTY(1) :
USER COMMANDS TTY(1)

Comando apropos
sintaxis: apropos keyword depliega el nombre de la pgina, el nmero de seccin y una pequea descripcin de cada pgina del manual cuya lnea de nombre contenga keyword. ejemplo: rogomez@armagnac:80>apropos tty

Dr. Roberto Gmez

Diapo. No. 23

Introd. Unix

La lnea de comandos

La lnea de comandos empieza en el prompt del Shell, hasta el <RETURN> La primera palabra es el nombre de un archivo ejecutable, o de un comando interno del Shell El comando puede ser seguido por una o ms opciones, y/o uno o ms argumentos, (separados por espacios o tabulaciones) La lnea de comando no es ejecutado antes del <RETURN> El Shell contiene cuatro tipos de lneas de comandos: - simple - secuencial - pipeline - agrupado

Para poder capturar una lnea de comando muy larga, es posible de insertar el caracter " \ " al final de la primera lnea, despus de teclear <RETURN> para poder teclear el resto de la lnea de comando en una segunda lnea de la terminal
- Ejemplo: $ ~/bin/xvile articulo.tex -display \ rogomez:0.0

Dr. Roberto Gmez

Diapo. No. 24

Introd. Unix

Sintaxis de los comandos UNIX

La sintxis depende de cada comando

Es necesario dejar un espacio: + entre el nombre del comando y las opciones y/o los argumentos + entre las opciones y los argumentos + entre los argumentos

Un comando tiene opciones por default, si se quiere utilizar estas opciones se tiene que realizar: $ nombre-comando <RT>

En caso contrario los siguientes formatos son posibles: $ nombre-comando argumento(s) <RT>

$ nombre-comando opcion(es) <RT>


$ nombre-comando opcion(es) argumento(s) <RT>

Se hace diferencia entre letras maysculas y minsculas $ cd /bin $ CD /BIN

Dr. Roberto Gmez

Diapo. No. 25

Introd. Unix

Elementos de la lnea de comandos (qu, cmo y quin )

1. El comando: qu hacer? Es la primera palabra de la lnea Corresponde al nombre de un archivo ejecutable

Es posible utilizar un archivo de acceso relativo o absoluto


$ echo $ bin/xvile $ /bin/cat 2. Las opciones: cmo hacerlo?

Siguen al comando (separado por un espacio)


Generalmente precedida por un ' - ' ( a veces un ' + ' ) $ ls - l $ date +%d%m%y 3. Los argumentos: sobre quin actuar? Generalmente uno, o varios, nombres de archivos $ cat capitulo $ cp archivo nuevo $ ls -l tarea*

Dr. Roberto Gmez

Diapo. No. 26

Introd. Unix

Los archivos en UNIX

Qu son? - Informacin asociada a un nombre - Considerada como una serie de bytes: + Caracteres ASSCII + Cdigo mquina - Almacenados en un disquete, disco duro, o banda

Tipos de archivos 1. Ordinarios - Contienen una serie de bytes (ASCII, binarios, ambos) - Estructura interna definida por el usuario 2. Directorios 3. Especiales perifricos, (descriptores) - Indican a UNIX cual driver se debe utilizar - Le proporcionan al driver las opciones a utilizar - Se encuentran dentro del directorio /dev

Dr. Roberto Gmez

Diapo. No. 27

Introd. Unix

Creacin de archivos

Pueden ser creados por:

- un editor (ed, vi, emacs, ex ......)

- la redireccin de la salida estndar de un programa


$ ls -l tarea* > salida.txt - algunos comandos (cp, sort, cc, mkdir)

La administracin de los archivos es efectuada por UNIX y es totalmente transparente al usuario

Los archivos son generalmente escritos sobre disco

Cada archivo esta asociado con al menos un nombre

Dr. Roberto Gmez

Diapo. No. 28

Introd. Unix

Nombre de los archivos

Cada archivo, comprendidos los directorios y los archivos especiales, es referenciado por un nombre
Caractersticas del nombre: - 14 caracteres de longitud mxima (sistema V) o 255 (BSD 4.x) - Puede contener cifras y letras (minsculas y/o maysculas) - El primer caracter no puede ser: - + =

- No se aconsejan los caracteres especiales, salvo: . , _ Ejemplos: passwd test-temp archivo_viejo

.cshrc
source.c cb.027-01 Utilizar convenciones para los nombres de los archivos Archivos invisibles: empiezan con .

Dr. Roberto Gmez

Diapo. No. 29

Introd. Unix

Los directorios

Permiten organizar el sistema de archivos

Referenciados por su nombre, (como los otros archivos)

Contienen dos tipos de informacin - El nombre del archivo - El nmero de bloque de control (numero-i) El directorio contiene estas informaciones para todos los archivos, otros directorios, y/o archivos especiales que se encuentran a nivel inferior

Cada directorio es creado con dos entradas: - "." - ".." una referencia a l mismo una referencia a su padre

Cuando se entra al sistema ("loguearse"), UNIX posiciona al usuario en un directorio: es el directorio HOME

Dr. Roberto Gmez

Diapo. No. 30

Introd. Unix

Los directorios ms comunes


/bin /etc contiene los principales comandos contiene los comandos y los archivos utilizados para el mantenimiento y administracin del sistema contiene libreras y programas de los compiladores contiene los archivos temporales los usuarios pueden usarla trabajo

/lib /tmp

como zona de

/dev
/usr

contiene los archivos especiales de descripcin de perifricos


es, en teora, un sistema de archivos completo. Contiene los comandos locales, algunas libreras, los comandos usuarios, los archivos de los correos, etc. Los directorios de los usuarios pueden encontrarse en este directorio

/usr/bin contiene los comandos complementarios /usr/ucb contiene los comandos especficos BSD 4.x /usr/lib contiene las libreras y los programas suplementarios. Tambin contiene los programas de administracin de las impresoras y comunicacin /u o /udd los directorios de los usuarios pueden encontrarse dentro de sistemas de archivos separados, como /u
Dr. Roberto Gmez Diapo. No. 31

Introd. Unix

El directorio HOME

Cada usuario tiene un directorio HOME

Directorio creado por el administrador del sistema, generalmente es creado dentro del directorio /usr, /u o /udd

Despus del "login:" el usuario se encuentra dentro de este directorio, (que se convierte en su directorio de trabajo)

Normalmente, el usuario trabajar en los directorios que se encuentran dentro del directorio HOME

Para posicionarse en l basta con teclear: $ cd <ret>

Una forma de accesarlo desde cualquier directorio es a travs del caracter "~", por ejemplo: $ pwd /home/usr/toto/tareas $ cp ~/bin/xvi .

Dr. Roberto Gmez

Diapo. No. 32

Introd. Unix

Acceso de archivos en UNIX

Cada archivo es referenciado por su camino de acceso, (pathname) el cual esta formado por: - un nombre o una sucesin de nombres - separados por "/" - terminado por el nombre del archivo o directorio deseado

Ejemplo: /udd/emille/.cshrc /usr/local/bin/bm /tmp/sh$$ abcd travail/zz

Existen dos formas de especificar un camino de acceso 1. absoluto Se especifican todos los directorios necesarios para accesar un archivo $ /home/sunlab/dic/rogomez/bin/xvile 2. relativo Se trabaja sobre el directorio de trabajo $ bin/xvile

Dr. Roberto Gmez

Diapo. No. 33

Introd. Unix

Listado del contenido de un directorio


ls despliega los nombres de los archivos que se encuentran dentro del directorio actual,

Sintaxis: ls [opciones]

Algunas opciones: -a -l -d -s -u -t -i -C -g lista los archivos que comienzan con un "." listado en formato largo si el argumento es un directorio lista el nombre del archivo directorio y no su contenido da el tamao de los archivos en kilo-bytes despliega la ltima hora de acceso en lugar de la ltima hora de modificacin acomoda los archivos en funcin de la hora de la ltima modificacin imprime el nmero de referencia (i-node) de los archivos lista los archivos en columnas muestra el propietario del grupo de un archivo en un formato largo

Nota: las opciones pueden estar mezcladas: $ ls -al

Dr. Roberto Gmez

Diapo. No. 34

Introd. Unix

Listado del contenido de un directorio

Ejemplo:
$ ls -l

total 4
d r w x r - x r - x 1 cachafas d r w x r - x r - x 1 cachafas - r w x r - x r - x 1 cachafas - r w - r - x - - x 1 cachafas $ 512 Oct 12 10:13 Sundraw 512 Dec 11 20:13 Sunpaint 512 Sep 15 18:13 toto 512 Jan 12 01:14 curso.html

Despliega la siguiente informacin: - El tipo de archivo: d c r normal directorio especial (perifrico en modo caracter) lectura

- Las autorizaciones de acceso de los archivos:

w
x -

escritura
ejecucin acceso no permitido

- Nmero de ligas - Propietario - Tamao - Fecha y hora de la ltima modificacin - Nombre del archivo o directorio

Dr. Roberto Gmez

Diapo. No. 35

Introd. Unix

Comandos tiles con los archivos


- more en BSD 4.x , pg en System V despliega el contenido de un archivo parndose entre cada pantalla Sintaxis: Ejemplo $ more .cshrc - cat more nombre-archivo

copia uno o varios archivos hacia la salida estndar (la pantalla por default)
Sintaxis: Ejemplo $ cat archivo.txt - pwd print working directory cat nombre-archivo

despliega el camino de acceso del directorio actual (donde se encuentra dentro del sistema de archivos). despliega el nombre de un directorio nunca el de un archivo Sintaxis: Ejemplo: $ pwd /home/dic/rogomez/Perso $ pwd

Dr. Roberto Gmez

Diapo. No. 36

Introd. Unix

Comandos UNIX
- cd permite cambiar de directorio

Sintaxis:
Ejemplo:

cd [ nombre-directorio ]

cd sin nombre lo posiciona en el directorio HOME $ cd tareas

- mkdir

creacin de directorios
Sintaxis: Ejemplos: $mkdir /usr/usr2/alumno1 $mkdir test direc1 rep2 $mkdir arbo arbo/rep1 mkdir directorio [ directorio ]

- rmdir Borrado de directorios Sintaxis: Ejemplo $rmdir tareas rmdir directorio [ directorio ] rmdir no borrar el directorio si este no se encuentra vaco

Dr. Roberto Gmez

Diapo. No. 37

Introd. Unix

Comandos UNIX
- date Despliega la fecha y la hora

Sintaxis:
Ejemplo:

date

$ date Mon Oct 10 15:58:58 MET 1988 $ La impresin del comando date puede ser reformateada Ejemplo:

$date '+DATE: %d-%n-10%y%nHEURE: %H:%M:%S'


DATE: 10-10-1988 HEURE: 16:01:47 $ - who Despliega los usuarios conectados Sintaxis: Ejemplo: $who rgomez console Oct 10 09:48 rgomez ttyp0 mimoso ttyp1 Oct 10 11:18 Oct 10 12:54 who

Una variante es whoami que despliega informacin correspondiente a la persona conectada a la terminal donde se tecleo ese comando
Dr. Roberto Gmez Diapo. No. 38

Introd. Unix

Comandos UNIX

- cp copia un archivo ordinario Sintaxis: cp archivo1 archivo2 cp archivo [archivos ] directorio Ejemplos $ cp arch1 arch2 $ cp arch1 direc $ cp arch1 direc/arch2 $ cp arch1 arch2 arch3 direc $ cp -r cp no modifica los archivos originales, tan solo los duplica opcin -r = copia recursiva: si es un directorio copia el contenido de este -mv (move) desplaza un archivo o lo renombra Sintaxis: mv antiguo-nombre nuevo-nombre mv archivo [ archivos ] directorio

Ejemplo:
$ mv arch-a arch-b $ mv direc1 direc2 $ mv arch1 arch2 arch3 arch4 direc $ mv arch1 ../bin/fx

Dr. Roberto Gmez

Diapo. No. 39

Introd. Unix

Comandos UNX

- ln (link) crea un nuevo nombre para un archivo, (til para archivos sistemas, evitar copiar dos archivos con el mismo nombre => ahorrar espacio ) solamente con la opcin -s se puede cambiar el nombre a un directorio Sintaxis: Ejemplos
$ ls -li total 2 14411 -rw-r--r-14412 -rw-r--r-$ ln arch1 fichier $ ls -li total 3 14411 -rw-r--r-14411 -rw-r--r-14412 -rw-r--r-2 rgomez 2 rgomez 1 rgomez 412 Oct 10 16:56 arch1 412 Oct 10 16:56 fichier 167 Oct 10 16:57 archivo 1 rgomez 1 rgomez 412 Oct 10 16:56 arch1 167 Oct 10 16:57 archivo /* listado largo con i-node */

ln archivo nuevo-nombre

Dr. Roberto Gmez

Diapo. No. 40

Introd. Unix

Comandos UNIX

- ln (link) En BSD 4.x es posible crear ligas simblicas entre archivos o directorios correspondientes a sistemas de archivos diferentes Sintaxis: Ejemplos
$ ls arch1dir1 $ ln -s arch1 fichier $ ls -li total 3 14411 -rw-r--r-14412 lrwxrwxrwx 38935 drwxr-xr-x 1 rgomez 412 Oct 10 16:56 arch1 1 rgomez 4 Oct 10 17:09 fichier -> arch1 2 rgomez 512 Oct 10 17:09 dir1

ln -s archivo otro-nombre

$ ln -s dir1 repertoire
$ ls -li total 4 14411 -rw-r--r-14412 lrwxrwxrwx 38935 drwxr-xr-x 14413 lrwxrwxrwx $ 1 rgomez 412 Oct 10 16:56 arch1 1 rgomez 2 rgomez 4 Oct 10 17:09 fichier -> arch1 4 Oct 10 17:10 dir1 -> repertoire 2 rgomez 512 Oct 10 17:09 dir1

Dr. Roberto Gmez

Diapo. No. 41

Introd. Unix

Comandos UNIX
- rm (remove) borra el nombre de un archivo si ese nombre fuera el ltimo (numero de ligas = 1), el archivo ser "fsicamente" suprimido Sintaxis: Ejemplo: $ rm arch1 Opciones: rm archivo [ archivos ]

-r
-f -i - echo

recursivamente (si directorio contiene otro, borra contenido de este)


forza (no despliega errores, ni hace preguntas) interactivo, (pregunta)

imprime sus argumentos sobre la salida estndar (la pantalla por default) Sintaxis: Ejemplo: $ echo prueba del comando echo prueba del comando echo $ echo $ echo [ argumentos ]

Dr. Roberto Gmez

Diapo. No. 42

Introd. Unix

Ms comandos UNIX

- which
Localiza un comando desplegando su pathname o alias Sintaxis: which [filename]...

Descripcin: which toma una lista de nombres y busca por los archivos que seran ejecutados al escribir estos nombres como comandos. Cada argumento es expandido y buscado dentro del path del usuario. Tanto los alias como los paths son tomados del archivo .cshrc Ejemplo: $which xeyes /home/dic/rogomez/xeyes $which opnet opnet: Command not found

Dr. Roberto Gmez

Diapo. No. 43

Introd. Unix

Las entradas/salidas estndar

Cuando se realiza una conexin a un sistema UNIX tres archivos, (descriptores), son abiertos: 1. Entrada estndar, (stdin): el teclado por donde se teclean los comandos 2. Salida estndar, (stdout): la pantalla donde son desplegados los resultados de los comandos 3. Salida de errores, (stderr): la pantalla donde son desplegados los errores eventuales Un nmero, (el descriptor de archivo), es asignado a cada archivo: 0: entrada estndar 1: salida estndar 2: salida de errores

stdout

UNIX
stdin stderr

Dr. Roberto Gmez

Diapo. No. 44

Introd. Unix

Las entradas/salidas estndar

Algunos comandos no leen sus argumentos de la entrada estndar sino de uno o ms archivos
Ejemplo: $ cat arch1 arch2 lee los archivos "arch1" y "arch2", desplegando su contenido en la salida estndar.

stdout

cat
stdin stderr

arch1 arch2

Dr. Roberto Gmez

Diapo. No. 45

Introd. Unix

Redireccin de las entradas/salidas estndar

El shell permite redireccionar las entradas/salidas estndar:

<

redireccin de la entrada estndar.

>

redireccin de la salida estndar (creacin)

>> redireccin de la salida estndar (aadir/agregar) La redireccin de la salida de error depende del shell. bshell cshell

2> redireccin de la
salida de error 2>&1 redireccin de la salida estndar y de error

>& redireccin de la salida


estndar y de error No existe opcin para redirecccionar slo la salida de error.

Dr. Roberto Gmez

Diapo. No. 46

Introd. Unix

Redireccin de la entrada estndar

$mail profesor < tarea.txt La entrada estndar ser el archivo " tarea.txt "

stderr

mail
stdin

stdout
/usr/spool/mail/profesor tarea.txt

Dr. Roberto Gmez

Diapo. No. 47

Introd. Unix

Redireccin de la salida estndar (creacin)

$cat arch1 arch2 > final.txt


- Los archivos "arch1" y "arch2" sern copiados una despus del otro en el archivo "final.txt" - La salida estndar de cat es "final.txt"

stderr

cat
stdin stdout final.txt arch1 arch2

Dr. Roberto Gmez

Diapo. No. 48

Introd. Unix

Redireccin de la entrada estndar

$echo ERRORES DE COPIA >> log - La salida estndar del comando echo ser el archivo "log" - Si el archivo no existe, ste ser creado - Si el archivo ya existe, se aadir el resultado del comando echo al final de dicho archivo

stderr

mail
stdin stdout

log

Dr. Roberto Gmez

Diapo. No. 49

Introd. Unix

Ejemplo de redireccin de la salida estndar de error

Para bshell: $ls x $cat x Este es el archivo x $cat x y 1> algo 2> error $cat x Este es el archivo x $cat error cat:y:No such file or directory $cat x y 1> toto 2>&1 $cat toto Este es el archivo x cat:y:No such file or directory Para cshell: $cat x y >& cachafas $cat cachafas Este es el archivo x cat:y:No such file or directory $(cat x y > result) >& error $cat result Este el archivo x $cat error cat:y:No such file or directory
Dr. Roberto Gmez Diapo. No. 50

Introd. Unix

Restricciones de las redirecciones

Existe el archivo? SI < > lee el archivo error archivo >> aadirlo al final error NO error creacin del

del archivo

Es posible modificar la redireccin de la salida estndar en cshell con la variable noclobber

Dr. Roberto Gmez

Diapo. No. 51

Introd. Unix

Ejecutando comandos secuenciales


Es posible teclear diferentes comandos sobre la misma lnea, separandolos por punto y comas " ; " Los comandos son ejecutados secuencialmente, es decir que el segundo comando es ejecutado despus de que el primero termin su ejecucin Ejemplo:
$ date Wed Oct 12 10:44:16 MET 1986

$ ls -C
prueba $ who rgomez rgomez toto $ console ttyp0 ttyp1 Oct 12 09:09 Oct 12 10:38 Oct 12 11:08 archivo

el cual pudiera haberse tecleado como:

$ date; ls -C; prueba rgomez rgomez

who

Wed Oct 12 10:44:16 MET 1986 archivo console ttyp0 Oct 12 09:09 Oct 12 10:38

toto

ttyp1

Oct 12 11:08

Dr. Roberto Gmez

Diapo. No. 52

Introd. Unix

Pipelines
La salida estndar de un comando puedo ser conectada a la entrada estndar de otro comando

Sintaxis:

commande [ ] [ ] | [ ] [ ] | comando [ ] [ ]

Evita la creacin de archivos temporales Ejemplo: $ cat nombres | grep maquina | more

stdout stderr

cat

grep

more

nombres stdin

Dr. Roberto Gmez

Diapo. No. 53

Introd. Unix

Ejecucin en background
Concepto de job en cshell: Cuandp se teclea un comando se le asigna un nmero de job. Para los comandos lentos en su ejecucin resulta interesante poder disponer de la terminal, de tal forma que se pueda ejecutar otros comandos.. Poniendo un " & " despus de la lnea de comando, ste se ejecutar en background, de una forma sincrnica Ejemplo % netscape tareas.html -display walhalla: 0.0 & [1] 712 % 1 712 es el nmero de job identificador del proceso

Nota: la salida estndar de estos comandos, (as como la salida estndar de errores) es la pantalla, salvo si hay una redireccin, (lo cual es aconsejable). Para regresarlo a foreground se usa el comando fg seguido del nmero de job %fg %1 Si se quiere regresar a backgrond %bg

Dr. Roberto Gmez

Diapo. No. 54

Introd. Unix

Agrupacin de comandos

Si se agrupan varios comandos entre "( )" o "{ }", estos seran considerados como una sola unidad Esto es interesante para la redireccin de entradas y salidas Ejemplo: Los siguientes comandos:
$ echo El dia de hoy: > log
$ date >> log $ echo las personas siguientes >> log $ who >> log $ echo se encuentran conectadas >> log $

pueden agruparse en uno solo:


$ ( echo El dia de hoy; date; echo las personas \ siguientes; who; echo se encuentran conectadas ) > log $

Los comandos agrupados con "{ }" pueden cambiar el ambiente actual, pero no aquellos agrupados con "( )"

Dr. Roberto Gmez

Diapo. No. 55

Introd. Unix

Listado de procesos
- ps Cada vez que se est ejecutando un comando o un programa se le asocia un nmero de proceso. El comando ps permite ver los nmeros asociados a los procesos Sintaxis: ps [ [ - ] acCegjklnrSuUvwx ] | [ num ] [ kernel name] Algunas opciones: -a -l informacin de procesos "posedos" por otros informacin en formato largo [ c-dump-file ] [ swap-file ]

-r
-x

restringe la salida a los procesos que estn "corriendo"


incluye procesos no relacionados con la terminal en la que se tecle el comando

Ejemplo: $ps -agx PID TT STAT TIME COMMAND D IW D S S S R 0:07 0:00 0:02 0:05 0:05 0:02 0:00 swapper /sbin/init pagedaemon portmap xclock -digital -geometry +675 +-2 xvile ejecuta.c ps -agx 0 ? 1 ? 2 ? 51 ? 1786 co 2242 p0 2331 p0

2139 p4

IW

0:00

telnet sunlab

Nota: el comando kill nmero-proceso permite "matar", o terminar, con la ejecucin de un proceso
Dr. Roberto Gmez Diapo. No. 56

Introd. Unix

Comando de impresin

- lpr (line printer) Crea un trabajo de impresora en un rea de spooling para una impresin subsecuente (trabajo = archivo de control y de datos) Sintaxis: Opciones: -P dest para elegir la impresora -# n Ejemplo: $ lpr abc $ lpr -Pbali prog1.c results.txt -a2ps Imprime un archivo ASCII en formato postcript Sintaxis: a2ps [ opciones ] Opciones: -P dest para elegir impresora -# n -1 -l -p -n Ejemplo: $ a2ps results.txt para obtener n ejemplares imprime una pgina por hoja imprime en modo landscape imprime en modo portrait despliega el nmero de lnea [ archivos ] para obtener n copias lpr [ opciones ] [ archivos ]

Dr. Roberto Gmez

Diapo. No. 57

Introd. Unix

Comandos de impresin

-lpq Permite ver el estado de las colas de espera de impresin Sintaxis: Opciones: -P dest para escoger la impresora -l Ejemplo: $ lpq lp is ready and printing Rank active 1st Owner root toto Job File 201 /etc/passwd 202 abc Total Size 350 bytes 546 bytes formato largo lpq [ opcion ] [ usuario ]

-lprm (line printer remove) Permite suprimir los archivos en espera de ser impresos Sintaxis: Opciones: -Pdest job# Ejemplo: $ lprm 202 dfA202sioux dequeued cfA202sioux dequeued para escoger la cola de espera suprime todos los archivos del usuario borra el archivo que corresponde a ese nmero lprm [ opciones ] [ #job] [usuarios]

Dr. Roberto Gmez

Diapo. No. 58

Introd. Unix

Comandos de manipulacin de archivos de solo texto

- grep
Sirve para encontrar dentro de un conjunto de archivos, todas las lneas que contienen una cadena de caracteres especificada por una expresin regular Sintaxis: Opciones: -v -c -i -n despliega las lneas que no contienen la expresin imprime solo el nmero de lneas que contienen la expresin no hace diferencia entre mayusculas y minusculas despliega el nmero de lnea /etc/passwd grep [ opciones ] expr-reg [ archivos ]

Ejemplos: $ grep gomez $ who | grep ttyp $ who | grep -c '^root' $ grep -vn ' [Dd]ebut ' arch1 arch2 Dentro de la misma familia, se encuentran los comandos siguientes: fgrep egrap no admite las expresiones regulares admite expresiones regulares extendidas

Dr. Roberto Gmez

Diapo. No. 59

Introd. Unix

Comandos de manipulacin de archivos de solo texto


- sort Permite ordenar las lneas de un archivo texto. Por default , sort ordena en funcin de todos los caracteres de la lnea, en orden creciente de los valores de caracteres ASCII Sintaxis: Opciones: -u -n -b suprime las lneas conteniendo las llaves idnticas ordenamiento numrico ignorar los blancos en principio de lnea sort [opciones] [llave de ordenamiento] [archivos]

Ejemplos:

$ sort archivo
$ sort arch1 arch2 > ordenado.txt $ sort -n numeros - wc permite contar el nmero de lneas, palabras y caracteres contenidos en los archivos Sintaxis: Opciones: -l -w -c cuenta solo las lneas cuenta solo las palabras cuenta solo los caracteres wc [opciones] [archivos]

Ejemplos: $ wc /etc/passwd $ wc -c /etc/passwd; ls -l /etc/passwd

Dr. Roberto Gmez

Diapo. No. 60

Introd. Unix

Comandos de manipulacin de archivos de solo texto

- tail

Imprime la parte final de un archivo en la salida estndar


Sintaxis: Opciones: -n -r imprime las ltimas n lneas, (default 10 ltimas) imprime las lneas en orden inverso +n imprime a partir de la ensima lnea (incluida) Ejemplos: tail [-/+n] [opciones] [archivo]

$ tail /etc/passwd
$ cat /etc/passwd | tail -20 $ tail +30 archivo

- head imprime el principio de un archivo en la salida estndar

Sintaxis:
Opciones: -n

head [-n] [archivo]

imprime las n primeras lneas, (default 10 primeras)

Ejemplos: $ head /etc/passwd /etc/group $ cat /etc/passwd | head -20 $ head +30 archivo

Dr. Roberto Gmez

Diapo. No. 61

Introd. Unix

Cambiando fecha modificacin comando touch


Sintaxis touch [-acm] archivo En su forma mas simple asigna la fecha de modificacin y acceso de un archivo. Si el archivo no existe este es creado Opciones: -a: solo actualiza la fecha de acceso -c: no crea el archivo si este no existe -m: solo actualiza el tiempo de modificacin Ejemplo: $ ls -l toto toto not found $ touch toto $ ls -l toto -rw-r--r-- 1 rogomez 0 Feb 4 18:49 toto $ date Fri Feb 4 18:50:14 CST 2000 $ touch toto $ ls -l toto -rw-r--r-- 1 rogomez 0 Feb 4 18:50 toto $
Dr. Roberto Gmez Diapo. No. 62

Introd. Unix

Identificacin del sistema

- uname Despliega informacin acerca del sistema sobre el cual se esta trabajando. Si no se especifica ninguna opcin, imprime el nombre del sistema Sintaxis: Opciones: -m imprime el nombre de la mquina -n -r -s -v -a imprime el nombre del nodo, el cual es utilizado para comunicaciones a travs de una red imprime la referencia de liberacin, ( release sistema operativo imprime el nombre del sistema imprime la versin del sistema operativo imprime toda la informacin anterior ) del uname [ -mnrsva]

Ejemplo: $uname -a SunOS mexico 4.1.3_U1 2 sun4c $

Dr. Roberto Gmez

Diapo. No. 63

Introd. Unix

Identificacin de la terminal

- tty Regresa el nombre de la terminal del usuario Sintaxis: Opciones: -l imprime terminal -s nmero lnea asincrnico a del usuario esta conectado la cual la tty [ -l ] [ -s] ...

imprime todos los parmetros en hexadecimal

Nombre usuado es el equivalente al regresado por la funcin ttyname() Ejemplo:

$tty /dev/ttyp0 $

$tty /dev/ttyp2 $

$tty /dev/ttyp3 $ $tty /dev/ttyp1 $

Dr. Roberto Gmez

Diapo. No. 64

Introd. Unix

Categoras de usuarios en UNIX

En UNIX el acceso a los archivos y directorios se diferencia en funcin de tres categoras de usuarios: 1. Propietario El propietario del archivo En principio se refiere al que cre el archivo

2. Grupo En principio se refiere al grupo al cual pertenece el creador del archivo

3. Otros El resto del mundo

Dr. Roberto Gmez

Diapo. No. 65

Introd. Unix

Autorizacin de acceso a archivos

+ A travs de ls -l podemos ver las autorizaciones de los archivos:

w x
o

r w x
0 0 0 o 1 1 1 grupo

r w x
0 0 0 o 1 1 1 otros

0 0 0 1 1 1 propietario + Para los archivos:

r
w x

autorizacin de lectura
autorizacin de escritura autorizacin de ejecucin

+ Para los directorios r w autorizacin de leer el directorio ( ls ) autorizacin de escribir en el directorio (creacin, modificacin o supresin de archivos) x autorizacin de se posicionar en el directorio ( cd )

+ Por default cuando se crea un directorio se le asignan las autorizaciones siguientes r w x r w x r w x (o sea 777 en octal) + En el caso de los archivos: rw-rw-rwDr. Roberto Gmez

(o sea 666 en octal)


Diapo. No. 66

Introd. Unix

Cambio de la autorizacin de acceso

El comando chmod permite modificar las autorizaciones de acceso de los archivos y de los directorios ya creados Sintaxis: chmod nuevo-modo [ archivos ] [ directorios ]

Existen dos formas de especificar el nuevo modo: + en octal: + en modo simbolico: u g o a permisos del usuario permisos del grupo permisos de los otros todos los permisos chmod ooo archivo chmod [ ugoa ] [+ = -] [ rwx ]

Dr. Roberto Gmez

Diapo. No. 67

Introd. Unix

Ejemplo de chmod

/* opcin ls -lg despliega el grupo al que pertenece el propietario del archivo */

$ la -lg e1 -rw-rw-rw- 1 $ chmod 755 e1 $ ls -lg e1 toto daemon 0 Oct 12 18:20 e1

-rwxr-xr-x 1
$ chmod a-x e1 $ ls -lg e1 -rw-r--r-$ chmod o-r e1 $ ls -lg e1 -rw-r-x--1 1

toto

daemon

0 Oct 12 18:20 e1

toto

daemon

0 Oct 12 18:20 e1

$ chmod g+x e1

toto

daemon

0 Oct 12 18:20 e1

Dr. Roberto Gmez

Diapo. No. 68

Introd. Unix

Los scripts

Cuando se tiene que ejecutar muy seguido un conjunto de comandos, resulta interesante el hecho de poder agruparlos dentro de un archivo de comandos (un script). Es necesario que esl archivo tenga los permisos necesarios para ser ejecutado, (comando chmod) Para ejecutar los comandos almacenados en este archivo, basta con teclear el nombre del archivo en la lnea de comandos, como si este archivo fuera el nombre de un comando estndar de UNIX Ejemplo creacin y uso scripts: $more toto date pwd whoami $toto toto: Permission denied $ls -lg toto - r w - r - - r - - jvazquez $chmod u+x $ls -l toto - r w x r - - r - - jvazquez $toto Mon Sep 2 19:13:56 CUT 1998 /home/usr/dia/jvazquez jvazquez $
Dr. Roberto Gmez Diapo. No. 69

dic 16

Sep 2 13:56 toto

16

Sep 2 13:56 toto

Introd. Unix

Ejemplo de scripts

$cat ifl echo palabra1: read word1 echo palabra2: read word2 if test $word1 = $word2 then echo Concuerdan fi echo Fin del programa $ifl palabra1: dodo palabra2: dodo Concuerdan Fin del programa $ifl palabra1: dodo palabra2: fifi Fin del programa $

Dr. Roberto Gmez

Diapo. No. 70

Introd. Unix

history
Exclusivo de cshell Su objetivo es de simplificar la repeticin de comandos por substitucin La variable history - El C-Shell memoriza los comandos anteriores. El nmero mximo de comandos memorizados es determinado por la variable history. El comando history - Permite visualizar la lista de los ltimos comandos. - Ejemplo: $ history

1 pwd
2 ls -al 3 ed ch16 4 history $ Repeticin de una instruccin anterior

- Basta con teclear " ! " y el nmero de instruccin desplegado por el comando anterior.
- En algunos Shells, se puede teclear "!" y los primeros caracteres del comando que se desee reejecutar - Ejemplo, (tomando en cuenta el anterior) $ ! pwd pwd $ ! ed ed ch 16 $
Dr. Roberto Gmez Diapo. No. 71

Introd. Unix

Los programas en red

Con las versiones BSD4.x de Unix el acceso a una red local es posible.

El objetivo es que el usuario pueda accesar una mquina, a partir de otra donde ya se esta conectado, con el fin de transferir datos a una gran velocidad

Las principales aplicaciones son:

+ Transferir archivos + Tener una terminal virtual + Ejecucin, sobre una mquina, de programas a distancia

Dr. Roberto Gmez

Diapo. No. 72

Introd. Unix

telnet

Permite conectarse a otro sistema, (no necesariamente Unix ), y de dialogar con ese sistema como si tuviramos una terminal conectada directamente a l. Sintaxis: telnet [ host ]

Modo comandos en telnet Una vez conectados, y despus de teclear la opcin <crtl> <]>, se pasa al modo comandos de telnet. Este modo permite enviar caracteres especiales al sistema distante, de cerrar la conexin, de abrir una nueva, o de salirse de telnet Los principales comandos son: ? open close quit send car send ? lista los comandos de telnet abre una conexin cierra la conexin en curso sale de telnet, cerrando la conexin enva un carcter especial al sitio distante lista los cracteres especiales y su efecto

Dr. Roberto Gmez

Diapo. No. 73

Introd. Unix

ftp (file transfer protocol)

Permite conectarse a otro sistema distante, con el fin de transferir archivos.

Es posible hacerlo en ambos sentidos.


Permite conectarse a sistemas diferentes a Unix Sintaxis: ftp [ host ]

Los principales comandos de ftp son: ? ! bye lista los comandos de ftp lanza un shell sobre el sistema local termina la sesin ftp

cd direc cambiar directorio en sistema distante lcd direc cambiar de directorio en sistema local put [arch1 [arch2] ] enva el archivo arch1, que se llamar arch2 en el sistema distante. Un sinnimo de put es send

get [ arch1 [arch2] ]


recibe el archivo arch1, que se llamar arch2 en el sistema local. Un sinonimo de put es recv mget y/ o mput permiten, respectivamente, de enviar y recibir archivos utilizando el metacaracter '*' . Los archivos conservarn su mismo nombre en ambos sistemas prompt Elimina la opcin de pregunta interactiva de mget y mput
Dr. Roberto Gmez Diapo. No. 74

Introd. Unix

Dr. Roberto Gmez

Diapo. No. 75

Introd. Unix

Los comandos r
Usuario U necesita ejecucin de un comando en host B desde el host A.

No

Est U en el archivo /etc/passwd del host B?


Si Si

Est A en el archivo /etc/hosts.equiv del host B? No No comando no permitido Si Est A en el arcivo .rhosts en el directorio hogar del host B?

comando permitido

Dr. Roberto Gmez

Diapo. No. 76

Introd. Unix

rlogin (remote login)

Permite conectarse a otro sistema Unix, de la misma forma que telnet

Sintaxis:

rlogin [ -l nombre ] host

Si no se utiliza -l , rlogin conectar al usuario a la mquina distante con el mismo nombre que tiene en la mquina local

Los valores de las variables de ambiente USER y TERM son pasadas al programa "login' de la computadora distante.

Peticiones de rlogin Son precedidas del caracter " ~ ",(tilde), y no son efectivas que como primer caracter de una lnea, (despus de un <RET>)

~. ~<crl><z> ~~

cierra la conexin suspende la conexin enva un " ~"

Dr. Roberto Gmez

Diapo. No. 77

Introd. Unix

rsh ( remote shell )

Permite ejecutar un comando sobre otra mquina Unix


Los archivos de entrada/salida estndar estn asociados a la terminal, sin embargo no se aconseja utilizar rsh para ejecutar comandos interactivos distantes Sintaxis: rsh host [ -l usuario ] [ comando ]

Si no se especifica el comando, entonces el usuario se conectar al sistema distante como si hubiera tecleado un rlogin
Hay que tener cuidado con las redirecciones: $ rsh amenti ls > res.txt crea un archivo res.txt local

$ rsh amenti "ls > res.txt" crea un archvio en la mquina amenti Si el usuario no tiene el archivo .rhosts entonces se le pedir su password Lo mismo ocurre si en ese archivo no se le otorga la autorizacin de conexin a la mquina desde la cual se est ejecutando el rsh

Dr. Roberto Gmez

Diapo. No. 78

Introd. Unix

rcp (remote copy)

Permite copiar archivos de una mquina a otra


Es imperativamente necesario tener un archivo .rhosts en la mquina distante que autorize al usuario a conectarse Sintaxis: rcp arch1 arch2 o rcp [ -r ] archivo [ archivos ] directorio donde arch1 y arch2 pueden tomar la forma mquina:pathname. Esta forma significa que el archivo se encuentra en el camino de acceso pathname, de la mquina. Lo mismo se aplica para directorio y archivo en la segunda sintaxis. La opcin -r permite especificar un directorio y de copiar recursivamente toda la sub-jerarqua que se encuentra en ese directorio. Ejemplos $ rcp amenti: .login $ rcp eden:bin/arch1 svarga:bin $ rcp eden:bin/arch1 walhalla:bin/arch2 $ rcp -r src empyree:src

Dr. Roberto Gmez

Diapo. No. 79

Introd. Unix

Otros comandos

cut paste uniq source awk find sed

echo mask make umask unset zip unzip

Dr. Roberto Gmez

Diapo. No. 80

Anda mungkin juga menyukai