semana03.pdf

3
1 Intérprete de comandos de la shell Ing. Jesús Bernardo Olavarria Paz Taller de Computación e Informática Básica Linux 3 Porqué utilizar un intérprete de comandos de la shell Los entornos gráficos para Linux han evolucionado mucho en los últimos años. Se puede trabajar utilizando el sistema X Windows y solamente tener que abrir el intérprete de comandos para completar unas pocas tareas. Sin embargo es recomendable aprender como trabajar desde el intérprete de comandos de la shell, porque usar los comandos mediante el intérprete de comandos de la shell puede ser muy rápido que el entorno gráfico (GUI). En el tiempo puede tardar en abrir el gestor de ficheros en GNOME ó KDE, buscar el directorio, crear o modificar ficheros, utilizando la shell, podría haber acabado con varios comandos desde la shell. Ing. Jesús Bernardo Olavarria Paz Intérprete de comandos de la shell Porqué utilizar un intérprete de comandos de la shell (continúa) Un intérprete de comandos se parece a una pantalla MS-DOS. Los usuarios escriben comandos en un intérprete de comandos, la shell los interpreta y después le dice al sistema operativo lo que tiene que hacer. Los usuarios experimentados pueden escribir scripts de la shell para aumentar sus capacidades. Ing. Jesús Bernardo Olavarria Paz Intérprete de comandos de la shell Historia de la shell En los tiempos en los que Dennis Ritchie y Ken Thompson de AT&T diseñaban UNIX TM , quisieron crear un medio para que las personas interactuaran con el sistema. Los sistemas de entonces venían con intérpretes de comandos, que aceptaban comandos de los usuarios y los interpretaban para que los utilizara la máquina. Pero Ritchie y Thompson querían más, algo que ofreciera más que los intérpretes de comandos del momento. Así nació la Bourne shell (conocida como sh), creada por S.R. Bourne. Desde la creación de la shell de Bourne se han desarrollado otras shells, tales como la C shell (csh) y la Korn shell (ksh). Ing. Jesús Bernardo Olavarria Paz Intérprete de comandos de la shell Historia de la shell (continúa) Cuando la Free Software Foundation buscaba una shell sin patentes, los desarrolladores empezaron a trabajar en el lenguaje de la Bourne shell y en características de otras shells del momento. El resultado fué la Bourne Again Shell o bash. Aunque su sistema Red Hat Linux tenga diferentes shells, bash es la shell predeterminada. Se puede aprender algo más sobre bash leyendo su página man bash (escriba man bash en el intérprete de comandos). Ing. Jesús Bernardo Olavarria Paz Intérprete de comandos de la shell Comando: cd (Change directory) Cambia el directorio actual de trabajo. Ing. Jesús Bernardo Olavarria Paz Comando Función cd vuelve a su directorio de login cd ~ vuelve también a su directorio de login cd / le lleva al directorio raíz del sistema completo cd /root le lleva al directorio principal del root, o superusuario, cuenta creada en la instalación; debe ser el usuario root para accesar este directorio. cd /home lo lleva a su directorio principal, donde los directorios login de usuario son almacenados cd .. le traslada a un directorio superior cd ~otheruser le lleva al directorio login del usuario otheruser, si otheruser le ha dado permiso cd /dir1/subdirfoo sin tener en cuenta en que directorio est·, este recorrido absoluto le llevará directamente a subdirfoo, un subdirectorio de dir1 cd ../../dir3/dir2 este recorrido relativo lo llevará dos directorios más arriba, luego a dir3, luego al directorio dir2. Intérprete de comandos de la shell

Transcript of semana03.pdf

Page 1: semana03.pdf

1

Intérprete de comandos de la

shell

Ing. Jesús Bernardo Olavarria Paz

Taller de Computación e Informática Básica

Linux

3

Porqué utilizar un intérprete de comandos de la shell

• Los entornos gráficos para Linux han evolucionado mucho en losúltimos años. Se puede trabajar utilizando el sistema X Windows y

solamente tener que abrir el intérprete de comandos para completar

unas pocas tareas.

• Sin embargo es recomendable aprender como trabajar desde el

intérprete de comandos de la shell, porque usar los comandosmediante el intérprete de comandos de la shell puede ser muy

rápido que el entorno gráfico (GUI). En el tiempo puede tardar en

abrir el gestor de ficheros en GNOME ó KDE, buscar el directorio,crear o modificar ficheros, utilizando la shell, podría haber acabado

con varios comandos desde la shell.

Ing. Jesús Bernardo Olavarria Paz

Intérprete de comandos de la shell

Porqué utilizar un intérprete de comandos de la shell (continúa)

• Un intérprete de comandos se parece a una pantalla MS-DOS. Losusuarios escriben comandos en un intérprete de comandos, la shell

los interpreta y después le dice al sistema operativo lo que tiene que

