Comandos internos de Bash
Un comando interno de bash es un comando que
bash implementa y que ejecuta sin llamar a comandos externos. Por ejemplo, echo
es un comando interno de bash y cuando se llama desde un script no se
ejecuta el fichero /bin/echo.
Esta es una lista de algunos de los comandos
internos más utilizados:
echo
Envía una cadena a la
salida estándar, normalmente la consola o una tubería.
read
Lee una cadena de la
entrada estándar y la asigna a una variable:
|
echo
-n "Introduzca un valor para var1: "
read
var1
echo
"var1 = $var1"
|
cd
Cambia de directorio
pwd
Devuelve el nombre del
directorio actual, equivale a leer el valor de la variable $PWD.
pushd popd dirs
pushd apila un directorio en la pila de directorios. popd
lo desapila y cambia a ese directorio. dirs muestra el contenido de la
pila. Estos comandos son muy útiles cuando un script tiene que navegar por un
arbol de directorios.
let
Realiza operaciones
aritméticas:
|
let
a=$b+7
|
export
Hace que el valor de una
variable esté disponible para todos los procesos hijos de la shell.
. source
Estos dos comandos hacen
que la shell cargue otro fichero. Es equivalente a #include en C/C++.
exit
Finaliza la ejecución del
script, recibe como argumento un entero que será el valor de retorno del
script.
ps
Ofrece un listado de los
procesos que hay corriendo en la máquina, con diversa información sobre los
mismos.
fg
Devuelve un proceso que
estaba ejecutándose en segundo plano al primer plano.
wait
Detiene la ejecución
hasta que los procesos que hay en segundo plano terminan.
kill
Envía una señal a un proceso,
normalmente para terminarlo.
Comandos y filtros externos
En los scripts de shell es muy comúm hacer un uso
extensivo de un conjunto de filtros y comandos externos que realizan tareas
específicas con una enorme potencia. Muchos de estos comandos son filtros de
texto que reciben un flujo de texto (normalmente por la entrada estándar) y lo
modifican de alguna forma, devolviendo el flujo modificado a la salida
estándar.
Comandos comunes
ls
Lista los contenidos de
un directorio.
cat
Imprime los contenidos de
un fichero en la salida estándar. Se suele combinar con redirecciones para
filtrar los contenidos. tac (cat al revés) imprime los contenidos
en orden inverso.
cp
Copia un fichero, grupo
de ficheros o directorios.
mv
Mueve un fichero,
ficheros o directorio a otra ruta.
rm
Elimina un fichero o
ficheros.
mkdir
Crea un directorio.
rmdir
Elimina un directorio.
chmod
Cambia los permisos de un
directorio.
ln
Crea un enlace a un
fichero o directorio.
find
Busca ficheros según su
nombre dentro de un arbol de directorios.
Filtros de texto
sort
Ordena el las línas de
texto por orden ascendente o descendente.
uniq
Elimina las lineas
repetidas.
expand
Convierte los tabs en
espacios.
unexpand
Convierte los espacios en
tabs.
cut
Extrae campos de las
lineas.
colrm
Elimina columnas de las
lineas.
paste
Junta los ficheros por
columnas.
head
Imprime sólo las primeras
líneas de la entrada.
tail
Imprime sólo las últimas
líneas de la entrada.
grep
Imprime sólo las líneas
que coincidan con cierto patrón, el patrón puede ser una simple cadena o una
expresión regular.
Comandos que trabajan con ficheros
tar
Archiva grupos de
ficheros en uno solo. Se suele combinar con gzip o bzip2 para crear
paquetes comprimidos de varios ficheros.
gzip gunzip
Comprimen y descomprimen
ficheros.
bzip2 bunzip2
Comprimen y descomprimen
ficheros.
strings
Busca cadenas dentro de
ficheros binarios.
basename
Devuelve el nombre de un
fichero por sí sólo, sin información sobre su ruta.
dirname
Devuelve la ruta de un
fichero, quitando su nombre y dejando solamente el directorio.
install
Copia un fichero,
permitiendo especificar permisos y dueño del mismo. Útil para instalar
software.
No hay comentarios:
Publicar un comentario