02- GESTIÓN DE ARCHIVOS Y DIRECTORIOS

Comandos para la gestión de archivos y directorios en ambientes Linux.

TIPOS DE FICHEROS

- --> fichero regular d --> directorio l --> enlace c --> dispositivos especiales de caracteres p --> canales s --> shocket

COMANDOS

PWD --> Print Working Directory. Indica el directorio en el que estamos trabajando.

FILE --> Da informacion del tipo de archivo que hemos seleccionado. P.E: file /bin/sync

LS --> List directory contents. Lista los elementos en el directorio. -l --> nos da más información sobre los archivos. -a --> incluye archivos y directorios ocultos. -R --> incluye los subdirectorios de cada directorio.

SORT --> Lista ordenadamente del contenido de los elementos de un directorio o una serie de archivos. P.E: sort 1.txt 2.txt 3.txt -b --> ignora los espacios en blanco iniciales -d --> solo tiene en cuenta espacios y alfanumerico -f --> ignora mayusculas o minusculas -r --> saca el listado inverso

TREE --> Lista en forma de arbol los directorios y subdirectorios desde el directorio en el que me encuentro, para abajo.

GREP --> Busqueda global. Busca una letra o palabra en el texto que sale por pantalla. ---------> BUSCAR MAN POR QUE TIENE MIL POSIBILIDADES. grep [opciones] [patron] [archivo] -i --> no distingue entre mayusculas y minusculas -r --> busqueda recursiva (busca en todos los archivos del directorio) -c --> muestra cuantas lineas coinciden con el patron. -n --> añade el numero de linea delante. -v --> muestra por pantalla las lineas del documento que no coinciden con el texto buscado. -l --> muestra el nombre de los archivos que SI tienen coincidencias. -L --> muestra el nombre de los archios que NO tienen coincidencias. -o --> muestra solo las palabras que coinciden, no toda la linea (util si busco varias palabras). -q --> no muestra nada como salida (util para escribir codigos como el P.E.2)

P.E.1 --> grep -i comando /Desktop/01_Guias/Terminal/00_Guia_Basicos (muestra por pantalla el texto de las lineas del documento que incluyen la palabra comando).

