que ¿Qué comandos de Linux/Unix están desactualizados y tienen alternativas potentes?



comandos linux basicos (24)

Hoy descubrí que puedes hacer menos actuar como tail -f .

menos nombre de archivo , luego presione Shift-F para iniciar el modo de seguimiento.

Al igual que la cola, pero tiene todas las características adicionales de menos, como desplazarse, buscar y resaltar los resultados de búsqueda.

He estado viendo archivos de registro con cola durante años.

Esto me hizo reflexionar: ¿hay otros comandos que están desactualizados y tienen alternativas potentes?

Por favor comparte la felicidad: un solo comando por publicación.


Answer #1

Prueba htop - top en esteroides.

Pruebe multitail - tail con esteroides.


Answer #2

Me gusta mucho localizar como un sustituto de find - mucho más fácil de usar "locate filepattern" que "find / -name filepattern -print", y más eficiente porque usa una base de datos de índice.

Debe ejecutar el comando updatedb en una programación para actualizar la base de datos locate; verifique la página del manual de su distribución para más detalles.


Answer #3

Dondequiera que se instale glibc , se puede getent passwd foo lugar de grep foo /etc/passwd (de manera similar para aliases ethers group hosts netgroup networks protocols rpc services shadow ) - incluso Does The Right Thing (TM) en una configuración NIS.


Answer #4

bm (enlace) , en lugar de popd y pushd o crear alias temporales, es realmente útil.

Para agregar un directorio al que se llamará con etiqueta

bm -a /path/to/a/dir tag

Para ir a este directorio

cdbm tag

Answer #5

Autocompletado sensible al contexto.

Bueno, lo sé, no es un comando y es poco probable que se encuentre en muchos Unices, pero Linux. En mi Ubuntu Hardy, bash_completion ya está configurado muy bien, ¡y eso significa no solo para archivos y directorios! Por ejemplo, si escribo

svn pr<TAB><TAB>

Yo obtengo:

praise    propdel   propedit  propget   proplist  propset

E incluso

svn propget svn:k<TAB>

Me sale automaticamente

svn propget svn:keywords

¡Funciona también para ant y make leer automáticamente los archivos predeterminados o los especificados en la línea de comandos! ¡Es un verdadero ahorro de tiempo!


Answer #6

Lo mas obvio:

menos es más.


Answer #7

La tarta Perl : perl -pi -e 's/foo/bar/' lugar de sed 's/foo/bar/' , con la sintaxis de perlre mucho más poderosa. (No es un reemplazo directo, ya que Perl usa expresiones regulares, por ejemplo,? En lugar de \? )


Answer #8

No es realmente un reemplazo para un comando obsoleto per se, pero la pantalla es una gran alternativa para abrir múltiples ventanas de terminal y / o usar bg, etc.


Answer #9

Vale la pena echarle un vistazo a las versiones GNU de algunos comandos comunes, ya que silenciosamente han adquirido refinamientos útiles más allá de las versiones estándar (XPG4, etc.).

Por ejemplo, grep recursivo es mucho mejor que find | xargs grep find | xargs grep .

Además, find ... -print0 | xargs -0 ... find ... -print0 | xargs -0 ... maneja el problema de las citas horribles de hace mucho tiempo que hace que xargs no maneje apropiadamente los nombres originales de los archivos llenos de espacio.

GNU tar toma los indicadores 'j' y 'z' para manejar los archivos bzipped y gzip directamente.

Y la alternativa $() bash a los palos de atrás hace que la expresión anulada de vez en cuando anidada sea más fácil de leer y escribir.


Answer #10

cfdisk es una actualización fácil de usar de la utilidad de partición de la unidad de línea de comandos fdisk.


Answer #11

Rsync reemplaza / complementa la mayoría de los métodos de transferencia de archivos (scp, rcp, comandos tar incrustados, etc, e incluso cp en muchos casos) de una manera eficiente y potente.

