3.-comandos basicos en linux

Upload: salvador-reyes

Post on 15-Oct-2015

11 views

Category:

Documents


0 download

TRANSCRIPT

  • Comandos bsicos en Linux

    Editorial Ra-Ma

  • NDICE

    PRIMEROS COMANDOS EN LINUX ..................................................... 1

    COMANDOS PARA EL TRABAJO CON EL SISTEMA DE FICHEROS .......................................................................................... 5

    COMODINES PARA LA GENERACIN DE LISTAS DE FICHEROS ........................................................................................ 11

    REDIRECCIN DE COMANDOS Y TUBERAS ................................ 12

    COMANDOS GENERALES Y DE INFORMACIN DEL SISTEMA 14

  • PRIMEROS COMANDOS EN LINUX La forma general de los comandos en Linux es:

    $ comando [opciones] [parmetros] En el formato general anterior, el smbolo $ representa el prompt

    del sistema aunque se recuerda que puede cambiar dependiendo de la distribucin y configuracin utilizada.

    Las opciones son modificadores para los comandos y no siempre

    es necesario teclear alguna. Las opciones suelen incluir el signo seguido por una letra.

    Los parmetros son informaciones que el comando puede

    necesitar para ejecutarse. Esta necesidad depende de cada comando concreto. En muchas ocasiones los parmetros son nombres de ficheros o directorios.

    Una caracterstica importante en Linux es que se realiza

    distincin entre maysculas y minsculas. Tanto para nombres de carpetas, ficheros, nombres de programas, comandos y cualquier elemento en Linux se hace distincin entre maysculas y minsculas. Es decir, no ser el mismo fichero Documentacin, que documentacin o DOCUMENTACIN.

    Por ejemplo si intentamos ejecutar el comando hostname de la siguiente forma:

    $ HOSTNAME -bash: HOSTNAME: command not found

    el sistema devolver un error de comando no encontrado. Se debe escribir:

    $ hostname

  • 2 APNDICE RA-MA

    Esta caracterstica es una potencial fuente de problemas sobre todo para usuarios que estn acostumbrados a otros sistemas operativos como Windows, donde no existe esta distincin.

    A continuacin se presentarn los comandos bsicos para trabajar con la estructura de directorios del sistema: pwd

    Cuando trabajamos en modo comando hay que tener en

    cuenta siempre el directorio donde nos encontramos, ya que muchos comandos que hacen referencia a directorios utilizan el directorio actual si no se especifica otra cosa. Al directorio donde nos encontramos se le llama directorio actual o directorio activo.

    El comando pwd muestra en pantalla la ruta completa del

    directorio actual o activo. En muchas ocasiones el prompt del sistema se configura para mostrar el directorio activo pero si no es as se puede utilizar el comando pwd para visualizarlo.

    cd [nombre_directorio]

    Cambia el directorio actual por el especificado como

    parmetro. Utilizado sin parmetros el comando cd cambia al directorio home del usuario. Ejemplos:

    cd /usr/local/doc Ejemplo del comando cd utilizando

    una ruta absoluta cd local/doc Suponiendo que nos encontramos en

    /usr, igual que el anterior pero usando ruta relativa

    cd .. Cambio al directorio un nivel por encima del actual

    cd ../usuario1/apuntes Ejemplo del comando cd utilizando una ruta relativa

    cd Cambio al directorio home del usuario

  • RA-MA COMANDOS BSICOS EN LINUX 3

    A la hora de escribir rutas para el comando cd o para cualquier otro comando recordar la utilidad del tabulador que nos proporciona la shell de comandos.

    ls [-opciones] [nombre_directorio]

    Visualiza el contenido del directorio especificado como

    parmetro. Si no se indica ningn directorio se utiliza el directorio actual. Este comando tiene multitud de opciones para alterar el tipo de informacin mostrada. Por ejemplo, la opcin l muestra informacin extendida sobre cada fichero o directorio. Ejemplos:

    ls l Lista extendida de archivos y directorios del

    directorio actual ls l /var/log Lista extendida del directorio /var/log ls a Lista de todos los archivos y directorios,

    incluidos los ocultos, que en Linux empiezan por el carcter punto ( .)

    ls R Lista de archivos y directorios y de todos los directorios

    dentro de l ls C Lista de archivos en columnas ls lt Lista extendida de archivos ordenada por fecha

    mkdir directorio Crea un nuevo directorio.

    rmdir directorio Borra un directorio vaco. Los comandos anteriores se utilizan para trabajar con la

    estructuras de directorios en un sistema Linux. Otros comandos generales son:

  • 4 APNDICE RA-MA

    Comandos para salir de la sesin: logout o exit $ logout

    El sistema finaliza la sesin y vuelve a mostrar la peticin de

    login para una nueva sesin. El comando exit es equivalente.

    Comando de ayuda: man Uno de los comandos ms importantes del modo texto es el

    comando man. La forma de ejecutarlo es teclear man seguido del nombre del comando sobre el que queremos obtener ayuda. Por ejemplo:

    $ man ls

    La ayuda que ofrece el comando man se presenta paginada y

    formateada con algn programa formateador de textos que est instalado en nuestro sistema. Normalmente funcionarn las teclas de cursores y las de [RePg] y [AvPg] para desplazarnos por el texto de ayuda. Para salir de nuevo al prompt del sistema pulsar la tecla q.

    Comando para salir del sistema y apagar el equipo: poweroff

    Existen tambin los comandos halt y shutdown para apagar el equipo. Estos comandos permiten algunas opciones como por ejemplo realizar una parada programada pero slo los puede ejecutar el usuario root. En algunas distribuciones es necesario ser usuario root para ejecutar el comando poweroff.

    Con estos comandos se realizarn todas las acciones necesarias para la salida ordenada del sistema. Despus de su ejecucin se podr apagar el equipo.

  • RA-MA COMANDOS BSICOS EN LINUX 5

    Comando para reiniciar el sistema: reboot Al igual que el comando poweroff, en algunas distribuciones

    slo se puede ejecutar este comando con el usuario administrador.

    COMANDOS PARA EL TRABAJO CON EL SISTEMA DE FICHEROS

    A continuacin se presentan los comandos ms importantes para el manejo de ficheros en un sistema Linux. Los parmetros opcionales se especifican entre corchetes []:

    cat [nombre_fichero]

    Muestra por pantalla el fichero de texto especificado como parmetro. Si no se especifica ningn fichero como parmetro, muestra la informacin que le llega a travs de la entrada estndar o stdin que por defecto es el teclado.

    more [nombre_fichero]

    Muestra por pantalla, de forma paginada, el fichero especificado como parmetro. Si no se especifica ningn parmetro, pagina lo que recibe a travs de stdin. Para avanzar lnea a lnea, utilizar la tecla de [Enter]. Para avanzar de pgina en pgina, utilizar la tecla de [Espacio]. Para salir pulsar la tecla q.

    less [nombre_fichero]

    Parecido a more. Muestra por pantalla de forma paginada el contenido de un archivo de texto. Tiene ms funcionalidades que more. Por ejemplo, con less se pueden utilizar las teclas de cursor para moverse a travs del texto.

  • 6 APNDICE RA-MA

    cp fichero1 [fichero2 .. ficheroN] directorio

    Copia ficheros y directorios. Si el ltimo argumento es un directorio, cp copia cada fichero fuente a ese directorio. Si el ltimo argumento es un fichero, cp copia el primer argumento que deber ser un solo fichero, en el fichero destino.

    mv fichero1 [fichero2 .. ficheroN] destino

    Comando que mueve o renombra ficheros o directorios. Si el ltimo argumento es un directorio, mv mueve cada uno de los anteriores ficheros a ese directorio. Si se pasan como argumento dos nombres de ficheros (o dos nombres de directorios), renombra el primero al segundo.

    rm fichero1 [fichero2 .. ficheroN]

    Comando para borrar ficheros. Con la opcin r se borra la estructura entera de un directorio, incluido los subdirectorios.

    Opcin til pero muy peligrosa para borrar todo el contenido de un directorio: rm rf nombre_directorio

    find ruta_bsqueda opciones_bsqueda

    Busca ficheros en la estructura de directorios que cumplan la condicin especificada. Este es un comando muy potente de Linux que admite muchas opciones de bsqueda diferentes. Algunos ejemplos de opciones de bsqueda:

    -name nombre busca archivos con el nombre especificado.

    -perm DDD busca archivos con los permisos especificados DDD.

  • RA-MA COMANDOS BSICOS EN LINUX 7

    -user USER busca archivos que pertenezcan al usuario USER.

    -size +-bloques busca archivos con ms (+) o menos (-) tamao al especificado.

    -group busca archivos que pertenezcan al grupo especificado.

    Ejemplos:

    Para buscar en el directorio actual archivos que se llamen prueba:

    $ find . name prueba Para buscar en el directorio /tmp archivos que pertenezcan a

    usuario1:

    $ find /tmp user usuario1 Para buscar en el directorio /var archivos superiores a

    1000000 bytes:

    $ find /var size +1000000c

    cmp fichero1 fichero2

    Compara dos ficheros de cualquier tipo y escribe el resultado en la salida estndar.

    diff fichero1 fichero2

    Busca diferencias entre dos ficheros. Parecido a cmp pero ms avanzado. Por ejemplo, puede comparar dos directorios.

  • 8 APNDICE RA-MA

    type fichero_ejecutable

    Muestra por pantalla la ruta completa de un archivo ejecutable.

    file fichero

    Indica el tipo de fichero pasado como parmetro.

    whereis fichero_ejecutable

    Muestra la ubicacin del archivo ejecutable de un comando, el archivo fuente y la pgina del manual correspondiente. Esta bsqueda se realiza dentro de los directorios especificados en la variable de entorno PATH.

    chmod permisos fichero1 [fichero2 .. ficheroN]

    Comando para establecer los permisos de un fichero o directorio. Los permisos de un fichero se pueden cambiar slo por el propietario del fichero o por el usuario root. Existen dos formas de establecer los permisos. La primera utilizando una representacin simblica de los cambios a realizar y la segunda utilizando un nmero octal que representa el patrn de bits de los nuevos permisos.

    Para el primer formato se utiliza un patrn formado por tres tipos de caracteres:

    Las categoras de usuarios afectadas: u: para el propietario

    g: para el grupo

    o: para el resto de usuarios

  • RA-MA COMANDOS BSICOS EN LINUX 9

    Un carcter para retirar los permisos (-), dejarlos igual (=) o aadir (+)

    Las abreviaturas de los tipos de permisos: r: lectura

    w: escritura

    x: ejecucin

    Por ejemplo, para dar permisos de escritura sobre el fichero prueba a los usuarios que no sean ni el propietario ni usuarios del grupo:

    $ chmod o+w /home/usuario1/prueba Para quitar todos los permisos de escritura del fichero a todos

    excepto al propietario: $ chmod go-w /home/usuario1/prueba El segundo formato se forma considerando cada agrupacin

    de permisos (rwx) como un nmero octal. Por tanto el valor octal de los permisos de una agrupacin de permisos se puede obtener sumando los valores mostrados a continuacin:

    lectura(4) + escritura(2) + ejecucin (1)

    Por ejemplo, para que el fichero prueba tenga permisos de

    lectura y escritura para el propietario y permisos de solo lectura al grupo y al resto:

    Propietario = lectura(4) + escritura(2) = 6 Grupo = lectura(4) = 4 Otros = lectura(4) = 4 El comando, por tanto sera:

  • 10 APNDICE RA-MA

    $ chmod 644 prueba Ejemplos: rwxr-xr-x 755 rw-r-r-- 644 r-r--r-- 444 rwxrwxrwx 777 --------- 000 rwx------ 700

    touch nombre_archivo Si el archivo existe, actualiza la fecha de modificacin del

    archivo y si no existe, crea un archivo nuevo de tamao 0 bytes.

    head fichero Muestra por pantalla las 10 primeras lneas de un fichero

    pasado como parmetro. Para que muestre un nmero de lneas diferente, se usa la opcin n:

    $ head n 5 /etc/passwd Muestra las primeras 5 lneas del fichero /etc/passwd

    tail fichero Muestra las ltimas 10 lneas de un fichero pasado como

    parmetro. Para que muestre un nmero de lneas diferente, se usa la opcin n:

    $ tail n 3 /etc/passwd Muestra las ltimas 3 lneas del fichero /etc/passwd

    wc fichero

  • RA-MA COMANDOS BSICOS EN LINUX 11

    Comando que muestra por pantalla el nmero de lneas, palabras y caracteres del fichero especificado.

    COMODINES PARA LA GENERACIN DE LISTAS DE FICHEROS

    La mayora de los comandos para el trabajo con ficheros se pueden ejecutar sobre ms de un fichero. Para ello se utilizan como nombres de ficheros palabras patrn. Una palabra patrn o comodn es cualquier palabra que contenga alguno de los caracteres comodn de la siguiente tabla:

    Carcter Descripcin

    * Sustituye varios caracteres o ninguno

    ? Sustituye caracteres uno a uno

    [...] Sustituye cualquiera de las alternativas entre corchetes

    [!...] Sustituye cualquier carcter menos los indicados en la lista entre corchetes

    Ejemplos:

    $rm prueba* Elimina todos los archivos que comienzan por la palabra prueba

    $rm *prueba Elimina todos los archivos que acaban en la palabra prueba

    $rm *prueba* Elimina todos los archivos que contengan la palabra prueba

  • 12 APNDICE RA-MA

    $rm prueba?? Elimina todos los archivos que empiecen por prueba y tengan 8 caracteres

    $rm prueba[1-4zx] Elimina los archivos prueba1, prueba2, prueba3, prueba4, pruebaz, pruebas

    REDIRECCIN DE COMANDOS Y TUBERAS Los comandos y programas ejecutados en Linux

    normalmente no lanzan sus mensajes directamente a la pantalla. En lugar de eso, llaman a una rutina especial denominada salida estndar o stdout. stdout normalmente est configurado para dirigirse a la pantalla pero se puede dirigir fcilmente a cualquier dispositivo como una impresora o un archivo de disco. Este es uno de los elementos verdaderamente elegantes de Linux. Los programas dirigen sus salidas a stdout sin tener ni idea de hacia donde se dirige realmente su salida. El operador para redirigir la salida estndar a otro dispositivo es el carcter mayor que: >

    Por ejemplo, el comando cal muestra un calendario del mes

    actual: $ cal

    pero podramos dirigirlo hacia la impresora:

    $ cal > /dev/lp0

    o hacia un archivo: $ cal > /home/usuario1/datos/calendario Tambin existe una rutina especial para presentar los

    mensajes de error. Esta salida se llama error estndar o stderr. Normalmente, stderr est dirigida a la pantalla, pero de nuevo se

  • RA-MA COMANDOS BSICOS EN LINUX 13

    puede dirigir a un dispositivo o a un archivo, de forma totalmente independiente de stdout. El operador para realizar esta operacin es 2>

    $ ls j 2> /home/usuario1/error.log Se dispone tambin de una rutina para las entradas, llamada

    entrada estndar o stdin. Si un programa pide su entrada de stdin, por defecto se utiliza la informacin que llega a travs del teclado, pero esta entrada se puede suministrar desde un dispositivo o un archivo. El operador para realizar esta operacin es el carcter menor que: <

    $ cat < /home/usuario1/prueba Los operadores > y 2> utilizados sobre archivos, producen

    una nueva copia del archivo especificado eliminando cualquier informacin que hubiera. Para conservar la informacin y que el operador aada la informacin de la redireccin, sin sobrescribir se utilizan los operadores >> y 2>>.

    Pipeline o tubera Como ya hemos visto, los comandos en Linux utilizan la

    entrada estndar como entrada de datos y sacan sus datos a travs de la salida estndar. Esta caracterstica se puede aprovechar para encadenar o enlazar la ejecucin de varios comandos, de forma que la salida de un comando sea la entrada del siguiente. A este concepto se le denomina tubera o pipeline y el operador para llevar a cabo dicha operacin es el carcter |

    Por ejemplo: $ ls l /etc | more El comando ls l saca por la salida estndar (por defecto la

    pantalla) una lista de ficheros. Utilizando el operador | redirige esa salida al siguiente comando, el comando more. Este comando realiza una paginacin de lo que le llega por la entrada estndar (que es la

  • 14 APNDICE RA-MA

    salida de ls). Se puede utilizar el concepto de tubera encadenando varios comandos:

    $ ls li | sort | more

    COMANDOS GENERALES Y DE INFORMACIN DEL SISTEMA

    En este apartado se presentan algunos comandos generales de Linux y otros utilizados para obtener informacin til sobre el sistema.

    clear Borra la pantalla.

    date Muestra la fecha y la hora del sistema.

    cal Muestra por pantalla un calendario. Si no se especifica nada

    muestra el mes actual. El siguiente ejemplo muestra el mes de Octubre de 2004 empezando la semana por el Lunes:

    $ cal m 5 2006

    mayo de 2006

    lu ma mi ju vi s do

    1 2 3 4 5 6 7

    8 9 10 11 12 13 14

    15 16 17 18 19 20 21

  • RA-MA COMANDOS BSICOS EN LINUX 15

    22 23 24 25 26 27 28

    29 30 31

    hostname Muestra por pantalla el nombre del equipo.

    who Muestra por pantalla los usuarios que se encuentran

    conectados al equipo.

    finger [usuario] Muestra por pantalla informacin sobre usuarios.

    whoami Muestra por pantalla el nombre del usuario actual. Este

    comando slo puede ser til cuando el nombre del usuario no aparezca en el prompt.

    uptime Muestra por pantalla el tiempo que lleva el sistema activo.

    Concretamente muestra: la hora actual, cuanto tiempo lleva funcionando el sistema, cuantos usuarios estn actualmente conectados, la carga media del sistema durante el ltimo minuto, los ltimos 5 minutos y los ltimos 15 minutos. Una informacin ms extendida sobre los usuarios conectados se muestra con el comando w

  • 16 APNDICE RA-MA

    $ w

    07:34:07 up 4:51, 3 users, load average: 0.17, 0.06, 0.02 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT usuario1 tty1 - 2:46am 56.00s 6.41s 0.25s top root tty3 - 7:24am 0.00s 0.91s 0.09s w usuario2 tty4 - 7:33am 40.00s 1.73s 1.54s emacs

    uname a Imprime informacin del sistema. Para ver toda la

    informacin que puede obtener, utiliza la opcin a. Con esta opcin se puede ver, por ejemplo, la versin del kernel del sistema.