Para los que conocen el manejo del sistema DOS (Disk Operating System - Sistema operativo de disco, el cual es un derivado del CP/M, Control Program/Monitor), y que por necesidades de su trabajo tienen que usar algún sistema operativo Unix, como es el GNU Linux, esta lista de comandos les servirá para ir conociendo algunas equivalencias con los comandos DOS y así como unos nuevos, que les servirá para el manejo del sistema.
1. Comandos básicos similares DOS y Unix
Cambiar de directorio (carpeta, ruta, path)
cd
Crear un directorio
md
Remover un directorio
rd
Remover un directorio con todo y archivos y carpetas dentro del mismo:
rm −R
Listar archivos de un directorio
dir ls (dir funciona como ls −l −color)
Copiar archivos
cp
Mover y renombrar archivos y carpetas
mv
Invocar al shell
bash, tcsh, zsh, etc. (En Unix hay varios shells, a diferencia del COMMAND.COM)
Ayuda sobre un comando
man
Limpiar la pantalla
clear
Comprimir archivos y carpetas
gunzip
Almacenar historial de archivos
No es requerido, todo lo que teclees se almacena automáticamente
Invocar la ayuda rápida de un comando en especial:
comando −−help.
Ver el contenido de un archivo de texto
cat
Editar el contenido de un archivo de texto
edit pico, vi, emacs, etc. (El pico es el más fácil de usar)
Mostrar y editar la fecha y hora
date (Imprime la fecha y hora). date −−set la define.
Comparar las discrepancias entre dos archivos de texto
cmp cmp,diff(Imprime las diferencias entre dos archivos)
Mostrar en la salida estándar una cadena de caracteres
echo Cadena de caracteres (Entrecomillado)
Enviar un pulso a otra máquina en la red
ping
Trazar la ruta a otra máquina en la red
traceroute
Ver las variables de ambiente
set
2. Comandos propios de Unix
Cambiar permisos de acceso a un fichero o folder.
chmod
Los permisos se especifican mediante tres números. El primero simboliza los permisos del propietario del archivo, el segundo los permisos del grupo al que pertenece el archivo, y los tres últimos son los permisos para todo el mundo. Si pasamos cada uno de estos números a binario, ocuparán tres bits. Los permisos se estructuran en tres tipos: Lectura(r), Escritura(w), y ejecución(x).
Cambiar al propietario de un archivo o directorio
chown
Cambiar grupo de trabajo de un archivo o directorio
chgrp
Cambiar a administrador del sistema desde cualquier usuario.
su
Ver los procesos que el sistema operativo está ejecutando, (incluye pid)
ps
Descargar un proceso en ejecución, o forzar a que termine:
kill
Si falla, kill −9
Reiniciar el sistema operativo y el equipo
reboot
Apagar el equipo
halt
Muestra los módulos cargados en memoria.
lsmod
Descarga de memoria un módulo, pero sólo si no está siendo usado.
rmmod
Carga en memoria un módulo.
insmod
Comprimir en formato gz
gzip
Para descomprimir un archivo en formato tgz (tar.gz)
gzip −cd Archivo.tar.gz | tar xvf − (Con guión al final)
Montar alguna unidad o dispositivo de datos (red/disquete/memoria usb, etc) al sistema:
mount /dev/
Sólo root puede ejecutar este comando, a no ser que se especifique otro usuario en el archivo /etc/fstab.
Desmontar la unidad
umount
Configurar el sistema operativo e instalar software:
YaST / yum / rug / zipp
Localizar un archivo de comandos
whereis
Localizar un archivo específico:
find
Localizar una cadena de texto en un archivo:
grep
Ordenar un texto:
sort
Detiene el desplazamiento de líneas de pantalla a pantalla
more
Cargar un archivo de texto para mostrarlo pantalla por pantalla
less
Compilar un módulo de un programa, con sus librerías:
make
Mostrar ruta del directorio actual
pwd
Imprimir encabezado de un archivo
head
Crear un enlace simbólico o físico a un archivo:
ln
ln −s /MisDocumentos/documento.txt texto
haría un enlace simbólico con nombre texto al archivo documento.txt.
Imprimir
lpr
Contabilizar las palabras de un archivo:
wc
Usuarios en línea en el equipo:
who
Arrancar programa de correo:
mail
3. Filtros y Manipulación de archivos
Redirección de salida(>)
Redirige la salida de un comando a un fichero.
ls > fichero.txt
Se creará un archivo fichero.txt. Si miramos su contenido (cat fichero.txt) veremos que contiene exactamente lo que veríamos al ejecutar el comando dir.
Redirección de entrada(<)
Dirige la entrada estándard de un comando desde un fichero.
Si hacemos: grep /root < fichero.txt
De existir una línea que contenga esa cadena en el archivo antes creado, fichero.txt se imprimirá en pantalla la línea completa. Si no, no devolverá nada.
Ejecución secuencial(;)
Ejecuta varios comandos dentro de una sola línea de comandos.
Ejemplo: mv archivo1 aux ; mv archivo2 archivo1; mv aux archivo1
Redirección de salida estándard de error(>&)
Si utilizamos un comando y salen varias pantallas con mensajes de error o si por ejemplo
dejamos trabajando nuestro terminal ejecutando varias órdenes y queremos al volver mirar si todo ha sido correcto, hacemos:
comando >& fichero.txt
Ejecución asíncrona(&)
Ejecuta en paralelo el/los comandos introducidos.
Ejemplo: make programa_enorme.c & make programa_enorme2.c &
Compilará los dos programas a la vez, y además nos dejará el shell libre para poder seguir ejecutando mandatos.
OR lógico( || )
Se ejecutan de forma secuencial los mandatos introducidos hasta que uno de ellos
devuelva un valor 0(verdadero)
Ejemplo: test −d archivo || lpr archivo
Sólo imprime el archivo si no es un directorio.
AND lógico (&&)
Se ejecutan de forma secuencial los mandatos introducidos hasta que uno de ellos devuelva un valor distinto de 0(falso).
Ejemplo: test −f archivo && lpr archivo
Imprime el fichero sólo si se trata de un fichero ordinario.
Tuberías(pipes)( | ): Se ejecutan los comandos de forma secuencial, pero redirigiéndose la salida de cada uno al siguiente comando.
Ejemplo1: dir | sort | less
Imprime la lista de los ficheros del directorio actual de trabajo ordenados alfabéticamente y línea a línea.
Ejemplo2: head −100 carta | grep Juan | sort | lpr
Imprime en orden alfabético las líneas que, estando entre las 100 primeras del archivo carta contengan la cadena de caracteres Juan.
Además el shell es una herramienta de programación muy versátil y completa. Proporciona una serie de mandatos compuestos que permiten escribir programas estructurados de forma condicional o incluso bucles (ciclos).
Entre estos mandatos están el if, case, until, while, for, etc. Además de la posibilidad de definir funciones de forma similar a la sintaxis de C, y variables. Esto permite hacer unos programas llamados Shell Scripts, que equivalen a los archivos .BAT de MS−DOS, pero con una sintaxis de programación mucho más completa.
Caracteres especiales:
La sintaxis de los shell de Linux permite definir los nombres de archivos con todo tipo de caracteres, pero hay una serie de caracteres especiales como el espacio, o símbolos como ( ; | > < ), etc. que no se pueden especificar así como así en un nombre de archivo. Para proteger estos caracteres se usan los caracteres (\), () y (`).Un ejemplo:
Si queremos borrar un archivo que se llama mio;tuyo nombre;>raro debemos poner:
rm mio\;tuyo\ nombre\;\>raro
o bién (mas cómodo):
rm mio;tuyo nombre;>raro
El carácter tilde(~) se usa en el shell de Linux para especificar el directorio HOME de cada usuario en vez de, por ejemplo: /home/Informática/Explotación/Manuelva/
Además para cambiar a nuestro directorio HOME basta con ejecutar cd sin argumentos.
Variables de entorno
En unix las variables de entorno son mas importantes que en MS−DOS. La principal razón es la variable PATH, que como todos sabemos contiene los directorios donde el shell debe buscar para encontrar cualquier comando xterno al shell. Esto es igual que en MS−DOS, pero en Linux toda la demás información que aparece con el comando set es usada continuamente por los diferentes programas.
Entre la información que aparece por allí, tenemos el shell(COMMAND.COM) que se usa por defecto, el nombre de usuario, el pid de nuestro propio shell, la configuración del servidor de ventanas, y un largo etcétera que será más o menos largo según los programas que usemos.
Para exportar nuevas variables primero se definen. Por ejemplo, si queremos que nuestro gestor de ventanas sea el KDE por defecto, simplemente haremos:
WINDOWMANAGER=/opt/kde/bin/startkde
Si ahora escribimos set en la línea de comandos, vemos que lo que hemos hecho no ha afectado a la variable de entorno WINDOWMANAGER. Para que el cambio tenga efecto, hay que exportarla al sistema; Esto se hace:
export WINDOWMANAGER
Si queremos que cualquiera de estas variables exista cada vez que entremos con nuestro usuario, habrá que añadirla al archivo .profile en nuestro directorio home.
Archivos importantes:
En Linux, como en MS−DOS o cualquier sistema operativo, existen una serie de archivos con información para mantener el sistema. Archivos como el AUTOEXEC.BAT o el CONFIG.SYS, el IO.SYS, etc. contienen la forma de configurar el arranque de nuestro ordenador, o hasta de algún programa, como el WIN.INI, etc...
A continuación se hace un breve resumen de estos archivos en Linux:
En cada directorio personal: /home/Usuario/
.xinitrc: Archivo de inicio del entorno de ventanas. Es propio de cada usuario.
.profile: Es el equivalente al AUTOEXEC.BAT de MS−DOS, pero con la particularidad de que en Linux este archivo es diferente para cada usuario. Se trata de un shell script, y hay que crearlo a mano, pues no se crea por defecto.
.bash_history: Es un archivo de seguridad en el que se graba cada comando que ejecuta un usuario durante varias sesiones seguidas.
En el directorio de configuración: /etc/
profile: Es el equivalente al AUTOEXEC.BAT; se ejecuta al arrancar.
fstab: Archivo que contiene el montaje de los dispositivos, los puntos de montaje, opciones de automontaje en el arranque, permisos, etc.
lilo.conf: Archivo de configuración del cargador del sistema operativo lilo(Linux loader), encargado del arranque de Linux y los demás s.s.o.o.
resolv.conf: Archivo de configuración de la resolución de nombres de red.
hosts: Archivo de configuración de redes(Ver documento adjunto).
En otros directorios:
/var/adm/backup: Cada vez que se hacen cambios en el sistema, se nos da la posibilidad de guardar una copia de seguridad de todos los archivos susceptibles de variar. Aquí se guardan dichos cambios en formato tar.gz
/opt/: Aquí se guardan los programas considerados opcionales, como son el navegador Netscape, o el entorno de ventanas KDE.
/vmlinuz: Es el núcleo del sistema operativo. Puede llamarse de otra forma.
/mnt/: Aquí se suelen montar las particiones o dispositivos que tenga el sistema.
/usr/doc/Howto: Múltiples ayudas catalogadas por temas.
/usr/doc/packages: Conjunto de README, y documentos varios para cada paquete instalado, en formato texto, postscript, html, etc.
En el directorio /proc:
Si miramos el contenido de cualquiera de estos archivos( cat
devices: Información sobre los dispositivos que el sistema reconoce.
ioports: Info. sobre las direcciones de entrada/salida de los dispositivos.
interrupts: Info. sobre las interrupciones usadas por el sistema.
dma: Info. sobre los canales de acceso directo a memoria del sistema.
En el directorio de los dispositivos: ( /dev)
hda: Disco primario maestro.
hdb: Disco primario esclavo.
hdc: Disco secundario maestro.
hdd: Disco secundario esclavo.
fd0: Disquetera.
mouse: Contiene un enlace al puerto del ratón(tty0, psaux, etc)
modem: Enlace al puerto del módem(tty0, tty1, etc)
lpd: Impresora.
fb0: Frame buffer device. Es un dispositivo que controla la tarjeta gráfica a bajo nivel, sin necesidad de entorno gráfico.
Comandos de Unix, para usuarios de MS-DOS
Suscribirse a:
Comentarios de la entrada (Atom)
No hay comentarios.:
Publicar un comentario