Comandos LINUX, básicos (II)

29 Abr

Continuando con lo Comandos Linux, básicos (I) os dejo una segunda parte, de editores de texto, expresiones regulares o enlaces simbólicos con explicaciones y ejemplos.

Editores de Texto: Este tipo de utilitarios del sistema permite crear archivos de texto que contengan código fuente para desarrollar programas o scripts. En el sistema Linux se utilizan varios editores de texto: vi, vim, emacs, en, jed, nao, y joe aunque la mayoría es preciso instalarlos porque no vienen dentro del paquete básico al instalar el sistema. Tanto vi, como vim y nano vienen preinstalados.

vi Este editor es el más antiguo y clásico de los editores Unix. Es poco intuitivo porque funciona con comandos que es preciso conocer, de modo que su curva de aprendizaje es bastante grande.

vi crear archivo clas_jorna29.txt

VI crear archivo clas_jor29.txt

Lo podemos encontrar en dos estados o modos:

  • En el modo de comandos, está esperando alguna orden (por tanto, interpreta lo que se escriba como órdenes, no como el texto a introducir).

  • En el modo de edición, está esperando que se escriba el texto (por tanto, interpreta lo que se escribe como texto).

Cuando abrimos vi, entra en modo de comandos. Para pasar al modo de edición debemos pulsar i (insertar), a (añadir), o (añadir una línea). Para pasar al modo de comandos, debemos pulsar “Esc” o “Sup”.

Comandos:

  • i    Insertar antes del cursor
  • a    Añadir detrás del cursor
  • o    añadir una linea en blanco
  • x    borrar un carácter
  •    borrar el final de linea > une dos lineas
  • dd    borra la linea completa
  • u    deshacer la última edición
  • :q    salir
  • :q!    salir sin guardar
  • :w    guardar
  • :wq    guardar y salir
  • :set nu    muestra número de lineas
  • :set nonu    oculta número de lineas
  • :n copy m    copia la linea n detrás de la linea m
  • :n1,n2 copy m    copia desde la linea n1 hasta la linea n2 detrás de la linea m
Archivo clas_jor29.txt

Archivo clas_jor29.txt creado

EXPRESIONES REGULARES: Una expresión regular es un patrón que nos permite buscar un texto formado por metacaracteres y caracteres ordinarios. Los metacaracteres son ciertos caracteres con un significado específico dentro de una expresión regular. Estos caracteres tienen un significado que va más allá del símbolo que representan y tienen un comportamiento especial en una expresión regular.
Metacaracteres que podemos usar en expresiones regulares:

  • .    Significa cualquier carácter.
  •   Indica el principio de una línea.
  • $    Indica el final de una línea.
  •    Indica cero o más repeticiones del carácter anterior.
  • +    Indica una o más repeticiones del carácter anterior.
  • \<    Indica el comienzo de una palabra.
  • \>    Indica el final de una palabra.
  •    Carácter de escape. Da significado literal a un metacaracter.
  • [ ]    Uno cualquiera de los caracteres entre los corchetes. Ej: [A-Z] (desde A hasta Z).
  • [^]    Cualquier carácter distinto de los que figuran entre corchetes: Ej: [^A-Z].
  • { }    Nos permiten indicar el número de repeticiones del patrón anterior que deben darse.
  • |     Nos permite indicar caracteres alternativos: Ej: (^|[?&])
  • ( )    Nos permiten agrupar patrones. Ej: ([0-9A-F]+:)+

Expresiones regulares más usadas:

  • [a-z]   Letras minúsculas entre la a y la z.
  • [a-zA-Z]   Cualquier letra mayúsculas o minúsculas.
  • [a-zA-Z0-9]   Cualquier letra o número.
  • [0-9]*   Un número que se compone de cero o más dígitos.
  • [0-9]+   Un número que se compone de uno o más dígitos.
  • [^0-9]   Cualquier carácter menos un dígito del 0 al 9.
  • [0-9]{5}   Un número de 5 dígitos.
  • [a-zA-Z]{2,4}   Palabra que tiene entre dos y cuatro caracteres.

