Diferencia entre revisiones de «Comandos básicos de manexo de ficheiros»
Ir a la navegación
Ir a la búsqueda
(Sin diferencias)
|
Revisión actual del 21:22 1 jul 2007
O intérprete de comandos
- A misión fundamental do intérprete de comandos ou shell é recibir os comandos e parámetros introducidos polo usuario e transformalos en chamadas ao sistema
- Existen varios intérpretes de comandos para Linux moi completos dado que nos contornos UNIX é moi utilizada a programación sobre os intérpretes de comandos (con scripts de shell).
- O intérprete de comandos máis utilizado actualmente é bash. Algunhas características prácticas del son:
- Os shells de Linux distinguen entre maiúsculas e minúsculas: ls <> Ls!!
- Bash almacena un historial dos últimos comandos introducidos polo usuario (que se almacena no ficheiro .bash_history), que podemos utilizar de distintas formas:
- Coas teclas do cursor de arriba e abaixo podemos movernos polos comandos introducidos.
- O comando history permítenos visualizar o historial de datos almacenados
- O carácter “!” antes dun comando invoca o comando cos últimos parámetros cos que foi invocado
- Podemos utilizar o tabulador para que bash complete o comando que se vai introducir.
- O shell mantén unha serie de variables de contorno, con información relevante do usuario, das aplicacións e do sistema. Por exemplo, o número de comandos que se almacena no historial é o establecido na variable HISTSIZE
- O comando exit pecha unha sesión no modo texto
Obter o directorio actual con pwd
- Cando estamos utilizando o intérprete de comandos sempre temos un directorio de traballo, o directorio no que nos atopamos nese momento.
- Para saber cal é o directorio de traballo, utilizamos o comando pwd
$ pwd /home/usuario
Ver o contido dun directorio con ls
- O comando ls permítenos visualizar os directorios e ficheiros que hai dentro dun directorio.
- Se usamos o comando sen ningún parámetro, mostrará o contido do directorio actual; tamén podemos indicarlle o cartafol do que queremos ver o contido:
$ ls cache/ db/ lib/ lock/ mail@ nis/ preserve/ spool/ vmware/ yp/ catman/ games/ local/ log/ mtink/ opt/ run/ tmp/ www/ $ ls /opt openoffice.org2.2/ TapDown.sh* TapUp.sh* VirtualBox-1.4.0/
- O intérprete de comandos permite introducir metacaracteres nas rutas que se lles pasan aos comandos:
- * : Cero ou varios caracteres.
- ? : Un caracter.
- […] : Algún dos caracteres indicados (Por exemplo [ahc])
- Tamén podemos pasarlles parámetros aos comandos:
- Os parámetros introdúcense despois do comando ás veces precedidos do símbolo –
- Pódense combinar distintos parámetros.
- Non importa a orde na que se introduzan os distintos parámetros do comando.
- O comando ls acepta moitos parámetros, os máis destacables son:
- l: Mostra un listado completo con características dos ficheiros e directorios
- i: Mostra os números de i-nodo dos ficheiros e directorios
- a: Mostra tamén os ficheiros e directorios ocultos (empezan por .)
- h: Mostra os tamaños en formato humano.
- R: Listado recursivo.
$ ls -liha /opt/ total 20K 58720480 drwxr-xr-x 4 root root 85 Xuñ 15 01:51 ./ 128 drwxr-xr-x 25 root adm 4,0K Xul 1 14:31 ../ 17561312 drwxr-xr-x 8 root root 4,0K Mar 22 11:09 openoffice.org2.2/ 59481135 -rwxrwxrwx 1 root root 38 Mai 1 06:12 TapDown.sh* 59481136 -rwxrwxrwx 1 root root 68 Mai 1 06:12 TapUp.sh* 42100114 drwxr-xr-x 7 root root 4,0K Xuñ 15 01:51 VirtualBox-1.4.0/
Tipos de ficheiros: Crear ficheiros, directorios e enlaces
En Linux existen catro tipos de ficheiros:
- Ficheiros normais (-):
- Son ficheiros con datos, xa sexan de texto ou binarios. Teñen un nome e poden ter unha extensión, aínda que Linux non asocia tipos de ficheiros nin aplicacións segundo as extensións dos mesmos (si pode facelo unha aplicación concreta, como konqueror ou nautilus).
- Os ficheiros de datos xenéranse dende distintas aplicacións (editores de texto, compiladores, etc.). Podemos crear un ficheiro baleiro co comando touch.
- Directorios (d):
- Os directorios ou cartadois en Linux son ficheiros dun tipo especial, que como información conteñen unha lista de entradas cos números de i-nodo e nome dos ficheiros e directorios que conteñen (táboa de entradas de directorio).
Para crear un directorio, usaremos mkdir nome_directorio.
- Dispositivos: Represéntanse en Linux como ficheiros, que serán de tipo b se son dispositivos de bloque e c se son de carácter.
- Enlaces: Son ficheiros aparentemente independentes que en realidade acceden ao mesmo elemento do sistema de ficheiros. Podemos distinguir dous tipos de enlaces:
- Enlaces débiles ou simbólicos: Un enlace simbólico é un “acceso directo” a outro ficheiro. Ao crear un enlace simbólico créase un novo ficheiro dun tipo especial (l) que como datos ten a ruta do ficheiro de destino. Creamos un enlace con ln –s:
$ mkdir DirExemplo $ ln -s DirExemplo EnlaceExemplo $ ls -li total 4 33638607 drwxr-xr-x 2 antonio antonio 6 Xul 1 22:04 DirExemplo/ 42320067 lrwxrwxrwx 1 antonio antonio 10 Xul 1 22:04 EnlaceExemplo -> DirExemplo/
- Enlaces fortes ou duros: Os enlaces duros son distintas rutas na árbore que apuntan ao mesmo i-nodo. Non aparecen marcados de ningún xeito especial, pero accedamos a un ou a outro en realidade estaremos accedendo ao mesmo ficheiro. Non se permite crear enlaces fortes entre directorios. Creamos un enlace forte con ln:
$ touch FichExemplo $ ln FichExemplo EnlaceForteExemplo $ ls -li total 12 33638607 drwxr-xr-x 2 antonio antonio 6 Xul 1 22:04 DirExemplo/ 42320067 lrwxrwxrwx 1 antonio antonio 10 Xul 1 22:04 EnlaceExemplo -> DirExemplo/ 42320068 -rw-r--r-- 2 antonio antonio 0 Xul 1 22:08 EnlaceForteExemplo 42320068 -rw-r--r-- 2 antonio antonio 0 Xul 1 22:08 FichExemplo
Moverse polos directorios con cd
- O comando cd permítenos cambiar o directorio de traballo. Simplemente o invocaremos como cd rutaDirectorio para movernos a ese directorio.
- Hai unha serie de valores especiais que podemos indicar na ruta do directorio:
- cd . , cd..: Todo directorio en Linux ten a entrada . que apunta ao propio directorio e a entrada .. que apunta ao directorio superior.
- cd : Se non indicamos ningunha ruta levaranos ao noso cartafol persoal.
- cd -: Permite volver atrás; ao último directorio de traballo.
Copiar e mover ficheiros e directorios
- Podemos copiar ficheiros dunha ruta a outra co comando cp. Usaremos cp orixe destino.
- O parámetro –R permítenos copiar recursivamente directorios completos.
- Se en lugar de copiar, queremos mover ficheiros ou directorios, usaremos mv orixe destino.
Visualizar ficheiros
- Dende o intérprete de comandos podemos visualizar o contido dos ficheiros con dous comandos:
- more: Mostra o contido do ficheiro de forma paxinada.
- cat: Permite concatenar ficheiros e mostralos pola saída estándar (a consola). Se só lle pasamos un ficheiro, mostra por pantalla o contido do mesmo.
Borrar ficheiros e directorios
- Para borrar ficheiros utilizamos o comando rm. Os parámetros máis destacables deste comando son:
- R ou –r: Permite borrar directorios, borrando previamente todo o contido dos mesmos.
- i: Pide confirmación ao usuario antes de cada borrado.
- f: Non pide confirmación nin amosa erros no proceso.
- Se queremos borrar directorios baleiros podemos utilizar o comando rmdir.
Comprimir a información
En Linux existen diversas utilidades para a compresión de información, que poden ser utilizadas de modo gráfico ou con comandos:
- Compresión con tar (utilidade de empaquetado) e gzip (compresión):
- Comprimimos con tar czvf FicheiroDestino FicheirosOuDirectorio
- Descomprimimos un ficheiro con tar xzvf FicheiroComprimido
- Podemos visualizar o contido dun ficheiro con tar tzvf FicheiroComprimido
- Podemos comprimir e descomprimir en varios volumes coa opción M.
- Compresión con zip/unzip:
- Comprimiremos con zip –r FicheiroDestino Directorio
- Descomprimiremos con unzip FicheiroComprimido
Buscar ficheiros
- O comando find permite realizar buscas de ficheiros na árbore de directorios segundo diversos criterios.
- Usarémolo tecleando find ruta expresión:
- A ruta indica dende que punto da árbore queremos facer a busca.
- A expresión permítenos indicar os criterios da busca, que entre outros poden ser:
- name nome: Busca un ficheiro co nome especificado.
- atime +/-numDias: Busca os ficheiros que foron accedidos dende fai máis/menos o número de días indicados.
- size +/-tamañok: Busca os que teñen un tamaño maior/menor que o indicado.