Debido a su versatilidad, tiene muchas opciones. Pero realmente recomiendo aprender al menos los conceptos básicos de rsync.


Answer #12

¿Por qué molestarse escribiendo gzip -dc foo.tar.gz | tar xf - gzip -dc foo.tar.gz | tar xf - cuando tar xzf foo.tar.gz generará el descompresor por usted?

Yendo más lejos ... ¿por qué molestarse en escribir tar xzf foo.tar.gz o tar xjf foo.tar.bz2 cuando GNU tar detectará automáticamente la compresión? tar xf foo.tar.(gz|bz2) simplemente funciona mágicamente.


Answer #13

'rename' es una buena alternativa a los calliners largos que se escriben para cambiar el nombre a un grupo de archivos.


Answer #14

echo aún podría usarse solo con argumentos triviales; de lo contrario, su comportamiento podría ser impredecible. Para todos los demás fines (caracteres de control, nueva supresión de línea, formateo), ha quedado obsoleto por el comando printf mucho más potente y consistente.


Answer #15

dig es una mejor alternativa a nslookup .


Answer #16

rsh / rexec / rcp / etc. han sido suplantados por ssh / scp / etc.


Answer #17

Me gusta apuntar a mi ack, una alternativa a grep para programadores.

http://betterthangrep.com/

Me sorprende que la gente (incluyéndome a mí) haya vivido con alias improvisados ​​y guiones de shell con find & xargs durante tanto tiempo.


Answer #18

Uno podría decir que awk ha sido completamente obsoleto por perl .

Sin embargo, como estaba usando awk desde antes de que existiera perl, aún lo uso; en cuanto a los scripts más serios, utilizo Python en lugar de Perl.


Answer #19

No estoy seguro de si esto debería ser una respuesta o simplemente una edición de la pregunta.

Antes de usar menos como reemplazo de cola, puede buscar algo "/ search_string" y luego invocar el comando Seguir (shift-F). Ahora se resaltará cualquier "search_strings" que se desplace. Esto es útil para cuando está escaneando una gran cantidad de registros de programas o registros y está buscando una cadena o patrón en particular.

¡No olvide que también puede usar expresiones regulares!


Answer #20

tmux sobre la screen . tmux es mucho más fácil de configurar, ni siquiera es divertido.


Answer #21

En Linux, ip (desde el paquete iproute2 ) se comporta de manera más predecible y proporciona una salida más fácil de analizar que ifconfig / route .


Answer #22

atool : manejo de archivos sin dolores de cabeza

Algunos ejemplos:

  • aunpack archive.tgz Desempaqueta todos los archivos en el archivo. Si el autor del archivo fue tan desconsiderado como para poner varios archivos en la raíz del archivo, el comando crea automáticamente un directorio y mueve los archivos dentro.
  • aunpack -e archive1.tgz archive2.zip Desempaqueta cada archivo.
  • apack archive.tar.bz2 * .txt Crea un nuevo archivo comprimido que contiene todos los archivos de texto en el directorio de trabajo actual.
  • als archive.rar Muestra los nombres de los archivos contenidos en el archivo.

Los ejemplos son de: http://debaday.debian.net/2008/12/28/atool-handling-archives-without-headaches/


Answer #23

No es exactamente un reemplazo para nada, pero moreutils es una colección de pequeñas herramientas Unixy, que básicamente están destinadas a rellenar agujeros en la caja de herramientas * nix.

Como solo quería un comando por publicación, creo que tendré que elegir una esponja , que le permite guardar la salida de una tubería en uno de los archivos utilizados como entrada. IOW, le permite modificar archivos en el lugar, sin tener que preocuparse por los archivos temporales.

Por ejemplo, si lo hace:

grep 'something' somefile.txt > somefile.txt

somefile.txt terminará vacío. Entonces, podrías usar esponja:

grep 'something' somefile.txt | sponge somefile.txt

Answer #24

Me parece que wcalc es un buen reemplazo para bc





deprecated