Upload
alex-tito
View
448
Download
2
Embed Size (px)
Citation preview
8/16/2019 10 - Comandos Básicos Linux.pdf
1/43
Copyright © mayo de 2016 por TECSUP
Sistemas Operativos
Comandos básicos en
Linux
8/16/2019 10 - Comandos Básicos Linux.pdf
2/43
Objetivos
Objetivos de la clase
• Identifica sistemas de archivos y comandos delsistema operativo para inclusión en programas
realizados en el ambiente de programación delintérprete de comandos Bash.
8/16/2019 10 - Comandos Básicos Linux.pdf
3/43
Desarrollo
Comandos LINUX• Todos los comandos de LINUX se ajustan mas omenos al siguiente formato:
• Opciones hace referencia a las distintas opciones deaplicación de dicho comando; van precedidas de un “-”.
• Argumento hace referencia al elemento sobre el cual
se va a aplicar el comando (puede ser un archivo, unavariable, un directorio, etc.).
comando [opciones] [argumento]
8/16/2019 10 - Comandos Básicos Linux.pdf
4/43
Desarrollo
Comandos LINUX• La mayoría de los comandos LINUX de usuario
simple se encuentran en los directorios /bin,/usr/bin y /usr/local/bin.
• Los comandos LINUX son archivos binarios, deahí el nombre de estos directorios (bin viene debinary).
8/16/2019 10 - Comandos Básicos Linux.pdf
5/43
Desarrollo
Comandos LINUX de manipulación de archivos
• CAT - Todo lo que hace cat es copiar losdatos desde la entrada estándar (teclado)
hacia la salida estándar(pantalla).• Con el comando cat>archivo la entrada
estándar sigue siendo el teclado, pero lasalida estándar se ha redireccionado hacia un
archivo. Cada línea que teclee se copiará enel archivo.
8/16/2019 10 - Comandos Básicos Linux.pdf
6/43
Desarrollo
Comandos LINUX de manipulación de archivos
• Si el archivo no existe, LINUX lo crea porusted. Si existe, su contenido se reemplaza.
•Puede teclear cuantas líneas desee y, al final,oprimir +.
• Si desea anexar datos al final de un archivoexistente, use >> para redireccionar la salidaestándar: cat>>archivo
8/16/2019 10 - Comandos Básicos Linux.pdf
7/43
Desarrollo
Comandos LINUX de manipulación de archivos
• HEAD - El comando head permite desplegarel comienzo de un archivo. Por defecto, head
despliega las primeros diez líneas de unarchivo.
• Si lo que se desea es desplegar un númerodiferente de líneas, se pueden especificar
como opción al comando head.
8/16/2019 10 - Comandos Básicos Linux.pdf
8/43
Desarrollo
Comandos LINUX de manipulación de archivos
• Por ejemplo, para desplegar las primerasveinte líneas de un archivo se puede usar:
head –
20 archivo.• TAIL - El comando tail permite desplegar el fin
de un archivo. Por defecto, tail despliega lasúltimos diez líneas de un archivo.
• Por ejemplo, tail -15 archivo desplegará lasúltimas 15 líneas del archivo.
8/16/2019 10 - Comandos Básicos Linux.pdf
9/43
Desarrollo
Comandos LINUX de manipulación de archivos
• La opción -f (follow) de tail, permite escribir laúltima parte del archivo a medida que va
creciendo. Esta opción es muy útil paramonitorizar archivos de registro “log“ que vancreciendo con el tiempo, a modo de ejemplo,considere la orden: tail –f /var/log/messages,
que permite monitorizar el ARCHIVO DE LOG /var/log/messages.
8/16/2019 10 - Comandos Básicos Linux.pdf
10/43
Desarrollo
Comandos LINUX de manipulación de archivos
• MORE - Además de cat, podemos servirnosde otra orden para visualizar archivos, llamada
more. Este comando visualiza, el o losarchivos indicados, por pantallas completas,deteniéndose al final de cada pantalla o cadavez que se encuentre un caracter de borrado
de pantalla.• Una diferencia con cat es que sólo se pueden
visualizar archivos de texto, no binarios.
8/16/2019 10 - Comandos Básicos Linux.pdf
11/43
Desarrollo
Comandos LINUX de manipulación de archivos• Con more al final de cada página desplegada
en pantalla se nos indica que hay más, pormedio del indicador --More--, y también se nosinforma del porcentaje de caracteres quehemos visualizado. Si en este punto pulsamosla ,conseguiremos una nueva pantalla del mismo
archivo, que se imprimirá y volverá ainformarnos de la misma manera como lo hizoanteriormente.
8/16/2019 10 - Comandos Básicos Linux.pdf
12/43
8/16/2019 10 - Comandos Básicos Linux.pdf
13/43
Desarrollo
Comandos LINUX de manipulación de archivos
• Copiar un archivo consiste en sacar una copiadel mismo pero con otro nombre, o en otro
lugar, es decir, tener dos archivosexactamente iguales, pero independientes,cada uno con su nombre y en su propiodirectorio.
• Por ejemplo, si tenemos un archivo llamadodatos y se desea obtener una copia que lleveel nombre extra, se usa: cp datos extra.
8/16/2019 10 - Comandos Básicos Linux.pdf
14/43
Desarrollo
Comandos LINUX de manipulación de archivos
• Con cp no solo es posible copiar archivos,sino que también es posible copiar directorios“recursivamente
” por medio de la opción -R.
• Con la opción -p se preservan los permisos, elusuario y el grupo del archivo a copiar.
• Con la opción -f se borran los archivos dedestino ya existentes.
8/16/2019 10 - Comandos Básicos Linux.pdf
15/43
Desarrollo
Comandos LINUX de manipulación de archivos
• Para indicar la ubicación en disco de unarchivo hay que indicar la lista completa de
directorios que contienen al fichero. Es decir,un fichero puede estar dentro de un directorioque a su vez está dentro de otro y así varios.
• En esta lista, que denominaremos RUTA DE
ACCESO, cada directorio está separado delsiguiente directorio por el signo “ /” , y sin dejarespacios en blanco.
8/16/2019 10 - Comandos Básicos Linux.pdf
16/43
Desarrollo
Comandos LINUX de manipulación de archivos
• MV - El comando mv nos va a permitircambiar el nombre a un archivo, o moverlo de
un directorio a otro. Por ejemplo, si deseamover un archivo llamado datos hacia undirectorio llamado trabajo, use: mv datostrabajo.
• si un directorio llamado trabajo no existe,entonces mv supone que usted quierecambiar el nombre del archivo.
8/16/2019 10 - Comandos Básicos Linux.pdf
17/43
Desarrollo
Comandos LINUX de manipulación de archivos
• Con el comando mv se pueden renombrar ymover no sólo archivos, sino también
directorios.• RM - Para borrar o eliminar un archivo
tenemos el comando rm. Tras la propia ordenpondremos el o los nombres de los archivos
que deseemos borrar.
8/16/2019 10 - Comandos Básicos Linux.pdf
18/43
Desarrollo
Comandos LINUX de manipulación de archivos
• Si un archivo tiene enlaces y lo borramos, enrealidad habremos borrado uno de sus
enlaces, y no el archivo propiamente tal, perosuponiendo que el enlace que estemosborrando sea el último entonces se borrarátambién el archivo.
• Por ejemplo, si deseamos borrar el archivollamado datos, usaremos: rm datos.
8/16/2019 10 - Comandos Básicos Linux.pdf
19/43
8/16/2019 10 - Comandos Básicos Linux.pdf
20/43
Desarrollo
Comandos LINUX de manipulación de archivos
• Con la opción -f no se imprimen mensajes deerror, ni se pregunta al usuario confirmación
de cada archivo borrado.• Con la opción -i (interactive) se pregunta al
usuario por confirmación del borrado, estopodría ser útil cuando, a modo de ejemplo, se
desea borrar solo algunos de los archivoscuyos nombres empiezan con “a”: ls -i a*.
8/16/2019 10 - Comandos Básicos Linux.pdf
21/43
Desarrollo
Comandos LINUX de manipulación de archivos
• ¿Es posible restaurar un archivo previamenteborrado? Resp.: NO.
•WC - El comando wc cuenta las líneas,palabras y caracteres. Los datos puedenprovenir de la entrada estándar o de uno omás archivos. Este comando es de acción
inmediata. Genera como salida tres números:de líneas, palabras y caracteres en los datos.
8/16/2019 10 - Comandos Básicos Linux.pdf
22/43
Desarrollo
Comandos LINUX de manipulación de archivos• Si usted especifica el nombre de un archivo,
wc escribe el nombre del archivo después de
los tres números. Si especifica más de unarchivo, wc también proporciona lasestadísticas totales.
• Si no quiere los tres números, puede usar las
opciones : -l cuenta las líneas; -w cuenta laspalabras; y –c cuenta los caracteres.
8/16/2019 10 - Comandos Básicos Linux.pdf
23/43
Desarrollo
Comandos LINUX de manipulación de archivos• Por ejemplo, podemos usar el comando wc
para contar el número de identificadores de
usuario dentro de su sistema actualmente, pormedio de la orden: who ¦ wc –l.
• LN - El comando ln permite crear un enlace (oliga) para un archivo. Por ejemplo, si tenemos
un archivo llamado datos y deseamos crearun enlace para este archivo llamado otro,usaremos : ln datos otro.
8/16/2019 10 - Comandos Básicos Linux.pdf
24/43
Desarrollo
Comandos LINUX de manipulación de archivos• La opción -s permite crear un ENLACE
SIMBÓLICO de un archivo.
•Cuando se ejecuta ls -l en un directorio dondehay un ENLACE SIMBÓLICO, éste se nota dela siguiente manera:
[alumno@localhost ~]$ ln –s archivo enlace[alumno@localhost ~]$ ls –l enlacelrw-r--r-- 1 alumno alumno 11 Apr 8 13:33 enlace ->archivo
8/16/2019 10 - Comandos Básicos Linux.pdf
25/43
8/16/2019 10 - Comandos Básicos Linux.pdf
26/43
Desarrollo
Comandos LINUX de manipulación de archivos• La manera más sencilla de usar sort consiste en
ordenar un solo archivo y desplegar el resultadoen pantalla, por ejemplo: sort datos.
• Para guardar los datos ya ordenados en otroarchivo, puede redireccionar la salida estándar yusar: sort datos>maestro.
•Para ordenar un archivo y guardar la salida en elmismo archivo, usar: sort –o datos datos.
8/16/2019 10 - Comandos Básicos Linux.pdf
27/43
Desarrollo
Comandos LINUX de manipulación de archivos• De manera preestablecida, los datos se
acomodan en orden ascendente, de acuerdocon el código ASCII. Lo relevante es que el
código ASCII es como el alfabeto que ustedusa, pues los caracteres guardan cierto orden,orden que usa sort para hacercomparaciones.
• El comando sort tiene varias opciones quepuede usar para modificar el orden que deseaemplear.
8/16/2019 10 - Comandos Básicos Linux.pdf
28/43
Desarrollo
Comandos LINUX de manipulación de archivos• Por ejemplo, La opción –d sólo toma en
cuenta letras, números y espacios, ignorando
los demás caracteres; la opción –
r ordena losdatos de manera inversa.
• Además de ordenar los datos, sort tambiénfusiona archivos múltiples que contengan
datos ordenados. Para usar sort de estemodo, especifique la opción –m.
8/16/2019 10 - Comandos Básicos Linux.pdf
29/43
Desarrollo
Comandos LINUX de manipulación de archivos• CUT - El comando cut extrae columnas de
datos de un archivo. Este comando ofrece una
gran flexibilidad. Puede extraer columnasespecíficas o fragmentos delimitados de cadalínea del archivo.
• cut requiere la lista de columnas que usted
desea extraer y el nombre de un archivo deentrada.
8/16/2019 10 - Comandos Básicos Linux.pdf
30/43
Desarrollo
Comandos LINUX de manipulación de archivos• Por ejemplo, para extraer las columnas 1, 8 y
10 del archivo llamado datos, se puede usar:cut –c1,8,10 datos
• También puede especificar un rango denúmeros de columna colocando el comienzo yel final del rango.
• Por ejemplo, para extraer las columnas de la 1a la 3 del archivo datos, use: cut –c1-3 datos.
8/16/2019 10 - Comandos Básicos Linux.pdf
31/43
Desarrollo
Comandos LINUX de manipulación de archivos• PASTE – El comando PASTE fusiona líneas
correspondientes de un archivo en columnas
verticales e imprime al resultado a pantalla. Unejemplo de uso de PASTE sería: paste arch1arch2.
• Si uno de los archivos tiene menos líneas que
el otro, el comando PASTE concatenará laslíneas con el archivo más largo con una líneaen blanco.
8/16/2019 10 - Comandos Básicos Linux.pdf
32/43
Desarrollo
Comandos LINUX de manipulación de archivos• El comando PASTE toma líneas desde dos o
más archivos y los coloca en columnas y lospresenta en la salida estándar o pantalla.
• El delimitador por defecto en la salida será eltabulador , con la opción -d se puedeespecificar un delimitador diferente. Por
ejemplo, podemos usar: paste -d: nombresapellidos>datos.
8/16/2019 10 - Comandos Básicos Linux.pdf
33/43
Desarrollo
Comandos LINUX de manipulación de archivos• Se pueden separar columnas con diferentes
caracteres solo con especificar más de uncarácter después de la opción -d, por ejemplo:paste -d ‘-*’ arch1 arch2, separaría la primerade la segunda columna con un “-” y lasegunda de la tercera columna con un “*”.
• Si más de una columna existe, el comandopaste alternaría usando “-” y “*” comodelimitador.
8/16/2019 10 - Comandos Básicos Linux.pdf
34/43
Desarrollo
Comandos LINUX de manipulación de archivos• La opción -s de PASTE permite fusionar todas
las líneas de cada archivo en una única línea.
•Cada
“ \n
” en un archivo, excepto el último, esreemplazado con un tabulador o un
delimitador especificado por la opción –d. Porejemplo, paste –s –d ‘*’ nombres, fusiona
todas las líneas del archivo nombres en unalínea usando “*” como delimitador.
8/16/2019 10 - Comandos Básicos Linux.pdf
35/43
Desarrollo
Comandos LINUX de manipulación de archivos• FILE - El comando file realiza una serie de
comprobaciones en un archivo para tratar declasificarlo.
• Tras la ejecución de find se muestra el tipodel archivo e información al respecto delmismo.
[alumno@localhost ~]$ file tareatarea: is a directory
8/16/2019 10 - Comandos Básicos Linux.pdf
36/43
Desarrollo
Comandos LINUX de manipulación de archivos• STAT - El comando stat nos muestra
información muy completa acerca de archivoso SISTEMAS DE ARCHIVOS.
• Este comando nos reporta el nombre delarchivo, su tamaño, los bloques que ocupa, eltipo de archivo (regular), información física de
donde se encuentra (dispositivo/i-node), lospermisos estándar, los dueños del archivo ylas tres marcas de tiempo UNIX.
8/16/2019 10 - Comandos Básicos Linux.pdf
37/43
Desarrollo
Comandos LINUX de manipulación de archivos
[alumno@localhost ~]$ stat archivoFile: `archivo'Size: 93300148 Blocks: 182424 IO Block: 4096 Regular FileDevice: 804h/2052d Inode: 1785294 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000) Gid: ( 100/ users) Access: 2008-04-03 18:45:29.000000000 +0200Modify: 2008-01-30 17:56:08.000000000 +0100
Change: 2008-03-04 23:32:02.000000000 +0100
8/16/2019 10 - Comandos Básicos Linux.pdf
38/43
Desarrollo
Comandos LINUX de manipulación de archivos• Una parte importante acerca de la información
desplegada por stat, tiene que ver con lainformación de la fecha de registro del acceso
al archivo. Muestra que se accedió (Access)al archivo el 2008-04-03 a las 18:45:29, o el 3de abril de 2008 a las 18:45:29 PM. Este es elmomento en el cual se empezó a utilizar el
archivo. El archivo fue modificado (Modify) el2008-01-30 a las 23:32:02.
8/16/2019 10 - Comandos Básicos Linux.pdf
39/43
Desarrollo
Comandos LINUX de manipulación de archivos• Finalmente, la fecha de registro al lado de
Cambiar (Change) muestra cuándo fuecambiado el estado del archivo.
• Además del tamaño de archivo usual (que sepuede obtener de ls -l), se puede obtener lacantidad de bloques que ocupa este archivo.
8/16/2019 10 - Comandos Básicos Linux.pdf
40/43
Desarrollo
Comandos LINUX de manipulación de archivos• El tamaño de bloque LINUX típico es de 512
bytes, entonces un archivo de 93.300.148bytes ocuparía (93300148/512=) 182226.85bloques. Como los bloques se utilizan en sutotalidad, este archivo utiliza un número enterode bloques. En lugar de hacer conjeturas,
usted puede saber cuáles son los bloquesexactos.
8/16/2019 10 - Comandos Básicos Linux.pdf
41/43
Desarrollo
Comandos LINUX de manipulación de archivos• La opción -f del comando stat permite mostrar
la información de un SISTEMA DE ARCHIVOen lugar de un archivo:
[alumno@localhost ~]$ stat -f oracleFile: "oracle"ID: 0 Namelen: 255 Type: ext2/ext3
Blocks: Total: 24033242 Free: 15419301 Available: 14198462 Size: 4096Inodes: Total: 12222464 Free: 12093976
8/16/2019 10 - Comandos Básicos Linux.pdf
42/43
Desarrollo
Comandos LINUX de manipulación de archivos• Por último, la opción -t brinda exactamente la
misma información pero en una sola línea, conlos datos separados por un espacio.
8/16/2019 10 - Comandos Básicos Linux.pdf
43/43
Resumen
•Los comandos LINUX de manipulación de archivos calzan, mas o menos, con elsiguiente formato: comando [opciones] [argumentos].•Comando es el nombre del comando u orden que el SHELL debe ejecutar,opciones especificará la o las opciones del comando y argumentos correspondea el o los elementos (archivos) sobre los cuales se aplicará el comando.
•Podemos distinguir: comandos de visualización de archivos: cat, more, less,comando para copiar archivos: cp, comando para borrar archivos: rm, comandosfiltros: head, tail, cut, sort, entre otros.•El comando sort efectúa dos tareas principales: ordenamiento de datos y fusiónde dos o más archivos ordenados.