Documentos de Académico
Documentos de Profesional
Documentos de Cultura
U.D. 14
COMANDOS BÁSICOS DE LINUX
I.E.S. COMERCIO
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux
ÍNDICE
1. INTRODUCCIÓN 3
2. FORMAS GENERALES DE OBTENER AYUDA EN LINUX.5
3. RUTAS ABSOLUTAS Y RELATIVAS 6
4. COMANDOS BÁSICOS 7
4.1. Comandos para manipular ficheros y directorios .................................................................7
5.2. Metacaracteres.........................................................................................................................17
2
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux
1. INTRODUCCIÓN
Para manejar GNU/Linux se puede hacer de dos formas: una gráfica (si se instaló una interfaz
X) y una de texto conocida como consola o terminal.
Linux ofrece el mecanismo de consolas o terminales virtuales. Esto consiste en que a partir de
una entrada (el teclado) y con una salida (el monitor) se simulen varias terminales, donde el
mismo, o distintos usuarios puedan conectarse indistintamente. De esta forma es posible tener
más de una sesión abierta en la misma máquina y trabajar en ellas.
Por defecto, las consolas desde la uno a la seis tienen asociado un programa que permite
conectarse al sistema en modo texto, mientras que la siete, si se instaló y activó el “modo
gráfico”, constituye una consola gráfica.
El cambio de una consola a otra se realiza a través de la combinación de teclas Alt y Fx (las
teclas de Función), donde x varía entre 1 y 12.
Desde una consola gráfica para cambiar a otro tipo texto se debe además presionar la tecla
Ctrl, pues las combinaciones Alt + Fx son capturadas e interpretadas por las aplicaciones
gráficas de otra forma.
Si nos remitimos a una consola texto podremos apreciar que en ella se mostrará, el nombre
que se le asignó al sistema en la instalación y la palabra login. Aquí puede entrarse el login de
un usuario del sistema.
(Luego se pedirá el password que al ser introducido no se muestra ningún eco en la pantalla.
Si ambos son válidos se establecerá la conexión y se
mostrará el prompt:
usuario@maquina:~$
Del prompt podemos obtener la siguiente información:
3
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux
Ejemplos:
ash: A shell
csh: C shell
De los mencionados anteriormente bash es el más empleado en Linux. Es uno de los más
desarrollados y está adaptado para múltiples plataformas. Ofrece entre otras posibilidades las
siguientes:
Historial de comandos. Esta es una facilidad de muchos otros shells que permite el
movimiento a través de los últimos N comandos ejecutados, en la sesión actual o en
las anteriores. N por defecto es 1000, pero puede modificarse. Para moverse arriba y
abajo se suelen utilizar los cursores.
4
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux
1. Muchos comandos poseen una opción para mostrar una ayuda breve acerca de su
utilización. Esta opción usualmente es --help ó -?.
Se añade el parámetro - - help tras cualquier comando, para así obtener la ayuda de dicho
comando.
Ej : $ ls --help
Ejemplo: $ info ln
6. En Internet de forma general existen una gran cantidad de grupos de noticias, listas de
discusión, sitios Web y FTP sobre Linux.
5
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux
Una ruta absoluta es aquella que parte del directorio raíz. Las rutas absolutas son
válidas, en cualquier caso. Si establecemos como ejemplo paralelo la dirección de la
vivienda, la dirección absoluta incluye la calle y el número de la vivienda, de forma
única e independiente.
Una ruta relativa es una ruta que parte del directorio actual como origen. Esta ruta
sólo es válida desde un directorio actual concreto, es decir, es relativa a un directorio.
Si seguimos el ejemplo que pusimos para la dirección de una vivienda, una ruta relativa
es como si te indicaran "dos casas más allá de cierta esquina". Observamos como la
dirección "dos casas más allá de una cierta esquina" es sólo válida para una calle, y
esa misma dirección referida a otra calle sería otro inmueble distinto.
Ejemplo:
Documentos /text/fich.txt
6
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux
4. COMANDOS BÁSICOS
En las siguientes secciones mencionaremos y describiremos brevemente la utilidad de
un grupo de comandos básicos para interactuar con un sistema Linux. Para su mejor
comprensión clasificamos los comandos en varias categorías:
ls
Algunas opciones:
-l : muestra la salida en formato largo.
-R : lista recursivamente un directorio.
-a : lista además los ficheros ocultos (sus nombres comienzan con punto).
-h : muestra el tamaño de los ficheros en forma más legible (Ej.: 16M, 4k,)
-i : muestra el nº de nodo de cada fichero
Ejemplos: $ ls -hl etc
$ ls -R usr
$ ls -al
$ ls -lia .. (i=--inode: inodo de cada archivo)
cd
7
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux
pwd
El comando pwd indica el camino absoluto del directorio en el cual nos encontramos
actualmente.
mkdir
rmdir
mv
El comando mv mueve un fichero o varios ficheros hacia un directorio. Este permite a su vez
renombrar ficheros o directorios.
Sintaxis: mv [opciones] <fuente> <destino>
mv [opciones] <ficheros> <directorio>
Algunas opciones:
-u : actualiza (upgrade) el destino con el fuente solo si este es más reciente.
8
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux
touch
Este comando se utiliza para cambiar la fecha de acceso y/o modificación a un archivo
cp
rm
Algunas opciones:
Ejemplos: $ rm prueba
$ rm -i bin/*
9
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux
cat
El comando cat concatena (conCATenate) ficheros y los imprime en la salida estándar. Si sólo
se da el origen a cat, utiliza como salida la pantalla. Es decir, cat hola muestra por pantalla el
fichero hola. Si sólo se da la salida a cat (cat > fichero) utiliza como entrada el teclado.
Ejemplos: # cat /etc/passwd /etc/shadow
$ cat > fichero
$ cat < origen > destino
vi
p – pega lo copiado
:w - salva.
10
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux
more y less
Los comandos more y less paginan (dividen en páginas) uno o varios ficheros y los muestran
en la terminal (pantalla).
Se diferencian en las facilidades que brindan. Por ejemplo, more es más restrictivo en cuanto
al movimiento dentro del texto, mientras que less no limita este aspecto pues acepta el empleo
de todas las teclas de movimiento tradicionales. Cuando se alcanza el final del último fichero
a paginar, more termina automáticamente, no así less. También more muestra sucesivamente
el porcentaje del fichero visto hasta el momento. Tanto less como more proveen una serie de
comandos para moverse con facilidad dentro del texto paginado.
Ejemplos: $ less /etc/passwd
$ more /etc/passwd
$ cat fichero | less
Algunas teclas que podemos usar mientras usamos estos programas son:
/patron - realiza búsquedas del patrón dentro del texto. Para repetir la búsqueda del
mismo patrón sólo es necesario escribir /.
tail y head
Los comandos tail y head muestran respectivamente el final y el comienzo (10 líneas por
defecto) de uno o varios ficheros. De no especificarse al menos un fichero toman la entrada
estándar.
Sintaxis:
tail [opciones] [ficheros]
head [opciones] [ficheros]
Algunas opciones:
-f para el caso de tail se ejecuta de forma sostenida o sea se continúa visualizando
el final del fichero hasta que se interrumpa el proceso (Ctrl-c).
-<n> imprime las n últimas (primeras) líneas en lugar de las diez establecidas por
defecto.
11
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux
grep
El comando grep busca patrones en ficheros. Por defecto devuelve todas las líneas que
contienen un patrón (cadena de texto) determinado en uno o varios ficheros. Utilizando las
opciones se puede variar mucho este comportamiento.
12
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux
find
El comando find es uno de los más poderosos en un sistema Linux. Permite buscar de forma
recursiva en un directorio a todos los ficheros que cumplan ciertas condiciones. Las
condiciones pueden estar relacionadas con el nombre de los ficheros, el tamaño, los permisos,
el tipo, las fechas de acceso y modificación, etc.
Sintaxis: find [camino] [opciones]
Algunas opciones:
-name <expresión> permite especificar patrones para los nombres de los ficheros a
buscar.
-size +/-<n> permite indicar el tamaño máximo y/o mínimo de los ficheros a buscar.
-exec <comando> ; permite definir un comando a ejecutarse para cada resultado de la
búsqueda. La cadena {} se sustituye por el nombre de los ficheros encontrados.
Ejemplos:
$ find /etc -name *.conf # busca en /etc todos los ficheros con extensión conf
$ find / -size +1024k -size -2048k # busca ficheros tamaño entre 10M y 20M
# find / -name core -exec rm -i “{}” “;” # busca todos los ficheros que se llamen
core y los borra, con confirmación.
13
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux
tar
El comando tar es una herramienta para agrupar varios ficheros o el contenido de un directorio
en otro fichero. El comando tar no comprime, Existe una opción (-z) que automáticamente
ejecuta un gzip o un gunzip sobre el fichero agrupado.
Sintaxis: tar [opciones] <fuentes>
Algunas opciones:
-c permite crear (tarear).
-x permite extraer (destarear).
-v activa el modo debug, donde se ven todos los mensajes.
-f <fichero> agrupa o desagrupa en o hacia un fichero y no utilizando la salida o
entrada estándar como es por defecto.
-z compacta o descompacta el fichero resultante una vez agrupado o desagrupado
con gzip y gunzip respectivamente.
-j compacta o descompacta el fichero resultante una vez agrupado o desagrupado
con bzip2
Ejemplos:
$ tar cvf archivo.tar ficheros #empaqueta
$ tar xvf archivo.tar #desempaqueta
$ tar czvf archivo.tar.gz ficheros #empaqueta y comprime con gzip
14
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux
echo
clear
alias
du
15
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux
$ du -h * | more
$ du -hsc /usr /home
df
uname
exit
El comando exit permite terminar el shell actual. Si se tiene un único shell es equivalente a
desconectarse del sistema, pero si se está en un subshell sólo se terminará este, retornando
al shell anterior.
16
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux
$PATH Contiene una lista separada por dos puntos de directorios en los cuales el
intérprete de comandos buscará los archivos ejecutables que no se invocan con una
ruta. echo $PATH (env | grep PATH)
$HOME Contiene la ubicación del directorio de usuario. De esta manera, los dos
comandos siguientes tienen el mismo efecto (env | grep HOME).
5.2. Metacaracteres
* sustituye a cualquier carácter o conjunto de caracteres
? sustituye a un solo carácter.
5.4. Tuberías
Las tuberías en GNU/Linux enlazan la salida de un comando con la entrada de otro, lo que nos
permite realizar tareas complejas en la línea de comandos. Una tubería se escribe con el
carácter | (Alt Gr+1).
Veamos un ejemplo:
cat texto.txt | wc
17
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux
5.5. Redireccionamientos
Los comandos toman su entrada de algo conocido como entrada estándar y envían su salida
a la salida estándar (a menudo abreviado como "stdin o standard input" y "stdout o standard
output"). Además, existe una salida especial para los mensajes de error de cada programa
(stderr o standard error).
Ejemplos:
ls /etc > fich.txt # el resultado del listado lo meterá en un fichero
18
Sistemas Informáticos (1 DAM)
Bloque 3 S. O. Libres: Linux
U.D. 14. Comandos de Linux
date >> fechas.txt # Añade la fecha al fichero. Podemos hacerlo varias veces.
19