Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Comandos Linux PDF
Comandos Linux PDF
1
Como resumen, en Fedora 12 entraremos con un usuario del sistema, que
habremos dado de alta durante la instalación, al entorno de ventanas.
Luego, para insertar comandos, utilizaremos una ventana de comandos ó
"terminal", pasando a super usuario (comando su, cuenta root) si es
necesario.
La shell de comandos
2
ordenador remoto Secure-Shell (ssh). Cada usuario puede utilizar una shell
diferente, muchas veces es cuestión de gustos. Cuando se crea una cuenta
de usuario nueva se puede indicar qué shell utilizará dicho usuario (también
se puede configurar más tarde).
Terminales virtuales
Para cambiar de un terminal a otro basta con pulsar la tecla Alt y una de las
teclas de función (Alt+F1 para el primer terminal, Alt+F2 para el segundo y
así sucesivamente). De esa forma pasaremos a otro terminal, donde
tendremos que realizar la operación de inicio de sesión en el sistema
(introducir el usuario y la contraseña).
3
Los procesos
ps -aux
Este comando dará como resultado un listado de los procesos que se están
ejecutando en el sistema y, entre otros, nos dará el número de
identificación del proceso o PID. De este modo, si el proceso está causando
algún tipo de problema, se le puede dar la orden de terminar mediante el
comando kill:
4
kill -9 numeroPID
El parámetro “-9” indica al comando kill que se envíe al proceso con PID
numeroPID la orden de terminar.
man nombreComando
El comando man produce como resultado una serie de páginas por las que
se puede avanzar utilizando la barra espaciadora y las teclas de avance y
retroceso de página. Para salir del visionado de la ayuda, pulsar la letra “q”.
ARCHIVOS Y DIRECTORIOS
pwd
cd ruta
5
La ruta puede ser absoluta si comienza con el directorio raíz (/):
cd /home/pepe
o relativa:
cd pepe
cd ..
mkdir nombredirectorio
ls
ls –la
6
Para eliminar un directorio se utiliza el comando:
rmdir nombredirectorio
Para ver un archivo de texto se pueden utilizar varios comandos. Para ver el
contenido solamente se puede utilizar:
cat nombrefichero
more nombrefichero
cp ficheroorigen ficherodestino
mv origen destino
7
caracteres] los indicados entre corchetes
Por ejemplo, para listar los archivos que contienen los caracteres “ftp”
dentro del nombre en el directorio actual se haría:
ls *ftp*
Para acceder a los datos de las diferentes particiones de los discos y a los
dispositivos de almacenamiento que no son los directorios del sistema Linux
(como el CD-ROM, el disquette, disco USB, etc) es necesario montar todas
estas particiones y dispositivos en la estructura de directorios del sistema.
Además del montaje de las particiones del sistema, el uso más frecuente del
montado de dispositivos es para el caso de acceder al CD-ROM y al
disquete. Los dispositivos que pueden montarse aparecen en el directorio
/dev.
8
Para evitar saber a qué nombre de dispositivo corresponde el CD-ROM,
Linux al arrancar lo detecta y crea un enlace simbólico (se verán
posteriormente) llamado /dev/cdrom de forma que la instrucción para
montar un CD-ROM será siempre:
Se ha omitido la opción -t, que indica qué tipo de dispositivo se trata, por lo
que el sistema lo trata y lo detecta automáticamente. Si no se detectase
automáticamente, habría que poner el tipo de archivos de forma explícita.
umount /mnt/cdrom
El archivo /etc/fstab
El programa autofs
9
Un ejemplo de algunas líneas de un archivo fstab sería:
En este ejemplo se montan las particiones del disco en los diferentes puntos
de montaje del sistema (/, /boot y espacio swap en este caso). Se montan
también tres particiones correspondientes a sistemas windows (montadas
en /mnt/win_c, /mnt/win_d y /mnt/win_e, respectivamente). Todos estos
puntos de montaje se montan en el arranque del sistema, por lo que una
vez arrancado, los datos existentes en las particiones windows estarán
accesibles para el usuario.
Todas las particiones a las que se quiera tener acceso deberán aparecer en
el archivo fstab y de esa forma estarán accesibles desde el arranque del
ordenador. Si se hiciese una nueva partición en un disco existente o se
instalase un nuevo disco con nuevas particiones haría falta indicar el/los
punto/s de montaje al que corresponden cada una de las particiones para
poder acceder a los datos.
mount /mnt/cdrom
10
y todas las demás opciones se cogerían del archivo fstab. Si no se
encuentra el punto de montaje especificado en el comando mount se
devolvería un mensaje de error.
En esta línea se especifica que los montajes en el directorio /mnt serán los
indicados en el archivo /etc/auto.varios (que recibe el nombre de “map
file”). Además mediante la opción –timeout=3 se especifica que si el
dispositivo montado no presenta actividad durante tres segundos se
desmontará de forma automática, evitando que el sistema reserve recursos
de forma contínua para ese montaje.
11
floppy -fstype=auto :/dev/fd0
Estas dos líneas especifican los subdirectorios cdrom y floppy dentro del
directorio especificado en el archivo auto.master, por lo que los dos puntos
de montaje definidos son /mnt/cdrom y /mnt/floppy. La opción –fstype
indica el tipo de archivos que contendrán esos puntos de montaje y
finalmente se especifican los dispositivos que van a montarse (/dev/hdd
para el CD-ROM y /dev/fd0 para el disquete, aunque podría haberse usado
también /dev/cdrom para el CD-ROM como se vio antes).
Usuarios y grupos
Toda la seguridad para el acceso a los recursos del sistema en Linux está
implementada en la forma de permisos de acceso asignados a los usuarios y
los grupos.
Los usuarios pueden ser tanto personas como usuarios lógicos (cuentas
asociadas con determinados programas o aplicaciones, como la cuenta
apache, asociada al servidor web Apache Web Server). Todos los usuarios
tienen un número identificativo denominado UID (User ID).
Los grupos son entidades que agrupan usuarios. Se utilizan para poder
asignar ciertos permisos sobre directorios o archivos de forma simultánea
para varios usuarios. Todos los usuarios a los que se quiera dar acceso a un
directorio determinado pasarán a formar parte de un grupo y será a ese
grupo al que se le den los permisos de acceso. Para ganar en flexibilidad, un
mismo usuario puede pertenecer a más de un grupo, aunque siempre
existirá un “grupo principal” para cada usuario.
12
Permisos para el usuario propietario del fichero o directorio.
Permisos para el grupo propietario del fichero o directorio.
Permisos para el resto de usuarios.
r, permiso de lectura.
w, permiso de escritura.
x, permiso de ejecución.
13
Si aparece la letra correspondiente, el permiso se concede. Si aparece el
símbolo “-“ en el lugar de la letra, el permiso no se concede.
Se definen permisos para el propietario del fichero, para los usuarios que
pertenecen al mismo grupo que el grupo propietario del fichero y para el
resto de usuarios. en total habrá 9 símbolos especificando los permisos para
un fichero. Se usa un décimo símbolo, colocado en primer lugar que
especifica si el archivo es un directorio (letra d) o no (símbolo “-”).
Antes del nombre del archivo, se puede ver el del propietario del mismo, y
el grupo (“pepe” y “gest” respectivamente en el ejemplo)
14
rwx r-x r-- = 111 101 100 = 754
Administración de usuarios
adduser nombreusuario
15
Para establecer o cambiar la contraseña de un usuario se utiliza el
comando:
passwd nombreusuario
useradd -n nombreusuario
nombreusuario:x:IDusuario:IDgrupo:directoriousuario:shellausar
16
nombreusuario es el nombre de usuario que se ha dado al crear al usuario.
Después vendría la contraseña pero en su lugar aparece una x indicando
que las contraseñas se encuentran encriptadas y protegidas en el archivo
/etc/shadow. Seguidamente viene el identificador de usuario y después el
identificador de grupo principal al que pertenece el usuario.
Por último aparece el nombre de la shell que será la que el usuario utilizará
por defecto. Si no se indica nada, será la Bourne Again SHell (bash).
pepe:x:403:512:/home/pepe:/bin/bash
Las opciones serán las características que se quieran cambiar. Entre otras,
se pueden indicar las siguientes:
17
varios grupos separados por comas. Si el usuario ya pertenecía a un
grupo y no aparece en esta lista al modificarlo, se le eliminará de ese
grupo.
-l login Esta opción sirve para cambiar el nombre del usuario.
-p password Esta opción sirve para cambiar la contraseña del
usuario, pero habrá que indicar la contraseña ya encriptada, por lo
que el comando passwd es mucho más cómodo.
-s shell Esta opción sirve para cambiar la shell de comandos con la
que trabajará el usuario por defecto.
userdel nombreusuario
Administración de grupos
groupadd nombregrupo
groupdel nombregrupo
18
gpasswd -d nombreusuario nombregrupo
Enlaces
ln –s ficheroreal ficherovirtual
Para ver a qué fichero real apunta un enlace simbólico se usa la opción –l
del comando ls:
ls –l
19
verdaderos de los servicios se encuentran centralizados en un directorio
único, por lo que si se quiere hacer “como si estuvieran” en otro directorio o
directorios distintos habrá que hacer también enlaces simbólicos. Por
ejemplo, ver el directorio /etc/rc.d/rc5.d.
Archivos ocultos
ls –la
REDIRECCIONAMIENTO
Casi todos los comandos que se utilizan en un terminal recogen los datos
del teclado y sacan el resultado por la pantalla. Linux permite sustituir tanto
la entrada como la salida de datos por otros elementos, como puede ser un
archivo. Seguidamente se ven los principales redireccionamientos que se
pueden conseguir.
Redireccionamiento “>”
Este redireccionamiento toma los flujos de datos que van hacia la salida
estándar (que normalmente es el monitor) y las envía a un archivo. Por
ejemplo, para guardar el listado de un directorio en un archivo se haría:
ls > listado.txt
Redireccionamiento “>>”
20
Redireccionamiento “<”
Redireccionamiento “|”
ls –la|more
ps –aux|more
21
o también para encontrar, dentro de ese listado, un cierto proceso que sea
de interés:
ps –aux|grep httpd
cat nombrearchivo
more nombrearchivo
less nombrearchivo
22
Las utilidades vistas anteriormente sirven para ver el contenido de un
archivo pero no para crearlo ni editar uno existente. Para hacer esto existe
un editor de textos muy básico que incluyen todas las distribuciones de
Linux. Su nombre es vi y se invoca así desde línea de comandos:
vi nombrearchivo
Escape :x
Escape :q!
Escape :q
23
OTROS COMANDOS ÚTILES
which ls
which httpd
El comando tree ofrece una vista en forma de árbol de los directorios del
sistema. Se puede indicar a partir de qué directorio se quiere empezar:
tree /directorio/base
El comando who muestra todos los usuarios que tienen actualmente una
sesión abierta y muestra en qué terminal está activa la sesión
24
El comando finger permite obtener información ampliada sobre un
determinado usuario del sistema. Este comando es peligroso en algunos
entornos porque permite obtener información de si una cuenta existe o no y
de algunos datos de la misma.
echo $PATH
PATH=$PATH:/home/pepe/juegos
export PATH
25