P.E.2 -->grep -ir comando /Desktop/ && echo SI || echo NO (muestra por pantalla (SI y las lineas de texto que lo incluyen) si en alguno de los documentos de texto del directorio Desktop aparece la palabra comando (sin tener en cuenta mayusculas o minusculas). En caso contrario imprime (NO).

EGREP --> Busqueda extendida egrep 'auto|iface|comando' /etc/network/interfaces #me busca las lineas que tienen cada una de las palabras

FIND --> Encontrar. Busca un archivo en el sistema. find [directorio inicio][opciones][que buscar] P.E. -->find / -iname "nombre de archivo" / --> significa empezar a buscar en la raiz (~ sirve para buscar en home) -name --> busca por nombre -iname --> busca por nombre sin tener en cuenta mayus -user --> busca por usuario propietario -group --> busca por grupo propietario -type --> busca por tipo de archivo (según los tipos de este tema) -amin --> archivos modificados en los ultimos [-amin 3] minutos -atime --> archivos modificados en los ultimo [-atime 10] dias -syze --> busca por tamaño !--> NOT. Busca lo contrario de lo que se pone en la opcion de despues. Un ! por opcion.

LOCATE --> Encontrar ficheros en el sistema. Necesita tener una base de datos actualizada. updatedb --> actualiza la base de datos del sistema para usarla en locate. locate [que buscar] --> busca en todo el sistema muy rapido. -i --> no distingue entre mayusculas y minusculas.

WHEREIS --> Para ver la ruta de un archivo. -b --> nos muestra solo la ruta de archivos binarios. -m --> muestra la ruta de los manuales -s --> muestra la ruta de la fuente.

CD --> Change Directory. Cambia al directorio que seleccionemos P.E.--> cd Escritorio/ #puedo utilizar tambien rutas absolutas cd --> me manda directamente a la carpeta de usuario. cd .. --> me manda a la carpeta del nivel superior.

MKDIR --> Make Directory (crea una carpeta en la ruta seleccionada) -p --> permite crear un sistema de directorios

-m --> permite añadir permisos al directorio

P.E: mkdir -p test/{test1,test2,test3/{test3.1,test3.2}}/ genera el directorio test con test1,2 y 3 en su interior y test3.1 y 3.2 dentro de test3.

P.E: mkdir -m 550 test genera el directorio test con permisos de lectura y ejecución para usuario y grupo propietario.

RMDIR --> Remove Directory. Borra un directorio vacio. -p --> elimina carpetas y subcarpetas.

TOUCH --> Crea un archivo vacio en la ruta seleccionada. Si el archivo ya existe le cambia la fecha de modificacion.

CP --> Copy. Copia el archivo en la ruta absoluta seleccionada. P.E.--> cp prueba.txt /home/username/Escritorio

DD --> Data Duplicator. Permite copiar de manera secuencial. Se utiliza mucho en analisis forense. Es muy potente. dd if=$inputdata of=$outputdata [opciones] bs= [tamaño de los paquetes] count= [cantidad de bloques a copiar]

MV --> Move. Mueve un archivo a la ruta absoluta seleccionada.

RM --> Remove. Elimina un archivo en la ruta seleccionada o en la carpeta actual. -r --> Si queremos borrar una carpeta no vacía. -f --> fuerza la accion. -i --> pregunta antes de ejecutar

SPLIT --> Permite dividir un paquete en archivos mas pequeños -a --> marca la longitud del sufijo -d --> utiliza sufijos numericos empezando en 0, no alfabeticos -c --> marca el tamaño maximo de los archivos de salida en BYTES. -l --> marca el tamaño maximo de los archivos de salida en LINEAS. P.E: split -d -c 20k imagen.iso

CAT --> Concatenate. Muestra el contenido de un archivo. -n --> numera los renglones -b --> numera solo las lineas que no estaban en blanco -E --> marca el final de las lineas con $ (util para programar) -s --> muestra solo la primera linea en blanco si hay muchas. > --> permite dar contenido a un documento. (termina con CTRL+D) >> --> permite aumentar el contenido de un documento (termina con CTRL+D)

TAC --> Invierte la salida de CAT. (la ultima linea pasa a ser la primera).

NL --> Como cat pero numerando las lineas.

WC --> Da informacion del contenido de un fichero. N (Lineas) N (palabras) N (caracteres)

-W --> cuenta solo las lineas.

DIFF --> Busca diferencias entre dos archivos. P.E: diff 1.txt 2.txt

-b --> No hace caso de las diferencias por espacio en blanco -B --> No hace caso de las diferencias por lineas en blanco -q --> Solo informa de si difieren o no, sin mostrar los cambios -r --> Recursivo en directorios. Compara dos ficheros cualesquiera -y --> Emplea el formato de lado a lado.

UNIQ --> Muestra las lineas no repetidas de un conjunto de archivos. -c --> pone antes de cada linea el numero de coincidencias -d --> muestra las lineas repetidas solo una por duplicidad -D --> muestra TODAS las lineas duplicadas -i --> ignora diferencia entre mayus y minus -u --> muestra solo las lineas unicas

COLUMN --> Pone el contenido por columnas. -t --> utiliza los espacios como separadores -s --> Se utiliza con -t para utilizar otro separador que no sea el espacio P.E: column -t -s ":"

CUT --> elimina secciones de cada fila de un fichero ------> tiene muchas opciones. Ver man. -c [a,b,c] --> elimina solo las letras a, b y c. -d " " --> marca el delimitador entre campos en un tabla (en este caso el espacio) solo puede ser un unico caracter. Sirve para utilizar la opcion -f. -f [3] --> coge solo la tercera columna (los espacios en blanco se consideran columnas en las tablas en este caso) P.E: cut -d " " -f 3

TEE --> lee de entrada estandar y escribe a salida estandar y fichero. En resumen: saca el resultado por pantalla y por fichero. P.E: ps aux | tee ps.txt #sale por pantalla y por fichero ps.txt

BASENAME --> Muestra nombre del archivo especificado en una ruta.

STAT --> Muestra informacion de un fichero. Sin opciones pone fechas de acceso, modificacion y cambio. stat -c%U test.txt -- Usuario propietario -c%u --> PID usuario propietario -c%G --> Grupo propietario -c%g --> PID grupo propietario -c%n --> nombre completo del archivo -c%F --> tipo de fichero -c%A --> permisos -c%a --> permisos en octal -c%x --> ultima fecha de acceso -c%y --> ultima fecha de modificacion (cambian las caracteristicas P.E: permisos) -c%z --> ultima fecha de cambio (cambia el contenido)

MORE --> Como cat pero va mostrando poco a poco el texto. Cat mejorado. enter --> muestra la siguiente linea space --> muestra la siguiente pagina d --> se mueve 11 lineas hacia delante 5s --> se mueve 5 lineas hacia delante 5f --> se mueve 5 lineas hacia detras v --> abre el editor vim en la posicion del cursor h --> muestra ayuda q --> lo quita

LESS --> Muy parecido al more, pero se mueve el contenido con los cursores.

HEAD --> Muestra las primeras lineas de un fichero.

TAIL --> Muestra las ultimas lineas de un fichero.

LN --> Link. Crea enlaces entre archivos. -s --> crea enlaces simbólicos

Los ficheros en linux, se almacenan en el disco duro y se crea un puntero en la ruta seleccionada con acceso a esa informacion. Cuando hago un link, existen dos tipos principales: Hard link --> Crea otro puntero a esa informacion que se almacena en el disco. No se pueden generar entre particiones. Simbolic link --> Crea un puntero al puntero de la informacion en el disco (como un shortcut) Se pueden crear de una particion a otra.

SED --> Editor de flujos y ficheros de forma no interactiva. Permite modificar el contenido de las lineas de un fichero en base a comandos. -e --> añade un script al comando -f --> añade el script del archivo al comando

s --> sustituir sed 's/a/A/g' hola.txt #sustituye(s) todas(g) las (a) por A. sed '1,10s/a/A/g' hola.txt #solo hace la sustitución en las filas de 1 al 10. d --> eliminar sed '1,5d' hola.txt #Elimina las filas de la 1 a la 5.

TR --> filtro de sustitucion. -s --> permite cambiar un conjunto de caracteres iguales por uno igual. Sirve para convertir un tabulador en un espacio tr -s " " #Sustituye conjuntos de espacios en un espacio -c --> Sustituye en la salida todos los caracteres excepto los indicados en el argumento1 por los especificados en el argumento2. tr -c '[a-f][A-F][1-5]' x <> test.txt #Sustituye todo menos los tres conjuntos del arg1 por la letra x. Toma como entrada el archivo test.txt y como salida el mismo (de ahí ese <>). -d --> Suprime los caracteres asignados en el argumento-1.

echo "Hola a todos" | tr -d o #Elimina la letra o en el output.

PASTE --> Concatena el contenido de varios archivos añadiendolos tabulados. -d --> cambia el separador P.E: -d "," #en vez de tabulador pone comas. -s --> concatena el contenido de varios archivos poniendo el contenido de cada uno en una fila.

EXPAND --> Modifica un tabulador convirtiendolo en 8 espacios. -t --> marca en cuantos espacios se convierte el tabulador

HEXDUMP --> transforma un archivo a hexadecimal -C --> Para sacar el hexadecimal y el ASCII (legible).

OD --> transforma un archivo a octal

ICONV --> permite convertir el codeset de un fichero. --list --> lista los codeset disponibles.

P.E: iconv -f UTF-8 -t ISO-8888 fichero.tx

NANO --> Editor de texto. Permite editar archivos de texto desde la terminal.

VIM --> Editor de texto de linea de comandos. Muy potente pero más complicado de utilizar que el nano.

GEDIT --> Editor de texto grafico. Tipo bloc de notas. (Cada distribución de Linux tiene uno por defecto, éste es el de Debian).

Última actualización