GNU/Linux >> Tutoriales Linux >  >> Linux

Personalización de los comandos del sistema de archivos de Linux

El poder de la terminal de Linux es que puede personalizar rápidamente su entorno para que funcione mejor y más duro de acuerdo con sus necesidades. Hay muchas formas diferentes de "hackear" su terminal, algunas de las cuales son prácticamente campos completos de la informática en sí mismos, pero hay muchos pequeños trucos para principiantes, especialmente cuando se trata de trabajar con el sistema de archivos de Linux. Consulte mi artículo Administrar archivos con la terminal de Linux para obtener información básica.

La forma más sencilla de personalizar el entorno de su terminal de trabajo es editar su archivo de configuración, que contiene su configuración de shell personal. Bash (el Bourne Again Shell ) es el shell más común en Linux (Red Hat Enterprise Linux y Fedora incluidos), y el archivo de configuración de Bash es ~/.bashrc .

Crear un alias

Un primer paso sencillo para la personalización es la creación de alias. Los alias le permiten definir sus propios comandos simples o redefinir los existentes. Para agregar alias, edite su archivo .bashrc en un editor de texto, o créelos directamente desde la terminal usando el echo comando.

Por ejemplo, para redefinir el ls comando para que siempre use el --classify (-F ) y --almost-all (-a ), agregue una regla de alias a .bashrc y luego source (volver a leer y cargar) el archivo de configuración modificado.

$ echo "alias ls='ls --classify --almost-all'" >> ~/.bashrc
$ source .bashrc
$ ls
bin/
Desktop/
despacer.sh
documentation.zip*
Documents/
Music/
Pictures/
Public/

Una vez que se ha creado y vuelto a cargar el alias, ls el comando siempre usará el --classify opción para que pueda distinguir los archivos de las carpetas, y el --almost-all opción para excluir la notación de punto y punto doble. Hay muchas más opciones para el ls dominio. Ver el ls manual para obtener más información escribiendo:

$ man ls

Puede crear alias para todo tipo de tareas simples y repetitivas. Las operaciones complejas pueden requerir algo más robusto que un alias, como un script de shell, pero los alias son una excelente manera de permitir que su entorno trabaje para usted.

Personaliza tu papelera

Abra una serie de ventanas para encontrar el archivo que desea eliminar. Mover el archivo a la Papelera o Papelera icono en su escritorio. Cuando haya recolectado suficiente basura y esté seguro de que se puede eliminar de forma segura de su sistema, vaya a Papelera. menú y seleccione Vacío .

No hay papelera en su terminal por defecto, pero una vez más, una "papelera" es solo otra carpeta que acepta todos los archivos que desea eliminar eventualmente. Los datos siguen ahí hasta que los vacía. Hacerlo es trivial. Con las lecciones que ha aprendido en este artículo, puede crear un sistema de basura seguro y confiable para su terminal.

Si su computadora tiene un escritorio, como el escritorio GNOME en Red Hat Enterprise Linux y Fedora, entonces ya tiene una papelera del sistema ubicada en ~/.local/share/Trash/files . Puede hacer referencia a esta carpeta directamente o, para reducir la escritura, puede crear un enlace simbólico a ella:

$ ln --symbolic ~/.local/share/Trash/files ~/.trash

Si su computadora no tiene escritorio, es posible que no tenga una Papelera carpeta, pero puede crear una manualmente. Una papelera es en realidad solo otra carpeta. Usa el mkdir comando con --parents (-p ) opción para crear una serie de carpetas en un solo comando:

$ mkdir --parents ~/.local/share/Trash/files
$ ln --symbolic ~/.local/share/Trash/files ~/.trash

Cuando desee mover un archivo o una carpeta a la papelera, use el mv comando como de costumbre:

$ mv oldfile.txt ~/.trash

Hacer un mejor comando de basura

Una forma aún más sencilla de usar una Papelera carpeta es escribir su propio comando nuevo llamado trash , que mueve un archivo a su ~/.trash carpeta. Este es un ejercicio avanzado e introduce algunos comandos nuevos, pero se sorprenderá de lo fácil que es crear sus propios comandos personalizados. En solo dos líneas de código Bash, puede diseñar su propio sistema personal de gestión de residuos.

Antes de crear su propio comando, necesita un lugar para almacenar scripts personalizados. Es común que los usuarios de Linux mantengan un ~/bin directorio, donde guardan utilidades personales y ejecutables binarios. Esto no existe de manera predeterminada, pero puede crearlo y luego agregarlo a su ruta:

$ mkdir ~/bin
$ echo "export PATH=$PATH:$HOME/bin" >> ~/.bashrc
$ source ~/.bashrc

Ahora puedes crear tu propio comando de basura con el echo comando:

$ echo '#!/bin/sh' > ~/trash
$ echo 'mv "${@}" ~/.local/share/Trash/files' >> ~/trash

Como alternativa, puede abrir un editor de texto y copiar y pegar el código en él:

#!/bin/sh
mv "${@}" ~/.local/share/Trash/files

Guarde el archivo como ~/bin/trash .

La primera línea de este script declara qué aplicación se requiere para ejecutarlo. En este caso, la primera línea especifica que sh shell, ubicado en el /bin Se requiere un directorio en la raíz de su sistema de archivos. Después de todo, se trata de un script de shell:una serie de comandos de shell de Bash en el orden de ejecución deseado.

La segunda línea usa el mv comando junto con una variable Bash especial, "${@}" , que significa cualquier cosa escrita después del comando . Esto es lo que hace posible que un solo comando actúe sobre varios archivos. No tendrá que ejecutar su comando una vez por archivo como este:

$ trash foo
$ trash bar
$ trash baz

En su lugar, está programando su comando para reconocer varios argumentos a la vez:

$ trash foo bar baz

Para confirmar que su script de shell es correcto, use el cat comando para concatenar el contenido del archivo en la salida de su shell:

$ cat trash
#!/bin/sh
mv "${@}" ~/.local/share/Trash/files

Para hacer que este comando sea utilizable por ti mismo, usa mv para moverlo a un directorio llamado ~/bin (este directorio no existe de manera predeterminada, así que créelo primero):

$ mkdir ~/bin
$ mv trash ~/bin

Su shell actualmente ve su script de shell como un archivo lleno de texto. Aún no ha dado permiso para que la computadora trate su secuencia de comandos como un comando ejecutable. Esta diferenciación es importante, porque si su shell pudiera ejecutar todo como un comando sin su permiso explícito, entonces cualquier archivo en su sistema tendría el potencial de ejecutar código arbitrario (imagine eliminar todas las tablas en una base de datos importante solo porque usted o uno de sus usuarios hicieron clic en el archivo incorrecto).

Para otorgar permiso a un archivo para que sea tratado como un ejecutable, configure el bit ejecutable en sus atributos de archivo usando chmod (modo de cambio) comando:

$ chmod +x ~/bin/trash

Ahora puede ejecutar el archivo como un comando. Pruébelo creando un archivo y luego moviéndolo a la papelera:

$ echo "This is rubbish." >> rubbish.file
$ cat rubbish.file
This is rubbish.
$ ~/bin/trash rubbish.file

Si está ejecutando un escritorio en su computadora, abra su papelera y confirme que rubbish.file ahora está en la papelera de su sistema. Si no está ejecutando una computadora de escritorio, solo busque en su ~/.trash enlace simbólico Como filtro ad hoc, envíe la salida de ls comando a través de una tubería (| ), usando grep comando para buscar la cadena basura :

$ ls ~/.trash | grep rubbish
rubbish.file

Tenga en cuenta, sin embargo, que usar su trash comando sin proporcionar la ruta completa no funciona como se esperaba:

$ echo "This is more rubbish." >> rubbish2.file
$ trash rubbish2.file
bash: trash: command not found...

Esto se debe a que aún no está en su ruta ejecutable.

Dígale a su caparazón dónde buscar

Algunos comandos, como cd , pwd y alias , están integrados en su caparazón. Otros, como ls , mv y echo , se instalan en ubicaciones que su shell designa como ubicaciones de búsqueda válidas para comandos. Cuando escribes comandos como ls , mv o trash , su shell busca a través de una lista de directorios que se le ha dicho que contienen archivos ejecutables. Puede ver esta lista de ubicaciones de búsqueda mirando el PATH variable. El echo le permite buscar variables anteponiendo un signo de dólar ($ ) antes del nombre de la variable:

$ echo $PATH
/usr/bin:/usr/sbin:/bin:/sbin:/usr/local/bin:/usr/local/sbin

Para que puedas usar trash tal como lo haría con cualquier otro comando en su sistema, debe agregar su ~/bin personal directorio a su variable PATH. Las variables de entorno del shell se cargan cuando se inicia el shell, por lo que se configuran en ~/.bashrc archivo de configuración. Puede agregar este directorio a su PATH usando un editor de texto, o simplemente usar el echo comando con una doble redirección para agregar la regla a su configuración:

$ echo 'export PATH=$PATH:/home/seth/bin' >> ~/.bashrc 

Cargue su nueva configuración en su shell:

$ source ~/.bashrc

Y prueba tu comando una vez más:

$ trash rubbish2.file

Eliminar permanentemente un archivo

Eventualmente, su contenedor de basura necesita vaciarse. El rm El comando elimina un archivo de su sistema de archivos (permanentemente, así que utilícelo con moderación y cuidado).

Porque el rm El comando puede ser dañino si se usa incorrectamente, es una buena idea limitar su interacción con él y limitar su alcance cuando lo use. En este caso, desea rm para operar solo dentro de su papelera, por lo que puede crear un alias para reducir el riesgo de escribir el comando incorrectamente. Cuantas menos veces invoques rm , menos posibilidades tendrá de eliminar archivos accidentalmente.

Crea un alias llamado empty escribiendo lo siguiente:

$ echo 'empty="rm --recursive --verbose --force ~/.local/share/Trash/files/*"' >> ~/.bashrc

A diferencia de tu trash comando, empty se trata como un comando incorporado ya que es un alias en lugar de un script externo. Eso significa que no tienes que poner nada en tu ~/bin directorio o agregue cualquier cosa a su PATH variable. Solo necesita volver a cargar su configuración de shell y luego probar su nuevo comando integrado:

$ source .bashrc
$ empty
removed '/home/seth/.trash/rubbish.file
removed '/home/seth/.trash/rubbish2.file

La práctica hace que fluya

Ya ha programado su primer script de shell y ha personalizado su entorno de shell. Los pequeños ejercicios como este son importantes, porque cuanto más trabajas en el caparazón, mejor lo haces. Trate de maximizar su tiempo trabajando en la terminal para sentirse cómodo con ella. No tienes que hacer tareas importantes al principio. Comience poco a poco y avance poco a poco.

No hay mejor momento que el presente, ¡así que ve a explorar la terminal de Linux!


Linux
  1. 5 razones para usar Linux en 2020

  2. 5 errores de novato en Linux

  3. 10 comandos de Linux para diagnóstico de red

  4. Comandos de Linux:trabajos, bg y fg

  5. Comandos Linux de la A a la Z

Comandos de FreeDOS para fanáticos de Linux

Comandos básicos de Linux

Comandos de Linux - Guía completa

Comandos de gestión de grupos en Linux

90 comandos de Linux utilizados con frecuencia por los administradores de sistemas de Linux

Comandos de directorio de Linux:una guía completa