hacer. Los usuarios experimentados pueden escribir scripts de lashell para aumentar sus capacidades.

Ing. Jesús Bernardo Olavarria Paz

Intérprete de comandos de la shell

Historia de la shell

• En los tiempos en los que Dennis Ritchie y Ken Thompson de AT&Tdiseñaban UNIX

TM

, quisieron crear un medio para que las personas

interactuaran con el sistema.

• Los sistemas de entonces venían con intérpretes de comandos, que

aceptaban comandos de los usuarios y los interpretaban para que

los utilizara la máquina.

• Pero Ritchie y Thompson querían más, algo que ofreciera más que

los intérpretes de comandos del momento. Así nació la Bourne shell(conocida como sh), creada por S.R. Bourne. Desde la creación de

la shell de Bourne se han desarrollado otras shells, tales como la Cshell (csh) y la Korn shell (ksh).

Ing. Jesús Bernardo Olavarria Paz

Intérprete de comandos de la shell

Historia de la shell (continúa)

• Cuando la Free Software Foundation buscaba una shell sin patentes, los desarrolladores empezaron a trabajar en el lenguaje

de la Bourne shell y en características de otras shells del momento.

• El resultado fué la Bourne Again Shell o bash. Aunque su sistema Red Hat Linux tenga diferentes shells, bash es la shell

predeterminada. Se puede aprender algo más sobre bash leyendo

su página man bash (escriba man bash en el intérprete de

comandos).

Ing. Jesús Bernardo Olavarria Paz

Intérprete de comandos de la shell

Comando: cd (Change directory)

• Cambia el directorio actual de trabajo.

Ing. Jesús Bernardo Olavarria Paz

Comando Función

cd vuelve a su directorio de login

cd ~ vuelve también a su directorio de login

cd / le lleva al directorio raíz del sistema completo

cd /root le lleva al directorio principal del root, o superusuario, cuenta creada en la

instalación; debe ser el usuario root para accesar este directorio.

cd /home lo lleva a su directorio principal, donde los directorios login de usuario son

almacenados

cd .. le traslada a un directorio superior

cd ~otheruser le lleva al directorio login del usuario otheruser, si otheruser le ha dado

permiso

cd /dir1/subdirfoo sin tener en cuenta en que directorio est·, este recorrido absoluto le llevará

directamente a subdirfoo, un subdirectorio de dir1

cd ../../dir3/dir2 este recorrido relativo lo llevará dos directorios más arriba, luego a dir3,

luego al directorio dir2.

Intérprete de comandos de la shell

Page 2: semana03.pdf

2

Comando: pwd (Path to working directory)

Muestra el nombre y ruta de acceso del directorio de trabajo actual.

• Para determinar la ubicación exacta de su directorio actual, vaya a unintérprete de comandos de la shell y escriba el siguiente comando: pwd.

– Verá algo como lo siguiente:

/home/sam

• Este ejemplo le indica que está en el directorio sam, que está dentro de suescritorio principal /home.

• El comando pwd viene de 'print working directory', (mostrar el directorioactual). Cuando usted escribe pwd, le est· preguntando a su sistema Linuxque le muestre su ubicación actual. Su sistema le responde imprimiendo laruta completa del directorio actual en el intérprete de comandos, en elmonitor. Esta impresión también se conoce como salida estándar de datosy se puede imprimir al shell o redirigirse a otros programas o a otrosdispositivos de salida, tales como impresoras.

• Usar· pwd a menudo. Es muy útil cuando está navegando su sistema RedHat Linux.

Ing. Jesús Bernardo Olavarria Paz

Intérprete de comandos de la shell

Comando: ls (List)

• Muestra una lista de archivos en el directorio actual.

Ing. Jesús Bernardo Olavarria Paz

Comando Función

ls -l Proporciona información más detallada, incluyendo el tamaño de los archivos, las modalidades de acceso y protección, tamaños, fechas de creación.

ls -F Muestra indicando los tipos de contenido: directorio (se identifican con /), archivos ejecutables (se identifican con *), y enlaces (se identifican con @). <archi> puede ser un nombre de archivo o una expresión con

caracteres de sustitución.

ls -a Muestra también los archivos de nombres comenzando con punto generalmente archivos de configuración. (No los modifique sin enterarse de su significado).

ls -r Inverso (en inglés “reverse”). Lista los contenidos del directorio desde el final hasta el inicio.

ls -R Recursive. La opción recursive lista los contenidos de todos los directorios (bajo el directorio actual).

ls -S Tamaño (en inglés “size”). Clasifica los archivos por su tamaño.

ls -Fa Muestra con tipos de archivos incluyendo los archivos con punto inicial.

ls -al Listado con atributos y archivos ocultos

Intérprete de comandos de la shell

Comando: touch

• Crea o actualiza archivo.

touch <archivo>

