10 - comandos básicos linux.pdf

Upload: alex-tito

Post on 06-Jul-2018

447 views

Category:

Documents


2 download

TRANSCRIPT

  • 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.