Introducci´ on a consola Introducci´ on a consola “La consola es tu amiga” Diego Fanego † Patricio Moreno † Rodrigo Ubal Dahl †‡ Cynthia Gamarra †‡ † Facultad de Ingenier´ ıa (UBA) ‡ LABI 27 de abril de 2017 Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenier´ ıa (UBA), LABI Introducci´ on a consola
90
Embed
Introducci on a consola - LABI: Laboratorio Abiertolabi.fi.uba.ar/sites/default/files/cursos/introduccion_consola/... · Filesystem Hierarchy Standard: Fanego, Moreno, Ubal Dahl,
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Introduccion a consola
Introduccion a consola“La consola es tu amiga”
Diego Fanego † Patricio Moreno† Rodrigo Ubal Dahl†‡
Cynthia Gamarra†‡
†Facultad de Ingenierıa (UBA)
‡LABI
27 de abril de 2017
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
LABi
¿Que se puede hacer en el labi?
Estudiar
Hacer TPs
Pedir herramientas
Usar herramientas del panol
Pedir libros de la biblioteca especializada
Tomar mate/comer
Dejando siempre las mesas limpias :)
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Cursos del LABi
Soldadura (Intro, tecnica digital, labo de micros, circuitos)
Software libre:LATEX(Todas las materias donde haya que presentar informes,papers, tesis)Octave (Analisis de circuitos, procesos estocasticos, senales,redes neuronales)KiCad (Labo de micros, circuitos)Introduccion a la consolaOpenSCAD
Software gratuito:LTSpice (Analisis de circuitos, circuitos)
Y otros...
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Tabla de Contenidos
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Introduccion
Objetivo
Navegar el sistema de archivos
Crear directorios
Buscar archivos
Procesar informacion
Entender un poco mas nuestro sistema de archivos
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Introduccion
Objetivo
Navegar el sistema de archivos
Crear directorios
Buscar archivos
Procesar informacion
Entender un poco mas nuestro sistema de archivos
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Introduccion
Objetivo
Navegar el sistema de archivos
Crear directorios
Buscar archivos
Procesar informacion
Entender un poco mas nuestro sistema de archivos
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Introduccion
Objetivo
Navegar el sistema de archivos
Crear directorios
Buscar archivos
Procesar informacion
Entender un poco mas nuestro sistema de archivos
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Introduccion
Objetivo
Navegar el sistema de archivos
Crear directorios
Buscar archivos
Procesar informacion
Entender un poco mas nuestro sistema de archivos
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Introduccion
Motivacion
Desenvolverse en un entorno con terminales
Acceder a sistemas GNU/Linux en forma remota
Entender mejor el funcionamiento de dichos sistemas
Administrarlos
Beagleboard xM
Raspberry π
Pandaboard
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Introduccion
Motivacion
Desenvolverse en un entorno con terminales
Acceder a sistemas GNU/Linux en forma remota
Entender mejor el funcionamiento de dichos sistemas
Administrarlos
Beagleboard xM
Raspberry π Pandaboard
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Introduccion
Motivacion
Desenvolverse en un entorno con terminales
Acceder a sistemas GNU/Linux en forma remota
Entender mejor el funcionamiento de dichos sistemas
Administrarlos
Beagleboard xM Raspberry π
Pandaboard
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Introduccion
Motivacion
Desenvolverse en un entorno con terminales
Acceder a sistemas GNU/Linux en forma remota
Entender mejor el funcionamiento de dichos sistemas
Administrarlos
Beagleboard xM Raspberry π Pandaboard
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Introduccion
Historia y personajes ilustres
Unix
es un sistema operativo portable, multitarea y multiusuario
surge a fines de los ´60
desarrollado en los laboratorios Bell de AT&T, por
Ken Thompson,
Dennis Ritchie y
Douglas McIlroy entre otros.
Ken Thompson y Dennis Ritchie.
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Introduccion
Familias
AT&T la familia que tuvo su origen en el UNIX de AT&T.Considerada la familia UNIX “pura” y original.
BSD familia originada por el licenciamiento de UNIX aBerkely. BSD se reescribio para no incorporarpropiedad intelectual originaria de AT&T.
AIX Esta familia surge por el licenciamiento de UNIXSystem III a IBM.
Xenix familia derivada de la adquisicion de los derechosoriginales de AT&T primero por parte de Microsoft yde esta los vendio a SCO.
GNU En 1983, Richard Stallman anuncio el Proyecto GNU,un ambicioso esfuerzo para crear un sistema similar aUnix, que pudiese ser distribuido libremente.
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Introduccion
GNU + Linux
En 1991 el proyecto GNU ya teniacasi todo el sistema completo conexcepcion del kernel Hurd.
Linus Torvalds comienza adesarrollar un nucleo para utilizarlas herramientas GNU.
Richard Stallman
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Introduccion
Kernel
El kernel es el puente entre las aplicaciones y el procesamiento dedatos al nivel del hardware.
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Introduccion
¿Consola o Terminal?
Estos terminos tienen su origen en la epoca de los MainframeLas terminales se conectan en la “terminal” opuesta de loscables salientes del equipoEstas son la unica forma de interaccion y la cantidad esacotada
Existe una terminal especial parael administrador, llamada“consola” de mando
La consola recibe los mensajesde error del sistema
Mainframe y terminales.
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Sistema de archivos
Sistema de archivos
Todo es un archivo
Los directorios son archivosLos enlaces son archivosLos perifericos son archivos
Tenemos acceso a todo
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Sistema de archivos
Estructura
La estructura logica delsistema de archivos esestandar
Es mantenido por TheLinux FoundationVersion actual: 2.31
lib bibliotecas compartidas esenciales y modulos delkernel
media punto de montaje para dispositivos extraibles
mnt punto de montaje para sistemas de archivosmontados temporalemente
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Sistema de archivos
Estructura
opt paquetes de software de aplicaciones agregadas
proc informacion sobre los procesos y el kernel
root directorio personal del root
sbin binarios de comandos del administrador
srv informacion para los servicios provistos por el sistema
sys controles del sistema y los dipositivos
tmp archivos temporales
usr jerarquias secundarias
var informacion variable
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Sistema de archivos
Formatos
Implementacion fısica del sistema de archivos
Gran diversidad de formatos
UFSext 2, 3, 4ntfsfat 16, 32vfatXFS...
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Interpretes
Shells
Shell
Es una aplicacion que lee lineas de texto ingresadas por elusuario
Es una interfaz al sistema operativo
Se denomina “shell” porque oculta detalles del SO
Existen versiones graficas, pero no son necesarias en loabsoluto
presenta los resultados en la misma terminal
Permiten escribir scripts
Automatizar tareas
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Interpretes
Shells
Bourne Shell: shAlmquist Shell: ash
Debian Almquist Shell: dash
Bourne Again SHell: bashKorn Shell: kshZ shell: zsh
C Shell: csh
TENEX C Shell: tcshHamilton C Shell
Emacs Shell: eshell
friendly interactive shell: fish
rc shell: rc
Scheme shell: scsh
Stand alone shell: sash
. . .
¡Y LA LISTASIGUE!
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Interpretes
Shells
Bourne Shell: shAlmquist Shell: ash
Debian Almquist Shell: dash
Bourne Again SHell: bashKorn Shell: kshZ shell: zsh
C Shell: csh
TENEX C Shell: tcshHamilton C Shell
Emacs Shell: eshell
friendly interactive shell: fish
rc shell: rc
Scheme shell: scsh
Stand alone shell: sash
. . .
¡Y LA LISTASIGUE!
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Interpretes
Shells
BASH
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Comandos
Los comandos de GNU presentan una forma comun a todos ellos.
comando [opciones] [argumentos]
Las opciones son optativas y arrancan con un - (guion).Los argumentos pueden ser optativos u obligatorios dependiendodel comando.
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Archivos y directorios
En linux en todo momento nos encontramos en un directorio,“trabajando”, y por esto a dicho directorio se lo denomina workingdirectory.¿como podrıamos saber cual es el directorio actual o workingdirectory actual?
$ pwd
/home/user
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Archivos y directorios
En linux en todo momento nos encontramos en un directorio,“trabajando”, y por esto a dicho directorio se lo denomina workingdirectory.¿como podrıamos saber cual es el directorio actual o workingdirectory actual?
$ pwd
/home/user
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Archivos y directorios
Para listar los elementos dentro de un directorio: ls
$ ls /
bin home media root swig var
boot initrd.img mnt sbin sys vmlinuz
dev lib opt selinux tmp
etc lost+found proc srv usr
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Archivos y directorios
Para listarlos con mas detalles (permisos, tamano, etc)
drwx------ 2 root root 16384 Dec 30 2010 lost+found
drwxr-xr-x 5 root root 4096 Apr 3 09:49 media
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Archivos y directorios
Ordenar por fecha de modificacion
$ ls -lt
total 104
drwxrwxrwt 12 root root 12288 Apr 3 16:15 tmp
drwx------ 21 root root 4096 Apr 3 09:58 root
drwxr-xr-x 148 root root 12288 Apr 3 09:49 etc
drwxr-xr-x 5 root root 4096 Apr 3 09:49 media
drwxr-xr-x 17 root root 3300 Apr 3 09:48 dev
drwxr-xr-x 12 root root 0 Apr 3 06:48 sys
dr-xr-xr-x 182 root root 0 Apr 3 06:48 proc
drwxr-xr-x 3 root root 4096 Feb 28 14:29 boot
drwxr-xr-x 13 root root 12288 Feb 28 14:27 lib
drwxr-xr-x 2 root root 4096 Feb 28 14:27 bin
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Archivos y directorios
Ordenar por fecha de modificacion y mostrar archivos ocultos
$ ls -lta
total 116
drwxrwxrwt 12 root root 12288 Apr 3 16:15 tmp
drwxr-xr-x 23 root root 4096 Apr 3 16:02 .
drwxr-xr-x 23 root root 4096 Apr 3 16:02 ..
drwx------ 21 root root 4096 Apr 3 09:58 root
drwxr-xr-x 148 root root 12288 Apr 3 09:49 etc
drwxr-xr-x 5 root root 4096 Apr 3 09:49 media
drwxr-xr-x 17 root root 3300 Apr 3 09:48 dev
drwxr-xr-x 12 root root 0 Apr 3 06:48 sys
dr-xr-xr-x 182 root root 0 Apr 3 06:48 proc
drwxr-xr-x 3 root root 4096 Feb 28 14:29 boot
drwxr-xr-x 13 root root 12288 Feb 28 14:27 lib
drwxr-xr-x 2 root root 4096 Feb 28 14:27 bin
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Archivos y directorios
Quiero cambiar de directorio, para eso utilizo cd
$ pwd
/
$ cd boot
$ pwd
/boot
$ ls
config-3.2.0-4-686-pae System.map-3.2.0-4-686-pae
grub vmlinuz-3.2.0-4-686-pae
initrd.img-3.2.0-4-686-pae
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Archivos y directorios
El directorio al que quiero ir no existe, puedo crearlo con mkdir
$ cd dir1
bash: cd: dir1: No existe el fichero o el directorio
$ mkdir der1
$ cd der1
$ pwd
/home/pepito/der1
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Archivos y directorios
Me equivoque cuando cree el directorio, puedo borrarlo con rmdir
y crearlo nuevamente con mkdir
$ rmdir der1
$ cd der1
bash: cd: der1: No existe el fichero o el directorio
$ mkdir dir1
$ ls
dir1
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Archivos y directorios
Tambien podria haber renombrado el directorio mediante mv
$ mv der1 dir1
$ cd dir1
$ pwd
/home/pepito/dir1
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Archivos y directorios
Tengo un archivo y quiero que este en el directorio que cree, paraeso uso cp
$ ls
arch1.txt
arch2.txt
dir1
$ cp arch1 dir1
$ ls -a dir1
.
..
arch1.txt
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Archivos y directorios
Ahora quiero borrar el archivo que quedo en mi directorio, uso rm
$ rm arch1.txt
$ ls
arch2.txt
dir1
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Archivos y directorios
Esto ultimo podria haberse hecho con un solo comando, mv
$ mv arch1.txt dir1
$ ls
arch2.txt
dir1
que es equivalente a cp y luego rm del archivo
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Archivos y directorios
Quiero duplicar el directorio y tambien uso cp
$ cp dir1 dir2
cp: se omite el directorio ((dir1))
$ ls
arch2.txt
dir1
tengo que hacer una copia recursiva, con el modificador -r
$ cp -r dir1 dir2
$ ls
dir1
dir2
$ ls dir2
arch1.txt
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Documentacion y ayuda
Casi todos los comandos presentan una ayuda y al menos unapagina de manual.Los argumentos de ayuda disponibles en la mayoria de loscomandos GNU.
-h opcion corta
--help opcion larga
$ rmdir --help
Usage: rmdir [OPTION]... DIRECTORY...
Remove the DIRECTORY(ies), if they are empty.
--ignore-fail-on-non-empty
ignore each failure that is solely because a directory
is non-empty
-p, --parents remove DIRECTORY and its ancestors; e.g., ‘rmdir -p a/b/c’ is
similar to ‘rmdir a/b/c a/b a’
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Documentacion y ayuda
Manual Pages
Existe una ayuda mas completa, que son las paginas de manual, alas que se accede utilizando el comando man: $ man [n]<comando> Como todo comando, man tambien tiene su pagina deman
$ man man
MAN(1) Manual pager utils MAN(1)
NAME
man - an interface to the on-line reference manuals
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Documentacion y ayuda
Info Pages
Cuando la documentacion es extensa y man se queda corto seutiliza info: $ info <comando>. Este permite navegar entrediferentes paginas siguiendo referencias entre las mismas.
$ info
File: dir, Node: Top Esta es la cuspide de le jerarquıa INFO
Este (el Directorio principal) proporciona un menu que contiene las entradas
mas usuales. Tecleando "q" saldra de esta aplicacion informatica, tecleando
"?" prodra producir un listado de todos los comandos disponibles a modo de
referencia; tecleando "d" volvera a esta pantalla, "h" provee de informacion
a usuarios/as primerizos/as; presionando "m" y escribiendo la palabra "Emacs"
podra visitar el manual de Emacs, etc.
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Documentacion y ayuda
Los comandos propios de bash no poseen pagina de man ni deinfo. Para ver la ayuda de estos comandos existe el comandointerno help: $ help <comando>
$ help export
export: export [-fn] [nombre[=valor] ...] o export -p
Establece el atributo de exportacion para las variables de shell.
Marca cada NOMBRE para exportacion automatica al ambiente para las ordenes
ejecutadas subsecuentemente. Si se proporciona un VALOR, se asigna el
VALOR antes de exportar.
Opciones:
-f se refiere a funciones de shell
-n borra la propiedad de exportacion para cada NOMBRE
-p muestra una lista de todas las variables y funciones exportadas
...
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Texto
Busqueda de texto dentro de archivos grep
$ grep nogroup /etc/group
nogroup:x:65534:
$ grep -i NoGRouP /etc/group
nogroup:x:65534:
$ grep -vi NoGRouP /etc/group
muchos grupos...
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Texto
Busqueda de texto dentro de archivos grep
$ grep nogroup /etc/group
nogroup:x:65534:
$ grep -i NoGRouP /etc/group
nogroup:x:65534:
$ grep -vi NoGRouP /etc/group
muchos grupos...
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Texto
Busqueda de texto dentro de archivos grep
$ grep nogroup /etc/group
nogroup:x:65534:
$ grep -i NoGRouP /etc/group
nogroup:x:65534:
$ grep -vi NoGRouP /etc/group
muchos grupos...
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Texto
Impresion de lineas de texto echo
$ echo "The quick brown fox jumps over the lazy dog"
The quick brown fox jumps over the lazy dog
$ echo -e "\a"
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Texto
Impresion de lineas de texto echo
$ echo "The quick brown fox jumps over the lazy dog"
The quick brown fox jumps over the lazy dog
$ echo -e "\a"
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Texto
Para ver solo el comienzo de un archivo podemos usar head [-n]
$ head /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
$
$ head -3 /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
$
$ head -n 3 /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
$
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Texto
Para ver solo el comienzo de un archivo podemos usar head [-n]
$ head /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mail:x:8:
news:x:9:
$
$ head -3 /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
$
$ head -n 3 /etc/group
root:x:0:
daemon:x:1:
bin:x:2:
$
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Texto
Del mismo modo, podemos utilizar tail [-n] para ver las ultimaslıneas
$ tail /etc/group
diego:x:1000:
rdma:x:117:
gigi:x:1001:
vboxusers:x:118:
colord:x:119:
vanesa:x:1002:
kvm:x:124:
rod:x:1004:
martin:x:1003:
arnold:x:1005:
$
$ tail -3 /etc/group
rod:x:1004:
martin:x:1003:
arnold:x:1005:
$
$ tail -n 3 /etc/group
rod:x:1004:
martin:x:1003:
arnold:x:1005:
$
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Texto
Del mismo modo, podemos utilizar tail [-n] para ver las ultimaslıneas
$ tail /etc/group
diego:x:1000:
rdma:x:117:
gigi:x:1001:
vboxusers:x:118:
colord:x:119:
vanesa:x:1002:
kvm:x:124:
rod:x:1004:
martin:x:1003:
arnold:x:1005:
$
$ tail -3 /etc/group
rod:x:1004:
martin:x:1003:
arnold:x:1005:
$
$ tail -n 3 /etc/group
rod:x:1004:
martin:x:1003:
arnold:x:1005:
$
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Permisos
Permisos
En GNU/Linux el sistema de archivos utilizado permite laasignacion de permisos a usuarios.
Lectura (r): Habilita la apertura en solo lectura
Escritura (w): Habilita el archivo para ser modificado
Ejecucion (x): Permite la ejecucion del archivo
Pueden ser aplicados a distintos usuarios
Usuario (u): para el dueno del archivo
Grupo (g): grupo de usuarios al que pertenece el archivo
Otros (o): otros usuarios
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Permisos
Estos permisos se representan generalmente en dos formas
numerica
simbolica
La representacion numerica es mediante digitos octales
4 = Lectura
2 = Escritura
1 = Ejecucion
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Permisos
$ ls -l
total 8
drwxr-xr-x 2 diego diego 4096 abr 9 20:07 dir1
drwxr-xr-x 2 diego diego 4096 abr 9 20:56 dir2
$ ls -lr *
dir2:
total 0
-rw-r--r-- 1 diego diego 0 abr 9 20:56 arch1.txt
dir1:
total 0
-rw-r--r-- 1 diego diego 0 abr 9 20:07 arch1.txt
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Permisos
Modificacion de permisos
Para cambiar los permisos de un archivo o directorio esta elcomando chmod Los permisos se pueden especificar de dos modos
Octal Cada numero representa un tipo de usuario (ugo)
Simbolico Una cadena representa la accion a realizar
$ chmod 700 dir1
$ chmod og-x dir2
$ ls -l
total 8
drwx------ 2 diego diego 4096 abr 9 20:07 dir1
drwxr--r-- 2 diego diego 4096 abr 9 20:56 dir2
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Permisos
Modificacion de la propiedad
Para cambiar el usuario o grupo al que pertence un archivo odirectorio se utliza el comando chown o chgrp
$ chgrp scanner dir1
$ su
Contrase~na:
# chown root:nogroup dir2
# ls -l
total 8
drwx------ 2 diego scanner 4096 abr 9 20:07 dir1
drwxr--r-- 2 root nogroup 4096 abr 9 20:56 dir2
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Almacenamiento en disco
Espacio libre
Para poder conocer el espacio libre en los discos existe el comandodf: $ df [opciones] [archivo]
$ df
S.ficheros 1K-bloques Usados Disponibles Uso% Montado en
rootfs 19222656 6094296 12151824 34% /
udev 10240 0 10240 0% /dev
tmpfs 103396 364 103032 1% /run
tmpfs 5120 0 5120 0% /run/lock
tmpfs 597320 0 597320 0% /run/shm
/dev/sda5 55774580 29547328 23394000 56% /home
$ df -h
S.ficheros Tama~no Usados Disp Uso% Montado en
rootfs 19G 5,9G 12G 34% /
udev 10M 0 10M 0% /dev
tmpfs 101M 364K 101M 1% /run
tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs 584M 0 584M 0% /run/shm
/dev/sda5 54G 29G 23G 56% /home
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Almacenamiento en disco
Espacio utilizado
Para conocer el espacio utilizado por los archivos se utiliza elcomando du: $ du [opciones] [archivo]
$ du dir1/*
4 dir1/arch1-hard.txt
0 dir1/arch1-sim.txt
$ du -hc dir1/*
4,0K dir1/arch1-hard.txt
0 dir1/arch1-sim.txt
4,0K total
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Enlaces
Enlaces
En Unix existen dos tipos de enlaces
duros o fısicos Es un nombre para un archivo. Un archivo puedetener varios nombres y solo se borra del disco cuandoes borrado el ultimo nombre.
blandos o simbolicos Es un archivo especial que contiene una rutaa otro archivo. Este puede apuntar a archivos fueradel sistema de archivos y tambien a archivos que noexisten realmente.
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Enlaces
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Enlaces
Para crear enlaces utilizamos el comando ln. Este por defecto creaenlaces duros.
$ ln -s arch1.txt arch1-sim.txt
$ ls -lG
total 4
lrwxrwxrwx 1 diego 9 abr 16 16:24 arch1-sim.txt -> arch1.txt
-rw-r--r-- 1 diego 407 abr 16 15:57 arch1.txt
$ ln arch1.txt arch1-hard.txt
$ ls -lG
total 8
-rw-r--r-- 2 diego 407 abr 16 15:57 arch1-hard.txt
lrwxrwxrwx 1 diego 9 abr 16 16:24 arch1-sim.txt -> arch1.txt
-rw-r--r-- 2 diego 407 abr 16 15:57 arch1.txt
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Entorno
Variables
Dado que para automatizar tareas es posible escribir scripts,bash permite definir diferentes tipos de variables:
variables comunes:Son utilizadas dentro de los comandos de shell, porconvencion se definen los nombres en minusculas.
variables de entorno:Son tambien visibles dentro de los scripts o desdeejecutables llamados desde el shell, por convencion se definenlos nombres en mayusculas.
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Entorno
Para ver las variables definidas en la sesion se utiliza el comandoenv
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Entorno
Para definir una varible basta con asignarle un valor
$ var1="hola mundo"
$ echo $var1
hola mundo
Las variables de entorno deben exportar mediante el comandoexport
$ export HTTP_PROXY=http://157.92.49.223:8080
$ echo $HTTP_PROXY
http://157.92.49.223:8080
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Entorno
Las varibles de entorno mas usadas por los programas son:
EDITOR Editor utilizado por defecto
HOME Ruta de la home del usuario
HOSTNAME Nombre de la maquina
MANPATH Ruta de busqueda para las paginas man
PATH Ruta de busqueda para los comandos
SHELL Nombre del shell actual
TERM Tipo de la terminal actual
USER Nombre del usuario
DISPLAY Id de la pantalla para visualizar las aplicaciones de X
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Entorno
Alias
El shell nos permite definir atajos para los comandos queutilizamos generalmente. Para esto se utiliza el comando internoalias: $ alias [nombre[=valor]]
$ alias
alias df=’df -h’
alias ls=’ls --color=auto’
$ alias ls
alias ls=’ls --color=auto’
$ alias ls=’ls -l’
$ alias
alias df=’df -h’
alias ls=’ls -l’
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Comandos basicos
Entorno
.bashrc
El archivo .bashrc es un script que se ejecuta cada vez que seinicia una sesion de bash. En este archivo se puede definir:
variables de entorno por defecto
alias
el prompt
ejecutar comandos
ejecutar scripts
...
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Flujos
Standard streams
Los flujos son canales de entrada y salida de datos. En la ejecucionde cada programa existen 3 asociados a distintos archivos:
STDIN Asociado a la entrada de datos
STDOUT Asociado a la salida normal de datos
STDERR Asociado a la salida de datos relacionados,posiblemente, a errores
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Flujos
STDIN
Muchos comandos utilizan, si no se pasa algun argumento queespecifique la entrada, la entrada estandar.
$ sort
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Flujos
STDOUT y STDERR
Los comandos utilizados hasta este momento utilizaron la salidaestandar para mostrar sus resultados.La salida de error es utilizada para mostrar en pantalla losmensajes de error de los comandos.
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Flujos
Redireccionamiento
Los flujos estandar pueden ser facilmente rediccionados a archivos.
< redirecciona un archivo a la entrada estandar delcomando
> redirecciona la salida estandar del comando a unarchivo
>> redirecciona la salida estandar del comando al final deun archivo sin modificar el contenido previo de este
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Flujos
Piping
Concatenacion de comandos
Es comun querer utilizar la salida de un comando con entrada deotro, para esto existe el piping. Para concatenar los comandos seutiliza el operador pipe, |.
/etc$ ls -1 | wc -l
251
/etc$ ls host* | sort -r
hosts.deny
hosts.allow
hosts
hostname
host.conf
Fanego, Moreno, Ubal Dahl, Gamarra Facultad de Ingenierıa (UBA), LABI
Introduccion a consola
Introduccion a consola
Procesos
Listar procesos
Para poder listar las tareas existe el comando ps: $ ps[opciones]
$ ps
PID TTY TIME CMD
7248 pts/2 00:00:00 bash
24535 pts/2 00:00:00 ps
$ ps ux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
diego 3980 0.0 0.6 16632 7232 ? Ss 15:13 0:01 /usr/bin/openbox --startup /usr/lib/openbox/openbox-autostart OPENBOX
diego 4020 0.0 0.0 3868 216 ? Ss 15:13 0:00 /usr/bin/ssh-agent /usr/bin/dbus-launch --exit-with-session /usr/bin/openbox
diego 4023 0.0 0.0 3516 468 ? S 15:13 0:00 /usr/bin/dbus-launch --exit-with-session /usr/bin/openbox-session
diego 4024 0.0 0.1 3296 1076 ? Ss 15:13 0:00 /usr/bin/dbus-daemon --fork --print-pid 5 --print-address 7 --session
diego 4036 0.0 0.5 14216 5804 ? S 15:13 0:01 tint2