Ejemplo:

[root@server root]# touch /tmp/prueba.txt

Ing. Jesús Bernardo Olavarria Paz

Intérprete de comandos de la shell

Comando: vi (Visual Editor)

• Llama al editor visual, para trabajar con el archivo de texto arch.

vi <archivo>

Ejemplo:

[root@server root]# vi /tmp/prueba.txt

Ing. Jesús Bernardo Olavarria Paz

Intérprete de comandos de la shell

Comando: cat

• Red Hat Linux posee una utilidad que le puede ayudar a guardar listas

cortas, agruparlas juntas y hasta mostrarle información sobre su sistema.

• Esta utilidad se llama cat, diminutivo de concatenate, que signica combinar

o concatenar archivos.

• El comando cat visualizar· también los contenidos de un archivo entero enla pantalla (por ejemplo, teclee cat filename.txt). Si un archivo es bastantelargo, se deplaza rápidamente y por completo por la pantalla. Para evitaresto, use el comando cat filename.txt | less.

• El uso de tuberias (|) y del comando less juntos, le permite visualizar el

archivo página a página.

Ing. Jesús Bernardo Olavarria Paz

Intérprete de comandos de la shell

Comando: cat (continúa)

• Para redirigir la salida cat a un archivo, escriba lo siguiente en el intérprete de comandos (si presiona la tecla [Intro] lo llevará a la

siguiente línea en blanco):

cat > prueba.txt

Ejemplo:

[root@server root]# cat prueba.txt

[root@server root]# cat > prueba.txt

Ing. Jesús Bernardo Olavarria Paz

Intérprete de comandos de la shell

Page 3: semana03.pdf

3

Tuberías y paginadores

• En el mundo linux, las tuberias (también conocidas como pipes) relacionanla salida estándar de un comando con la entrada estándar de otrocomando.

[root@server root]# ls –al /etc | less

• De esta manera verá el contenido de /etc en una pantalla a la vez. Paraacceder a la pantalla siguiente, pulse [Barra espaciadora]; para volver a lapantalla anterior, pulse [B]; para salir, presione [Q]. También puede usar lasflechas direccionales para navegar con less. Para buscar palabras dentrode un archivo de texto usando less, presione [/] y luego escriba la palabraque quiere buscar. Por ejemplo:

# /Linux

Ing. Jesús Bernardo Olavarria Paz

Intérprete de comandos de la shell

Comando: grep

• El comando grep es útil para encontrar una cadena de caracteresespecíficas en un archivo. Por ejemplo, si quiere encontrar cada

referencia que se haya hecho a “java” en el archivo taller.txt,

debería escribir.

Ejemplo

[root@server root]# grep java taller.txt

Ing. Jesús Bernardo Olavarria Paz

Intérprete de comandos de la shell

Comando: find

• Busca los archivos que satisfacen la condición señalada a partir del directorio indicado.

find <directorio><condicion>

Ejemplo

[root@server root]# find /etc/ –name samba -print

Ing. Jesús Bernardo Olavarria Paz

Intérprete de comandos de la shell

Comodines y expresiones regulares

• Mediante el uso de caracteres de sustitución o expresiones regulares,

puede ejecutar acciones en un archivo o archivo sin saber el nombre dearchivo completo. Rellene lo que sabe y sustituya lo restante con uncomodín.

• Los comodines son símbolos especiales que puede usar para sustituirletras, números y símbolos lo que permite encontrar directorios y archivo

más fácil que leer listados largos para encontrar lo que está buscando.

Ejemplo: Sabemos que se llama “tal__.txt” teclee:

[root@server root]# ls tal*.txt

[root@server root]# ls *.txt

[root@server root]# ls ta*

Ing. Jesús Bernardo Olavarria Paz

Intérprete de comandos de la shell

Comodines y expresiones regulares

• Cuando un asterisco forma parte de un nombre de archivo, como puede serel caso del archivo taller.txt si se llamara talle*txt es el momento de usarexpresiones regulares.

• Utilizando el símbolo (\), puede especificar que no desea buscar todomediante el uso de asterisco, sino que desea buscar un archivo con unasterisco en el nombre.

• Si el archivo se llama talle*.txt, escriba:

[root@server root]# talle\*.txt

• Lista de comodines y expresiones regulares:

– * __ Hace coincidir todos los caracteres– ? __ Hace coincidir un carácter en una cadena– \* __ Hace coincidir el carácter *– \? __ Hace coincidir el carácter ?– \) __ Hace coincidir el carácter )

Ing. Jesús Bernardo Olavarria Paz

Intérprete de comandos de la shell

Comando: ln

• crea un enlace simbólico de link hacia file.

ln -s file link

Ejemplo:

[root@server root]# ln –s /usr/local/share acceso

Ing. Jesús Bernardo Olavarria Paz

Intérprete de comandos de la shell