Los conjuntos pueden representarse, nombrando todos y cada uno de los elementos, o el intervalo. Ej: [0-9] representa lo mismo que [0123456789].

ls y cat

ls y cat

Varios ejemplos con comandos que usan expresiones regulares:

  • cat archivo.txt|tr “[a-z]” “[A-Z]”   Cambia minúsculas por mayúsculas.
  • grep ‘^La’ fichero    Nos devuelve todas las líneas del fichero que comienzan por La.
  • grep ‘^ *La’ fichero    Nos devuelve todas las líneas del fichero que comienzan por cualquier número de espacios seguido de La.
  • grep ‘^\..*’ fichero    Nos devuelve todas las líneas del fichero que comienzan por punto y tienen cualquier número de caracteres.
  • ls -la | grep ‘ \..*’    Nos devuelve la lista de ficheros que comienzan por un espacio seguido de un punto y cualquier número de caracteres, es decir, la lista de ficheros ocultos.
  • ls -l | grep ‘^d’    Nos devuelve la lista de ficheros que comienzan por d, es decir, la lista de directorios.
  • find / -name “[0-9]*”   (todo lo que empieza con un dígito)
  • find / -name “[Mm]*”   (todo lo que empieza con un la letra M o m)
  • find / -name “[a-m]*.txt”   (todo lo que empieza entre a y m y termine en “.txt”)

sed Este comando actúa como un editor de textos que nos permite insertar, modificar, sustituir, borrar, etc. líneas de un archivo de texto.

