SlideShare una empresa de Scribd logo
1 de 92
Descargar para leer sin conexión
Introducción a UNIX
Sistemas Operativos 2015
Unix Programming Environment
Objectivos: Conocer las características básicas
de Unix y la filosofía de Unix
 Comandos básicos
 Sistema de archivos
 Shell
 Filtros (wc, grep, sort, awk)
 Redirección de archivos, Tuberías
Estructura de un Sistema
UNIX
Applications
Shell
Kernel (OS)
Hardware
Aplicaciones estandar:
• Comandos de
Sistema de archivos
• editores de textos
• compiladores
• procesadores de
texto
Unix y los Usuarios
La mayoría de versiones de Unix proven
el mismo conjunto de aplicaciones
(comandos y shells).
A pesar de que sus interfaces de
usuario no son parte directa del SO,
están estandarizados lo suficientemente
para que baste con aprender una
versión.
Versiones de Unix
 SysV (AT&T)
 BSD (Berkeley)
 Solaris (Sun)
 IRIX (SGI)
 AIX (IBM)
 LINUX (free software)
Logearse
Modos:
 Desde la consola
 Acceso remoto mediante SSH, telnet.
Los nombres y comandos son sensitivas
a mayúsculas o minúsculas!
Username
(tipicamente) una secuencia de caracteres
alfanuméricos de longitud no mayor a 8.
Identificacion primaria de la cuenta.
(usualmente) usada como direccion de
correo
El nombre del directorio home está
relacionado con el nombre de usuario.
Creación de un usuario
adduser hernan
Password
Cadena secreta que nadie debe conocer (ni el
sistema!)
Al pulsar la clave, el Sistema la encripta y la
compara con lo almacenado.
Debería tener al menos 6 caracteres
Es una Buena idea mezclar mayúsculas y
minúsculas, números y caracteres especiales
(asccii estandar)
Cambio de clave de un usuario
passwd hernan
Directorio home
Directorio personal del usuario,
/home/hernan
/home/prueba
A veces está montado en un file system
separado del SO
Directorio home
Directorio actual al logearse
cd lleva a home
Localizacion de varios archivos de inicio
y configuración. :
.vimrc .bashrc .bash_profile .forward .plan
.mozilla/ .elm/ .logout
Archivos y nombre de archivos
Un archivo es la unidad básica de
almacenamiento.
Son sensibles a mayúsculas! (case sensitive)
De hecho, todo es case sensitive!
Los archivos en Unix pueden contener cualquier
character, excepto el character null y slash (/).
Los nombres de archivos pueden ser largos!
 Cuan largo depende de la version
Archivos y nombre de archivos
Cada archivo en el mismo directorio
debe tener un nombre único.
Los archivos que inician con un '.' son
ucultos
Directorios
Un directorio es un clase especial de
archivo - Unix usa los directories para
almacenar informacion acerca de los
archivos.
Unix Filesystem
El Sistema de archivos
Es un Sistema de organización jerárquica
de archivos y directorios.
El nivel superior de la jerarquía se llama la
“raiz” (root) y and guarda todos los archivos y
directorios del Sistema de archivos.
El nombre del directorio root es /
Filesystem
/
bin etc home/ tmp usr
hollid2 scully bin etc
netprog unix X ls who
Rutas (Pathnames)
La ruta de un archivo incluye el nombre
del archivo y el nombre de la carpeta
que lo contiene, y el nombre de la
carpeta que la contiene … hasta llegar
a la raiz
Ej.
/home/hernan/trabajos/tarea1
Comando para ver directorio actual
pwd
Ejemplos de rutas
/
bin/ etc/ home/ tmp/ usr/
Hollid2/ scully/ bin/ local/
netprog unix/ X ls who
/usr/bin/ls
Syllabus
/home/hollid2/unix/Syllabus
Crear usuarios y su estructura con su nombre en vez de Hollid2
Rutas Absolutas
Las que se especifican desde la raiz.
/home/hernan
Absolutas especiales :
 ~hernan/  /home/hernan (solo para el
directorio home del usuario)
 ~ es el directorio home de $USER
 Para ver el contenido de las variables de entorno
 echo $USER
Rutas relativas
Prefijadas con el directorio actual ( $PWD )
Relativas a la carpeta de trabajo actual
$ cd /home/hernan
$ pwd
/home/hernan
$ ls unix/Sillabus
unix/Sillabus
$ ls X
ls: X: No such file or directory
$ ls /home/scully/X
/home/scully/X
Rutas relativas especiales
. – Directorio actual
.. – Directorio padre
$ pwd
/home/hernan
$ ls ./netprog
./netprog
$ ls ../scully
X
24/10/2015
Disco vs. Sistema de archivos
La jerarquía completa puede incluir varios
discos físicos.
 Algunas carpetas pueden estar en otras
computadoras
/
bin etc users tmp usr
hollid2 scully
Comandos – Sintaxis Básica
El Shell considera el primer elemento como un
comando. Los siguientes elementos son argumentos
Los Argumentos que inician con un – son llamados
opciones
Sintaxis de comandos:
command [option1] [option2] . . . [optionN]
grep "Hernan" /etc/passwd
ls -o /home/hernan /home/prueba/Public
– -o lista larga
– Los 2 parámetros son directorios
Comandos de archivos y carpetas
ls – lista el contenido de un directorio
 -a – all files
 -l – long listing
pwd – print working directory
cd – change directory
 Sin argumentos, lleva a home
Páginas de ayuda
Información detallada de comandos:
man ls
man cat
man man
– Se puede buscar por palabras clave:
man -k buscado
Opciones de línea de commandos
Se puede modificar el formato de salida de ls
mediante opciones.
 -l long format (fechas, propietario y permisos).
Comparable a -o
 -a all (muestra también los archivos ocultos*)
 -F incluye un caracter especial para indicar el tipo de
archivo.
 -C lista en columnas
*los archivos ocultos inician con "."
Ver archivos
cat – concatena, envía a la salida
estándar (stdout). Muestra el contenido
de un archivo
less, more – utilidades de paginación
od – octal dump. Para ver el contenido
en octal, hex, control chars, etc.
Copiar, borrar, enlazar
rm – borrar
rm ~/tmp/download
mv – mover (renombrar) un archivo
mv ant.arch ../otroDir/nuevo.arch
cp – copiar
cp dirOrigen/arch dirDest/arch
ln – crea un enlace duro (inode) o
suave (symbolic) a un archivo
Comandos para directorios
mkdir crear directorio (make
directory)
rmdir borrar un directorio (remove
directory)
Los directorios pueden moverse o
renombrarse (mv), y copiarse (cp –r)
Comandos…
filtrar datos
grep "Hernan" /etc/passwd
• Versión de Linux
uname -srv
• Leer un archivo
more /etc/passwd
cat /etc/passwd
Comandos…
Procesos en ejecución
ps ax o ps –e
• Concatenar comandos
• cd; ls -l; pwd
• Combinación de comandos Shell:
uso de tubería (pipe)
• ls /dev | grep sda
Redireccionamiento
28/10/2015
Redireccionamiento
• Entrada de un comando desde un archivo:
ordenar
• sort < /etc/passwd
• Guardando el resultado en un archivo
• grep uucd /etc/passwd > usuario
• sort /etc/passwd > ~/ordenado.text
• Entrada y salida desde y hacia un archivo
• sort < /etc/passwd > ordenado
Redireccionamiento
Agregando datos a un archivo
• echo hola >> usuario
• Leyendo datos a un archivo hasta cierta condición
• cat <<zz > input.txt
• Encontrar / Buscar
• find / -name COPYING -print
• Enviar el error a un archivo
• find / -name COPYING -print 2> finderr
• Desechar el error
• find / -name COPYING -print 2> /dev/null
Comandos…
Atajo con TAB
cat /etc/mod{TAB}
• Conteo de líneas palabras y caracteres
• wc /etc/passwd
• wc –l /etc/passwd
• cat /etc/passwd | wc
• ej. Cuantos procesos están activos en
memoria?
Atributos de los archivos
Cada archivo tiene algunos atributos:
 Fechas de acceso:
 Creacion del archivo
 Último cambio
 Última lectura
 Tamaño
 Propietarios (usuario y grupo)
 Permisos
 Tipo – directorio, enlace, norlam, etc.
 ACLs – lista de control de acceso
