Cli unix2

29
Línea de comando de Unix and GNU / Linux Unix filesystem

Transcript of Cli unix2

Page 1: Cli unix2

Línea de comando deUnix and GNU / Linux

Unix filesystem

Page 2: Cli unix2

Todo es un archivo

Archivos regulares

DirectoriosLos directorios son solo archivos enlistando otros archivos

links simbolicosArchivos que refieren a otros archivos

Dispositivos y perifericosLee y escribe en los dispositivos como si fueran archivos

Pipesusado para concatenar programascat *.log | grep error

SocketsProcesos de comunicaciones internas

Practicamente todo en linux es un archivo

Page 3: Cli unix2

Nombres de archivoEl sistema de archivos existe desde el comienzo de unix

Case sensitive

No hay un limite de tamaño obvio (arriba de los 2mil caracteres)

Pueden contener cualquier caracter (incluyendo espacion en blanco, excepto /).Los tipos de archivo se almacentan dentro del archivo (“magic numbers”).La extencion de archivo, no se ocupa ni se necesita, es solo para conveniencia del usuario

Ejemplos de archivos:README .bashrc

Windows Buglistindex.htm index.htmlindex.html.old

Page 4: Cli unix2

Paths de archivos

Un path es una serie de carpetas anidadas en otras carpetas, separadas por /, al final apuntan a un archivo o carpeta

Path relativo: documents/cids.htmlRelativo al directorio actual

Path absoluto: /home/laptop/crash9402031614568

/ : directorio root.Inicio del path absoluto de todos los archivos del sistema (Incluso para memorias USB y dispositivos).

Page 5: Cli unix2

GNU / Linux estructura FS

No es totalmente impuesto, podría variar ligeramente entre distribuciones y se pueden cambiar al instalar/ Root/bin/ Basico, esencialmente comandos de

sistema/boot/ Imágenes del Kernel, initrd y archivos de configuración/dev/ Representación de dispositivos

/dev/hda: Primer disco duro

/etc/ Archivos de configuración de sistema

/home/ Directorio de usuarios

/lib/ Librerías básicas de sistema

Page 6: Cli unix2

GNU / Linux Estructura FS

/lost+found Archivos corruptos que el sistema intenta recuperar

/media Puntos de montaje de medios:

/media/usbdisk, /media/cdrom/mnt/ Punto de montaje temporal de HD/opt/ Herramientas especificas

instaladas por el sysadmin/usr/local/ tambien se usa para esto

/proc/ Acceso a info del sistema/proc/cpuinfo,

/proc/version /root/ home del usuario root/sbin/ Comandos solo del administrador/sys/ Controles de dispositvos

(Frecuencia CPU, Fuentes de poder, etc.)

Page 7: Cli unix2

GNU / Linux Estructura FS

/tmp/ Archivos temporales/usr/ Herramientas regulares del sistema

(no excenciales del sistema)/usr/bin/, /usr/lib/, /usr/sbin...

/usr/local/ Software especifico del sysadmin(se prefiere mas que /opt/)

/var/ Datos usados por el sistema o server/var/log/, /var/spool/mail (mail entrante),

/var/spool/lpd (print jobs)...

La estructura de archivos esta definida en Filesystem Hierarchy Standard (FHS):http://www.pathname.com/fhs/

Page 8: Cli unix2

Unix and GNU / Linux Línea de comando

Shells y manejos de archivos

Page 9: Cli unix2

Interpretes de linea de comando

Shells: herramienta para ejecutar comandos

Se llaman “shells” por que ocultan detalles de la superficie.

Comandos, son lineas de texto que realizan una funcion.

Los resultados tambien se muestran en la terminal, no se necesita GUI.

Los Shells pueden usar scripts, dando todo para escribir programas complejos (variables, condicionales, etc).

Page 10: Cli unix2

Shells conocidos

Los shells mas populares y conocidos

sh: The Bourne shell (obsoleto)El shell tradicional, escrito por Steve Bourne.

csh: The C shell (obsoleto)Alguna vez fue popular, usa sintaxis de C.

tcsh: The TC shell (Aun popular)Usa sintaxis de C, con propiedades avanzadas (Completado de comando, history, entre otras cosas...)

bash: The Bourne Again shell (mas popular)una mejora de sh, con todavia mas cosas.

Page 11: Cli unix2

fish: ShellUn nuevo shell user-friendlyhttp://www.fishshell.org/

Caracteristicas estandar: history, Completado de comandos y archivos

Nuevas caracteristicas: completado de comandos, muestra descripcion al completar, resalta errores de sintaxis..

Mas facil abrir archivos, se usa el comando open y abre diferentes formatos.

Sintaxis mas simple y consistenteHace mas facil crear shells scripts.

Page 12: Cli unix2

Comando ls

ls -a (all)muestra todos los archivos, incluso los que empiezen con .

ls -l (long)Listado extendido (tipo, fecha, tamaño, dueño, permisos)

ls -t (time)Enlista primero los archivos mas nuevos

ls -S (size)Enlista los archivos empezando por el mas grande

ls -r (reverse)Invierte el orden

ls -ltr (las opciones se pueden combinar)

Enlista los archivos en el directorio actual, en orden alfanumerico, exepto archivos que inicien con el caracter “.”

Page 13: Cli unix2

Substitucion de archivos

ls *txtMuestra todos los archivos que terminen en txt

ls -d .*Muestra todos los archivos y directorios que empiezen con .-d indica que no muestren los archivos de los directorios.

