Sei sulla pagina 1di 32

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

Introduccin. __________________________________________________________ 4
Formas generales de obtener ayuda en Linux. (Modo Texto). _______________________ 6 Usuarios y grupos.___________________________________________________________ 6 Comandos Bsicos. __________________________________________________________ 8 Comandos para manipular ficheros y directorios. ________________________________ 9
Comando ls ______________________________________________________________________ 9 Comando cd ______________________________________________________________________ 9 Comando pwd ____________________________________________________________________ 9 Comando mkdir __________________________________________________________________ 10 Comando mv ____________________________________________________________________ 10 Comando cp _____________________________________________________________________ 10 Comando rm ____________________________________________________________________ 11 Comando chown _________________________________________________________________ 11 algunos ejercicios sobre estos comandos. ______________________________________________ 12

Comandos para paginar, visualizar y editar ficheros _____________________________ 13


Comando cat ____________________________________________________________________ 13 Comandos more y less _____________________________________________________________ 13 Editor vi ________________________________________________________________________ 14 Comando echo ___________________________________________________________________ 14

Comandos para hacer bsquedas de ficheros y patrones __________________________ 15


Comando grep ___________________________________________________________________ 15 Comando find ___________________________________________________________________ 16 Comando locate __________________________________________________________________ 16

Comandos para filtrar ficheros _______________________________________________ 17


Comando file ____________________________________________________________________ 17 Comando stat ____________________________________________________________________ 17

T E M A

7 .

L I N U X .

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

Comando sort ___________________________________________________________________ 17 Comando uniq ___________________________________________________________________ 17 Comandos tail y head _____________________________________________________________ 18 Comando wc ____________________________________________________________________ 18 Comando CUT __________________________________________________________________ 19 COMANDO SED ________________________________________________________________ 19

Comandos para compactar y agrupar ficheros __________________________________ 21


Comandos gzip y gunzip ___________________________________________________________ 21 Comando tar ____________________________________________________________________ 21

Comandos para la comunicacin entre usuarios _________________________________ 22


Comando write __________________________________________________________________ 22 Comando wall ___________________________________________________________________ 23

Comandos para desconectarse del sistema ______________________________________ 23


Comando exit ___________________________________________________________________ 23 Comando logout _________________________________________________________________ 23 Comando SHUTDOWN ___________________________________________________________ 23

Comandos para administrar usuarios y grupos __________________________________ 24


Comando useradd ________________________________________________________________ 24 Comando userdel _________________________________________________________________ 24 Comando passwd _________________________________________________________________ 24 Comando usermod ________________________________________________________________ 25 Comando chfn ___________________________________________________________________ 25 Comandos groupadd y groupdel _____________________________________________________ 25 Comando groupmod ______________________________________________________________ 26 Comando gpasswd ________________________________________________________________ 26 Comando su _____________________________________________________________________ 26 Comando suDO __________________________________________________________________ 27 Comando newgrp_________________________________________________________________ 27
T E M A 7 . L I N U X . 2 Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

Comando id _____________________________________________________________________ 27

Comandos varios. __________________________________________________________ 28


Comando alias ___________________________________________________________________ 28 Comando tty ____________________________________________________________________ 28 Comando du ____________________________________________________________________ 28 Comando who ___________________________________________________________________ 29 Comando w _____________________________________________________________________ 30 Comando finger __________________________________________________________________ 30 Comando ping ___________________________________________________________________ 31 Comando ifconfig ________________________________________________________________ 31

T E M A

7 .

L I N U X .

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

INTRODUCCIN. Una vez instalado e inicializado un sistema Linux se dispone de dos vas fundamentales de interaccin: una grfica (si se instal una interfaz X y se configur adecuadamente) y una texto conocida como consola o terminal. Al igual que Unix, Linux ofrece el mecanismo de consolas o terminales virtuales. Este consiste en que a partir de una entrada stdin (el teclado) y con una salida stdout (el monitor) se simulen varias terminales, donde el mismo, o distintos usuarios puedan conectarse indistintamente. De esta forma es posible tener ms de una sesin abierta en la misma mquina y trabajar en ellas indistintamente. Este mecanismo tambin facilita la caracterstica multiusuario del sistema Linux pues las diferentes conexiones se pueden establecer con diferentes usuarios. 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 grfico'', constituye una consola grfica. El cambio de una consola a otra se realiza a travs de la combinacin de teclas Alt y Fx (las teclas de Funcin), donde x oscila entre 1 y 12. De esta forma se pueden acceder un total de 24 consolas virtuales: para las doce primeras se utiliza el Alt izquierdo y para las otras doce el derecho. Por ejemplo para llegar a la consola 16 se presionaran las teclas Alt derecho y F4. No obstante normalmente solo se puede acceder a las consolas con algn proceso o funcionalidad definida. Desde una consola grfica para cambiar a otra tipo texto se debe adems presionar la tecla Ctrl, pues las combinaciones Alt + Fx son capturadas e interpretadas por las aplicaciones grficas de otra forma. Con la tecla Alt izquierda combinada con los cursores (derecho e izquierdo) se puede adems, realizar un movimiento circular entre todas aquellas consolas que tengan un proceso asociado (texto, grfico, etc.). Si nos remitimos a una consola texto podremos apreciar que en ella se mostrar, el nombre de la distribucin, la versin de la distribucin, la versin del kernel y la arquitectura de la mquina. Tambin aparecer el nombre que se le asign al sistema en la instalacin y la palabra login. Aqu puede entrarse el login de un usuario del sistema (seguramente root, si no se crearon ms cuentas durante la instalacin). Luego se pedir el password que al ser entrado no se muestra ningn eco en la pantalla. Si ambos son vlidos se establecer la conexin y se mostrar lo que se conoce como prompt, con forma similar a esta:

Figura: Esquema que representa la estructura bsica de un sistema Linux

T E M A

7 .

L I N U X .

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