Atributos de los archivos
Atributos de fecha:
 Cuando fue cambiado ls -l
 Ordenar por fecha de modificación ls -lt
Propietarios
Cada archivo es propiedad de un
usuario.
Se puede ver con ls y la opción -l o -o:
ls -l
total 24
drwxr-xr-x 7 jjohnson users 80 Jan 3 2015 cs265/
-rw------- 1 jjohnson users 8258 Jan 3 2015 cs265.html
-rw-r--r-- 1 jjohnson users 8261 Jan 3 2015 cs265.html~
ls -l
$ ls -l foo
-rw-rw---- 1 hollingd grads 13 Jan 10 23:05 foo
permisos
propiet grupo
tam
fecha
nombre
Permisos
Cada archivo tiene permisos específicos
Hay tres tipos de permisos:
 read r
 write w
 execute x
Hay 3 conjuntos de permisos:
1. Usuario / propietario
2. grupo
3. otros (los demás)
ls -l y los permisos
-rwxrwxrwx
User Group Others
Tipo de archivo:
- – archivo normal
d – directorio
s – enlace simbólico
(otros)
rwx
archivos:
 r – permitido leer.
 w - permitido escribir / editar
 x - permitido ejecutar
Directorios:
 r - permitido ver el contenido (nombres)
 w - permitido agregar o eliminar archivos.
 x - permitido a “ingresar” al directorio
Cambio de permisos
El commando chmod cambia permisos
de archivos y directorios.
forma:
chmod modo archivo
chmod – modos numericos
Permisos para cada conjunto de usuarios
(user, group, other) como núm de 3-bit
 r – 4
 w – 2
 x – 1
El modo es un número octal de 3 dígitos #
 755 – rwxr-xr-x
 644 – rw-r—r--
 700 – rwx------
chmod - ejemplos
$ chmod 700 CS571
$ ls –o Personal
drwx------ 10 kschmidt 4096 Dec 19 2004 CS571/
$ chmod 755 public_html
$ chmod 644 public_html/index.html
$ ls –ao public_html
drwxr-xr-x 16 kschmidt 4096 Jan 8 10:15 .
drwx--x--x 92 kschmidt 8192 Jan 8 13:36 ..
-rw-r--r-- 5 kschmidt 151 Nov 16 19:18 index.html
$ chmod 644 .plan
$ ls –o .plan
-rw-r--r-- 5 kschmidt 151 Nov 16 19:18 .plan
29/10/2015
Tarea:
Realizar
ejemplo de
cada uno de
los
comandos
chmod –modos simbólicos
Usado para colocar, agregar, o
eliminar permisos
forma:
[ugoa][+-=][rwx]
 u – user g – group o – other a – all
 + agregar permisos - quitar permisos =
colocar permisos
chmod ejemplos
$ ls -al foo
-rwxrwx--x 1 hollingd grads foo
$ chmod g-wx foo
$ ls -al foo
-rwxr----x 1 hollingd grads foo
$ chmod u-r .
$ ls
ls: .: Permission denied
Comandos para almacenar
tar
 Crea un gran archivo a partir de muchos
archivos
gzip, gunzip
 Utilidad de compreción de archivos
tar en Linux realiza una compression gzip con la
opción z :
$ tar czf 571back.tgz CS571
$ tar xzf assn1.tgz
El Shell como interfaz de
usuario
Un shell es un intérprete de
commandos , una interfaz entre el
humano (u otro programa) y el SO
Es, por si mismo, otro programa
Bourne-again Shell (bash)
Extension del shell Bourne Shell (sh)
Tiene mucho de las extensions del shell
Korn (ksh)
Inicio de Sesión
Una vez logeado, el shell inicia y
muestra el prompt.
 ($)
Al iniciar el shell busca archivos de
configuración y personalización en
home.
 Se puede cambiar el prompt, PATH, etc.
Personalización
parámetros.
 Prompt de usuario
 Dónde encontrar el correo
 atajos
Se lo realiza en los archivos de inicio
Archivos de inicio
sh,ksh:
/etc/profile (predet del sistema)
~/.profile
bash:
~/.bash_profile
~/.bashrc
~/.bash_logout
csh:
~/.cshrc
~/.login
~/.logout
Logeo Incorrecto
Se recibe la petición de “Password:”
aún si se usó un login erroneo
– Por qué?
Ingreso de commandos
El shell imprime el prompt y espera que
se escriba un comando.
El primer element se espera sea el
commando. Pueden ser:
 Incorporados del shell - comandos que el
shell interpreta directamente.
 Programas externos (utilidades) –
programas independientes en el disco (se
busca en el orden especificado de las
carpetas en $PATH)
Interpretar un Comando - type
Cuando se encuentra un comando, el shell:
1. Busca por alias
2. Busca funciones definidas por el usuario
3. Busca si es incorporado
4. Busca utilidades en los directorios especificados
en $PATH
Se puede usar type para saber que usa el
shell:
type echo
echo is a shell builtin
type chmod
chmod is /bin/chmod
Opciones y argumentos
Forma estandarizada de los comandos:
comando opción(es) argumentos
Las opciones modifican la forma en la
cual trabajaa un comando,
frecuentemente un guión y una letra
(puede combinarse luego del guión)
Des logearse
exit (commando incorporado)
 Sale del shell
 Si se está en el shell de login (nivel
superior), nos desconecta del sistema
Al ser el shell un programa que se
ejecuta, puede ser invocado
recursivamente
Standard I/O
Cuando se ingresa un commando, el
shell crea un subshell para ejecutar el
proceso o script.
El shell establece e canales I/O:
 Entrada estándar (0) – teclado
 Salida estándar (1) – pantalla
 Error estándar (2) – pantalla
Esos flujos pueden ser redireccinados a
y desde un archivo, o incluso a otro
comando
Los programas y los I/O
estandar
Program
Standard Input
(STDIN)
Standard Output
(STDOUT)
Standard Error
(STDERR)
Terminar un flujo en la entrada
estandar
Para indicar el fin de la entrada pulsar Ctrl-D (^D),
que es la señal EOF de la línea, esto Cierra el flujo de
entrada (stream).
El shell es un programa que lee desde la entrada
estándar.
Qué sucede al pulsar ^D en el shell?
(Ver el comando set e ignoreeof)
Ejercicio: Crear Script y usar argumentos %0, %1, etc.
cat > prog1.sh
Lista comandos … ^D
chmod a+x *.sh
./prog1.sh o sh prog1.sh
Metacaracteres del Shell
Algunos caracteres tienen significados
especiales para el shell:
 redirección I/O