Opciones más utilizadas:

  • sed ‘1,10 s/cadena1/cadena2/g’ mensajes.txt    Sustituye cadena1 por cadena2 en el archivo mensajes.txt, en la líneas 1 a la 10.
  • sed ‘2,7 d’ mensajes.txt > mensajes.new    Borra las líneas 2 a la 7 del archivo mensajes.txt y crea uno nuevo.
  • sed ´2d´ mensajes.txt    Borra sólo la línea 2 del archivo mensajes.txt
  • sed `10r otros.txt´mensajes.txt    Añade las lineas del otro archivo (otros.txt) a mensajes.txt a partir de la línea 10.
  • sed ´1a Nueva Linea´ mensajes.txt    Añade una nueva linea a partir de la linea 1 de mensajes.txt

xargs: Este comando es un auxiliar que se emplea en colaboración con otros comandos previos, utilizando el símbolo del pipeline “|”.

Viene acompañado de otro comando ejecutable, como cp, rm, mv, etc. al cual le proporciona una lista de argumentos para que dicho comando los ejecute de forma consecutiva. xargs recibe una lista de ejecución de los anteriores comandos, y la recorre desde la primera a la última línea. Cada vez que lee una nueva línea, se la pasa como argumento para el comando ejecutable, asi por ejemplo si el comando asociado a xargs es rm, y la lista que recibe xargs son rutas y nombres de archivos, el comando rm se ejecutará una vez por cada uno de estos archivos de la lista.

El formato más usado de xargs es el siguiente:

  • xargs -ti    Permite tantas ejecuciones del comando especificado como número de líneas tenga la lista que recibe xargs.
  • xargs -t    Muestra cada una de las ejecuciones.
  • xargs -i    Especifica el parámetro a usar como argumento, el cual puede ser un símbolo como {} o una letra o palabra que actúa como variable temporal para pasar argumentos al comando.

find /-atime 0 |xargs -ti lista cp lista /home/admin  Busca archivos y directorios accedidos hoy, y los copia a /home/admin. El parámetro lista contiene la lista de archivos accedidos hoy y se pasa como parámetro o argumento al comando cp.

Muestra archivo cla_jor29.txt

Muestra archivo cla_jor29.txt

Enlaces Simbólicos: Permite que un mismo archivo o directorio, aparezca bajo dos nombres y ubicaciones distintas, pero con una sola copia del mismo.

Si eliminamos algún enlace, sólo desaparece este nombre, pero la copia original prevalece. Un archivo puede tener varios enlaces simbólicos. El sistema establece un contado de los mismos y lo muestra al hacer un ls -l (es el numero que aparece en la segunda columna, después de los permisos rwx).

Existen dos tipos de enlaces simbólicos: fuertes o duros, y blandos. Los primeros no pueden ser usados para sistemas de archivos diferentes, mientras que los segundos si pueden.

Con los enlaces blandos, el sistema NO controla el número de enlaces de un archivo, de modo que si se borrar el archivo principal, quedarán “colgados” los enlaces.

In Para crear un enlace simbólico

ln -s /etc/network/interfaces /home/usuario/redes  Con este comando, estamos creando un enlace simbólico “blando” (-s) de forma que el archivo original “interfaces”, que está en /etc/network, va a tener una replica “virtual” con el nombre de “redes” dentro del directorio /home/usuario. Si vamos a dicho directorio y hacemos un ls -l veremos que parece que dicho directorio contiene un archivo “redes”, pero que no es un archivo real, sino un enlace simbólico (observase que al mostrar el ls -l aparece una letra “l” al comienzo). Podemos visualizar, modificar el contenido del archivo redes, pero lo que realmente se estará modificando es el archivo original /etc/network/interfaces. Puede probarse esto modificando redes y comprobando el contenido de interfaces.

Muchas veces, creamos enlaces simbólicos por comodidad de uso. Por ejemplo:

ln -s /opt/joomla1.5.1/joomla-1.5.2-0/apache2/htdocs/ /home/usuario/www

Si lo que queremos es crear un enlace simbólico “duro” usamos la opción -t.

unlink  Para eliminar un enlace simbólico  seguido de la ruta del enlace a borrar

  • unlink /home/usuario/www

Dejar un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Alguien Diferente

Reflexiones de un autista

Uwindroid

Tu blog sobre Ubuntu, Windows y Android

Óleos y Música

Blog personal de la hija de un artista

Miradas

Por Sandra García González

Marcos Moreno

Hablemos todos un poco y aprendamos mucho de algo.

Inversiones y Gestión

Consejos para realizar mejores inversiones, y administrar mejor nuestras finanzas. Por Jonatan Kon Oppel.

¡Mamá, quiero ser psicóloga!

Mi día a día en la UOC

picasso2013fol

This WordPress.com site is the cat’s pajamas

Simplemente yo

Experiencias de mi hijo con síndrome de down

Mima tu vida cocinando sano

Recetas y más para mimarnos cada día

eulaliobe

This WordPress.com site is the bee's knees

Mariposas de Cris

Autora de "Dime con quién hablas y te diré si estás loca"

LA INFORMÁTICA Y YO

Aprender el mundo de la informática

Principiantes entre fogones

Recetas de Cocina para amantes de la gastronomía casera, pensando en los "españoles por el mundo" que, por primera vez, se ven solos "entre fogones" y para todos aquellos que quieren aprender a cocinar.

Remigio Sol

¡Viva la Música!

El blog de una empleada doméstica

Aventuras de una chacha

Maite Pombar Pedrosa

Ampliando horizontes en el mundo empresarial

la recacha

Una recacha es un sitio donde uno se siente a gusto, protegido. Un entorno adecuado para reflexionar sobre la vida...

VIAJES AL FONDO DEL ALSA

“Quizás viajar no sea suficiente para prevenir la intolerancia, pero si logra demostrarnos que todas las personas lloran, ríen, comen, se preocupan y mueren, puede entonces introducir la idea de que si tratamos de entendernos los unos a los otros, quizás hasta nos hagamos amigos” – Maya Angelou

A %d blogueros les gusta esto: