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!