< > |
 comodines
* ? [ ]
 otros
& ; $ !  ( ) space tab newline
Deben usarse junto con caracteres de
escape o entre comillas para evitar
comportamientos indeseados
Comodines
* – iguala 0 o más caracteres
? – iguala exáctamente 1 caracter
[<list>] – iguala cualquier caracter dentro de
la lista
Ej.
ls *.cc – lista todos los archivos fuente de C++ en la
carpeta
ls a* – lista todos los archivos que inician con ’a’
ls a*.jpeg – lista todos las fotos JPEGs que inician
con ’a’
ls * - lista todo dentro de subdirectorios inclusive
Comodines …
ls file?
- busca file1, file2, pero no file o
file22
ls file?.*.DEL
- busca file1.h.DEL,
file9.cc.DEL, file3..DEL pero no
file8.DEL o file.html.DEL
Estas no son expresiones regulares!
4/11/2015
Comodines
[abc] iguala cualquiera de los caracteres
ls T[eE][sS][tT].doc
[a-z] iguala cualquier caracter en el rango
ls [a-zA-Z]*
[!abc…] iguala cualquier caracter except
aquellos en la lista.
ls [!0-9]*
Variables de Shell
bash usa variables shell para almacenar
información
Usadas para cambiar el comportamiento
del shell y de otros programas
Podemos acceder a esas variables:
 Colocar nuevos valores para personalizar el
shell.
 Ver el valor para ayudar a completar una
tarea.
Cambiar/Ver las Variables
Para asignar (en sh, ksh, bash):
VAR=algunaCadena
OTRA_VAR=“Con espacios”
 Nota, no usar espacio alrededor de ‘=‘
Para ver :
$ echo $VAR
algunaCadena
$ echo $OTRA_VAR
Con espacios
Variables del Shell
Algunas comunes:
PATH – lista de carpetas en donde buscar
commandos que no son incorporados al
shell
PS1 –prompt primario
USER – nombre del login del usuario
HOME – carpeta home del usuario
PWD – carpeta de trabajo actual
Otras importantes
SHELL – el shell del login
TERM – el tipo de terminal
HISTFILE – en donde se almacena el
historial de comandos
EDITOR – mantiene el editor preferido
del usuario
HOSTNAME – nombre de la máquina
SHELLOPTS – valor de varias opciones
del shell (ver set incorporado del shell
Bash)
Mostrar el valor de variables
de Shell
Colocar el Prefijo "$“ a la variable.
El comando echo lo muestra:
$ echo $HOME
$ echo $PATH
Se puede usar estas variables en
cualquier comando:
$ ls -al $HOME
Colocando valores en las
variables Shell
Se usa un comando de asignación
incorporado: set
HOME=/etc
PATH=/usr/bin:/usr/etc:/sbin
NEWVAR="blah blah blah"
Comando set
Sin argumentos imprime el listado de
todas las variables de entorno.
Algunas opciones bash
 noclobber – no permite que la redirección
sobreescriba un archivo existente
 ignoreeof – El Shell no sale con ctrl-D
 vi – usa una interfaz de estilo vi (se usa
emacs de forma predeterminada)
 -n – ejecución en seco (solo ejecuta el parser,
pero no lo ejecuta). Útil para depuración de
scripts
Caracter de escape 
Usar backslash para inhibir el
comportamiento especial de los
siguientes caracteres :
$ echo $USER
hernan
$ echo $USER
$USER
$ echo ab
ab
Comillas dobles
Inhibe todos los comportamientos,
excepto sustitución de variables,
sustitución de comandos, y el caracter
de escape 
$ echo “$USER es $USER”
hernan es hernan
$ echo “$USER es $USER”
$USER es hernan
$ echo “He dicho, ”Espera un
momento””
He dicho, “Espera un momento”
Comillas simples
Inhibe casi todos los comportamientos
especiales
No puede contener una comilla simple
$ echo ‘he dicho “espera!”’
he dicho “espera!”
$ echo ‘Mi nombre es $USER’
Mi nombre es $USER
$ mv compuestoPorMozart
‘compuesto por – Mozart’
Filosofía Unix
La union de pequenas utilerias
mediante entubamiento y redirección
para realizar fácilmente tareas no
triviales
Ej., encontrar los 3 subdirectorios más
grandes:
$ du –s * | sort –nr | head -n3
120180 Files
22652 Zaychik
9472 tweedledee.tgz
Entubamiento y combinación
con filtros
Conectar la salida de un comando a la
entrada de otro para obtener filtros
compuestos
who | wc -l
ls | sort -f
ls -s | sort -n
ls -l | sort -nr -k4
ls -l | grep ‘^d’
Control de procesos
Los Procesos se ejecutan en un subshell (de
forma predeterminada)
Los Subshell heredan las variables exportadas
Cada proceso tiene su ID (pid) y un padre
(ppid)
Usar ps para verlos
$ ps
PID TTY TIME CMD
350 pts/4 00:00:00 bash
22251 pts/4 00:00:00 vim
22300 pts/4 00:00:00 ps
Control de procesos (cont.)
Usar la opción –f para un listado largo :
$ ps –f
UID PID PPID C STIME TTY TIME CMD
hernan 350 349 0 10:06 pts/4 00:00:00 -bash
hernan 22251 350 0 17:32 pts/4 00:00:00 vim tarea
hernan 22437 350 0 17:36 pts/4 00:00:00 ps -f
Usar –e para listar los procesos de
todos los usuarios.
$ ps –e | grep xmms
29940 pts/0 00:33:47 xmms
Matar un proceso
El comando kill envía una senal al
proceso (al PID dado)
De forma predeterminada, envía TERM
(terminate), el que solicita que finalice
el proceso, de tal manera se lo haga de
forma limpia
usar -9 para enviar la senal KILL (no
será ignorada), pero no de forma limpia
Ej:
$ kill -9 29940
Control de trabajo
El shell permite administrar trabajos
(jobs)
 Coloca los trabajos en Segundo plano
(background)
 mueve un trabajo a primer plano
(foreground)
 suspende un trabajo
 Mata un trabajo
Trabajos a Segundo plano
Se lo hace colocando un "&“ al final de la
línea de comando.
 No se necesita esperar que se termine el trabajo,
se puede escribir un Nuevo comando
inmediatamente.
 Se puede tener un grupo de trabajos ejecutandose
al mismo momento.
 Ej.
ls -lR > /home/hernan/listadoTotal.txt &
Listar los trabajos
El comando jobs listará los trabajos en
Segundo plano:
> jobs
[1] Running ls -lR >
listadoTotal.txt &
>
El shell asigna un número a cada
trabajo (en este caso 1).
Suspendiendo y Reanudando
los trabajos en Segundo plano
Se puede suspender pulsando ^Z (Ctrl-Z).
 Suspendido significa que se detiene el trabajo, pero no
finaliza.
 El trabajo se mostrará en el listado obtenido con jobs.
Se usa fg y el número de trabajo, precedido por %.
 Sin un argumento, fg trae el ultimo trabajo al primer plano
