jueves, 28 de marzo de 2013

Comandos de Linux


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