Comandos bsicos
Sistema de archivos
Shell
Filtros (wc, grep, sort, awk)
Redireccin de archivos, Tuberas
Estructura de un Sistema
UNIX
Applications
Shell
Kernel\ (OS)
Aplicaciones estandar:
Comandos de
Sistema de archivos
editores de textos
Hardware
compiladores
procesadores de
texto
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.
Username
(tipicamente) una secuencia de caracteres
alfanumricos 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.
Creacin de un usuario
adduser hernan
Password
20/04/2016
Usuarios
Archivo: /etc/passwd
Visualizar:
cat /etc/passwd
Campos:
Ejemplo:
sar:x:205:105:Stephen Rago:/home/sar:/bin/ksh
shell
Intrprete de lnea de comandos que lee las entradas del usuario y los ejecuta
-a all files
-l long listing
Unix Filesystem
El Sistema de archivos
Es un Sistema de organizacin jerrquica
de archivos y directorios.
El nivel superior de la jerarqua se llama la
raiz (root) y guarda todos los archivos y
directorios del Sistema de archivos.
Directorios
Un directorio es un clase especial de archivo Unix usa los directorios para almacenar
informacion acerca de los archivos.
Para crear
mkdir nombre
Ej:
cd
mkdir netprog
mkdir unix
Directorio home
Directorio personal del usuario,
/home/hernan
/home/prueba
Directorio home
Directorio actual al logearse
Localizacion de varios archivos de inicio y
configuracin. :
.vimrc .bashrc .bash_profile .forward .plan .mozilla/
.elm/ .logout
Filesystem
/
bin
etc
hollid2
netprog
unix
home/
scully
X
tmp
bin
ls
usr
etc
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
Ejemplos de rutas
/
bin/
etc/
Hollid2/
netprog
home/
tmp/
scully/
unix/
usr/
bin/ local/
ls
Syllabus
who
/usr/bin/ls
/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 :
echo $USER
Otras variables
env
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
bin
etc
hollid2
Tarea:
1. Investigar y aprender
/
a usar vi
2. Resumen sobre
seguridad unix
3. Leccion ejecutando
y utilizando
users comandos
tmp
usr
vi para editar textos
scully
21/04/2016
Pginas de ayuda
Informacin detallada de comandos:
man ls
man cat
man man
buscado
Standard Input
(STDIN)
Program
Standard Output
(STDOUT)
Standard Error
(STDERR)
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:
Terminal de acceso
Consola:
Pantalla y teclado conectado fsicamente al servidor
Consolas virtuales
CTRL + ALT + F1 a F8 o CTRL + F1 a F8
Interfaz grfica
CTRL +ALT+ F9
Terminal Serial
Terminal tonto
por moden
Hyperterminal (emulador)
Terminal de acceso
Conexion remota via red
Telnet (Telecommunication Network )
SSH (Secure SHell)
Programas
Tinyterm
putty
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:
opciones
-o lista larga
Los 2 parmetros son directorios
Des logearse
exit (commando incorporado)
redireccin I/O
< > |
comodines
* ? [ ]
otros
& ; $ ! \ ( ) space tab newline
Comodines
27/04/2016
* iguala 0 o ms caracteres
? iguala exctamente 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!
Comodines
[abc] iguala cualquiera de los caracteres
ls T[eE][sS][tT].doc
aquellos en la lista.
ls [!0-9]*
Ver archivos
cat concatena, enva a la salida
estndar (stdout). Muestra el contenido
de un archivo
less, more utilidades de paginacin
od octal dump. Para ver el contenido
en octal, hex, control chars, etc.
Variables de Shell
bash usa variables shell para almacenar
informacin
Usadas para cambiar el comportamiento
del shell y de otros programas
Podemos acceder a esas variables:
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 mquina
SHELLOPTS valor de varias opciones
del shell (ver set incorporado del shell
Bash)
Para ver :
$ echo $VAR
algunaCadena
$ echo $OTRA_VAR
Con espacios
Comando set
Caracter de escape \
Usar backslash para inhibir el
comportamiento especial del caracter a
continuacin :
$ echo $USER
hernan
$ echo \$USER
$USER
$ echo a\\b
a\b
Comillas dobles
Inhibe todos los comportamientos,
excepto sustitucin de variables,
sustitucin 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
Opcion recursivo
-R (/s en win)
28/04/2016
Comandos
filtrar datos
grep "Hernan" /etc/passwd
Versin de Linux
uname -srv
Leer un archivo
more /etc/passwd
cat /etc/passwd
Comandos
Buscar archivos
find /usr -name nombre archivo
Espacio de disco y filesystems
montados
df
df h
Uso de espacio
du
du h usr/home/
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
Desechar el error
find / -name COPYING -print 2> /dev/null
Redireccionamiento
Comandos
Atajo con TAB
cat /etc/mod{TAB}
Conteo de lneas palabras y caracteres
wc /etc/passwd
wc l /etc/passwd
cat /etc/passwd | wc
ej. Cuantos archivos existen?
Fechas de acceso:
Creacion del archivo
ltimo cambio
ltima lectura
Tamao
Propietarios (usuario y grupo)
Permisos
Tipo directorio, enlace, norlam, etc.
ACLs lista de control de acceso
ls -lt
Propietarios
Cada archivo es propiedad de un
usuario.
Se puede ver con ls y la opcin -l o -o:
ls -l
total 24
drwxr-xr-x
-rw-------rw-r--r--
7 jjohnson users
1 jjohnson users
1 jjohnson users
80 Jan
8258 Jan
8261 Jan
3
3
3
2015 cs265/
2015 cs265.html
2015 cs265.html~
ls -l
$ ls -l foo
-rw-rw----
permisos
propiet
nombre
grupo
fecha
Permisos
Cada archivo tiene permisos especficos
Hay tres tipos de permisos:
read
r
write
w
execute x
Usuario / propietario
grupo
otros (los dems)
ls -l y los permisos
-rwxrwxrwx
User
Tipo de archivo:
- archivo normal
d directorio
s enlace simblico
(otros)
Group
Others
rwx
archivos:
r permitido leer.
w - permitido escribir / editar
x - permitido ejecutar
Directorios:
Cambio de permisos
El commando chmod cambia permisos
de archivos y directorios.
forma:
chmod modo archivo
r4
w2
x1
755 rwxr-xr-x
644 rw-rr-700 rwx------
chmod - ejemplos
04/05/2016
5 kschmidt
o other
a all
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
gzip, gunzip
Comandos
Concatenar comandos
cd; ls -l; pwd
Combinacin de comandos Shell:
Entubamiento y combinacin
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
Filosofa Unix
La union de pequenas utilerias
mediante entubamiento y redireccin
para realizar fcilmente tareas no
triviales
Ej., encontrar los 3 subdirectorios ms
grandes:
$ du s * | sort nr | head -n3
120180
22652
9472
Files
Zaychik
tweedledee.tgz
Tarea:
Realizar
ejemplo de
cada uno de
los
comandos
Shell:
Personalizacin Inicio de sesin
Al iniciar el shell busca archivos de
configuracin y personalizacin en
home.
parmetros.
Prompt de usuario
Dnde encontrar el correo
atajos
Archivos de inicio
sh,ksh:
/etc/profile (predet del sistema)
~/.profile
bash:
~/.bash_profile
~/.bashrc
~/.bash_logout
csh:
~/.cshrc
~/.login
~/.logout
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
Procesos en ejecucin
ps ax
TIME CMD
00:00:00 -bash
00:00:00 vim tarea
00:00:00 ps -f
25/05/2016
Matar un proceso
El comando kill enva una senal al
proceso (al PID dado)
De forma predeterminada, enva 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)
Suspendiendo y Reanudando
los trabajos en Segundo plano
Se puede suspender pulsando ^Z (Ctrl-Z).
$ jobs
[1] Stopped
ls -lR > listadoTotal.txt &
$ fg %1
ls -lR > listadoTotal.txt
Finalizar un trabajo
Kill puede tomar un nmero 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 ms comunes son:
emac
$ emacs
Entonces pulsar, ctrl-h t
VI comandos bsicos:
k
j
h
l
G
nG
x
dd
u
i
a
grabar
salir sin grabar
:w+Enter (write)
:q!+Enter
rehacer
escribir y salir
Salir grabando
Buscar
Ctrl+r
:wq+Enter
:x
/cadena+Enter
Permisos de superusuario
Agregar como miembro del grupo wheels
pw user mod hernan -G wheel
groups hernan
O editar /etc/group
y colocar usuario junto a grupo wheels (,usuario)
Quitar restriccion
# vi /etc/pam.d/su
Comentario a:
#auth requisite pam_group.so no_warn
group=wheel root_only fail_safe ruser
Conexin remota:
Configuracin de red
Utilizar conexin bridge (puente)
MV: Sin replica de direccin
Conexion remota
Verificar si est habilitado el servidor
# service sshd status
Si no est ejecutndose, agregar la siguiente
lnea a /etc/rc.conf para habilitar el demonio de
ejecucin al reiniciar.
sshd_enable="YES"
Para iniciar:
# service sshd start
Conexion remota
Verificar puertos
$ sockstat l
$ netstat l
Establecer IP
Automtica: DHCP (recomendable)
Manual
ifconfig em0 inet 192.168.0.254 netmask 255.255.255.0
Reiniciar servicios
$service netif restart
$service network restart
O reiniciar el huesped
(bsd)
Conexion remota
Verificar IP
Ifconfig
Ping desde BSD (ej. google)
Utilizar emulador
Ej. Putty
Direccion IP, tipo SSH
Transferir archivos
Uso de cliente de ftp
Ej. Filezilla
Archivo, gestor de sitios, Nuevo
Utilizar SFTP
Transferir archivos
Subir o bajar
Establecer permisos
Otros comandos
Apagar
Poweroff
shutdown p now
Reiniciar
shutdown r now