$ jobs
[1] Stopped ls -lR > listadoTotal.txt &
$ fg %1
ls -lR > listadoTotal.txt
Colocar en el Segundo plano un
trabajo suspendido
Si está en primer plano, se debe
suspenderlo
Usar bg, tal como se lo hizo con fg,
para permitir que un trabajo suspendido
continúe en el Segundo plano:
$ bg %3
Finalizar un trabajo
Kill puede tomar un número de trabajo
o incluso un nombre de trabajo,
usando %:
$ find . –name core* -print >
archivosCore &
$ firefox&
$ jobs
[1]+ Running find . –name …
[2]+ Running firefox
$ kill %2
Editores de texto
Un editor de texto se usa para crear y
modificar archivos.
Los más comunes son:
 vi (también vim en Linux)
 $ vimtutor
 emac
 $ emacs
 Entonces pulsar, ctrl-h t
•cambiar de modo comando a modo insert: i
• cambiar de modo insert a modo comando: Esc
* Modo comando:
•hacia arriba k
•hacia abajo j
•hacia la izquierda h
•hacia la derecha l
•grabar :wEnter (write)
•salir sin grabar :q!Enter
•deshacer u
•rehacer Ctrl+r
•escribir y salir :wqEnter
• Eliminar linea dd
• Salir grabando :x
Tarea: realizar un script llamado copiar.sh que pida una
carpeta de origen, un nombre de archivo, una carpeta de
destino y un nombre de destino, realice la copia y
finalmente muestre el contenido de forma paginada del
archivo en cuestion.

Más contenido relacionado

La actualidad más candente (20)

Sistema Operativo UNIX
Sistema Operativo UNIXSistema Operativo UNIX
Sistema Operativo UNIX
 
Linux
LinuxLinux
Linux
 
PROYECTO UNIX
PROYECTO UNIXPROYECTO UNIX
PROYECTO UNIX
 
Introducción al sistema operativo linux
Introducción al sistema operativo linuxIntroducción al sistema operativo linux
Introducción al sistema operativo linux
 
19 usuarios gruposlinuxasoitson
19 usuarios gruposlinuxasoitson19 usuarios gruposlinuxasoitson
19 usuarios gruposlinuxasoitson
 
Unix
Unix Unix
Unix
 
Linux básico
Linux básicoLinux básico
Linux básico
 
Conalep tlalnepantla 2
Conalep tlalnepantla 2Conalep tlalnepantla 2
Conalep tlalnepantla 2
 
Unix
UnixUnix
Unix
 
Presentación linux
Presentación linuxPresentación linux
Presentación linux
 
Tutorial 18pag
Tutorial 18pagTutorial 18pag
Tutorial 18pag
 
Linux comandos 1
Linux comandos 1Linux comandos 1
Linux comandos 1
 
Free bsd
Free bsdFree bsd
Free bsd
 
01 practicas de laboratorio
01 practicas de laboratorio01 practicas de laboratorio
01 practicas de laboratorio
 
Introduccion al s
Introduccion al sIntroduccion al s
Introduccion al s
 
Sistema operativo linux
Sistema operativo linuxSistema operativo linux
Sistema operativo linux
 
UBUNTU
UBUNTUUBUNTU
UBUNTU
 
sistemas operativos-maestra maricarmen
sistemas operativos-maestra maricarmensistemas operativos-maestra maricarmen
sistemas operativos-maestra maricarmen
 
5 the linux filesystem
5 the linux filesystem5 the linux filesystem
5 the linux filesystem
 
Linux
LinuxLinux
Linux
 

Destacado

Destacado (8)

COMANDOS SHELL Y PROGRAMACIÓN EN LA SHELL DEL BASH
COMANDOS SHELL Y PROGRAMACIÓN EN LA SHELL DEL BASHCOMANDOS SHELL Y PROGRAMACIÓN EN LA SHELL DEL BASH
COMANDOS SHELL Y PROGRAMACIÓN EN LA SHELL DEL BASH
 
manual de Bash 4.1
manual de Bash 4.1manual de Bash 4.1
manual de Bash 4.1
 
17 comandos basicoslinuxasoitsonp
17 comandos basicoslinuxasoitsonp17 comandos basicoslinuxasoitsonp
17 comandos basicoslinuxasoitsonp
 
Agilidad en shell de linux
Agilidad en shell de linuxAgilidad en shell de linux
Agilidad en shell de linux
 
Curso Bash 1
Curso Bash 1Curso Bash 1
Curso Bash 1
 
Curso Gratuito de Shell Script
Curso Gratuito de Shell ScriptCurso Gratuito de Shell Script
Curso Gratuito de Shell Script
 
Linux - Shell e Comandos Básicos
Linux - Shell e Comandos BásicosLinux - Shell e Comandos Básicos
Linux - Shell e Comandos Básicos
 
Introducción a Kali Linux
Introducción a Kali LinuxIntroducción a Kali Linux
Introducción a Kali Linux
 

Similar a IntroUnix-ComandosBasicosSO

2.7 nombre de archivos y directorios rutas y exploracion de arbol
2.7 nombre de archivos y directorios rutas y exploracion de arbol2.7 nombre de archivos y directorios rutas y exploracion de arbol
2.7 nombre de archivos y directorios rutas y exploracion de arbolFernando Solis
 
2.7 nombre de archivos y directorios rutas y exploracion de arbol
2.7 nombre de archivos y directorios rutas y exploracion de arbol2.7 nombre de archivos y directorios rutas y exploracion de arbol
2.7 nombre de archivos y directorios rutas y exploracion de arbolFernando Solis
 
Introducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUXIntroducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUXJose Pla
 
Guia comandos-rapidos-linux-4781
Guia comandos-rapidos-linux-4781Guia comandos-rapidos-linux-4781
Guia comandos-rapidos-linux-4781Enrique Villafuerte
 
Comandos Basicos De Linux
Comandos Basicos De LinuxComandos Basicos De Linux
Comandos Basicos De LinuxUsa
 
Ubuntu Comand Line
Ubuntu Comand LineUbuntu Comand Line
Ubuntu Comand Linexander21c
 
Linux basico-3.PDF
Linux basico-3.PDFLinux basico-3.PDF
Linux basico-3.PDFULEAM
 
Manejo de ficheros en Linux
Manejo de ficheros en LinuxManejo de ficheros en Linux
Manejo de ficheros en Linuxguest21f6be1
 
Introduction to linux for bioinformatics
Introduction to linux for bioinformaticsIntroduction to linux for bioinformatics
Introduction to linux for bioinformaticsAlberto Labarga
 
Linux for bioinformatics
Linux for bioinformaticsLinux for bioinformatics
Linux for bioinformaticscursoNGS
 
Comandos para terminal
Comandos para terminalComandos para terminal
Comandos para terminalforevervicux
 
LINUX - Comandos básicos I
LINUX - Comandos básicos I LINUX - Comandos básicos I
LINUX - Comandos básicos I Pablo Macon
 
Linux ud2 - comandos gestion archivos
Linux   ud2 - comandos gestion archivosLinux   ud2 - comandos gestion archivos
Linux ud2 - comandos gestion archivosJavier Muñoz
 

Similar a IntroUnix-ComandosBasicosSO (20)

2.7 nombre de archivos y directorios rutas y exploracion de arbol
2.7 nombre de archivos y directorios rutas y exploracion de arbol2.7 nombre de archivos y directorios rutas y exploracion de arbol
2.7 nombre de archivos y directorios rutas y exploracion de arbol
 
2.7 nombre de archivos y directorios rutas y exploracion de arbol
2.7 nombre de archivos y directorios rutas y exploracion de arbol2.7 nombre de archivos y directorios rutas y exploracion de arbol
2.7 nombre de archivos y directorios rutas y exploracion de arbol
 
Introducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUXIntroducción a GNU - POSIX - LINUX
Introducción a GNU - POSIX - LINUX
 
Guia comandos-rapidos-linux-4781
Guia comandos-rapidos-linux-4781Guia comandos-rapidos-linux-4781
Guia comandos-rapidos-linux-4781
 
Linux Para Asterisk
Linux Para AsteriskLinux Para Asterisk
Linux Para Asterisk
 
Comandos Basicos De Linux
Comandos Basicos De LinuxComandos Basicos De Linux
Comandos Basicos De Linux
 
Ubuntu Comand Line
Ubuntu Comand LineUbuntu Comand Line
Ubuntu Comand Line
 
GNU/Linux-Debian
GNU/Linux-Debian GNU/Linux-Debian
GNU/Linux-Debian
 
Cli unix2
Cli unix2Cli unix2
Cli unix2
 
Linux basico-3.PDF
Linux basico-3.PDFLinux basico-3.PDF
Linux basico-3.PDF
 
Comandos utiles linux
Comandos utiles linuxComandos utiles linux
Comandos utiles linux
 
Manejo de ficheros en Linux
Manejo de ficheros en LinuxManejo de ficheros en Linux
Manejo de ficheros en Linux
 
Prueba2
Prueba2Prueba2
Prueba2
 
Introduction to linux for bioinformatics
Introduction to linux for bioinformaticsIntroduction to linux for bioinformatics
Introduction to linux for bioinformatics
 
Comandos de uso frecuente
Comandos de uso frecuenteComandos de uso frecuente
Comandos de uso frecuente
 
Cli unix2
Cli unix2Cli unix2
Cli unix2
 
Linux for bioinformatics
Linux for bioinformaticsLinux for bioinformatics
Linux for bioinformatics
 
Comandos para terminal
Comandos para terminalComandos para terminal
Comandos para terminal
 
LINUX - Comandos básicos I
LINUX - Comandos básicos I LINUX - Comandos básicos I
LINUX - Comandos básicos I
 
Linux ud2 - comandos gestion archivos
Linux   ud2 - comandos gestion archivosLinux   ud2 - comandos gestion archivos
Linux ud2 - comandos gestion archivos
 

Más de Jefferson Agila

práctica Capacitores-y-capacitancia pdf
  práctica Capacitores-y-capacitancia pdf  práctica Capacitores-y-capacitancia pdf
práctica Capacitores-y-capacitancia pdfJefferson Agila
 
Laboratorio practica-3-instrumentos-de-medición-de-magnitudes-eléctricas
Laboratorio practica-3-instrumentos-de-medición-de-magnitudes-eléctricasLaboratorio practica-3-instrumentos-de-medición-de-magnitudes-eléctricas
Laboratorio practica-3-instrumentos-de-medición-de-magnitudes-eléctricasJefferson Agila
 

Más de Jefferson Agila (6)

Tuplas
TuplasTuplas
Tuplas
 
Cosecante inversa
Cosecante inversaCosecante inversa
Cosecante inversa
 
Ley de HOPITAL
Ley de HOPITALLey de HOPITAL
Ley de HOPITAL
 
práctica Capacitores-y-capacitancia pdf
  práctica Capacitores-y-capacitancia pdf  práctica Capacitores-y-capacitancia pdf
práctica Capacitores-y-capacitancia pdf
 
Secante hiperbólica
Secante hiperbólicaSecante hiperbólica
Secante hiperbólica
 
Laboratorio practica-3-instrumentos-de-medición-de-magnitudes-eléctricas
Laboratorio practica-3-instrumentos-de-medición-de-magnitudes-eléctricasLaboratorio practica-3-instrumentos-de-medición-de-magnitudes-eléctricas
Laboratorio practica-3-instrumentos-de-medición-de-magnitudes-eléctricas
 

Último

VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)ssuser6958b11
 
NOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptxNOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptxJairReyna1
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEANDECE
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfIsbelRodrguez
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaANDECE
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosJeanCarlosLorenzo1
 
Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1victorrodrigues972054
 
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasSOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasLeonardoMendozaDvila
 
Sistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesSistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesjohannyrmnatejeda
 
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdfSEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdffredyflores58
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.pptVitobailon
 
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptx
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptxI LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptx
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptxPATRICIAKARIMESTELAL
 
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptxNayeliZarzosa1
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023ANDECE
 
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdfS454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdffredyflores58
 
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...esandoval7
 
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRAS
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRASESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRAS
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRASenriquezerly87
 
Descubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialDescubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialyajhairatapia
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionOsdelTacusiPancorbo
 

Último (20)

VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
VIRUS FITOPATÓGENOS (GENERALIDADES EN PLANTAS)
 
NOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptxNOM-002-STPS-2010, combate contra incendio.pptx
NOM-002-STPS-2010, combate contra incendio.pptx
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSE
 
Historia de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdfHistoria de la Arquitectura II, 1era actividad..pdf
Historia de la Arquitectura II, 1era actividad..pdf
 
MATPEL COMPLETO DESDE NIVEL I AL III.pdf
MATPEL COMPLETO DESDE NIVEL I AL III.pdfMATPEL COMPLETO DESDE NIVEL I AL III.pdf
MATPEL COMPLETO DESDE NIVEL I AL III.pdf
 
Conservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de AlmeríaConservatorio de danza Kina Jiménez de Almería
Conservatorio de danza Kina Jiménez de Almería
 
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de ProyectosRevista estudiantil, trabajo final Materia ingeniería de Proyectos
Revista estudiantil, trabajo final Materia ingeniería de Proyectos
 
Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1
 
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasSOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
 
Sistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajesSistema de Base de Datos para renta de trajes
Sistema de Base de Datos para renta de trajes
 
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdfSEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
 
Fe_C_Tratamientos termicos_uap _3_.ppt
Fe_C_Tratamientos termicos_uap   _3_.pptFe_C_Tratamientos termicos_uap   _3_.ppt
Fe_C_Tratamientos termicos_uap _3_.ppt
 
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptx
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptxI LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptx
I LINEAMIENTOS Y CRITERIOS DE INFRAESTRUCTURA DE RIEGO.pptx
 
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
 
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
Centro Integral del Transporte de Metro de Madrid (CIT). Premio COAM 2023
 
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdfS454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
S454444444444444444_CONTROL_SET_A_GEOMN1204.pdf
 
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...Simbología de Soldadura,  interpretacion y aplicacion en dibujo tecnico indus...
Simbología de Soldadura, interpretacion y aplicacion en dibujo tecnico indus...
 
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRAS
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRASESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRAS
ESTRUCTURAS EN LA SUPERVISIÓN Y RESIDENCIA DE OBRAS
 
Descubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundialDescubrimiento de la penicilina en la segunda guerra mundial
Descubrimiento de la penicilina en la segunda guerra mundial
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacion
 

