Linea de Comandos Linux
Linea de Comandos Linux
Linea de Comandos Linux
Extraido de http://es.tldp.org/Tutoriales/CURSOLINUX/curso_linux/curso_linux.html
Comandos basicos
Los comandos son esencialmente los mismos que cualquier sistema UNIX. En la tablas
que se presentan a continuation se tiene la lista de comandos mas frecuentes.
Comando/Sintaxis Description
catfichl [...fichN] Concatena y muestra un archivos
archivos
cd [dir] Cambia de directorio
chmod permisos fich Cambia los permisos de un archivo
Comando/Sintaxis Description
at [-/r] hora [fecha ] Ejecuta un comando mas tarde
cal [[mes] ano] Muestra un calendario del mes/ano
date [mmddhhmm]
Muestra la hora y la fecha
[+form]
echo string Escribe mensaje en la salida estandar
finger usuario Muestra information general sobre un usuario en la red
id Numero id de un usuario
kill [-sena/] PID Matar un proceso
man comando Ayuda del comando especificado
passwd Cambia la contrasena.
Muestra information sobre los procesos que se estan ejecutando en el
ps [axiu]
sistema
who / rwho Muestra information de los usuarios conectados al sistema.
Linux DOS
t
cat ype
cd, chdir cd, chdir
chmod attrib
clear cls
ls dir
mkdir md, mkdir
more more
mv move
rmdir rd, rmdir
rm -r deltree
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
termino de la linea de comandos. Por ejemplo, si se quisiera copiar el directorio
/usr/src/linux al directorio /tmp :
Cuando se quiere que el comando sea de varias lineas, se separa cada linea con el caracter
barra invertida (\). Ademas, cuando se quiere ejecutar varios comandos en la misma
linea, los separa conpuntoy coma (;). Por ejemplo:
Variables de entorno
Dependiendo de la variable, su utilidad puede ser distinta. Algunas son utiles 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 mas usuales.
Variable Descripcion
DISPLAY Donde aparecen la salidas de X-Windows.
HOME Directorio personal.
HOSTNAME Nombre de la maquina.
MAIL Archivo de correo.
PATH Lista de directorios donde buscar los programas.
PS1 Prompt.
SHELL Interprete de comandos por defecto.
TERM Tipo de terminal.
USER Nombre del usuario.
bash:
export VARIABLE=Valor
tcsh:
bash:
export DISPLAY=localhost:0.0
tcsh:
Alias
alias md='mkdir'
Crearia un alias para el comando tar para que use el compresor bzip2 en lugar de
g zi P.
Redireccionamiento de E/S
La filosofia de Linux/Unix es en extremo modular. Se prefieren las herramientas
pequenas 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 estandar (teclado) y dos salidas: la
salida estandar (pantalla) y la salida de error (pantalla). En ellos se puede sustituir la
entrada y salidas estandar 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 automatica. Para ello se va
a utilizar el programa ncftp con unas determinadas instrucciones preestablecidas.
open linuxcol.uniandes.edu.co
cd /pub/linux/utils
get *
quit
Salida:
>>
Tuberfas o pipes
Dentro de esta estructura se han construido una serie de programas conocidos como
“filtros” los cuales realizan procesos basicos sobre textos
Filtros Funcion
sort Ordena las lineas de un texto
cut Corta secciones de una linea
od Convierte archivos a forma octal u otras
paste Une lineas de diferentes archivos
tac Concatena e imprime archivos invertidos
tr Traduce o borra caracteres
uniq Remueve lineas repetidas
wc Cuenta bytes, palabras y lineas
Algunos filtros han llegado a ser tan complejos que son en si, un lenguaje de
procesamiento de texto, de busqueda de patrones, de construction de scripts, y muchas
otras posibilidades. Estas herramientas pasan a ser parte de la siguiente section. Entre
Programacion shell
La programacion del shell es una de las herramientas mas apreciadas por todos los
administradores y muchos usuarios de Linux/Unix ya que permite automatizar tareas
complejas, comandos repetitivos y ejecutarlas con un solo llamado al script o hacerlo
automaticamente a horas escogidas sin intervention de personas.
• if list then list [ elif list then list ]\ldots [ else list ] fi
Se crea un archivo texto con cualquier nombre, por ejemplo mibackup que contenga las
instrucciones que se desea ejecutar.
#!/bin/sh
fecha='date +%Y%m%d'
echo "-----------Comprimiendo-----
bzip2 backup$fecha.tar
#
cp ./backup$fecha.tar /mnt/zipdrive
#
echo "-----------Limpiando--------
rm -f ./backup$fecha.tar
#
chmod +x mibackup
Re-utilizacion de comandos
El shell almacena una historia de los comandos que el usuario ha escrito. Por medio de
esta historia es posible volver a ejecutar una orden que ya se ha escrito anteriormente sin
tener que escribirla de nuevo.
El comando history muestra la secuencia de comandos, con un numero a su izquierda.
Con este numero es posible llamar de nuevo el comando utilizando el caracter admiracion
''!''; Por ejemplo history retorna
1 history
2 ls
3 cd public html
4 ls
5 rm *.bak
6 history
y para ejecutar nuevamente el comando rm *.bak solo es necesario escribir !5. Tambien
se puede pedir el ultimo ''rm'' que se ha ejecutado escribiendo !rm.
El ultimo comando se repite con doble admiracion ''!!''. Es posible tambien editar el
ultimo comando utilizando el caracter ''A" pero este conocimiento se esta volviendo poco
util, ya que los nuevos shells permiten viajar por la ''historia'' y editar los comandos
usando unicamente las flechas del teclado.
Archivos de bash
Cada shell posee ciertos archivos donde mantiene su configuracion. Estos tiene una
jerarquia que va desde el archivo general de configuracion del sistema para todos los
shells, pasando por el archivo propio del shell, hasta los archivos personales del usuario.
Archivo Description
/bin/bash Ejecutable bash.
/etc/profile Archivo de initialization utilizado por los shells.
/.bash_profile Archivo(s) de inicializacion personal
/.profile utilizado por los shells
/.bash_login Ejecuta cuando entra al shell
/.bash_logout Ejecuta cuando sale del shell
/.bashrc Archivo personal de inicializacion del shell.
/.inputrc Archivo de inicializacion individual.
Archivos de bash
Las nuevas versiones de Linux (incluido Red Hat) siguen el estandar FSSTND (Linux
Filesystem Standard) el cual estipula los nombres, la ubicacion y la funcion de la mayoria
de los directorios y los archivos del sistema.
Directorio Description
/ Raiz (root), forma la base del sistema de archivos.
/boot Archivos del kernel (compilados).
/bin Archivos ejecutables esenciales para todos los usuarios.
/dev Archivos de dispositivos.
/etc Archivos de configuration.
/etc/rc.d Archivos de initialization (Red Hat).
/home Generalmente, directorios de los usuarios.
/home/ftp Contenido del servidor FTP.
/home/httpd Contenido del servidor WWW.
/lib Librerias esenciales y modulos del kernel.
/mnt Directorios donde ''montar'' diversos dispositivos temporalmente.
/mnt/cdrom Directorio donde se ''monta'' el CD-ROM.
/mnt/floppy Directorio donde se ''monta'' el disquete.
/proc Information sobre partes del sistema.
/root Directorio del usuario principal del sistema.
/sbin Archivos ejecutables para tareas de administration.
/tmp Temporal.
/usr Programas, documentation, fuentes,...compartidos por todo el sistema
/var Archivos variables del sistema, bitacoras, temporales,...
Directorio Descripcion
/usr/X11R6 Paquete XFree86 (X-Windows) Release 6.
/usr/bin Archivos ejecutables para usuarios.
/usr/dict Listados de palabras (diccionarios).
/usr/doc Documentation.
/usr/doc/FAQ F.A.Q. (o P.U.F.).
/usr/doc/HOWTO HOWTO's.
/usr/etc Archivos de configuration del sistema.
/usr/games Juegos.
/usr/include Archivos de encabezado.
/usr/info Sistema de information GNU info.
/usr/lib Librerias
/usr/local Jerarquia de archivos locales.
/usr/man Manuales.
/usr/sbin Archivos ejecutables de administration no vitales.
/usr/share Datos independientes de la arquitectura.
/usr/src Codigo fuente.
/usr/src/linux Codigo fuente del kernel de Linux.
Subdirectories de usr
Subdirectories de var
Permisos
Linux, como cualquier sistema Unix, es multiusuario, por lo que, los permisos de los
archivos estan orientados a dicho sistema. Los permisos de cualquier archivo tienen tres
partes: permisos del propietario, permisos del grupo y permisos del resto. Asi, se ve que
un archivo pertenece a un determinado propietario y a un determinado grupo y,
dependiendo de los permisos que tenga asociado dicho archivo, se podra tener acceso a el
o no
Los permisos son de lectura (r), escritura (w) y ejecucion (x). Estos se definen mediante
letras (parecido al comando attrib de DOS). Con el signo + anadimos un permiso y con el
signo - se lo quitamos. Ademas, los permisos pueden ser generales o no, es decir, si se
pone seria permiso de ejecucion a todos, sin embargo, si se pone solo el propietario
podria ejecutarlo. De este modo, se tiene: para propietario, para grupo y para el resto.
Ejemplo: Se tiene una serie de archivos despues de listar con ls -l el cual muestra el
propietario (skina), el grupo (users) y los permisos de izquierda a derecha: propietario,
grupo y el resto.
[]$ ls -l
-rw-r--r-- 1
-rw-r--r-- 1
-rw-r--r-- 1
-rw-r--r-- 1
drwxr-xr-x 2
-rw-r--r-- 1
-rw-r--r-- 1
drwxr-xr-x 2
drwxr-xr-x 3
-rw-r--r-- 1
-rw-r--r-- 1
-rw-r--r-- 1
Estos permisos llevan ''asociado'' un numero: el cuatro para lectura, el dos para la
escritura y el uno para la ejecucion. De esta manera, un archivo tiene tres numeros
asignados: propietario, grupo y resto. Por ejemplo, si tenemos un fichero con los
permisos 644 corresponderia a: el propietario puede leer/escribir, el grupo solo puede leer
y el resto solo puede leer. Vemos que, para asignar lectura y escritura, basta con sumar
lectura(4)+escritura(2).
El comando para modificar los permisos es chmod y tiene la siguiente sintaxis: chmod
permisos archivo(s). Por ejemplo se desea que todos las personas puedan ver escribir
sobre el archivo creditos.tex, entonces
o su equivalente en numeros
“montar”
Tipo Descripcion
ext2 Sistema de archivos de Linux.
msdos Sistema de archivos de DOS.
vfat Sistema de archivos de Windows 9X (nombres largos).
iso9660 Sistema de archivos de CD-ROM.
nfs Sistema de archivos compartido por red (''exportado'').
“desmontar”
donde: sistema archivos puede ser cualquiera de los que aparece en la tabla anterior;
dispositivo puede ser cualquier dispositivo del directorio /dev o, en el caso de nfs, un
directorio de otro ordenador; directorio es el directorio donde estara el contenido del
dispositivo y opciones pueden ser cualquiera de la tabla de opciones, en el caso de no
poner ninguna opcion, mount utilizara las opciones por defecto. Una vez “montado” el
dispositivo, si no se va a volver utilizar se puede “desmontarlo” con el comando umount
con la siguiente sintaxis:
# umount directorio
de que, un lector de CD-ROM, que haya sido “montado”, no se abrira hasta que no se
“desmonte”.
Opcion Descripcion
rw Lectura/escritura.
ro Solo lectura.
exec Se permite ejecucion.
user Los usuarios pueden '' montar7''desmontar".
suid Tiene efecto los identificadores de propietario y del grupo.
auto Se puede montar automaticamente.
async Modo asincrono.
sync Modo sincrono.
dev Supone que es un dispositivo de caracteres o bloques.
1. Disquete de DOS:
3. CD-ROM:
Archivo /etc/fstab
El archivo /etc/fstab contiene lineas donde se indica que dispositivo debe “montar”, el
lugar donde “montarlo”, asi como el sistema de archivos y las opciones (en este archivo,
se pueden poner dos opciones mas: auto y noauto , que indican si se debe “montar”
automaticamente al arrancar el sistema o no, respectivamente).
# Dispositivo Directorio
/dev/hdal /
/dev/hda2 /home
/dev/hda3 /tmp
/dev/hda4 none
none /proc
/dev/fd0 /mnt/floppy
/dev/fd0 /mnt/msdos
/dev/cdrom /mnt/cdrom
/dev/sda4 /mnt/iomegazip
host2:/tmp /mnt/host2
$ mount /mnt/msdos+
$ umount /mnt/msdos+
Uso de mtools
El hecho de tener que “montar” y “desmontar” puede ser un poco engorroso a la hora de
utilizar determinados dispositivos (comunmente, la disquetera). Por ello, se dispone de
las herramientas mtools. Dichas herramientas, utilizan los dispositivos sin tener que
“montar” y “desmontar”; y su sintaxis es parecida a la de los programas de DOS.
Comando Descripcion
mdir Muestra el contenido del dispositivo dir.
mcopy Copia archivos copy.
mdel Borra archivos del.
mformat Formatea la unidad format.
mcd Cambia de directorio cd.
mmd Crea un directorio md.
mrd Borra un directorio rd.
Herramientas mtools
Ejemplos
cat /etc/passwd
cat dictl dict2 dict
cd /tmp
chmod +x miscript
ls -l /usr/bin
Pwd
rm foo.c
rm -rf prog dir
rmdir prog_dir
tail progl.c
vi .profile
Ejemplos
at 6pm Friday miscript
cal 1 2025
Date
echo ''Hola mundo''
finger nn@maquina.aca.com.co
id usuario
kill 1234
man gcc man -k printer
passwd
ps -ux
who
Significado
Ver contenido de un archivo.
Cambio el directorio en curso.
Cambia los atributos.
Borra la pantalla.
Ver contenido de directorio.
Creacion de subdirectorio.
Muestra un archivo pantalla por pantalla.
Mover un archivo o directorio.
Eliminacion de subdirectorio.
Eliminacion de subdirectorio y todo su contenido.
Clones libres
ash, bash, bash2
tcsh
pdksh, zsh
esh, gush, nwsh
skina users 17680 Nov 29 16:52
skina users 2573 Nov 30 19:52
skina users 1562 Nov 29 13:47
skina users 461 Oct 24 21:43
skina users 1024 Nov 23 01:02
skina users 949 Nov 30 19:26
skina users 550 Nov 30 19:48
skina users 3072 Nov 30 22:55
skina users 1024 Nov 30 00:09
skina users 61566 Oct 26 22:29
skina users 53227 Nov 23 01:08
skina users 3864 Nov 30 19:56
FS Opciones
ext2 defaults 1 1
ext2 defaults l 2
ext2 defaults,noexec
swap defaults
proc defaults
ext2 noauto,user,noexec, rw
vfat noauto,user,noexec, rw
iso9660 noauto,user,noexec, ro
vfat noauto,user,noexec, rw
nfs defaults
GNU-GPL.tex
Makefile
autorizacion.txt
biblio.tex
bin/
creditos.tex
curso linux.tex
images/
install/
lista paquetes mdk.tex
lista paquetes rh.tex
parte1.tex