[root@pinguino /root]$ Para abreviar, en lo sucesivo usaremos el carcter $ para hacer referencia al prompt de un usuario comn, y # para el prompt del sper usuario root. Al igual que en Unix, el programa que se ejecuta en Linux cada vez que un usuario se conecta y que le permite interactuar con el sistema se conoce como shell (bash normalmente). Este es capaz de interpretar una gran gama de comandos y sentencias. Constituye a su vez un poderoso lenguaje de Scripting. Muchos programas y comandos son shell scripts, por lo que el conocer este lenguaje permite no slo entenderlos y ajustarlos a las necesidades particulares sino tambin, hacer nuevos scripts para automatizar diversas tareas. Existen muchos tipos de shells orientados a caracteres para Linux. Ejemplos: ash: A shell csh: C shell tcsh: una extensin al C shell ksh: Korn Shell bsh: Bourne Shell bash: Bourne Again Shell Algunos shells se originan de otros o toman sus caractersticas ms avanzadas. De los mencionados anteriormente bash es el ms empleado en Linux. Este es un producto de la FSF (Free Software Foundation). Es uno de los ms desarrollados y est portado para mltiples plataformas. Toma las facilidades de csh y ksh. Ofrece entre otras posibilidades las siguientes: Auto completar durante la escritura. Al teclear uno o varios caracteres se puede pulsar TAB con el objetivo de que en caso de que pueda completarse de forma unvoca un comando, nombre de fichero o una variable (en dependencia del contexto), complete de forma automtica (se escriba el resto de la palabra). Si existieran varias posibilidades para completar la palabra, se oir un sonido y volviendo a pulsar TAB se mostrarn en pantalla todas las posibilidades existentes. En caso de existir muchas posibilidades (por defecto ms de 100) se pregunta si se desea mostrarlas todas o no. Historial de comandos. Esta es una facilidad de muchos otros shells que permite el movimiento a travs de los ltimos N comandos ejecutados, en la sesin actual o en las anteriores. N por defecto es 1000, pero puede modificarse. Para moverse arriba y abajo se suelen utilizar los cursores. Poderosas estructuras de control para realizar scripts. (Procesos por lotes). Se pueden utilizar instrucciones if, for, while, select, case, etc.

T E M A

7 .

L I N U X .

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

Definicin de funciones y alias para comandos. Las funciones permiten definir subrutinas programadas usando el lenguaje de bash y los alias, asociar nombres a llamados a comandos con ciertas opciones y argumentos de forma ms nemotcnica o abreviada. FORMAS GENERALES DE OBTENER AYUDA EN LIN UX. (MODO TEXTO). Existen mltiples y variadas formas de obtener ayuda en un sistema Linux. A continuacin se describen algunas de ellas: 1. Muchos comandos poseen una opcin para mostrar una ayuda breve acerca de su utilizacin. Esta opcin usualmente consiste en utilizar el parametro -h, --help -? tras el nombre del comando. (mkdir - - help). El comando help, que muestra en algunos comandos integrados del bash un manual propio. (help alias). Esta informacin suele estar sin traducir. El comando info que muestra informacin sobre los comandos en una estructura de rbol. (info mkdir). La informacin suele estar sin traducir. El comando whatis que nos da una ayuda rpida sobre comandos. (whatis cp). La informacin suele estar sin traducir. El comando apropos, que dada una palabra busca los comandos relacionados sobre ella. (apropos delete). La informacin suele estar sin traducir. El comando man formatea y despliega un manual bastante amplio acerca de comandos, formatos de ficheros de configuracin, llamadas al sistema, etc. Los manuales estn disponibles y pueden instalarse en mltiples idiomas. Estos se dividen internamente en secciones. Un mismo objetivo puede estar representado en varias secciones. De no especificarse ninguna seccin a travs del primer argumento del comando se tomar la primera donde aparezca. (man mkdir).

2.

3.

4.

5.

6.

USUARIOS Y GRUPOS. Como ya se ha afirmado Linux es un sistema multiusuario, lo cual permite que varios usuarios puedan conectarse y trabajar en l de forma simultnea. Las conexiones como ya se ha visto se pueden realizar a travs de varias terminales locales o utilizando servicios de red como el Telnet y SSH. Un usuario se caracteriza por su login el cual debe indicar para conectarse al sistema, adems de su password o contrasea. Adems puede poseer un conjunto de datos adicionales mencionados ms adelante. El usuario con ms privilegios en Linux es aquel cuyo login es root. Este es el nico con derechos suficientes para crear o eliminar a otros usuarios, adems de acceder a todo el sistema de ficheros sin ninguna restriccin. En Linux adems existen grupos de usuarios tambin administrados por root o por un usuario designado por este. Los grupos permiten otorgar los mismos privilegios a un conjunto de usuarios.

T E M A

7 .

L I N U X .

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

Siempre que se aada un usuario al sistema se crear un grupo con su mismo nombre, llamado grupo primario. Durante la creacin o posteriormente, se podr incorporar el usuario a otros grupos secundarios. Tanto los usuarios como los grupos se identifican por el sistema a travs de un identificador (ID) numrico. El usuario root siempre tiene el ID cero. Cada usuario cuando se conecta al sistema posee un identificador de usuario asociado (uid) y un identificador de grupo (gid). Al aadir un usuario tambin se crear un directorio base para el mismo con el nombre de su login. Este directorio se coloca por defecto en el directorio /home excepto para root, cuyo directorio base es /root. La informacin asociada a los usuarios en un sistema Linux se guarda en el fichero /etc/passwd y las contraseas y datos afines en /etc/shadow. Por su parte la informacin de los grupos, sus miembros y passwords estn en /etc/group y /etc/gshadow respectivamente. Para crear un usuario se usa el comando useradd, aunque es mucho mejor usar un script que viene instalado en Linux, que se llama adduser. Este script controla como funcionar useradd y permite realizar funciones avanzadas, como crear automticamente el directorio del usuario, configurar su perfil, etc. Como ejemplo, vamos a realizar el siguiente ejercicio: 1) Creamos dos usuarios, uno con nombre margarita y otro con nombre floripondio. En ambos usamos de contrasea 123 por ejemplo. a. sudo adduser margarita b. sudo adduser floripondio 2) Creamos un grupo con nombre flores, y aadimos a los dos usuarios anteriores a dicho grupo. a. sudo addgroup flores b. sudo adduser margarita flores c. sudo adduser floripondio flores

3) Editamos el fichero /etc/passwd y comprobamos como se han creado dos lneas, una para cada uno de los usuarios que hemos creado. a. less /etc/passwd 4) Editamos el fichero /etc/shadow y veremos cmo se han creado tambin dos lneas, una para cada uno de los usuarios. a. less /etc/shadow 5) Editamos el fichero /etc/group y comprobamos como se ha creado una lnea para el grupo creado, donde adems comprobamos que se han aadido como miembros los usuarios. a. less /etc/groups

T E M A

7 .

L I N U X .

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

