
Muchos usuarios de Linux experimentan una sensación duradera de logro después de escribir un comando particularmente inteligente que realiza múltiples acciones en una sola línea, o logra hacerlo en una línea que normalmente requiere 10 clics y una interfaz gráfica de usuario (GUI) Manipular tantas ventanas como sea posible posible. Además de ser una leyenda, la línea de sentido único también es un buen ejemplo de por qué la terminal se considera una herramienta tan poderosa.
Al final de este artículo, usted tendrá:
Lista de 20 comandos para facilitar las tareas mientras se trabaja en Linux
- Conoce las posibilidades de combinar comandos simples para crear comandos más potentes
- Ejecutar estos comandos es más divertido de lo que crees
Sin ningún orden particular de importancia, estas son nuestras 20 líneas principales de código para la terminal de Linux.Aunque combinamos algunos comandos más largos con \
Para facilitar la lectura, puede ingresarlos en una línea en la terminal, ya que están en una sola línea después de todo.
1. Aplicar comandos a archivos con diferentes nombres
cáscara {}
Los transportadores son muy útiles para esto.Aquí hay un ejemplo con tres directorios. {}
:
$ mkdir -p -v /home/josevnz/tmp/{dir1,anotherdir,similardir}
2. Edite el archivo en su lugar
¿Quiere reemplazar cadenas en uno o más archivos sin usar un editor? Por supuesto, sed
Rescate:
$ sed -i 's#ORIGINAL_VALLUE#NEW_VALUE#g' myfile1 myfile2
Pero espera, los amantes de Perl te dirán que también pueden hacer esto:
$ perl -p -i -e 's#ORIGINAL#NEW_VALUE#' myfile1 myfile2
3. Usa un servidor web para compartir archivos rápidamente
Levanta la mano si no has usado esto al menos una vez Directorio de uso compartido rápido:
$ cd $mydir && python3 -m http.server 8888
4. Use journalctl para encontrar fallas
A veces las cosas se rompen.Puede usar la siguiente combinación para encontrar errores recientes journalctl
y la herramienta clásica sort
y uniq
:
$ journalctl --no-pager --since today \
--grep 'fail|error|fatal' --output json|jq '._EXE' | \
sort | uniq -c | sort --numeric --reverse --key 1
898172 "/usr/bin/dockerd"
752 "/usr/local/sbin/node_exporter"
30 "/usr/bin/gnome-shell"
26 "/usr/bin/cat"
22 "/usr/libexec/gsd-media-keys"
[...]
En este caso, el demonio Docker parece muy infeliz.
[ Download this eBook to get ready for your Red Hat remote exam. ]
5. Copia de seguridad mediante transferencia de archivos cifrados
usar ssh
y tar
Haz una copia de seguridad segura. Se juntan como mantequilla de maní y mermelada:
$ tar --create --directory /home/josevnz/tmp/ --file - *| \
ssh raspberrypi "tar --directory /home/josevnz \
--verbose --list --file -"
Puede darle vida a sus trabajos de respaldo con compresión y encriptación, como agregar ingredientes a un sándwich.
6. Escribe archivos transitorios
Este es un gran truco cuando necesitas escribir documentos de varias líneas:
$ cat</my/new/file
Line1
Line2
A $VARIABLE
DOC
tú también puedes cat > file
Cuando termine de editar, simplemente ingrese el carácter EOF (Control+D):
[josevnz@dmaf5 temp]$ cat > testfile
This is a test
multiple lines
and here we go
[josevnz@dmaf5 temp]$
7. Busque un archivo con algunas extensiones y excluya otras
Este ejemplo utiliza grep
Un método para buscar un archivo específico. Es muy rápido y fácil de recordar:
$ grep -R 'import' --include="*.java" --color MySourceCodeDir
o puedes probar find
manera (usando xargs
manejar un gran número de coincidencias correctamente):
$ find MySourceCodeDir/ -name '*.java' -type f -print| xargs \
grep --color 'import
Por qué find
, podrías preguntar?puedes combinar find
y -exec
Primero realice la operación en el archivo, luego pase el resultado al filtro. Las posibilidades de mecanizado aquí son infinitas.
8. Supervise la memoria sin top o htop
Es casi hacer trampa.repite un comando como free
cada cinco segundos y resaltar la diferencia:
$ watch -n 5 -d '/bin/free -m'
9. Muestra el tamaño de la partición del disco
usar lsbk
(bloque de lista) y jq
(Manipule JSON en la línea de comando) Mostrar información de partición:
$ lsblk --json | jq -c '.blockdevices[]|[.name,.size]'
["loop0","55.5M"]
["loop1","156M"]
["loop2","32.3M"]
["zram0","4G"]
["nvme0n1","476.9G"]
10. Muestra rápidamente los tipos de archivos
Esta Qué es la funcion se llama wi
Te dirá rápidamente el tipo de archivo.
Verifique un solo archivo:
$ function wi { test -n "$1" && stat --printf "%F\n" "$1"; }
Revisa varios archivos:
$ function wi { test "$#" -gt 0 && stat --printf "%n: %F\n" "$@"; }
notas: es más funcional y puede hacer el mismo trabajo que un alias.
11. Muestra el tamaño de los RPM instalados
Si tiene un sistema basado en RPM, tarde o temprano formateará sus consultas. Aquí hay un ejemplo:
$ rpm --queryformat="%12{SIZE} %{NAME}\n" \
-q java-11-openjdk-headless
[ Train and test on our latest courses and exams from Red Hat Training & Certification: Red Hat Enterprise Linux skills path. ]
12. Muestra el tamaño total de un grupo de archivos
Bajo estas circunstancias, find
El comando actúa como un filtro para mostrar el tamaño de cada archivo en bytes y finalmente el tamaño total:
$ t=0; for n in $(find ~/Documents -type f -name '*.py' -print | xargs \
stat --printf "%s "); do ((t+=n)); done; echo $t
O si quieres una función (mejor) prueba esto:
$ function size { t=0; test -d "$1" && for n in $(find $1 \
-type f -name '*.py' -print| \
xargs stat --printf "%s "); do ((t+=n)); done; echo $t; }
size $mydir
13. Actualice todos los repositorios de Git en un directorio
ya sabes lo útil git Si. Aquí hay un truco para mejorar la eficiencia de la actualización:
$ for i in */.git; do cd $(dirname $i); git pull; cd ..; done
14. Exponer un directorio web usando un contenedor
Los contenedores son fundamentales hoy en día. Este one-liner expone un directorio a través de Podman:
$ podman run --rm -v .:/usr/share/nginx/html:ro,Z \
-p 30080:80 -d nginx
15. Consulta el tiempo
Use esta función para determinar si necesita una chaqueta hoy:
weather() { curl -s --connect-timeout 3 -m 5 http://wttr.in/$1; }
16. Muestra las 10 principales direcciones IP que acceden al servidor web
Esta es una tarea que los administradores de red a menudo pueden usar Nginx (también se puede usar con Apache) para obtener las 10 principales direcciones de protocolo de Internet que acceden al servidor web desde el registro de acceso:
$ cat /var/log/nginx/access.log | cut -f 1 -d ' ' | sort | \
uniq -c | sort -hr | head -n 10
17. Flotador redondo en Bash con ayuda de Python
Puedes hacer algunas cosas geniales con Python, pero este ejemplo simplemente redondea el número:
$ echo "22.67892" | python3 -c "print(f'{round(float(input()))}')"
23
18. Ejecuta una mini calculadora
Esta función define una calculadora rápida con precisión variable en la línea de comando (el valor predeterminado es 2).usa ANTES DE CRISTO.Crea la función así:
$ function qqbc() { echo "scale=${2:-2}; $1" | bc -l
A continuación, realice un cálculo rápido:
$ qqbc "2/3"
.66
Si necesita precisión adicional, simplemente defina el segundo parámetro:
$ qqbc "2/3" 4
.6666
Esta herramienta se llama qqbc
Porque es una mejora con respecto a una función antigua. qbc
.
19. Convertir CSV a JSON
Este truco es una modificación. esta popular receta Convierta el archivo CSV a formato JSON:
$ python3 -c \
"import csv,json,sys;print(json.dumps(list(csv.reader(open(sys.argv[1])))))" \
covid19-vaccinations-town-age-grp.csv
20. Use Docker para instalar y ejecutar comandos
Si tiene Docker instalado y desea ejecutar un comando sin instalar un montón de dependencias en su sistema (mientras realiza una ejecución rápida), esto es probablemente lo que necesita:
$ docker run --rm --interactive curlimages/curl curl \
--verbose --location --fail --silent --output - \
https://example.com
Este comando ejecuta la última versión de curl
del contenedor y luego eliminarlo. Tenga en cuenta que el comando comienza con un guión (-
), que cuenta curl
salida a su terminal. Las posibilidades aquí son infinitas.
envolver
La capacidad de crear poderosas combinaciones de comandos simples es una de las razones por las que Unix y Linux son tan populares.
Por suerte. Aprender estas palabras de una sola línea no es difícil. Concéntrese en recordar lo que hace un comando simple, luego piense en cómo mezclar muchos comandos simples para hacer una receta poderosa.
comprobar a menudo man
página o uso info
para determinar qué más puede hacer la herramienta. Es posible que se sorprenda al saber que una herramienta puede hacer todo sin combinarla con otra utilidad.
Hay muchos sitios en Internet con muchos ejemplos de una línea. Esperamos que estos ejemplos lo guíen para escribir mejor sus propias frases ingeniosas.