IntroUnix-ComandosBasicosSO

  • 2. Unix Programming Environment Objectivos: Conocer las características básicas de Unix y la filosofía de Unix  Comandos básicos  Sistema de archivos  Shell  Filtros (wc, grep, sort, awk)  Redirección de archivos, Tuberías
  • 3. Estructura de un Sistema UNIX Applications Shell Kernel (OS) Hardware Aplicaciones estandar: • Comandos de Sistema de archivos • editores de textos • compiladores • procesadores de texto
  • 4. Unix y los Usuarios La mayoría de versiones de Unix proven el mismo conjunto de aplicaciones (comandos y shells). A pesar de que sus interfaces de usuario no son parte directa del SO, están estandarizados lo suficientemente para que baste con aprender una versión.
  • 5. Versiones de Unix  SysV (AT&T)  BSD (Berkeley)  Solaris (Sun)  IRIX (SGI)  AIX (IBM)  LINUX (free software)
  • 6. Logearse Modos:  Desde la consola  Acceso remoto mediante SSH, telnet. Los nombres y comandos son sensitivas a mayúsculas o minúsculas!
  • 7. Username (tipicamente) una secuencia de caracteres alfanuméricos de longitud no mayor a 8. Identificacion primaria de la cuenta. (usualmente) usada como direccion de correo El nombre del directorio home está relacionado con el nombre de usuario. Creación de un usuario adduser hernan
  • 8. Password Cadena secreta que nadie debe conocer (ni el sistema!) Al pulsar la clave, el Sistema la encripta y la compara con lo almacenado. Debería tener al menos 6 caracteres Es una Buena idea mezclar mayúsculas y minúsculas, números y caracteres especiales (asccii estandar) Cambio de clave de un usuario passwd hernan
  • 9. Directorio home Directorio personal del usuario, /home/hernan /home/prueba A veces está montado en un file system separado del SO
  • 10. Directorio home Directorio actual al logearse cd lleva a home Localizacion de varios archivos de inicio y configuración. : .vimrc .bashrc .bash_profile .forward .plan .mozilla/ .elm/ .logout
  • 11. Archivos y nombre de archivos Un archivo es la unidad básica de almacenamiento. Son sensibles a mayúsculas! (case sensitive) De hecho, todo es case sensitive! Los archivos en Unix pueden contener cualquier character, excepto el character null y slash (/). Los nombres de archivos pueden ser largos!  Cuan largo depende de la version
  • 12. Archivos y nombre de archivos Cada archivo en el mismo directorio debe tener un nombre único. Los archivos que inician con un '.' son ucultos
  • 13. Directorios Un directorio es un clase especial de archivo - Unix usa los directories para almacenar informacion acerca de los archivos.
  • 14. Unix Filesystem El Sistema de archivos Es un Sistema de organización jerárquica de archivos y directorios. El nivel superior de la jerarquía se llama la “raiz” (root) y and guarda todos los archivos y directorios del Sistema de archivos. El nombre del directorio root es /
  • 15. Filesystem / bin etc home/ tmp usr hollid2 scully bin etc netprog unix X ls who
  • 16. Rutas (Pathnames) La ruta de un archivo incluye el nombre del archivo y el nombre de la carpeta que lo contiene, y el nombre de la carpeta que la contiene … hasta llegar a la raiz Ej. /home/hernan/trabajos/tarea1 Comando para ver directorio actual pwd
  • 17. Ejemplos de rutas / bin/ etc/ home/ tmp/ usr/ Hollid2/ scully/ bin/ local/ netprog unix/ X ls who /usr/bin/ls Syllabus /home/hollid2/unix/Syllabus Crear usuarios y su estructura con su nombre en vez de Hollid2
  • 18. Rutas Absolutas Las que se especifican desde la raiz. /home/hernan Absolutas especiales :  ~hernan/  /home/hernan (solo para el directorio home del usuario)  ~ es el directorio home de $USER  Para ver el contenido de las variables de entorno  echo $USER
  • 19. Rutas relativas Prefijadas con el directorio actual ( $PWD ) Relativas a la carpeta de trabajo actual $ cd /home/hernan $ pwd /home/hernan $ ls unix/Sillabus unix/Sillabus $ ls X ls: X: No such file or directory $ ls /home/scully/X /home/scully/X
  • 20. Rutas relativas especiales . – Directorio actual .. – Directorio padre $ pwd /home/hernan $ ls ./netprog ./netprog $ ls ../scully X 24/10/2015
  • 21. Disco vs. Sistema de archivos La jerarquía completa puede incluir varios discos físicos.  Algunas carpetas pueden estar en otras computadoras / bin etc users tmp usr hollid2 scully
  • 22. Comandos – Sintaxis Básica El Shell considera el primer elemento como un comando. Los siguientes elementos son argumentos Los Argumentos que inician con un – son llamados opciones Sintaxis de comandos: command [option1] [option2] . . . [optionN] grep "Hernan" /etc/passwd ls -o /home/hernan /home/prueba/Public – -o lista larga – Los 2 parámetros son directorios
  • 23. Comandos de archivos y carpetas ls – lista el contenido de un directorio  -a – all files  -l – long listing pwd – print working directory cd – change directory  Sin argumentos, lleva a home
  • 24. Páginas de ayuda Información detallada de comandos: man ls man cat man man – Se puede buscar por palabras clave: man -k buscado
  • 25. Opciones de línea de commandos Se puede modificar el formato de salida de ls mediante opciones.  -l long format (fechas, propietario y permisos). Comparable a -o  -a all (muestra también los archivos ocultos*)  -F incluye un caracter especial para indicar el tipo de archivo.  -C lista en columnas *los archivos ocultos inician con "."
  • 26. Ver archivos cat – concatena, envía a la salida estándar (stdout). Muestra el contenido de un archivo less, more – utilidades de paginación od – octal dump. Para ver el contenido en octal, hex, control chars, etc.
  • 27. Copiar, borrar, enlazar rm – borrar rm ~/tmp/download mv – mover (renombrar) un archivo mv ant.arch ../otroDir/nuevo.arch cp – copiar cp dirOrigen/arch dirDest/arch ln – crea un enlace duro (inode) o suave (symbolic) a un archivo
  • 28. Comandos para directorios mkdir crear directorio (make directory) rmdir borrar un directorio (remove directory) Los directorios pueden moverse o renombrarse (mv), y copiarse (cp –r)
  • 29. Comandos… filtrar datos grep "Hernan" /etc/passwd • Versión de Linux uname -srv • Leer un archivo more /etc/passwd cat /etc/passwd
  • 30. Comandos… Procesos en ejecución ps ax o ps –e • Concatenar comandos • cd; ls -l; pwd • Combinación de comandos Shell: uso de tubería (pipe) • ls /dev | grep sda
  • 32. Redireccionamiento • Entrada de un comando desde un archivo: ordenar • sort < /etc/passwd • Guardando el resultado en un archivo • grep uucd /etc/passwd > usuario • sort /etc/passwd > ~/ordenado.text • Entrada y salida desde y hacia un archivo • sort < /etc/passwd > ordenado
  • 33. Redireccionamiento Agregando datos a un archivo • echo hola >> usuario • Leyendo datos a un archivo hasta cierta condición • cat <<zz > input.txt • Encontrar / Buscar • find / -name COPYING -print • Enviar el error a un archivo • find / -name COPYING -print 2> finderr • Desechar el error • find / -name COPYING -print 2> /dev/null
  • 34. Comandos… Atajo con TAB cat /etc/mod{TAB} • Conteo de líneas palabras y caracteres • wc /etc/passwd • wc –l /etc/passwd • cat /etc/passwd | wc • ej. Cuantos procesos están activos en memoria?
  • 35. Atributos de los archivos Cada archivo tiene algunos atributos:  Fechas de acceso:  Creacion del archivo  Último cambio  Última lectura  Tamaño  Propietarios (usuario y grupo)  Permisos  Tipo – directorio, enlace, norlam, etc.  ACLs – lista de control de acceso
  • 36. Atributos de los archivos Atributos de fecha:  Cuando fue cambiado ls -l  Ordenar por fecha de modificación ls -lt
  • 37. Propietarios Cada archivo es propiedad de un usuario. Se puede ver con ls y la opción -l o -o: ls -l total 24 drwxr-xr-x 7 jjohnson users 80 Jan 3 2015 cs265/ -rw------- 1 jjohnson users 8258 Jan 3 2015 cs265.html -rw-r--r-- 1 jjohnson users 8261 Jan 3 2015 cs265.html~
  • 38. ls -l $ ls -l foo -rw-rw---- 1 hollingd grads 13 Jan 10 23:05 foo permisos propiet grupo tam fecha nombre
  • 39. Permisos Cada archivo tiene permisos específicos Hay tres tipos de permisos:  read r  write w  execute x Hay 3 conjuntos de permisos: 1. Usuario / propietario 2. grupo 3. otros (los demás)
  • 40. ls -l y los permisos -rwxrwxrwx User Group Others Tipo de archivo: - – archivo normal d – directorio s – enlace simbólico (otros)
  • 41. rwx archivos:  r – permitido leer.  w - permitido escribir / editar  x - permitido ejecutar Directorios:  r - permitido ver el contenido (nombres)  w - permitido agregar o eliminar archivos.  x - permitido a “ingresar” al directorio
  • 42. Cambio de permisos El commando chmod cambia permisos de archivos y directorios. forma: chmod modo archivo
  • 43. chmod – modos numericos Permisos para cada conjunto de usuarios (user, group, other) como núm de 3-bit  r – 4  w – 2  x – 1 El modo es un número octal de 3 dígitos #  755 – rwxr-xr-x  644 – rw-r—r--  700 – rwx------
  • 44. chmod - ejemplos $ chmod 700 CS571 $ ls –o Personal drwx------ 10 kschmidt 4096 Dec 19 2004 CS571/ $ chmod 755 public_html $ chmod 644 public_html/index.html $ ls –ao public_html drwxr-xr-x 16 kschmidt 4096 Jan 8 10:15 . drwx--x--x 92 kschmidt 8192 Jan 8 13:36 .. -rw-r--r-- 5 kschmidt 151 Nov 16 19:18 index.html $ chmod 644 .plan $ ls –o .plan -rw-r--r-- 5 kschmidt 151 Nov 16 19:18 .plan
  • 45.
  • 46.
  • 47.
  • 48.
  • 50. chmod –modos simbólicos Usado para colocar, agregar, o eliminar permisos forma: [ugoa][+-=][rwx]  u – user g – group o – other a – all  + agregar permisos - quitar permisos = colocar permisos
  • 51. chmod ejemplos $ ls -al foo -rwxrwx--x 1 hollingd grads foo $ chmod g-wx foo $ ls -al foo -rwxr----x 1 hollingd grads foo $ chmod u-r . $ ls ls: .: Permission denied
  • 52. Comandos para almacenar tar  Crea un gran archivo a partir de muchos archivos gzip, gunzip  Utilidad de compreción de archivos tar en Linux realiza una compression gzip con la opción z : $ tar czf 571back.tgz CS571 $ tar xzf assn1.tgz
  • 53. El Shell como interfaz de usuario Un shell es un intérprete de commandos , una interfaz entre el humano (u otro programa) y el SO Es, por si mismo, otro programa
  • 54. Bourne-again Shell (bash) Extension del shell Bourne Shell (sh) Tiene mucho de las extensions del shell Korn (ksh)
  • 55. Inicio de Sesión Una vez logeado, el shell inicia y muestra el prompt.  ($) Al iniciar el shell busca archivos de configuración y personalización en home.  Se puede cambiar el prompt, PATH, etc.
  • 56. Personalización parámetros.  Prompt de usuario  Dónde encontrar el correo  atajos Se lo realiza en los archivos de inicio
  • 57. Archivos de inicio sh,ksh: /etc/profile (predet del sistema) ~/.profile bash: ~/.bash_profile ~/.bashrc ~/.bash_logout csh: ~/.cshrc ~/.login ~/.logout
  • 58. Logeo Incorrecto Se recibe la petición de “Password:” aún si se usó un login erroneo – Por qué?
  • 59. Ingreso de commandos El shell imprime el prompt y espera que se escriba un comando. El primer element se espera sea el commando. Pueden ser:  Incorporados del shell - comandos que el shell interpreta directamente.  Programas externos (utilidades) – programas independientes en el disco (se busca en el orden especificado de las carpetas en $PATH)
  • 60. Interpretar un Comando - type Cuando se encuentra un comando, el shell: 1. Busca por alias 2. Busca funciones definidas por el usuario 3. Busca si es incorporado 4. Busca utilidades en los directorios especificados en $PATH Se puede usar type para saber que usa el shell: type echo echo is a shell builtin type chmod chmod is /bin/chmod
  • 61. Opciones y argumentos Forma estandarizada de los comandos: comando opción(es) argumentos Las opciones modifican la forma en la cual trabajaa un comando, frecuentemente un guión y una letra (puede combinarse luego del guión)
  • 62. Des logearse exit (commando incorporado)  Sale del shell  Si se está en el shell de login (nivel superior), nos desconecta del sistema Al ser el shell un programa que se ejecuta, puede ser invocado recursivamente
  • 63. Standard I/O Cuando se ingresa un commando, el shell crea un subshell para ejecutar el proceso o script. El shell establece e canales I/O:  Entrada estándar (0) – teclado  Salida estándar (1) – pantalla  Error estándar (2) – pantalla Esos flujos pueden ser redireccinados a y desde un archivo, o incluso a otro comando
  • 64. Los programas y los I/O estandar Program Standard Input (STDIN) Standard Output (STDOUT) Standard Error (STDERR)
  • 65. Terminar un flujo en la entrada estandar Para indicar el fin de la entrada pulsar Ctrl-D (^D), que es la señal EOF de la línea, esto Cierra el flujo de entrada (stream). El shell es un programa que lee desde la entrada estándar. Qué sucede al pulsar ^D en el shell? (Ver el comando set e ignoreeof) Ejercicio: Crear Script y usar argumentos %0, %1, etc. cat > prog1.sh Lista comandos … ^D chmod a+x *.sh ./prog1.sh o sh prog1.sh
  • 66. Metacaracteres del Shell Algunos caracteres tienen significados especiales para el shell:  redirección I/O < > |  comodines * ? [ ]  otros & ; $ ! ( ) space tab newline Deben usarse junto con caracteres de escape o entre comillas para evitar comportamientos indeseados
  • 67. Comodines * – iguala 0 o más caracteres ? – iguala exáctamente 1 caracter [<list>] – iguala cualquier caracter dentro de la lista Ej. ls *.cc – lista todos los archivos fuente de C++ en la carpeta ls a* – lista todos los archivos que inician con ’a’ ls a*.jpeg – lista todos las fotos JPEGs que inician con ’a’ ls * - lista todo dentro de subdirectorios inclusive
  • 68. Comodines … ls file? - busca file1, file2, pero no file o file22 ls file?.*.DEL - busca file1.h.DEL, file9.cc.DEL, file3..DEL pero no file8.DEL o file.html.DEL Estas no son expresiones regulares! 4/11/2015
  • 69. Comodines [abc] iguala cualquiera de los caracteres ls T[eE][sS][tT].doc [a-z] iguala cualquier caracter en el rango ls [a-zA-Z]* [!abc…] iguala cualquier caracter except aquellos en la lista. ls [!0-9]*
  • 70. Variables de Shell bash usa variables shell para almacenar información Usadas para cambiar el comportamiento del shell y de otros programas Podemos acceder a esas variables:  Colocar nuevos valores para personalizar el shell.  Ver el valor para ayudar a completar una tarea.
  • 71. Cambiar/Ver las Variables Para asignar (en sh, ksh, bash): VAR=algunaCadena OTRA_VAR=“Con espacios”  Nota, no usar espacio alrededor de ‘=‘ Para ver : $ echo $VAR algunaCadena $ echo $OTRA_VAR Con espacios
  • 72. Variables del Shell Algunas comunes: PATH – lista de carpetas en donde buscar commandos que no son incorporados al shell PS1 –prompt primario USER – nombre del login del usuario HOME – carpeta home del usuario PWD – carpeta de trabajo actual
  • 73. Otras importantes SHELL – el shell del login TERM – el tipo de terminal HISTFILE – en donde se almacena el historial de comandos EDITOR – mantiene el editor preferido del usuario HOSTNAME – nombre de la máquina SHELLOPTS – valor de varias opciones del shell (ver set incorporado del shell Bash)
  • 74. Mostrar el valor de variables de Shell Colocar el Prefijo "$“ a la variable. El comando echo lo muestra: $ echo $HOME $ echo $PATH Se puede usar estas variables en cualquier comando: $ ls -al $HOME
  • 75. Colocando valores en las variables Shell Se usa un comando de asignación incorporado: set HOME=/etc PATH=/usr/bin:/usr/etc:/sbin NEWVAR="blah blah blah"
  • 76. Comando set Sin argumentos imprime el listado de todas las variables de entorno. Algunas opciones bash  noclobber – no permite que la redirección sobreescriba un archivo existente  ignoreeof – El Shell no sale con ctrl-D  vi – usa una interfaz de estilo vi (se usa emacs de forma predeterminada)  -n – ejecución en seco (solo ejecuta el parser, pero no lo ejecuta). Útil para depuración de scripts
  • 77. Caracter de escape Usar backslash para inhibir el comportamiento especial de los siguientes caracteres : $ echo $USER hernan $ echo $USER $USER $ echo ab ab
  • 78. Comillas dobles Inhibe todos los comportamientos, excepto sustitución de variables, sustitución de comandos, y el caracter de escape $ echo “$USER es $USER” hernan es hernan $ echo “$USER es $USER” $USER es hernan $ echo “He dicho, ”Espera un momento”” He dicho, “Espera un momento”
  • 79. Comillas simples Inhibe casi todos los comportamientos especiales No puede contener una comilla simple $ echo ‘he dicho “espera!”’ he dicho “espera!” $ echo ‘Mi nombre es $USER’ Mi nombre es $USER $ mv compuestoPorMozart ‘compuesto por – Mozart’
  • 80. Filosofía Unix La union de pequenas utilerias mediante entubamiento y redirección para realizar fácilmente tareas no triviales Ej., encontrar los 3 subdirectorios más grandes: $ du –s * | sort –nr | head -n3 120180 Files 22652 Zaychik 9472 tweedledee.tgz
  • 81. Entubamiento y combinación con filtros Conectar la salida de un comando a la entrada de otro para obtener filtros compuestos who | wc -l ls | sort -f ls -s | sort -n ls -l | sort -nr -k4 ls -l | grep ‘^d’
  • 82. Control de procesos Los Procesos se ejecutan en un subshell (de forma predeterminada) Los Subshell heredan las variables exportadas Cada proceso tiene su ID (pid) y un padre (ppid) Usar ps para verlos $ ps PID TTY TIME CMD 350 pts/4 00:00:00 bash 22251 pts/4 00:00:00 vim 22300 pts/4 00:00:00 ps
  • 83. Control de procesos (cont.) Usar la opción –f para un listado largo : $ ps –f UID PID PPID C STIME TTY TIME CMD hernan 350 349 0 10:06 pts/4 00:00:00 -bash hernan 22251 350 0 17:32 pts/4 00:00:00 vim tarea hernan 22437 350 0 17:36 pts/4 00:00:00 ps -f Usar –e para listar los procesos de todos los usuarios. $ ps –e | grep xmms 29940 pts/0 00:33:47 xmms
  • 84. Matar un proceso El comando kill envía una senal al proceso (al PID dado) De forma predeterminada, envía TERM (terminate), el que solicita que finalice el proceso, de tal manera se lo haga de forma limpia usar -9 para enviar la senal KILL (no será ignorada), pero no de forma limpia Ej: $ kill -9 29940
  • 85. Control de trabajo El shell permite administrar trabajos (jobs)  Coloca los trabajos en Segundo plano (background)  mueve un trabajo a primer plano (foreground)  suspende un trabajo  Mata un trabajo
  • 86. Trabajos a Segundo plano Se lo hace colocando un "&“ al final de la línea de comando.  No se necesita esperar que se termine el trabajo, se puede escribir un Nuevo comando inmediatamente.  Se puede tener un grupo de trabajos ejecutandose al mismo momento.  Ej. ls -lR > /home/hernan/listadoTotal.txt &
  • 87. Listar los trabajos El comando jobs listará los trabajos en Segundo plano: > jobs [1] Running ls -lR > listadoTotal.txt & > El shell asigna un número a cada trabajo (en este caso 1).
  • 88. Suspendiendo y Reanudando los trabajos en Segundo plano Se puede suspender pulsando ^Z (Ctrl-Z).  Suspendido significa que se detiene el trabajo, pero no finaliza.  El trabajo se mostrará en el listado obtenido con jobs. Se usa fg y el número de trabajo, precedido por %.  Sin un argumento, fg trae el ultimo trabajo al primer plano $ jobs [1] Stopped ls -lR > listadoTotal.txt & $ fg %1 ls -lR > listadoTotal.txt
  • 89. Colocar en el Segundo plano un trabajo suspendido Si está en primer plano, se debe suspenderlo Usar bg, tal como se lo hizo con fg, para permitir que un trabajo suspendido continúe en el Segundo plano: $ bg %3
  • 90. Finalizar un trabajo Kill puede tomar un número de trabajo o incluso un nombre de trabajo, usando %: $ find . –name core* -print > archivosCore & $ firefox& $ jobs [1]+ Running find . –name … [2]+ Running firefox $ kill %2
  • 91. Editores de texto Un editor de texto se usa para crear y modificar archivos. Los más comunes son:  vi (también vim en Linux)  $ vimtutor  emac  $ emacs  Entonces pulsar, ctrl-h t
  • 92. •cambiar de modo comando a modo insert: i • cambiar de modo insert a modo comando: Esc * Modo comando: •hacia arriba k •hacia abajo j •hacia la izquierda h •hacia la derecha l •grabar :wEnter (write) •salir sin grabar :q!Enter •deshacer u •rehacer Ctrl+r •escribir y salir :wqEnter • Eliminar linea dd • Salir grabando :x Tarea: realizar un script llamado copiar.sh que pida una carpeta de origen, un nombre de archivo, una carpeta de destino y un nombre de destino, realice la copia y finalmente muestre el contenido de forma paginada del archivo en cuestion.