Para comprobar que los usuarios se han creado bien, vamos a realizar lo siguiente: 1) acceder al 4 terminal (Control Alt F4), y hacer un login con el usuario margarita. Una vez abierta sesin, ejecutar el comando whoami y el comando id. Deberiamos comprobar que efectivamente estamos en el grupo flores. Para cerrar la sesin usamos el comando logout. 2) Acceder al 5 terminal, hacer un login con floripondio y comprobad lo mismo. (Para volver al terminal grafico desde un terminal de texto, accedemos al 7 terminal). Comprobaremos como toda la gestin de usuarios y grupos de Linux, en realidad se basa en la modificacin de una serie de ficheros de texto que estn en el directorio etc. Intentad ahora crear otro usuario, con nombre pimiento y asignarlo como miembro del grupo verduras que tambin habr que crear. Estas acciones realizarlas sin usar los comandos adduser y addgroup, y en su lugar modificar directamente los ficheros passwd, shadow y groups. Una vez hecho, acceder a los terminales de texto y como hemos hecho anteriormente, comprobad que pimiento puede realizar login, y que pertenece a los grupos que debe pertenecer. Un problema de aadir usuarios de esta forma, es que no se crea su directorio home, cosa que deberemos hacer a mano. COMANDOS BSICOS. En las siguientes secciones mencionaremos y describiremos brevemente la utilidad de un grupo de comandos bsicos para interactuar con un sistema Linux. Muchos de estos comandos estn presentes tambin en los sistemas Unix aunque a veces varan sus opciones y argumentos en dependencia de las versiones. Por esto no puede encontrarse una documentacin que diga la ltima palabra respecto a uno u otro comando, la prctica es la mejor forma de comprobar como funciona cada uno. Para su mejor comprensin clasificamos los comandos en varias categoras: 1) Comandos para manipular ficheros y directorios 2) Comandos para paginar, visualizar y editar ficheros 3) Comandos para hacer bsquedas de ficheros y patrones 4) Comandos para filtrar ficheros 5) Comandos para compactar y agrupar ficheros 6) Comandos para la comunicacin entre usuarios 7) Comandos para desconectarse del sistema 8) Comandos para administrar usuarios y grupos 9) Comandos variados

T E M A

7 .

L I N U X .

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

COMANDOS PARA MANIPULAR FICHEROS Y DIREC TORIOS. COMANDO LS El comando ls permite listar el contenido de un directorio. Sintaxis: ls [opciones] [directorio | fichero] Algunas opciones: -l : muestra la salida en formato largo. -R: lista recursivamente un directorio. -a : lista adems los ficheros ocultos (sus nombres comienzan con punto). -h : muestra el tamao de los ficheros en forma ms legible (Ej.: 16M, 4k, etc.) -i : muestra el identificador del i-nodo asociado a cada elemento. Ejemplos: $ ls $ ls $ ls $ ls -hl /etc -R /usr -al -ali ..

Un grupo de opciones que se suele utilizar bastante es lia (ls lia) COMANDO CD El comando cd se utiliza para cambiar el directorio actual. Sintaxis: cd [directorio] Ejemplos: $ cd /tmp $ cd cambia de directorio y nos deja en el directorio base del usuario actual

$ cd ~ (alt + 126) cambia al directorio base (Home) del usuario actual. (Ese smbolo se entiende en bash como el directorio Home del usuario). COMANDO PWD El comando pwd indica el camino absoluto del directorio en el cual nos encontramos actualmente. Ejemplo: $ pwd (nos devuelve algo como /home/pepe/backup/pruebas)

T E M A

7 .

L I N U X .

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

COMANDO MKDIR El comando mkdir se utiliza para crear directorios. Ejemplos: $ mkdir bin $ mkdir /bin $ mkdir -p docs/linuxdocs/howtos/pdf necesario COMANDO MV El comando mv mueve un fichero hacia otro, 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: -i : ejecuta el comando de forma interactiva, o sea, pregunta ante de sobrescribir el destino si existiera. -u : actualiza (upgrade) el destino con el fuente solo si este es ms reciente. Ejemplos: $ mv mail.cf mail.cf.old renombra un fichero $ mv -i *.txt /tmp mueve ficheros terminados en .txt al directorio /tmp. $ mv -u program.c src/ actualiza el fichero destino si es menos reciente que el fuente se crean los directorios intermedios si es

COMANDO CP El comando cp permite copiar un fichero en otro, o varios ficheros en un directorio. Sintaxis: cp [opciones] <fuente> <destino> cp [opciones] <ficheros> <directorio> Algunas opciones: -R : copia recursivamente un directorio. -i : utiliza una forma interactiva (pregunta antes de sobrescribir el destino). -l : hace enlaces fuertes a los ficheros fuentes en lugar de copiarlos.

T E M A

7 .

L I N U X .

1 0

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

Ejemplos:

$ cp /etc/passwd . copia un fichero en el directorio actual representado por punto $ cp -i /usr/bin/*sh /tmp copia interactivamente los ficheros terminados en sh en un directorio

COMANDO RM El comando rm se utiliza para borrar (desenlazar) ficheros Sintaxis: rm [opciones] <ficheros | directorios> Algunas opciones: -r : borra recursivamente un directorio. -f : borra forzosamente en caso de que no se tenga permiso de escritura en forma directa. -i : ejecuta el comando de forma interactiva. Ejemplos: $ rm prueba $ rm -i bin/* $ rm -rf temp/

COMANDO CHOWN El comando chown se utiliza para cambiar el dueo y el grupo de un fichero. Existe tambin el comando chgrp que se emplea de forma similar pero para cambiar el grupo solamente. El dueo de un fichero solo lo puede cambiar el usuario root mientras que el grupo adems de root, lo puede cambiar el propio dueo, siempre que pertenezca al nuevo grupo. Sintaxis: chown [opciones] <dueo>[.grupo] <ficheros> chown [opciones] <grupo> <ficheros> Opcin: -R en los directorios cambia el dueo y/o el grupo recursivamente. Ejemplos: # chown pepe.pepe tesis/ otorga al usuario pepe y al grupo pepe la propiedad del directorio tesis/

# chown -R mar.users /tmp/oculto otorga al usuario mar y al grupo users la propiedad de /tmp/oculto. # chgrp ftp /usr/ftp otorga al grupo ftp la propiedad de /usr/ftp

T E M A

7 .

L I N U X .

1 1

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

ALGUNOS EJERCICIOS S OBRE ESTOS COMANDOS. Vamos a proponer algunos ejercicios para reforzar los conocimientos de los comandos para manipular ficheros y directorios. 1) Crear un directorio ejercicio1 en vuestro home, y copiar en el mismo todos los ficheros con extensin conf del directorio /etc. Realizad esta accin con un solo comando, y posicionados en el directorio home del usuario. 2) Crear un directorio ejercicio2 dentro de un directorio prueba dentro de un directorio control dentro de un directorio alumno dentro de vuestro home. Realizad esta accin con un solo comando y posicionados en el directorio home de vuestro usuario. 3) Moved todos los ficheros que contengan una letra a en su nombre del directorio ejercicio1 al directorio ejercicio2. Un solo comando y posicionados en el raz de vuestro rbol. 4) Cread un usuario rigoberto. Modificar todos los ficheros del directorio ejercicio2 para que pasen a ser propiedad del usuario rigoberto y del grupo rigoberto. 5) Copiad el directorio alumno de vuestro home, y todo lo que contiene, a un directorio copia_alumno que debe crearse en vuestro directorio home. Un solo comando para la copia. 6) Borrar el directorio alumno de vuestro home con un solo comando y sin que pida confirmacin. 7) Cread un fichero con nombre ocultos en el raz de vuestro rbol, que contenga el nombre de todos los directorios ocultos que estn en vuestro home. (Los ficheros y directorios ocultos son aquellos cuyo nombre comienza por un punto, y no son mostrados normalmente por ls).

T E M A

7 .

L I N U X .

1 2

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

COMANDOS PARA PAGINAR, VISUALIZAR Y EDITAR FICHEROS COMANDO CAT El comando cat concatena ficheros y los imprime en la salida estndar. Si no se le pasa ningn argumento lee de la entrada estndar. Existe tambin zcat que hace lo mismo pero con ficheros comprimidos. Si solo se da el origen a cat, utiliza como salida la pantalla. Es decir, cat hola muestra por pantalla el fichero hola. Si solo se da la salida a cat (cat > fichero) utiliza como entrada el teclado. Ejemplo: # cat /etc/passwd /etc/shadow muestra la salida estndar los 2 ficheros concatenados $ cat > fichero al no decirle entrada, nos deja escribir por el teclado, cuando finalicemos de escribir (se indica con Control Z) manda la entrada introducida a la salida fichero.

COMANDOS MORE Y LESS Los comandos more y less paginan (dividen en pginas) uno o varios ficheros y los muestran en la terminal (pantalla). De no indicrseles un fichero, paginan la entrada estndar (que se manda mediante una tubera, como por ejemplo con la orden cat /etc/passwd | more Se diferencian en las facilidades que brindan. Por ejemplo more es ms 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 automticamente, no as less. Algunas de las funciones que podemos realizar con less los siguientes: Ejemplos: $ less /etc/passwd $ more /etc/passwd $ cat fichero | less Algunas teclas que podemos usar mientras usamos estos programas son: q /p permite interrumpir el proceso y salir. realiza bsquedas del patrn p dentro del texto. Para repetir la bsqueda del mismo patrn slo es necesario escribir /. en more permite regresar n pginas (por defecto n es 1). en more se adelantan n pginas y en less, n lneas.

[n]b [n]f

T E M A

7 .

L I N U X .

1 3

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

El man, para dar formato a su salida, utiliza por defecto el paginador less. Existen adems los comando zless y zmore que permiten paginar con less y more respectivamente, a los ficheros comprimidos sin necesidad de descomprimirlos previamente. EDITOR VI El editor vi es el editor estndar de Unix. Es orientado a comandos. Existe una versin conocida como vim (Vi IMproved) muy poderosa que permite la edicin de mltiples ficheros, edicin automtica para varios lenguajes de programacin, ayuda en lnea, seleccin visual, varios niveles de deshacer, etc. Para algunos usuarios, vi resulta incmodo pues para utilizar todas sus potencialidades es necesario conocer muchas combinaciones de teclas, pero si se llega a dominar resulta muy funcional. Su principal virtud es que encontraremos vi en prcticamente cualquier versin de Unix que usemos, cosa que no se puede decir de otros editores (joe, pico, edit, gedit, etc.). Bsicamente vi posee dos modos de interaccin: el de insercin (edicin) y el de comandos. Para pasar al modo comando se pulsa Esc y para pasar al de insercin se pulsa i. Algunos comandos tiles en vi (pulsando ESC para pasar al modo de comandos, que veremos en la ultima lnea de la pantalla). dd D dG u :q :q! :w :wq :x borra la lnea actual. borra desde la posicin actual hasta el final de la lnea. borra hasta el final del fichero. deshace el ltimo comando. sale del editor (si se han hecho modificaciones y no se ha salvado se genera un error). sale sin salvar. salva. salva y sale. salva y sale.

<n><comando> ejecuta el comando n veces. COMANDO ECHO Echo es un comando que nos permite escribir algo directamente por la salida estndar. Ejemplos: $ Echo Hola Mundo $ Echo Hola Mundo -n

T E M A

7 .

L I N U X .

1 4

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

COMANDOS PARA HACER BSQUEDAS DE FICHEROS Y PATRONES COMANDO GREP El comando grep (Globally Regular Expressions Pattern) busca patrones en ficheros. Por defecto devuelve todas las lneas que contienen un patrn (cadena de texto) determinado en uno o varios ficheros. Utilizando las opciones se puede variar mucho este comportamiento. Si no se le pasa ningn fichero como argumento hace la bsqueda en su entrada estndar. Sintaxis: grep [opciones] <patrn> [ficheros] Algunas opciones: -c -i -H devuelve slo la cantidad de lneas que contienen al patrn. ignora las diferencias entre maysculas y minsculas. imprime adems de las lneas, el nombre del fichero donde se encontr el patrn. Es as por defecto cuando se hace la bsqueda en ms de un fichero. cuando son mltiples ficheros slo muestra los nombres de aquellos donde se encontr al patrn y no las lneas correspondientes. devuelve las lneas que no contienen el patrn. busca en un directorio de forma recursiva. imprime el nmero de cada lnea que contiene al patrn. $ grep linux /usr/share/doc $ grep root /etc/passwd # grep -n error /var/log/messages $ grep -i pepe /etc/passwd $ grep -c root /etc/group $ grep -l -r -i img /var/www/html/ $ ls lia | grep carta roja $ apt-search mp3 | grep codec

-l

-v -r -n

Ejemplos:

T E M A

7 .

L I N U X .

1 5

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

COMANDO FIND El comando find es uno de los ms poderosos en un sistema Linux. Permite buscar de forma recursiva en un directorio todos los ficheros que cumplan ciertas condiciones. Las condiciones pueden estar relacionadas con el nombre de los ficheros, el tamao, los permisos, el tipo, las fechas de acceso y modificacin, etc. Sintaxis: find [ruta desde donde se busca] [opciones de busqueda] Algunas opciones: -name <expresin> -iname <expresin> -type <tipo> -size +/-<n> -perm [+|-]<modo> permite especificar patrones para los nombres de los ficheros a buscar. igual que el anterior, pero ignora maysculas/minsculas permite indicar el tipo de fichero a buscar. permite indicar el tamao mximo y/o mnimo de los ficheros a buscar. permite referirse a aquellos ficheros con unos permisos dados. El valor de <modo> se expresa en forma numrica. permite definir un comando a ejecutarse para cada resultado de la bsqueda. La cadena {} se sustituye por el nombre de los ficheros encontrados. El carcter; permite indicar la finalizacin del comando. (Tanto {} como; tienen que ir entre comillas o entre contrabarras para evitar que sea sustituido por el shell).

-exec <comando> ;

Ejemplos: $ find /etc -name '*.conf' # busca en /etc todos los ficheros con extensin conf $ find / -size +10240k -size -20480k # busca los ficheros cuyo tamao est entre 10M y 20M $ find -perm +1000 -type d # busca los directorios que posean el permiso t # busca todos los ficheros que se nombren core y los borra

# find / -name core -exec rm -i {} ; interactivamente. COMANDO LOCATE

El comando locate busca en una base de datos, actualizada peridicamente, todos los paths en la jerarqua de ficheros que contengan una cadena determinada. Para crear esta base de datos o actualizarla se debe invocar por root el comando updatedb (o locate -u). En las distribuciones actuales esta tarea se hace de forma automtica. Ejemplo: $ locate passwd

T E M A

7 .

L I N U X .

1 6

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

COMANDOS PARA FILTRA R FICHEROS COMANDO FILE El comando file determina con cierto grado de precisin el tipo de un fichero que se le pasa como argumento. Ejemplos: $ file /etc/passwd $ file /usr/sbin/adduser $ file /usr/sbin/useradd COMANDO STAT El comando stat muestra las caractersticas de un fichero. Por ejemplo: su nombre, permisos, tamao en bytes, nmero del i-nodo que lo representa, las fechas de modificacin y acceso, el tipo, el dueo, el grupo, etc. Ejemplos: $ stat /etc/shadow

COMANDO SORT El comando sort ordena las lneas de un fichero mostrndolas por la salida estndar. De no especificarse un fichero toma la entrada estndar. Sintaxis: sort [opciones] [fichero] Algunas opciones: -r : ordena al revs. -f : trata las maysculas y minsculas por igual. Ejemplo: $ sort -f /etc/passwd Como ejercicio, cread un archivo llamado lista-desordenada con el vi y meter dentro 5 nombres desordenados. Comprobad como con la orden sort lista-desordenada > lista-ordenada creamos un fichero llamado lista-ordenada y que contiene la lista ordenada. COMANDO UNIQ El comando uniq elimina las lneas repetidas de un fichero ordenado, imprimindolo por la salida estndar o en otro fichero argumento. De no especificarse un fichero toma la entrada estndar. Sintaxis: uniq [opciones] [fichero] [salida] Algunas opciones:

T E M A

7 .

L I N U X .

1 7

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

-c : utiliza como prefijo en cada lnea su nmero de ocurrencias. -d : solo imprime las lneas duplicadas. Ejemplo: $ uniq -d lista.txt COMANDOS TAIL Y HEAD Los comandos tail y head muestran respectivamente el final y el comienzo (10 lneas por defecto) de uno o varios ficheros. De no especificarse al menos un fichero toman la entrada estndar. Sintaxis: tail head [opciones] [ficheros] [opciones] [ficheros]

Algunas opciones: -f para el caso de tail se ejecuta de forma sostenida o sea se contina visualizando el final del fichero hasta que se interrumpa el proceso (Ctrl-c). no coloca los encabezamiento con el nombre de los ficheros cuando se indican varios ficheros. imprime las n ltimas (tail) o primeras (head) lneas en lugar de las diez establecidas por defecto.

-q -<n>

Ejemplos: $ tail -f /var/log/messages # tail -20 /var/log/secure # head -50 /var/spool/mail/pepe $ head -2 -q /etc/*.conf COMANDO WC El comando wc (Word Count) imprime el nmero de lneas, palabras y bytes de uno o varios ficheros. Si son varios ficheros hace tambin un resumen de los totales. De no especificarse un fichero toma la entrada estndar. Sintaxis: wc [opciones] [ficheros] Algunas opciones: -l slo cuenta lneas. -c slo cuenta bytes. -w slo cuenta palabras. $ wc -l /etc/passwd $ wc -w /doc/dicciorario.txt

Ejemplos:

T E M A

7 .

L I N U X .

1 8

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

COMANDO CUT Como su propio nombre indica, el comando cut tiene la caracterstica de poder cortar caracteres y campos, con la posibilidad de usar delimitadores y otras opciones, para finalmente extraer las partes seleccionadas de cada fichero en la salida estndar. El comando cut nos ofrece los siguientes argumentos: -b, bytes=LISTA -c, characters=LISTA -d, delimiter=DELIM -f, fields=LISTA muestra solamente estos bytes selecciona solamente estos caracteres usa DELIM en vez de caracteres de tabulacin para delimitar los campos selecciona solamente estos campos; tambin muestra cualquier lnea que no tenga un carcter delimitador, a menos que se especifique la opcin -s $ echo "Esto es una prueba, 1 2 3, probando" | cut -d "," -f 1 $ echo "Esto es una prueba, 1 2 3, probando" | cut -d "," -f 3 $ echo "Esto es una prueba, 1 2 3, probando" | cut -c2-4 COMANDO SED En realidad sed no es un comando, sino un editor de textos que est diseado para ser usado desde lnea de comandos. Es muy til cuando queremos modificar texto de forma no interactiva, veamos un ejemplo de uso de este editor: $ echo Hola mundo azul | sed e s/mundo/amigo/ -e indica que queremos ejecutar el siguiente comando s es el comando de sustituir texto /texto_antiguo/texto_nuevo/ es la forma de indicar que queremos sustituir. Algunos de los comandos que sed interpreta son los siguientes (hay bastantes ms): s p d n sustituye texto imprime texto borra texto no muestra todas las lneas del fichero en la salida estandard

Ejemplos:

El editor sed es capaz de realizar gran cantidad de acciones sobre texto, y reconoce un gran nmero de patrones y opciones. No vamos a verlos aqu todos, eso podra hacerse viendo el man de dicho comando, pero si vamos a ver algunos ejemplos que nos ayuden a entender un poco mejor sed. $ sed e 1,10d /home/joancadi/carta.txt nos muestra el fichero carta.txt, pero borrando las 10 primeras lneas. Hay que hacer notar que carta.txt no sufre ningn cambio, no se borra nada del fichero.

T E M A

7 .

L I N U X .

1 9

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

$ sed e 1,10d /home/joancadi/carta.txt > /home/joancadi/carta 2.txt $ sed ne 4,20p /etc/services nos muestra de la lnea 4 a la lnea 20 del fichero services.

Una forma habitual de trabajar con sed es utilizando expresiones regulares. Este tipo de expresiones regulares no solo se usan con sed, sino con bastantes comandos de Linux, es por ello que vamos a detenernos para verlas un momento. Estas expresiones regulares son bastante parecidas a los comodines que ya conocemos, como *

La mejor forma de habituarse al uso de estas expresiones regulares es usndolas. Intentemos realizar estos ejercicios: 1) 2) 3) 4) Obtener por pantalla todas las lneas de un fichero que comiencen con el carcter a Sustituir en un fichero el 1 carcter de cada lnea por tres guiones Sustituir en un fichero todas las vocales por la vocal U Sacar por pantalla el contenido de un fichero, pero borrando todas las vocales.

T E M A

7 .

L I N U X .

2 0

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

COMANDOS PARA COMPAC TAR Y AGRUPAR FICHER OS COMANDOS GZIP Y GUNZ IP Los comandos gzip y gunzip permiten compactar y descompactar (comprimir y descoprimir) respectivamente uno o varios ficheros. Sintaxis: gzip [opciones] <ficheros/directorio> gunzip [opciones] <ficheros/directorio> Algunas opciones: -r : dado un directorio comprime todos los ficheros presentes en l recursivamente. -1 a -9 : especifica el grado de la compresin (-1 menor y ms rpida -9 mayor y ms lenta). -S <sufijo> : permite especificar un sufijo o extensin para el fichero resultado (por defecto es gz). Ejemplos: $ gzip -9 big-file $ gunzip big-file.gz $ gzip -S .zip -r doc/ $ gunzip -S .zip -r doc/ Todo lo compactado con gzip se puede descompactar con el Winzip de los sistemas Windows. Tambin existen los pares de comandos zip y unzip (compatibles en ambos sentidos con Winzip), y compress y uncompress. COMANDO TAR El comando tar (Tape Archiver) es una herramienta para agrupar varios ficheros aislados o el contenido de un directorio en otro fichero o dispositivo especial. El comando tar no comprime o compacta absolutamente nada, se limita a agrupar varios ficheros en uno solo, sin comprimirlos. Existe una opcin (z) que automticamente ejecuta un gzip o un gunzip sobre el fichero agrupado. Sintaxis: tar [opciones] <fuentes> Algunas opciones: -c -x
T E M A

permite crear (tarear). permite extraer (destarear).


7 . L I N U X . 2 1 Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

-v

activa el modo debug, donde se ven todos los mensajes. agrupa o desagrupa en o hacia un fichero y no utilizando la salida o entrada estndar como es por defecto.

-f <fichero>

-z

compacta o descompacta el fichero resultante una vez agrupado o desagrupado con gzip y gunzip respectivamente. lista el contenido de un fichero resultado de un agrupamiento. agrupa en volmenes.

-t -M

El comando tar conserva la estructura jerrquica original de lo agrupado excluyendo el caracter / que representa a la raz. Algunas opciones se pueden emplear sin el caracter -, siempre y cuando no haya ambigedades entre ellas o con los argumentos. Ejemplos: $ tar cvfz /tmp/etc.tgz /etc $ tar xvfz /tmp/etc.tgz # tar cf uconf.tar passwd shadow groups # tar xf uconf.tar $ tar cM -f /dev/fd0 /tmp/etc.tgz $ tar xM -f /dev/fd0

COMANDOS PARA LA COMUNICACIN ENTRE USUARIOS COMANDO WRITE El comando write se utiliza para enviar un mensaje a un usuario conectado al sistema. Por defecto el mensaje se enva a la ltima terminal donde se haya conectado el usuario. Los usuarios pueden deshabilitar la posibilidad de recibir mensajes utilizando el comando mesg. Sintaxis: write <usuario> [terminal] Ejemplos: $ mesg y $ write pepe tty3 Hola que tal Ctrl-d Si el usuario pepe est conectado a travs de la terminal tty3 y tiene habilitada la posibilidad de recibir mensajes se mostrar en esta terminal: Message from coco@deltha on tty2 at 16:35 ... (o el usuario que sea) Hola que tal EOF $ mesg # muestra si est habilitada o no la posibilidad de recibir mensajes # habilita la posibilidad de recibir mensajes

$ mesg n # deshabilita la posibilidad de recibir mensajes

T E M A

7 .

L I N U X .

2 2

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

COMANDO WALL El comando wall se emplea para enviar un mensaje a todos los usuarios conectados en el sistema que tengan habilitada la posibilidad de recibirlos (mesg y). Ejemplos: # wall Voy a apagar la mquina a las 2:00 PM El administrador Ctrl-d

COMANDOS PARA DESCONECTARSE DEL SISTEMA COMANDO 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 slo se terminar este, retornando al shell anterior. COMANDO LOGOUT El comando logout permite desconectarse del sistema a partir de un login shell (primer shell que se ejecuta al establecer la conexin). La secuencia de caracteres Ctrl-d permite terminar el shell actual. Si es un login shell equivaldr a hacer logout y si no, a hacer exit. COMANDO SHUTDOWN El comando shutdown en realidad no sirve para desconectarse del sistema, sino para apagarlo totalmente. Ejemplos: # shutdown h now Apaga el sistema (-halt) ahora (now)

$ sudo shutdown -h 18:45 "El servidor se apagar para cambiar la tarjeta grafica" $ sudo shutdown r g5 El sistema se reiniciar (-r) en 5 minutos (-g5)

T E M A

7 .

L I N U X .

2 3

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

COMANDOS PARA ADMINISTRAR USUARIOS Y GRUPOS COMANDO USERADD El comando useradd permite aadir nuevos usuarios al sistema, adems de establecer la informacin por defecto de los nuevos usuarios que se aadan. Se encuentra enlazado simblicamente por el nombre adduser. Ambos nombres se pueden emplear indistintamente. Sintaxis: useradd [opciones] [login] Ejemplos: # adduser pepe # useradd -D # crea el usuario pepe con las propiedades por defecto # muestra las propiedades por defecto de los nuevos usuarios que se aadan

GROUP=100 grupo primario (no se emplea) HOME=/home directorio base de todos los usuarios INACTIVE=-1 nmero de das entre que el password expire y la cuenta se deshabilite EXPIRE= fecha (YYYY-MM-DD) en que la cuenta expira SHELL=/bin/bash # shell que emplear el usuario para interactuar con el sistema SKEL=/etc/skel directorio cuyo contenido se copiar en el directorio de cada usuario # adduser -D -b /dir cambia el directorio base por defecto de los nuevos usuarios (/home) a /dir. El directorio /dir debe existir previamente

$ adduser pedro amigos aade a pedro al grupo amigos. Esto es una opcin que se le aadi a adduser para poder aadir usuarios a grupos rpidamente. COMANDO USERDEL El comando userdel permite eliminar definitivamente un usuario del sistema. Sintaxis: userdel [opciones] <login> Ejemplo: # userdel -r pepe # elimina al usuario pepe y borra su directorio base. Por defecto el directorio base se mantiene

COMANDO PASSWD El comando passwd permite cambiar el password de un usuario. Tambin puede bloquear, desbloquear y deshabilitar una cuenta. Si se invoca sin argumentos se asume el usuario actual. Sintaxis: passwd [opciones] [login] Ejemplos:

# passwd pepe # coloca una contrasea para pepe New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully
T E M A 7 . L I N U X . 2 4 Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

# passwd -d pepe

# deshabilita la cuenta del usuario pepe eliminando su password

# passwd -l pepe # bloquea la cuenta del usuario pepe poniendo un signo ! delante de su password en el fichero /etc/shadow # passwd -u pepe # desbloquea la cuenta del usuario pepe

COMANDO USERMOD El comando usermod se emplea para modificar algunas propiedades de los usuarios como: el login, el directorio base, el shell que se inicia al conectarse, los grupos a los que pertenece, la fecha de expiracin de la cuenta, etc. Tambin bloquea y desbloquea una cuenta. Sintaxis: usermod [opciones] <login> Ejemplos: # usermod -s /bin/csh pepe # usermod -G users,disk pepe # usermod -e 2001-10-20 pepe COMANDO CHFN El comando chfn permite cambiar la informacin de contacto de un usuario. Esta incluye aspectos como: el nombre completo, la oficina de trabajo y los telfonos. Se almacena en el fichero de usuarios /etc/passwd. Sintaxis: chfn [opciones] [login] Ejemplo: # chfn pepe Changing finger information for pepe. Name [Pepito]: Pepon Prez Office [Recepcin]: Redes Office Phone []: 22-0909 Home Phone []: 44-3025 COMANDOS GROUPADD Y GROUPDEL Los comandos groupadd y groupdel aaden y eliminan un grupo en el sistema respectivamente. Sintaxis: groupadd [opciones] <grupo> # groupadd admin # groupdel admin
T E M A 7 . L I N U X . 2 5 Comandos bsicos de Linux. 7.2.

# coloca el shell csh para el usuario pepe # seala como grupos secundarios de pepe a users y disk # indica que la cuenta de pepe expirar el 20 de octubre del 2001

groupdel <grupo>

Ejemplos:

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

COMANDO GROUPMOD El comando groupmod permite modificar en un grupo su identificador y nombre. Sintaxis: groupmod [opciones] <grupo> Ejemplo: # groupmod -n usuarios users # cambia el nombre del grupo users a usuarios

COMANDO GPASSWD El comando gpasswd permite administrar los grupos. Se puede utilizar para aadir y eliminar usuarios, sealar un administrador e indicar un password de grupo3.1. Sintaxis: gpasswd [opciones] <grupo> Ejemplos: # gpasswd -A pepe admin $ gpasswd admin $ gpasswd -a joe admin COMANDO SU El comando su permite ejecutar un shell (u otro comando) cambiando los identificadores del grupo y del usuario actual. Si se le pasa - como primer argumento ejecuta el shell como un login shell, o sea se crear un proceso de login tal y como ocurre naturalmente cuando un usuario se conecta al sistema. Si no se especifica el login del usuario se asume root. Sintaxis: su [opciones] [login] Ejemplos: $ su $ su pepe $ su - -c "cat /etc/shadow" ejecuta un shell hacindonos pasar por el usuario pepe ejecuta un comando con los privilegios de root en lugar de un shell # seala como administrador del grupo admin al usuario pepe # cambia el passwd del grupo admin # aade el usuario joe al grupo admin

T E M A

7 .

L I N U X .

2 6

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

COMANDO SUDO El programa sudo es una utilidad de los sistemas operativos tipo Unix, como GNU/Linux, BSD, o Mac OS X, que permite a los usuarios ejecutar programas con los privilegios de seguridad de otro usuario (normalmente el usuario root) de manera segura. Los usuarios deben confirmar su identidad al ejecutar sudo dando su propia contrasea antes de ejecutar el programa requerido. Una vez se ha autenticado el usuario, y si el archivo de configuracin /etc/sudoers permite dar al usuario acceso al comando requerido, el sistema lo ejecuta y lo registra. En un entorno grfico, se usa gksudo. El archivo de configuracin /etc/sudoers especifica qu usuarios pueden ejecutar qu comandos en nombre de qu otros usuarios. Como sudo es muy estricto con el formato de este archivo, y cualquier error podra causar problemas serios, existe la utilidad visudo; sta permite al usuario root editar el archivo y luego revisar su correccin antes de guardarlo. COMANDO NEWGRP El comando newgrp permite iniciar un nuevo shell cambiando el identificador del grupo (gid) del usuario actual. Slo podrn hacerlo los usuarios que pertenezcan al grupo o en caso de que este tenga una contrasea, aquellos que la conozcan. Sintaxis: newgrp [grupo] Ejemplo: # newgrp bin COMANDO ID El comando id, imprime dado un usuario, sus identificadores de usuario y de grupo principal (gid y uid) as como del resto de los grupos a los que pertenece. Sin argumentos se asume el usuario actual. Sintaxis: id [opciones] [login] Ejemplo: # id pepe uid=502(pepe) gid=502(pepe) groups=502(pepe),100(users)

T E M A

7 .

L I N U X .

2 7

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

COMANDOS VARIOS. COMANDO ALIAS El comando alias permite asignarle otros nombres a los comandos. De esta forma se pueden abreviar o llamarlos de forma ms nemotcnica. Sintaxis: alias [nombre[=valor]...] Sin argumentos muestra todos los alias definidos por el usuario actual. Para deshabilitar un alias se emplea el comando unalias. Ejemplos: $ alias l='ls -l --color' $ alias l alias l='ls -l --color' $ alias alias c='clear' alias l='ls -l --color' alias l.='ls .[a-zA-Z]* --color=tty' alias la='ls -al --color'

COMANDO TTY El comando tty imprime el dispositivo de carcter asociado a la terminal en la que se est trabajando. Ejemplos: $ tty $ tty COMANDO DU El comando du permite conocer la longitud (expresada en kilobytes por defecto) de una jerarqua de ficheros a partir de un directorio. Sintaxis: du [opciones] [ficheros | directorios] Algunas opciones: -h : (human readable view) imprime las unidades de la forma ms representativa (Ej. M para megabytes).
T E M A 7 . L I N U X . 2 8 Comandos bsicos de Linux. 7.2.

/dev/tty2 /dev/pts/0

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

-s : sumariza el tamao de cada fichero/directorio sin profundizar recursivamente en estos ltimos. -c : produce un total cuando se utilizan varios argumentos. Ejemplos: $ du -h * $ du -hsc /usr /home COMANDO WHO El comando who muestra los usuarios conectados al sistema ya sea local o remotamente. Sintaxis: who [opciones] [fichero] [am i] Sin argumentos who muestra los logins de los usuarios conectados, por que terminal lo han hecho y en que fecha y hora. Algunas opciones: -H : imprime un encabezamiento para las columnas. -w : indica si est activada o no la posibilidad de recibir mensajes por parte de cada usuario conectado (+ indica que si, - que no y ?, desconocido). -i : imprime adems para cada usuario conectado que tiempo lleva sin interactuar con el sistema (idle time). Si lleva menos de un minuto pone un punto y si es ms de 24 horas la cadena ``old''. -q : slo muestra los logins de los usuarios conectados y la cantidad total de ellos. Ejemplos: $ who coco root alma pepe $ who am I $ who q tty2 tty3 :0 pts/0 Oct 17 15:59 Oct 17 12:40 Oct 17 08:21 Oct 17 10:20 tty2 Nov 16 09:26 users=4

gloin!pepe

pepe root alma coco

T E M A

7 .

L I N U X .

2 9

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

COMANDO W El comando w muestra tambin los usuarios conectados al sistema adems de lo que estn haciendo (proceso que ejecutan en ese momento) y otras informaciones. Sintaxis: w [opciones] [usuario] Sin argumentos este comando muestra una primera lnea con: la hora en que arranc el sistema, cuanto tiempo lleva funcionando, cuantos usuarios hay conectados (sin incluir las sesiones grficas) y tres porcientos de carga de la CPU: durante el ltimo, los 5 y los 15 minutos anteriores. A continuacin se muestra una tabla cuyas columnas representan: el login de cada usuario conectado, por que terminal lo ha hecho, desde que host, a que hora, el idle time exacto, la cantidad de segundos de CPU que han empleado todos los procesos que ha ejecutado ese usuario (JCPU) y el tiempo (PCPU) y nombre del comando que ejecuta actualmente. Ejemplos: $w $ w pepe

COMANDO FINGER El comando finger permite buscar y mostrar informacin asociada a los usuarios del sistema de acuerdo a sus nombres, apellidos o login. La informacin que muestra finger para cada usuario es: El login. El nombre y los apellidos. El directorio base. El shell. La oficina y el telfono. El telfono de la casa. La lista de terminales a travs de las que est conectado con la fecha, tiempo sin interactuar (iddle time) y si est deshabilitada la posibilidad de recibir mensajes. La fecha y hora del ltimo nuevo mensaje electrnico recibido y desde cuando no accede al buzn. El contenido del fichero .plan en el directorio base. Ejemplos: $ finger alina $ finger castellanos

T E M A

7 .

L I N U X .

3 0

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

COMANDO PING El comando ping permite envar paquetes ICMP (Internet Control Message Protocol) del tipo ECHO_REQUEST a otra computadora, con el objetivo de saber si esta es alcanzable a travs de la red. Adems muestra un resumen estadstico acerca del porciento de paquetes perdidos y las velocidades de trasmisin. Este comando se ejecuta por defecto sostenidamente por lo que para interrumpirlo se debe hacer Ctrl-c. Sintaxis: ping [opciones] <mquina> Algunas opciones: -c <n> : enva n paquetes exactamente. -i <n> : espera n segundos entre los envos. -s <n> : enva paquetes de n bytes. Se le suman los 8 bytes del header del paquete ICMP. -q : slo despliega el sumario final. Ejemplos: $ ping edisime PING disaic.colombus.cu (192.168.168.1) from 192.168.168.13 : 56(84) bytes of data. 64 bytes from disaic.colombus.cu (192.168.168.1): icmp_seq=0 ttl=128 time=441 usec 64 bytes from disaic.colombus.cu (192.168.168.1): icmp_seq=1 ttl=128 time=415 usec 64 bytes from disaic.colombus.cu (192.168.168.1): icmp_seq=2 ttl=128 time=409 usec --- disaic.colombus.cu ping statistics --3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max/mdev = 0.409/0.421/0.441/0.027 ms

COMANDO IFCONFIG El comando ifconfig permite configurar por parte de root las interfaces de red. Los usuarios distintos de root lo pueden invocar tambin con fines informativos. Para ello deben especificar el camino completo (/sbin/ifconfig) pues por defecto este no est en el path de los usuarios comunes. Sin argumento ifconfig despliega informacin acerca de la configuracin y funcionamiento actuales de las interfaces de red activas. Ejemplos: # ifconfig eth0 Link encap:Ethernet HWaddr 00:00:E8:EC:86:E9 inet addr:192.168.168.65 Bcast:192.168.168.255 Mask:255.255.255.0 UP BROADCAST RUNNING MTU:1500 Metric:1 RX packets:49607 errors:0 dropped:0 overruns:0 frame:0 TX packets:13557 errors:0 dropped:0 overruns:0 carrier:0 collisions:1207 txqueuelen:100 Interrupt:9 Base address:0xb800

T E M A

7 .

L I N U X .

3 1

Comandos bsicos de Linux. 7.2.

A D M I N I S T R A C I N

D E

S I S T E M A S

O P E R A T I V O S .

lo

Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 UP LOOPBACK RUNNING MTU:3924 Metric:1 RX packets:20 errors:0 dropped:0 overruns:0 frame:0 TX packets:20 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 # permite apagar o bajar la interfaz de red eth0 # permite encender o levantar la interfaz de red eth0

# ifconfig eth0 down # ifconfig eth0 up

Al igual que las ordenes useradd, usermod, etc. en realidad lo que hacen es modificar el fichero /etc/passwd y el fichero /etc/shadow, la orden ifconfig realmente modifica el fichero /etc/networking/interfaces. Podemos editar directamente ese fichero para modificar las propiedades de la red. Para reiniciar todo el sistema de red y volver a cargar dicho fichero, podemos o bien reiniciar totalmente la maquina con un shutdown r now o bien podemos reiniciar nicamente el entorno de red con la orden /etc/init.d/networking restart.

T E M A

7 .

L I N U X .

3 2

Comandos bsicos de Linux. 7.2.

Potrebbero piacerti anche