Tutorial de Linux
Extraído de http://es.tldp.org/Tutoriales/CURSOLINUX/curso_linux/curso_linux.html
Comandos básicos
Los comandos son esencialmente los mismos que cualquier sistema UNIX. En la tablas
que se presentan a continuación se tiene la lista de comandos mas frecuentes.
Comando/Sintaxis
Descripción
Ejemplos
cat fich1 [...fichN]
Concatena y muestra un archivos
cat /etc/passwd
archivos
cat dict1 dict2 dict
cd [dir]
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 [-cilnv] expr
archivos
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 archivo(s) a un
directorio
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 la ruta del directorio
actual
Borra un fichero.
Pwd
rm foo.c
Borra un todo un directorio
Borra un directorio vacío
rm -rf prog_dir
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 [mmddhhmm]
[+form]
echo string
Muestra la hora y la fecha
Date
Escribe mensaje en la salida
estándar
echo ``Hola mundo''
finger usuario
Muestra información general sobre
un usuario en la red
finger
[email protected]
id
Número id de un usuario
kill [-señal] PID
Matar un proceso
man comando
Ayuda del comando especificado
id usuario
kill 1234
man gcc
man -k printer
passwd
ps -ux
passwd
ps [axiu]
who / rwho
Cambia la contraseña.
Muestra información sobre los
procesos que se están ejecutando en
el sistema
Muestra información de los usuarios
conectados al sistema.
who
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
mkdir
more
mv
rmdir
rm -r
cls
dir
Borra la pantalla.
Ver contenido de directorio.
md, mkdir Creación de subdirectorio.
more
move
Muestra un archivo pantalla por pantalla.
Mover un archivo o directorio.
rd, rmdir
Eliminación de subdirectorio.
deltree
Eliminación de subdirectorio y todo su contenido.
Equivalencia de comandos Linux/Unix y DOS
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
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
siguiente tabla . 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
AT&T Korn shell
Otros interpretes
csh
ksh
--
tcsh
pdksh, zsh
esh, gush, nwsh
Interpretes de comandos en Linux/Unix
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. .
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 siguiente 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:
export DISPLAY=localhost:0.0
setenv DISPLAY localhost:0.0
tcsh:
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 comunes:
alias md='mkdir'
Crearía un alias para el comando mkdir, similar al de DOS.
Dar nombres a comandos largos:
alias tbz2='tar -cv --use-compress-program=bzip2 -f'
Crearía un alias para el comando tar para que use el compresor bzip2 en lugar de
gzip.
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.
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.uniandes.edu.co
cd /pub/linux/utils
get *
quit
y se ejecuta el programa: ncftp < entrada .
Salida:
Se quiere saber los archivos que empiezan por i o I y almacenarlo en un archivo:
ls [iI]* > listado.txt
Es importante resaltar que el carácter de redirección de salida > destruirá el archivo al
cual apunta, si este existe, para ser reemplazado por uno nuevo con los resultados del
proceso. Si se desea anexar la información a uno ya existente debe usarse doble carácter
>>
Tuberías o pipes
En la línea de comandos la integración entre diferentes programas se realiza por medio de
la re-dirección de las entradas y salidas a través de pipes o tuberías.
Una tubería o pipe es una combi
Comentarios de: Tutorial de Linux (0)
No hay comentarios