Difference between revisions of "Core utilities (Español)"

From ArchWiki
Jump to: navigation, search
(update zh-cn/tw interlanguage links to zh-hans/hant, see Help talk:I18n#Chinese interlanguage links)
(Correción de ortografía, puntuación y cambio de expresiones.)
Line 22: Line 22:
 
{{Related articles end}}
 
{{Related articles end}}
  
Este artículo trata los utilidades de los sistemas GNU/Linux denominadas utilidades ''core'', como ''less'', ''ls'', y ''grep''. El ámbito de este artículo incluye, pero no está limitado a, aquellas utilidades incluidas en el paquete de GNU {{Pkg|coreutils}}. Lo siguiente son varios trucos y consejos y otras informaciones útiles relacionadas con estas utilidades.
+
Este artículo trata sobre las utilidades de los sistemas GNU/Linux denominadas ''core'', tales como ''less'', ''ls'', y ''grep''. El ámbito de este artículo incluye (pero no está limitado) a las utilidades del paquete GNU {{Pkg|coreutils}}. Los siguientes son trucos, consejos e información relacionada con dichas utilidades.
  
 
== Comandos básicos ==
 
== Comandos básicos ==
  
La siguiente tabla lista los comandos de consola básicos que todo usuario linux debería conocer. Comandos en '''negrita''' son parte de la línea de comandos, otros son programas separados llamados desde la consola. Véase las siguientes secciones y ''Artículos relacionados'' para más detalles.
+
La siguiente tabla lista los comandos básicos de consola que todo usuario linux debería conocer. Comandos en '''negrita''' son parte de la línea de comandos, los otros son programas separados llamados desde la consola. Véase las siguientes secciones y ''Artículos relacionados'' para más detalles.
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 94: Line 94:
 
|-
 
|-
 
| mount
 
| mount
| Mointa una partición
+
| Monta una partición
 
| mount /dev/sdc1 /media/usb
 
| mount /dev/sdc1 /media/usb
 
|-
 
|-
Line 111: Line 111:
 
== cat ==
 
== cat ==
  
[[Wikipedia:cat_(Unix)|cat]] (''catenate'') es una utilidad estándar de unix que concatena  y lista ficheros.
+
[[Wikipedia:cat_(Unix)|cat]] (''concatenate'') es una utilidad estándar de unix que concatena  y lista ficheros.
  
* Dado que ''cat'' no es un comando integrado en la consola, en bastantes ocasiones encontrará más conveniente usar una [[Wikipedia:Redirection (computing)|redirección (English)]], por ejemplo en scripts, o si le preocupa el rendimiento . De hecho {{ic|< ''file''}} hace lo mismo que {{ic|cat ''file''}}.
+
* Dado que ''cat'' no es un comando integrado en la consola, en bastantes ocasiones encontrará más conveniente usar una [[Wikipedia:Redirection (computing)|redirección (English)]], por ejemplo en scripts, o si le preocupa el rendimiento. De hecho {{ic|< ''file''}} hace lo mismo que {{ic|cat ''file''}}.
  
 
* ''cat'' es capaz de trabajar con múltiples líneas, aunque esto se ve a veces como una mala práctica.
 
* ''cat'' es capaz de trabajar con múltiples líneas, aunque esto se ve a veces como una mala práctica.
Line 133: Line 133:
 
}}
 
}}
  
* Si necesita lista las lineas del fichero en orden inverso, existe una utilidad llamada tac [[Wikipedia:tac (Unix)|tac]] (''cat'' invertido).
+
* Si necesita lista las líneas del fichero en orden inverso, existe una utilidad llamada tac [[Wikipedia:tac (Unix)|tac]] (''cat'' invertido).
  
 
== dd ==
 
== dd ==
  
[[Wikipedia:dd (Unix)|dd]] es un comando de sistemas operativos Unix y similares cuyo propósito principal es convertir y copiar un fichero.
+
[[Wikipedia:dd (Unix)|dd]] es un comando de sistemas operativos Unix y tipo-Unix cuyo propósito principal es convertir y copiar un fichero.
  
{{Note|''cp'' hace lo mismo que ''dd'' sin pasarle argumentos pero no esta diseñado para procedimientos de borrado de discos más versátiles.}}
+
{{Note|''cp'' hace lo mismo que ''dd'' sin pasarle argumentos pero no está diseñado para procedimientos de borrado de discos más versátiles.}}
  
 
=== Comprobar el progreso de dd en ejecución ===
 
=== Comprobar el progreso de dd en ejecución ===
Line 148: Line 148:
 
{{Note|Esto afectará de igual manera a todas las instancias en ejecución de ''dd''.}}
 
{{Note|Esto afectará de igual manera a todas las instancias en ejecución de ''dd''.}}
  
Or:
+
O:
 
  # kill -USR1 ''pid_del_comando_dd''
 
  # kill -USR1 ''pid_del_comando_dd''
  
For example:
+
Por ejemplo:
 
  # kill -USR1 $(pidof dd)
 
  # kill -USR1 $(pidof dd)
  
Esto provoca que ''dd'' imprima de forma inmediatael progreso en la terminal. Por ejemplo:
+
Esto provoca que ''dd'' imprima de forma inmediata el progreso en la terminal. Por ejemplo:
 
  605+0 records in
 
  605+0 records in
 
  605+0 records out
 
  605+0 records out
Line 161: Line 161:
 
==== Usando el visor de tubería (pv) ====
 
==== Usando el visor de tubería (pv) ====
  
Como alternative puede usar {{Pkg|pv}}  para monitorizar el pipeline de dd:
+
Como alternativa puede usar {{Pkg|pv}}  para monitorizar el pipeline de dd:
 
  # dd if=''/origen/de/flujo_de_archivo'' | pv -''opciones_de_monitorización'' -s ''tamaño_del_archivo'' | dd of=''/destino/de/flujo_de_archivo''
 
  # dd if=''/origen/de/flujo_de_archivo'' | pv -''opciones_de_monitorización'' -s ''tamaño_del_archivo'' | dd of=''/destino/de/flujo_de_archivo''
  
Para usar el visor de tuberías con mayor facilidad puede añadir esto a bashrc o a zshrc:
+
Para usar el visor de tuberías con mayor facilidad puede añadir esto a bashrc o a zshrc:
 
  copy() {
 
  copy() {
 
     size=$(stat -c%s $1)
 
     size=$(stat -c%s $1)
Line 179: Line 179:
 
; dcfldd : {{Pkg|dcfldd}} es una versión mejorada de dd  con características utiles para análisis forense y seguridad. Acepta la mayoría de los parámetros de dd e incluye salida de estatus. La última versión estable de dcfldd fue el 19 de  diciembre de 2006.<sup>[http://dcfldd.sourceforge.net/]</sup>
 
; dcfldd : {{Pkg|dcfldd}} es una versión mejorada de dd  con características utiles para análisis forense y seguridad. Acepta la mayoría de los parámetros de dd e incluye salida de estatus. La última versión estable de dcfldd fue el 19 de  diciembre de 2006.<sup>[http://dcfldd.sourceforge.net/]</sup>
  
; ddrescue : GNU {{Pkg|ddrescue}} es una herramienta de recuperación de datos. Es capaz de ignorar errores de lectura, lo que es una característica útil en situaciones de borrado de disco en casi cualquier caso. Véase [http://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html official manual] para más detalles.
+
; ddrescue : GNU {{Pkg|ddrescue}} es una herramienta de recuperación de datos. Es capaz de ignorar errores de lectura, lo que es una característica útil en situaciones de borrado de disco en casi cualquier caso. Véase [http://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html official manual] para más detalles.
  
 
== grep ==
 
== grep ==
  
[[Wikipedia:grep|grep]] (de [[Wikipedia:ed|ed]] ''g/re/p'', ''global/regular expression/print'')  es una utilidad para busqueda de texto en línea de comandos escrito originalmente para Unix. El comando ''grep'' busca ficheros o en la entrada estándar de manera global líneas que coincidan con una expresión regular dada y las imprime a la salida estándar del programa.
+
[[Wikipedia:grep|grep]] (de [[Wikipedia:ed|ed]] ''g/re/p'', ''global/regular expression/print'')  es una utilidad para búsqueda de texto en línea de comandos escrito originalmente para Unix. El comando ''grep'' busca ficheros o en la entrada estándar de manera global líneas que coincidan con una expresión regular dada y las imprime en la salida estándar del programa.
  
 
* Recuerde que ''grep'' maneja ficheros files, por lo que un comando como {{ic|cat ''archivo'' <nowiki>|</nowiki> grep ''patrón''}} es remplazable por {{ic|grep ''patrón'' ''archivo''}}
 
* Recuerde que ''grep'' maneja ficheros files, por lo que un comando como {{ic|cat ''archivo'' <nowiki>|</nowiki> grep ''patrón''}} es remplazable por {{ic|grep ''patrón'' ''archivo''}}
  
* Alternativas a ''grep'' optimizadas para codigo fuente existe , como {{Pkg|the_silver_searcher}} y {{Pkg|ack}}.
+
* Alternativas a ''grep'' optimizadas para código fuente existen, como, {{Pkg|the_silver_searcher}} y {{Pkg|ack}}.
  
 
=== Salida con colores ===
 
=== Salida con colores ===
Line 193: Line 193:
 
La salida con colores de {{ic|grep}} puede ser muy útil para aprender [[Wikipedia:regexp|expresiones regulares]] y características adicionales de {{ic|grep}}.
 
La salida con colores de {{ic|grep}} puede ser muy útil para aprender [[Wikipedia:regexp|expresiones regulares]] y características adicionales de {{ic|grep}}.
  
Para habilitar el coloreado de ''grep'' la siguiente entrada en el archivo de configuración de su terminal (p.ej:. si usa [[Bash]]):
+
Para habilitar el coloreado de ''grep'' agregue la siguiente entrada en el archivo de configuración de su terminal (p.ej:. si usa [[Bash]]):
  
 
{{hc|~/.bashrc|2=alias grep='grep --color=auto'}}
 
{{hc|~/.bashrc|2=alias grep='grep --color=auto'}}
  
Para incluir numeración de las líneas en la salida, incluya {{ic|-n}} a la entrada anterior.
+
Para incluir numeración de las líneas en la salida, incluya {{ic|-n}} en la entrada anterior.
  
 
La variable de entorno {{ic|GREP_COLOR}} puede usarse para definir el color de resaltado por defecto (por defecto es rojo). Para cambiar el color busque en [http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html secuencia de escape ANSI] para el color que desee y añádalo con:
 
La variable de entorno {{ic|GREP_COLOR}} puede usarse para definir el color de resaltado por defecto (por defecto es rojo). Para cambiar el color busque en [http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/x329.html secuencia de escape ANSI] para el color que desee y añádalo con:
Line 237: Line 237:
 
== ip ==
 
== ip ==
  
[[Wikipedia:Iproute2|ip]] permite mostrar información sobre los dispositivos de red, direcciones IP, tablas de enrutamiento   y otros objetos en la pila de procotolos [[Wikipedia:Internet Protocol|IP]] de Linux. Añadiendo varios comandos, puede manipular y configurar la mayoría de estos objetos.
+
[[Wikipedia:Iproute2|ip]] permite mostrar información sobre los dispositivos de red, direcciones IP, tablas de enrutamiento y otros objetos en la pila de procotolos [[Wikipedia:Internet Protocol|IP]] de Linux. Añadiendo varios comandos, puede manipular y configurar la mayoría de estos objetos.
  
 
{{Note|La utilidad ''ip'' la provee el paquete {{Pkg|iproute2}}, que está incluido en el grupo {{Grp|base}}.}}
 
{{Note|La utilidad ''ip'' la provee el paquete {{Pkg|iproute2}}, que está incluido en el grupo {{Grp|base}}.}}
Line 279: Line 279:
 
|}
 
|}
  
El comando {{ic|help}} está disponible para todos los objetos. Por ejemplo, escribiendo {{ic|ip addr help}} se mostrará la sintaxis de comando disponible para el objeto address. Para un uso avanzado  véase [http://www.policyrouting.org/iproute2.doc.html documentación iproute2].
+
El comando {{ic|help}} está disponible para todos los objetos. Por ejemplo, escribiendo {{ic|ip addr help}} se mostrará la sintaxis del comando disponible para el objeto address. Para un uso avanzado  véase [http://www.policyrouting.org/iproute2.doc.html documentación iproute2].
  
 
El artículo [[Network_configuration_(Español)|Configuración de Red]] muestra como el comando ''ip'' es usado en la práctica para varias tareas típicas.
 
El artículo [[Network_configuration_(Español)|Configuración de Red]] muestra como el comando ''ip'' es usado en la práctica para varias tareas típicas.
  
{{Nota| Puede que esté familiarizado con el comando [[Wikipedia:ifconfig|ifconfig]] , que era usado versiones anteriores de Linux para la configuración de interfaces. Ahora está obsoleto en Arch Linux; debería usar ''ip'' en su lugar. }}
+
{{Nota| Puede que esté familiarizado con el comando [[Wikipedia:ifconfig|ifconfig]], que era usado en versiones anteriores de Linux para la configuración de interfaces. Ahora está obsoleto en Arch Linux; debería usar ''ip'' en su lugar.}}
  
 
== less ==
 
== less ==
  
[[Wikipedia:less (Unix)|less]] es un visualizados de archivos de texto en consola. Al contrario que otros visualizadores similares como [[Wikipedia:more (command)|more]] y [[Wikipedia:pg (Unix)|pg]], ''less'' ofrece una interfaz mucho más avanzada y completa [http://www.greenwoodsoftware.com/less/faq.html feature-set].
+
[[Wikipedia:less (Unix)|less]] es un visualizador de archivos de texto en consola. Al contrario que otros visualizadores similares como [[Wikipedia:more (command)|more]] y [[Wikipedia:pg (Unix)|pg]], ''less'' ofrece una interfaz mucho más avanzada y completa [http://www.greenwoodsoftware.com/less/faq.html feature-set].
  
 
Véase [[List of applications#Terminal pagers]] para más alternativas.
 
Véase [[List of applications#Terminal pagers]] para más alternativas.
Line 306: Line 306:
 
}}
 
}}
  
Cambio los valores a su gusto. Referencias: [[Wikipedia:ANSI escape code#Colors|ANSI escape code]].
+
Cambie los valores a su gusto. Referencias: [[Wikipedia:ANSI escape code#Colors|ANSI escape code]].
  
 
=== Salida en color mediante wrappers ===
 
=== Salida en color mediante wrappers ===
Line 336: Line 336:
 
{{hc|~/.bashrc|2=alias less='/usr/share/vim/vim74/macros/less.sh'}}
 
{{hc|~/.bashrc|2=alias less='/usr/share/vim/vim74/macros/less.sh'}}
  
Existe una alternativa a la macro ''less.sh'', que puede funcionar como la variable de entorno {{ic|PAGER}}. Instale {{Pkg|vimpager}} añada lo siguiente a su archivo de configuración de la terminal:
+
Existe una alternativa a la macro ''less.sh'', que puede funcionar como la variable de entorno {{ic|PAGER}}. Instale {{Pkg|vimpager}} añada lo siguiente a su archivo de configuración de la terminal:
 
{{hc|~/.bashrc|2=
 
{{hc|~/.bashrc|2=
 
export PAGER='vimpager'
 
export PAGER='vimpager'
Line 342: Line 342:
 
}}
 
}}
  
Ahora los programas que use la variable de entorno {{ic|PAGER}}, como [[git]], usarán ''vim'' como un visualizador.
+
Ahora los programas que usen la variable de entorno {{ic|PAGER}}, como [[git]], usarán ''vim'' como un visualizador.
  
 
=== Salida coloreada cuando lee de entrada estándar ===
 
=== Salida coloreada cuando lee de entrada estándar ===
Line 348: Line 348:
 
{{Nota|Se recomienda añadir [[#Salida en color mediante variables de entorno]] a su {{ic|~/.bashrc}} o {{ic|~/.zshrc}}, ya que lo siguiente esta basado en {{ic|1=export LESS=R}}}}
 
{{Nota|Se recomienda añadir [[#Salida en color mediante variables de entorno]] a su {{ic|~/.bashrc}} o {{ic|~/.zshrc}}, ya que lo siguiente esta basado en {{ic|1=export LESS=R}}}}
  
Cuando ejecuta un comando y redirige su [[Wikipedia:Standard output|salida estándar]] (''stdout'') a ''less'' para visualizarla (p.ej: {{ic|<nowiki>pacman -Qe | less</nowiki>}}), puede encontrarse con que la salida ya no sale coloreada. Esto suele pasar porque el programa intentar detectar si su ''salida estándar'' es un terminal interactivo, en cuyo caso imprime el texto coloreado,y en caso contrario no. Esto es un buen comportamiento cuando quiere redirigir la ''salida estándar'' a un fichero, p.ej: {{ic|<nowiki>pacman -Qe > pkglst-backup.txt</nowiki>}}, pero menos indicado cuando quiere visualizar la salid con {{ic|less}}.
+
Cuando ejecuta un comando y redirige su [[Wikipedia:Standard output|salida estándar]] (''stdout'') a ''less'' para visualizarla (p.ej: {{ic|<nowiki>pacman -Qe | less</nowiki>}}), puede encontrarse con que la salida ya no sale coloreada. Esto suele pasar porque el programa intentar detectar si su ''salida estándar'' es un terminal interactivo, en cuyo caso imprime el texto coloreado, en caso contrario no. Esto es un buen comportamiento cuando quiere redirigir la ''salida estándar'' a un fichero, p.ej: {{ic|<nowiki>pacman -Qe > pkglst-backup.txt</nowiki>}}, pero menos indicado cuando quiere visualizar la salid con {{ic|less}}.
  
 
Algunos programas proveen una opción para deshabilitar la detección de tty interactiva:
 
Algunos programas proveen una opción para deshabilitar la detección de tty interactiva:
Line 398: Line 398:
 
* ''ls'' puede listar [[File permissions and attributes#Viewing_permissions|permisos de ficheros]].
 
* ''ls'' puede listar [[File permissions and attributes#Viewing_permissions|permisos de ficheros]].
  
* Salida coloreada puede ser habilitadac con un simple alias. El fichero {{ic|~/.bashrc}} debería tener la siguiente entrada copiada de {{ic|/etc/skel/.bashrc}}:
+
* Salida coloreada puede ser habilitada con un simple alias. El fichero {{ic|~/.bashrc}} debería tener la siguiente entrada copiada de {{ic|/etc/skel/.bashrc}}:
 
: {{ic|1=alias ls='ls --color=auto'}}
 
: {{ic|1=alias ls='ls --color=auto'}}
 
El siguiente paso mejorará aún más la salida coloreada de ''ls''; por ejemplo, enlaces simbólicos rotos (huérfanos) se mostrarán en un tono rojo. Añada la siguiente línea a su archivo de configuración de la terminal:
 
El siguiente paso mejorará aún más la salida coloreada de ''ls''; por ejemplo, enlaces simbólicos rotos (huérfanos) se mostrarán en un tono rojo. Añada la siguiente línea a su archivo de configuración de la terminal:
Line 406: Line 406:
  
 
[[Wikipedia:mkdir|mkdir]] (''make directory'') es un comando para crear directorios.
 
[[Wikipedia:mkdir|mkdir]] (''make directory'') es un comando para crear directorios.
* Para crear un directorio y toda su jerarquía, es usado el argumento {{ic|-p}}, de otra forma se monstraría un error. Como se supone que los usuario saben lo que quieren, ,el argumento {{ic|-p}} puede usarse por defecto:
+
* Para crear un directorio y toda su jerarquía, es usado el argumento {{ic|-p}}, de otra forma se monstraría un error. Como se supone que los usuario saben lo que quieren, el argumento {{ic|-p}} puede usarse por defecto:
 
: {{bc|1=alias mkdir='mkdir -p -v'}}
 
: {{bc|1=alias mkdir='mkdir -p -v'}}
 
: El argumento {{ic|-v}} hace que la salida sea más detallada.
 
: El argumento {{ic|-v}} hace que la salida sea más detallada.
  
* Cambiar los permisos con ''chmod'' tras crear el directorio no es necesario pues la opción {{ic|-m}} permite definir los permisos de acceso.
+
* Cambiar los permisos con ''chmod'' tras crear el directorio no es necesario pues la opción {{ic|-m}} permite definir los permisos de acceso.
  
 
{{Sugerencia|Si tan solo quiere un directorio temporal, una mejor alternativa es [[Wikipedia:Temporary file|mktemp]] (''make termporary''): {{ic|mktemp -p}}.}}
 
{{Sugerencia|Si tan solo quiere un directorio temporal, una mejor alternativa es [[Wikipedia:Temporary file|mktemp]] (''make termporary''): {{ic|mktemp -p}}.}}
Line 430: Line 430:
 
: Usuarios de Zsh pueden querer poner {{ic|noglob}} antes de {{ic|timeout}} para evitar expansiones implicitas.
 
: Usuarios de Zsh pueden querer poner {{ic|noglob}} antes de {{ic|timeout}} para evitar expansiones implicitas.
  
* Para eliminar directorios que estén vacíos, use ''rmdir'' ya que falla en cada de que el objetivo contengo ficheros.
+
* Para eliminar directorios vacíos, use ''rmdir'', si el objetivo contiene ficheros fallará.
  
 
== sed ==
 
== sed ==
  
[[Wikipedia:sed|sed]] (''stream editor'') is una utilidad de Unix que parsea y transforma texto
+
[[Wikipedia:sed|sed]] (''stream editor'') es una utilidad de Unix que parsea y transforma texto
  
 
Aquí hay un puñado [http://sed.sourceforge.net/sed1line.txt list] de ejemplo de una línea de como usar sed muy útiles.
 
Aquí hay un puñado [http://sed.sourceforge.net/sed1line.txt list] de ejemplo de una línea de como usar sed muy útiles.

Revision as of 06:37, 7 September 2017

Este artículo trata sobre las utilidades de los sistemas GNU/Linux denominadas core, tales como less, ls, y grep. El ámbito de este artículo incluye (pero no está limitado) a las utilidades del paquete GNU coreutils. Los siguientes son trucos, consejos e información relacionada con dichas utilidades.

Comandos básicos

La siguiente tabla lista los comandos básicos de consola que todo usuario linux debería conocer. Comandos en negrita son parte de la línea de comandos, los otros son programas separados llamados desde la consola. Véase las siguientes secciones y Artículos relacionados para más detalles.

Comando Descripción Ejemplo
man Muestra la página del manual para ese comando man ed
cd Cambia de directorio cd /etc/pacman.d
mkdir Crea un directorio mkdir ~/newfolder
rmdir Elimina un directorio vacío rmdir ~/emptyfolder
rm Elimina un fichero rm -r ~/file.txt
rm -r Elimina directorios y sus contenidos rm -r ~/.cache
ls Lista archivos ls *.avi
ls -a Lista archivos ocultos ls -a /home/archie
ls -al Lista archivos ocultos y propiedades de los archivos
mv Mueve un fichero mv ~/compressed.zip ~/archive/compressed2.zip
cp Copia un fichero cp ~/.bashrc ~/.bashrc.bak
chmod +x Da permisos de ejecución a un fichero chmod +x ~/.local/bin/myscript.sh
cat Muestra el contenido de un archivo cat /etc/hostname
strings Muestra caracteres imprimibles en un fichero binario strings /usr/bin/free
find Busca un archivo find ~ -name myfile
mount Monta una partición mount /dev/sdc1 /media/usb
df -h Muestra el espacio disponible en todas las particiones
ps -A Muestra todos los procesos en ejecución
killall Mata todas las instancias de un proceso en ejecución

cat

cat (concatenate) es una utilidad estándar de unix que concatena y lista ficheros.

  • Dado que cat no es un comando integrado en la consola, en bastantes ocasiones encontrará más conveniente usar una redirección (English), por ejemplo en scripts, o si le preocupa el rendimiento. De hecho < file hace lo mismo que cat file.
  • cat es capaz de trabajar con múltiples líneas, aunque esto se ve a veces como una mala práctica.
$ cat << EOF >> ruta/al/fichero
primera linea
...
últimalinea
EOF
Una alternativa mejor es el comando echo:
$ echo "\
primera línea
...
última línea" \
>> ruta/al/fichero
  • Si necesita lista las líneas del fichero en orden inverso, existe una utilidad llamada tac tac (cat invertido).

dd

dd es un comando de sistemas operativos Unix y tipo-Unix cuyo propósito principal es convertir y copiar un fichero.

Note: cp hace lo mismo que dd sin pasarle argumentos pero no está diseñado para procedimientos de borrado de discos más versátiles.

Comprobar el progreso de dd en ejecución

Por defecto, no hay salida para dd hasta que la tarea ha terminado. Con kill y la señal USR1 puede forzar a imprimir el estatus sin matar al programa. Habra una segunda terminal como root e introduzca el siguiente comando:

# killall -USR1 dd
Note: Esto afectará de igual manera a todas las instancias en ejecución de dd.

O:

# kill -USR1 pid_del_comando_dd

Por ejemplo:

# kill -USR1 $(pidof dd)

Esto provoca que dd imprima de forma inmediata el progreso en la terminal. Por ejemplo:

605+0 records in
605+0 records out
634388480 bytes (634 MB) copied, 8.17097 s, 77.6 MB/s

Usando el visor de tubería (pv)

Como alternativa puede usar pv para monitorizar el pipeline de dd:

# dd if=/origen/de/flujo_de_archivo | pv -opciones_de_monitorización -s tamaño_del_archivo | dd of=/destino/de/flujo_de_archivo

Para usar el visor de tuberías con mayor facilidad puede añadir esto a bashrc o a zshrc:

copy() {
    size=$(stat -c%s $1)
    dd if=$1 &> /dev/null | pv -petrb -s $size | dd of=$2
}

Y usarlo con:

# copy /fichero/de/origen /fichero/de/destino

derivados de dd

Otros programas por el estilo de dd muestra un estatus de salida periódico, p.ej: una simple barra de progreso.

dcfldd 
dcfldd es una versión mejorada de dd con características utiles para análisis forense y seguridad. Acepta la mayoría de los parámetros de dd e incluye salida de estatus. La última versión estable de dcfldd fue el 19 de diciembre de 2006.[1]
ddrescue 
GNU ddrescue es una herramienta de recuperación de datos. Es capaz de ignorar errores de lectura, lo que es una característica útil en situaciones de borrado de disco en casi cualquier caso. Véase official manual para más detalles.

grep

grep (de ed g/re/p, global/regular expression/print) es una utilidad para búsqueda de texto en línea de comandos escrito originalmente para Unix. El comando grep busca ficheros o en la entrada estándar de manera global líneas que coincidan con una expresión regular dada y las imprime en la salida estándar del programa.

  • Recuerde que grep maneja ficheros files, por lo que un comando como cat archivo | grep patrón es remplazable por grep patrón archivo

Salida con colores

La salida con colores de grep puede ser muy útil para aprender expresiones regulares y características adicionales de grep.

Para habilitar el coloreado de grep agregue la siguiente entrada en el archivo de configuración de su terminal (p.ej:. si usa Bash):

~/.bashrc
alias grep='grep --color=auto'

Para incluir numeración de las líneas en la salida, incluya -n en la entrada anterior.

La variable de entorno GREP_COLOR puede usarse para definir el color de resaltado por defecto (por defecto es rojo). Para cambiar el color busque en secuencia de escape ANSI para el color que desee y añádalo con:

export GREP_COLOR="1;32"

GREP_COLORS puede usarse para definir búsquedas específicas.

Salida de error estándar

Algunos comandos envían sus resultados a la salida de error estándar, por lo que grep no parece tener efecto aparente. En este caso redirija la salida de error a la salida estándar con:

$ comando 2>&1 | grep argumentos

o usando el método abreviado de Bash 4:

$ comando |& grep argumentos

Véase también I/O Redirection.

iconv

iconv convierte la codificación de caracteres de una codificación a otra.

El siguiente comando convertirá el fichero foo de ISO-8859-15 a UTF-8 guardándolo en foo.utf:

$ iconv -f ISO-8859-15 -t UTF-8 foo >foo.utf

Vea man iconv para más detalles.

Convertir el fichero reemplazándolo

Tip: puede usar recode en lugar de iconv si no quiere tocar el mtime.

Al contrario que sed, iconv no provee una opción para convertir remplazando el propio fichero. Sin embargo, sponge puede usarse para tal fin, esta incluido en moreutils.

$ iconv -f WINDOWS-1251 -t UTF-8 foobar.txt | sponge foobar.txt

Vea man sponge para más detalles.

ip

ip permite mostrar información sobre los dispositivos de red, direcciones IP, tablas de enrutamiento y otros objetos en la pila de procotolos IP de Linux. Añadiendo varios comandos, puede manipular y configurar la mayoría de estos objetos.

Note: La utilidad ip la provee el paquete iproute2, que está incluido en el grupo base.
Objecto Propósito Nombre de página en el manual
ip addr manejo de dirección de protocolo ip-address
ip addrlabel manejo etiquetado protocolo ip-addrlabel
ip l2tp Tunel ethernet sobre IP (L2TPv3) ip-l2tp
ip link configuración dispositivo de red ip-link
ip maddr manejo direcciones multicast ip-maddress
ip monitor monitorizado de mensajes netlink ip-monitor
ip mroute manejo de cache de enrutado multicast ip-mroute
ip mrule manejo la base de datos de politicas de enrutado multicast
ip neigh manejo de tablas ARP/Vecinos ip-neighbour
ip netns manejo de proceso del espacio de nombres en red ip-netns
ip ntable configuración tabla de vecinos ip-ntable
ip route manejo de la tabla de enrutamiento ip-route
ip rule manejo de la base de datos de políticas de enrutamiento ip-rule
ip tcp_metrics manejo de metricas TCP ip-tcp_metrics
ip tunnel configuración de tunel ip-tunnel
ip tuntap manejo de dispositivos TUN/TAP
ip xfrm manejo de políticas IPsec ip-xfrm

El comando help está disponible para todos los objetos. Por ejemplo, escribiendo ip addr help se mostrará la sintaxis del comando disponible para el objeto address. Para un uso avanzado véase documentación iproute2.

El artículo Configuración de Red muestra como el comando ip es usado en la práctica para varias tareas típicas.

Nota: Puede que esté familiarizado con el comando ifconfig, que era usado en versiones anteriores de Linux para la configuración de interfaces. Ahora está obsoleto en Arch Linux; debería usar ip en su lugar.

less

less es un visualizador de archivos de texto en consola. Al contrario que otros visualizadores similares como more y pg, less ofrece una interfaz mucho más avanzada y completa feature-set.

Véase List of applications#Terminal pagers para más alternativas.

Salida en color mediante variables de entorno

Añada las siguientes líneas a su archivo de configuración de la terminal:

~/.bashrc
export LESS=-R
export LESS_TERMCAP_me=$(printf '\e[0m')
export LESS_TERMCAP_se=$(printf '\e[0m')
export LESS_TERMCAP_ue=$(printf '\e[0m')
export LESS_TERMCAP_mb=$(printf '\e[1;32m')
export LESS_TERMCAP_md=$(printf '\e[1;34m')
export LESS_TERMCAP_us=$(printf '\e[1;32m')
export LESS_TERMCAP_so=$(printf '\e[1;44;1m')

Cambie los valores a su gusto. Referencias: ANSI escape code.

Salida en color mediante wrappers

Puede habilitar el resaltado de sintaxis en less. Primero, instale source-highlight, y a continuación añada estás lineas a su archivo de configuración de la terminal:

~/.bashrc
export LESSOPEN="| /usr/bin/source-highlight-esc.sh %s"
export LESS='-R '

Usuarios asíduos de la línea de comandos pueden querar instalar lesspipe.

Los usarios puede listar archivos comprimidos dentro de un archivador usando su visualizador:

$ less compressed_file.tar.gz
==> usa archivo_tar:fichero_contenido para ver un fichero en el archivador
-rw------- usuario/grupo  695 2008-01-04 19:24 archivo_comprimido/contenido1
-rw------- usuario/grupo   43 2007-11-07 11:17 archivo_comprimido/contenido2
archivo_comprimido.tar.gz (END)

lesspipe también concede a less la capacidad para interactuar con ficheros que no sean archivadores, sirviendo como alternativa para el comando específico asociado a según el tipo de archivo en concreto (como ver HTML mediante python-html2text).

Vuelva a loguearse tras instalar lesspipe para activarlo, o usando source /etc/profile.d/lesspipe.sh.

Vim como visualizador alternativo

Vim (visual editor improved) tiene un script para ver el contenido de fichero de texto, binarios, directorios. Añada la siguiente línea a su archivo de configuración de la terminal para usarlo como visualizador:

~/.bashrc
alias less='/usr/share/vim/vim74/macros/less.sh'

Existe una alternativa a la macro less.sh, que puede funcionar como la variable de entorno PAGER. Instale vimpager añada lo siguiente a su archivo de configuración de la terminal:

~/.bashrc
export PAGER='vimpager'
alias less=$PAGER

Ahora los programas que usen la variable de entorno PAGER, como git, usarán vim como un visualizador.

Salida coloreada cuando lee de entrada estándar

Nota: Se recomienda añadir #Salida en color mediante variables de entorno a su ~/.bashrc o ~/.zshrc, ya que lo siguiente esta basado en export LESS=R

Cuando ejecuta un comando y redirige su salida estándar (stdout) a less para visualizarla (p.ej: pacman -Qe | less), puede encontrarse con que la salida ya no sale coloreada. Esto suele pasar porque el programa intentar detectar si su salida estándar es un terminal interactivo, en cuyo caso imprime el texto coloreado, en caso contrario no. Esto es un buen comportamiento cuando quiere redirigir la salida estándar a un fichero, p.ej: pacman -Qe > pkglst-backup.txt, pero menos indicado cuando quiere visualizar la salid con less.

Algunos programas proveen una opción para deshabilitar la detección de tty interactiva:

# dmesg --color=always | less

En el caso de que el programa no proporcione una opción similar, es posible engañarlo para que crea que la salida estándar es un terminal interactivo con las siguientes utilidades:

  • stdoutisatty — Un pequeño programa que captura la llamada a la función isatty .
https://github.com/lilydjwg/stdoutisatty. || stdoutisatty-gitAUR
Ejemplo: stdoutisatty program | less
  • socat — Un relevo para transferencia de datos bidireccional entre dos canales de datos independientes. Esta basado en el programa de GNU readline.
http://www.dest-unreach.org/socat/ || socat
Ejemplo: socat EXEC:"program",pty STDIO | less
  • script — Una utilidad que hace typescript de una sesión de terminal.
http://man7.org/linux/man-pages/man1/script.1.html || util-linux
Ejemplo: script -fqc "program" | less or [2]
  • unbuffer — Un script basado en sh y Tcl.
http://expect.sourceforge.net/example/unbuffer.man.html || expect
Ejemplo: unbuffer program | less

De forma alternativa, usando el módulo zpty de zsh: [3]

~/.zshrc
zmodload zsh/zpty

pty() {
	zpty pty-${UID} ${1+$@}
	if [[ ! -t 1 ]];then
		setopt local_traps
		trap '' INT
	fi
	zpty -r pty-${UID}
	zpty -d pty-${UID}
}

ptyless() {
	pty $@ | less
}

Uso:

$ ptyless program

Para redirigirlo a un visualizador (less en este ejemplo):

$ pty program | less

ls

ls (list) es un comando para lista fichero en sistemas operativos Unix y similares.

  • Salida coloreada puede ser habilitada con un simple alias. El fichero ~/.bashrc debería tener la siguiente entrada copiada de /etc/skel/.bashrc:
alias ls='ls --color=auto'

El siguiente paso mejorará aún más la salida coloreada de ls; por ejemplo, enlaces simbólicos rotos (huérfanos) se mostrarán en un tono rojo. Añada la siguiente línea a su archivo de configuración de la terminal:

eval $(dircolors -b)

mkdir

mkdir (make directory) es un comando para crear directorios.

  • Para crear un directorio y toda su jerarquía, es usado el argumento -p, de otra forma se monstraría un error. Como se supone que los usuario saben lo que quieren, el argumento -p puede usarse por defecto:
alias mkdir='mkdir -p -v'
El argumento -v hace que la salida sea más detallada.
  • Cambiar los permisos con chmod tras crear el directorio no es necesario pues la opción -m permite definir los permisos de acceso.
Sugerencia: Si tan solo quiere un directorio temporal, una mejor alternativa es mktemp (make termporary): mktemp -p.

mv

mv (move) es un comando para renombrar y mover ficheros y directorios.

  • Puede ser muy peligroso, por lo que se recomiendo limitar su ámbito:
alias mv=' timeout 8 mv -iv'
Este alias suspende mv tras ocho segundos, pide confirmación para borrar tres o más ficheros, lista las operaciones en curso y no almacena en el historial de la terminal si la terminal esta configurada para no almacenar aquellos comandos que empiezen por un espacio.

rm

rm (remove) es un comando que sirve para eliminar ficheros y directorios.

  • Puede ser muy peligroso, por lo que se recomiendo limitar su ámbito:
alias rm=' timeout 3 rm -Iv --one-file-system'
Este alias suspende rm tras 3 segundos, pide confirmación para borrar tres o más ficheros, lista las operaciones en curso, no involucra mñas de un sistema de ficheros y no almacena en el historial de la terminal si la terminal esta configurada para no almacenar aquellos comandos que empiezen por un espacio. Sustituya -I por -i si prefiere confirmación por cada fichero.
Usuarios de Zsh pueden querer poner noglob antes de timeout para evitar expansiones implicitas.
  • Para eliminar directorios vacíos, use rmdir, si el objetivo contiene ficheros fallará.

sed

sed (stream editor) es una utilidad de Unix que parsea y transforma texto

Aquí hay un puñado list de ejemplo de una línea de como usar sed muy útiles.

Sugerencia: Alternativas más potentes son AWK e incluso el lenguaje Perl.

seq

seq (sequence) es una utilidad para generar secuencias de números. Hay alternativas integradas en la shell disponibles, por lo que es una buena práctica usarlas como se explica en Wikipedia.

Véase también