Tutorial de Linux
1 Comandos de Linux
1.1 Comandos básicos
Los comandos son esencialmente los mismos que cualquier sistema UNIX. En la tablas 1
y 2 se tiene la lista de comandos mas frecuentes. En la tabla 3 se tiene una lista de
equivalencias entre comandos Unix/Linux y comandos DOS.
Comando/Sintaxis
Descripción
Ejemplos
cat fich1 [...fichN]
Concatena y muestra un archivos
cat /etc/passwd
cd [dir]
archivos
cat dict1 dict2 dict
Cambia de directorio
cd /tmp
chmod permisos fich
Cambia los permisos de un archivo chmod +x miscript
chown usuario:grupo fich Cambia el dueño un archivo
chown nobody miscript
cp fich1...fichN dir
Copia archivos
cp foo foo.backup
diff [-e]arch1 arch2
Encuentra diferencia entre archivos diff foo.c newfoo.c
du [-sabr] fich
Reporta el tamaño del directorio
du -s /home/
file arch
Muestra el tipo de un archivo
file arc_desconocido
find dir test acción
Encuentra archivos.
find . -name ‘‘.bak’’ -
print
grep
archivos
[-cilnv]
expr
Busca patrones en archivos
grep mike /etc/passwd
head -count fich
Muestra el inicio de un archivo
head prog1.c
mkdir dir
Crea un directorio.
mkdir temp
mv fich1 ...fichN dir
Mueve un
directorio
archivo(s)
a un
mv a.out prog1
mv fich1 fich2
Renombra un archivo.
mv .c prog_dir
less / more fich(s)
Visualiza página a página un
archivo.
more muy_largo.c
less acepta comandos vi.
less muy_largo.c
ln [-s] fich acceso
Crea un acceso directo a un
archivo
ln -s /users/mike/.profile
.
ls
pwd
rm fich
rm -r dir
rmdir dir
Lista el contenido del directorio
ls -l /usr/bin
Muestra
actual
la ruta del directorio
Borra un fichero.
pwd
rm foo.c
Borra un todo un directorio
rm -rf prog_dir
Borra un directorio vacío
rmdir prog_dir
tail -count fich
Muestra el final de un archivo
tail prog1.c
vi fich
Edita un archivo.
vi .profile
Comandos Linux/Unix de manipulación de archivos y directorios
Comando/Sintaxis
Descripción
Ejemplos
at [-lr] hora [fecha]
Ejecuta un comando mas tarde at 6pm Friday miscript
cal [[mes] año]
Muestra un calendario del
mes/año
cal 1 2025
date
[+form]
[mmddhhmm]
Muestra la hora y la fecha
date
Escribe mensaje en la salida
estándar
echo ``Hola mundo''
Muestra
sobre
información general
finger
[email protected]
un usuario en la red
Número id de un usuario
id usuario
kill 1234
echo string
finger usuario
id
kill [-señal] PID
Matar un proceso
man comando
Ayuda
especificado
del
comando
man gcc
passwd
ps [axiu]
who / rwho
man -k printer
Cambia la contraseña.
passwd
Muestra información sobre los
procesos
ps -ux
que se están ejecutando en el
sistema
ps -ef
Muestra
usuarios
información de
los
who
conectados al sistema.
Comandos Linux/Unix más frecuentes
Linux DOS
Significado
cat
type
Ver contenido de un archivo.
cd, chdir cd, chdir Cambio el directorio en curso.
chmod
attrib
Cambia los atributos.
clear
ls
cls
dir
Borra la pantalla.
Ver contenido de directorio.
mkdir md, mkdir Creación de subdirectorio.
more
mv
more
move
Muestra un archivo pantalla por pantalla.
Mover un archivo o directorio.
rmdir
rd, rmdir Eliminación de subdirectorio.
rm -r
deltree
Eliminación de subdirectorio y todo su contenido.
Equivalencia de comandos Linux/Unix y DOS
1.2 Comandos en background
Linux, como cualquier sistema Unix, puede ejecutar varias tareas al mismo tiempo. En
sistemas monoprocesador, se asigna un determinado tiempo a cada tarea de manera que,
al usuario, le parece que se ejecutan al mismo tiempo.
Para ejecutar un programa en background, basta con poner el signo ampersand (&) al
término de la línea de comandos. Por ejemplo, si se quisiera copiar el directorio
/usr/src/linux al directorio /tmp:
#cp -r /usr/src/linux /tmp &
#
Cuando ha terminado la ejecución del programa, el sistema lo reporta mediante un
mensaje:
#
[Done] cp -r /usr/src/linux /tmp
#
Si se hubiese ejecutado el programa y no se hubiese puesto el ampersand, se podría
pasarlo a background de la siguiente manera:
1. Se suspende la ejecución del programa, pulsando Ctrl+Z.
2. Se ejecutamos la siguiente orden: bg
1.3 Interprete de comandos: Shell
El interprete de comandos es el programa que recibe lo que se escribe en la terminal y lo
convierte en instrucciones para el sistema operativo.
En otras palabras el objetivo de cualquier intérprete de comandos es ejecutar los
programas que el usuario teclea en el prompt del mismo. El prompt es una indicación que
muestra el intérprete para anunciar que espera una orden del usuario. Cuando el usuario
escribe una orden, el intérprete ejecuta dicha orden. En dicha orden, puede haber
programas internos o externos: Los programas internos son aquellos que vienen
incorporados en el propio intérprete, mientras que los externos son programas separados
(ej: aplicaciones de /bin,/usr/bin,...).
En el mundo Linux/Unix existen tres grandes familias de Shells como se muestra en la
tabla a continuacion. Estas se diferencian entre sí básicamente en la sintaxis de sus
comandos y en la interacción con el usuario.
Tipo de Shell
Shell estándar Clones libres
AT&T Bourne shell sh
ash, bash, bash2
Berkeley "C" shell
csh
tcsh
AT&T Korn shell
ksh
pdksh, zsh
Otros interpretes
--
esh, gush, nwsh
Interpretes de comandos en Linux/Unix
1.3.1 Sintaxis de los comandos
Los comandos tienen la siguiente sintaxis:
# programa arg1 arg2 ... argn
Se observa que, en la ``línea de comandos'', se introduce el programa seguido de uno o
varios argumentos. Así, el intérprete ejecutará el programa con las opciones que se hayan
escrito.
Cuando se quiere que el comando sea de varias líneas, se separa cada línea con el carácter
barra invertida (). Además, cuando se quiere ejecutar varios comandos en la misma línea,
los separa con punto y coma (;). Por ejemplo:
# make modules ; make modules_install
En los comandos, también se puede utilizar los comodines:
• El asterisco () es equivalente a uno o más caracteres en el nombre de un archivo.
Ejm: ls *.c lista todos los archivos con extensión c.
• El signo de interrogación (?) es equivalente a un único carácter. Ejm: ls
curso.te? lista el archivo curso.tex completando el último carácter.
• Un conjunto de caracteres entre corchetes es equivalente a cualquier carácter del
conjunto. Ejm: ls curso_linux.t[aeiou]x lista curso_linux.tex seleccionando
la e del conjunto. .
1.3.2 Variables de entorno
Una variable de entorno es un nombre asociado a una cadena de caracteres.
Dependiendo de la variable, su utilidad puede ser distinta. Algunas son útiles para no
tener que escribir muchas opciones al ejecutar un programa, otras las utiliza el propio
shell (PATH, PS1,...). La tabla muestra la lista de variables más usuales.
Variable
Descripción
DISPLAY
Donde aparecen la salidas de X-Windows.
HOME
Directorio personal.
HOSTNAME Nombre de la máquina.
MAIL
PATH
PS1
SHELL
TERM
USER
Archivo de correo.
Lista de directorios donde buscar los programas.
Prompt.
Intérprete de comandos por defecto.
Tipo de terminal.
Nombre del usuario.
Variables de entorno más usuales
La forma de definir una variable de entorno cambia con el interprete de comandos, se
muestra tcsh y bash siendo los dos mas populares en el ámbito Linux:
bash:
tcsh:
export VARIABLE=Valor
setenv VARIABLE Valor
Por ejemplo, para definir el valor de la variable DISPLAY:
bash:
tcsh:
export DISPLAY=localhost:0.0
setenv DISPLAY localhost:0.0
1.3.3 Alias
Un ``alias'' es un nombre alternativo para un comando. Así, en lugar de escribir el
comando propiamente dicho, escribiríamos el alias de dicho comando.
Un alias se puede definir por varios motivos, por ejemplo:
• Dar
nombres
familiares
a
comandos
alias
Crearía un alias para el comando mkdir, similar al de DOS.
comunes:
md=’mkdir’
nombres
tbz2=’tar
-cv
• Dar
largos:
-f’
alias
Crearía un alias para el comando tar para que use el compresor bzip2 en lugar de
gzip.
a
--use-compress-program=bzip2
comandos
Para no tener que escribir todos los alias siempre que entremos al sistema, escribiríamos
dicho alias en el archivo /.bash_profile
1.3.4 Redireccionamiento de E/S
La filosofía de Linux/Unix es en extremo modular. Se prefieren las herramientas
pequeñas con tareas puntuales a las meta-herramientas que realizan todo. Para hacer el
modelo completo es necesario proveer el medio para ensamblar estas herramientas en
estructuras mas complejas. Esto se realiza por medio del redireccionamiento de las
entradas y las salidas.
Redirección de Entrada y Salidas fig_redirect width=5cmimages/standard_io.eps
Todos los programas tiene por por defecto una entrada estándar (teclado) y dos salidas: la
salida estándar (pantalla) y la salida de error (pantalla). En ellos se puede sustituir la
entrada y salidas estándar por otro dispositivo utilizando los caracteres ``'' y ``'', es decir,
hacer que se lea un archivo que contenga las opciones a ejecutar y un archivo de salida,
respectivamente. Por ejemplo:
Entrada:
Se desea realizar una transferencia de archivos por ftp automática. Para ello se va
a utilizar el programa ncftp con unas determinadas instrucciones preestablecidas.
Se crea un archivo entrada con dichas instrucciones:
open linuxcol.uniand
Comentarios de: Tutorial de Linux (0)
No hay comentarios