cat ?.logMuestra todos los archivos de 1 sola letra y terminen en .log

Page 14: Cli unix2

Directorios especiales

./

El directorio actual, util para comar argumentos de directorios y tambien para ejecutar archivos

Asi que ./readme.txt and readme.txt son equivalentes.

../

El directorio padre (el dueño). Siempre le pertenece al directorio (see ls -a). Solo hace referencia a ese directorio

Uso tipico:cd ..

Page 15: Cli unix2

Directorios especiales(2)

~/

No un directorio en si, un substituto para indicar el directorio Home.

No se puede usar en los programas y no es un directorio real.

~scott/

Substitucion del home de scott.

Page 16: Cli unix2

Comandos CD y PWD

cd <dir>cambia el directorio a <dir>.

cd -Se regresa al ultimo directorio.

pwdMuestra el directorio actual.

Page 17: Cli unix2

Comando cp

cp <source_file> <target_file>copia el source al target.

cp file1 file2 file3 ... dirCopia los archivos al directorio (ultimo argumento).

cp -i (interactive)Pide confirmacion si el archivo existe

cp -r <source_dir> <target_dir> (recursive)Copia todo el directorio.

Page 18: Cli unix2

Comandos mv and rm

mv <old_name> <new_name> (move)Renombra el archivo.

mv -i (interactive)pregunta antes de reemplazar

rm file1 file2 file3 ... (remove)remueve todos los archivos.

rm -i (interactive)siempre pide confirmación.

rm -r dir1 dir2 dir3 (recursive)Remueve los directorios y sus contenidos.

Page 19: Cli unix2

Creando y borrando directorios

mkdir dir1 dir2 dir3 ... (make dir)crea directorios con los nombres dados.

rmdir dir1 dir2 dir3 ... (remove dir)Remueve los directorios, pero solo si estan vaciosAlternativa rm –rf borra los directorios aunque contengan archivos

Page 20: Cli unix2

Mostrando contenido del archivoMuchas formas de hacerlo.

cat file1 file2 file3 ... (concatenate)Concatena todos los archivos y los muestra

more file1 file2 file3 ...Cuando se completa una pagina, pide que presiones una tecla para pasar a la siguiente

less file1 file2 file3 ...No espera a leer todo el documento antes de abrirlo, permite subir paginas

Page 21: Cli unix2

Comandos head and tail

head [-<n>] <file>Muestra las primeras n lineas del archivo (por default 10)

tail [-<n>] <file>Muestra las ultimas lineas del archivo, no necesita cargar el archivo a ram, muy util para archivos grandes.

tail -f <file> (follow)Muestra las ultimas lineas y te deja ver los cambios en tiempo real.

Ejemploshead windows_bugs.txttail -f outlook_vulnerabilities.txt

Page 22: Cli unix2

El comando GREP

grep <pattern> <files>Escanea los archivos y busca las lineas que tengan el pattern.

grep error *.logmuestra todas las lineas que contengan la palabra error en todos los logs

grep -i error *.logigual, pero case sensitive

grep -ri error .Igual, pero recursivo, busca dentro de los subdirectorios

grep -v info *.logMuestra todas las lineas, excepto las que contengan info.

Page 23: Cli unix2

El comando sort

sort <file>Acomoda las lineas del archivo en orden.

sort -r <file>Igual pero inverso.

sort -ru <file>u: Igual, pero con lineas unicas

Entre muchas mas posibilidades

Page 24: Cli unix2

Links simbolicos

Un link simbolico es un archivo nos sirve para referenciar a otro archivo o directorio:

Util para reducir la complejidad y ahorrar espacio si los archivos contienen lo mismo.

Example:biografia1 -> Listadelibros

Como identificar los links simbolicos:

ls -l archivo -> El link referenciado.

GNU ls Lo muestra de otro color.

Page 25: Cli unix2

Creating symbolic links

Creando links simbolicos(mismo orden que cp):ln -s file_name link_name

Para crear un link en otro archivo

ln -s ../README.txt

Para crear multiples links de un directorio ln -s file1 file2 file3 ... dir

Para remover un link:rm link_nameEsto no borra el archivo linkeado

Page 26: Cli unix2

Hard links

El comportamiento de ln es crear hard links

Es un archivo que contiene el mismo contenido fisico

Estos no se pueden distinguir del mismo archivo

Si remueves el archivo original no impacra en el HL

Page 27: Cli unix2

Permisos de archivos

3 tipos de permisos

Acceso lectura (r)

Acceso escritura (w)

Permiso de ejecucion(x)

3 tipos de niveles de acceso

Usuario (u): El dueño del archivo

Grupo (g): El grupo es una lista de usuarios

Otros (o): para los demas usuarios

Usa ls –l para ver los permisos

Page 28: Cli unix2

Reglas de los accesos

X no se puede usar sin R.

X y R son permisos que ocupan los directorios tambien.

No puedes renombrar, mover o copiar si no tienes el permiso W.

Si tienes permiso W, puedes eliminar o mover el archivo, aunque no puedas abrir el archivo con R

Page 29: Cli unix2

Ejemplos de Accesos

-rw-r--r--Lee y escribe el dueño, pueden leerlo los otros

-rw-r-----Solo Lee y escribe el dueño y los que compartan el grupo

drwx------Directorio solo accesible por su dueño

-------r-xPuede ser ejecutado por todos, pero nadie puede modificarlos, ni leerlos, a veces se usa para poner trampas