Escolar Documentos
Profissional Documentos
Cultura Documentos
En esta semana veremos el manejo de la consola y algunos comandos bsicos para la administracin del sistema por medio de la consola en sistemas Linux.
Veremos a continuacin varios ttulos, cada ttulo hace referencia a un comando, luego del ttulo se dar paso a la explicacin de las funciones, y algunos de sus parmetros.
man
El comando man es uno de los comandos ms importantes, ya que permite conocer la informacin de cada uno de los comandos que le pasemos por parmetro, por ejemplo, si queremos conocer para que sirve y que parmetros recibe el comando ls, utilizaremos el comando man para saberlo, por ejemplo, usemos man ls, nos debe aparecer la informacin correspondiente al comando ls.
pwd
El comando pwd nos permite conocer en que ubicacin nos encontramos en cualquier momento, por ejemplo, hemos navegado entre carpetas por algn tiempo y llegamos al punto en el que no sabemos dentro de que carpeta nos encontramos, podemos usar el comando pwd para saberlo. El comando retornara la ubicacin desde la raz en la cual nos encontramos, por ejemplo /tmp
cd
El comando cd nos permite navegar entre las carpetas, este comando recibe por parmetro el nombre de la carpeta, pero en caso de que no se ingrese nada como parmetro, este comando nos va a ubicar en la carpeta que tiene por defecto asignada el usuario con el que hemos accedido al sistema. Cmo en los sistemas Linux, todas las carpetas y los dispositivos conectados al sistema se encuentran montados sobre un mismo punto, la raz, podremos acceder a todas las carpetas que en el sistema se encuentren refirindonos a la raz, la raz est representada con un slash /, as que si por ejemplo deseamos ingresar a una carpeta llamada Julian que se encuentra dentro de la carpeta tmp que se encuentra en la raz, podemos ingresar el siguiente comando:
cd /tmp/Julian
Al ingresar el slash al principio del texto que pasamos como parmetro, indicamos que nos referimos a la carpeta que se encuentra en la raz, pero si nos encontrramos dentro de la carpeta tmp, podramos simplemente escribir cd Julian.
adduser
El comando adduser nos permite agregar usuarios al sistema, se debe pasar por parmetro el texto con el que se creara el nombre de usuario para dicho usuario, por ejemplo adduser julianarmando Ese comando creara en el sistema un usuario con nombre de usuario julianarmando. Este comando recibe por parmetro otras opciones como la carpeta por defecto que tendr dicho usuario, el grupo al que pertenece en usuario, el user id, entre otros. Por ejemplo, voy a crear un usuario con nombre de usuario julianarmando, que tendr su carpeta por defecto dentro de /home/julian, para ello debo escribir el siguiente comando: adduser julianarmando -g julian Para consultar los otros comandos que recibe este comando, podemos consultar el manual: man adduser.
addgroup
El comando addgroup, permite crear grupos en el sistema, consultemos el manual para ver el funcionamiento de este comando.
ls
El comando ls nos permite conocer todos los archivos y carpetas que se encuentran dentro de una carpeta, por ejemplo, si nos encontrramos ubicados en la carpeta /tmp y en esta carpeta se encontraran los archivos con nombre julian1 y julian2 y adems la carpeta registros, dicho comando nos mostrara estos 3 elementos. Si utilizamos el comando ls y por parmetro le pasamos l, podramos ver informacin detallada de cada archivo y carpeta que se encuentra en donde ejecutemos el comando, tambin podemos pasarle por parmetro la ubicacin de la carpeta de la cual queremos ver lo que contiene.
ls -l
El comando ls con -l por parmetro nos arroja la siguiente informacin (ejemplo).
Lo primero que encontramos a la izquierda son unas letras como d rwx- entre otros, y lo que hay en la derecha es el nombre del archivo o de la carpeta que se encuentra en dicha carpeta, los nombres de las carpetas aparecen con azul, los nombres de los archivos aparecen con gris, los smbolos que encontramos a la izquierda representan varias cosas, vemos en la primera columna se encuentra una d y un -, las d son las carpetas (directorios) que all se listan, es la forma de identificar los directorios, cuando en vez de una d hay un - es porque eso es un archivo, no una carpeta. Luego vienen 9 espacios ms: ___ ___ ___ En esos espacios vemos por ejemplo que la carpeta contabilidad tiene rwxr-xr-x Debemos dividir eso en grupos de a 3, quedara algo asi rwx r-x r-x El primer grupo de 3 representa los permisos que tiene el creador del archivo, el usuario dueo del archivo sobre ese archivo, el segundo grupo de 3 representan los permisos que tienen los dems usuarios del sistema que adems hacen parte del mismo grupo del creador del archivo, y el tercer grupo de 3 representa los permisos que tienen los dems usuarios del sistema, que no son del mismo grupo del creador, sobre ese archivo o carpeta. (Veremos ms acerca de los permisos en el comando chmod) Luego de las columnas de permisos encontramos una columna con algunos nmeros, eso de momento lo omitiremos, luego, vemos el nombre del usuario al que le pertenece dicho archivo, en este caso es root, y luego, el nombre del grupo al que pertenece el usuario que ha creado el archivo o el directorio, en este caso es root tambin, hemos a continuacin el tamao de dicho archivo o directorio, la fecha, la hora, y por ltimo el nombre del archivo o directorio.
chmod
Con ayuda del comando chmod podemos cambiar los permisos sobre los archivos que especifiquemos, este comando recibe por parmetro, la configuracin de los permisos y el nombre del archivo al cual le cambiaremos los permisos. Por ejemplo: chmod 777 julian1 Este comando indica que se le den todos los permisos a todos los usuarios sobre el archivo julian1 Existen varias formas de especificar que permisos se le va a dar a cada archivo, esta es la manera ms fcil, aprendamos a analizar antes los permisos que cada archivo tiene, esto lo hacemos utilizando el comando ls -l que vimos anteriormente. Tomemos como ejemplo un archivo que tiene todos los permisos, debera verse algo como: rwx rwx rwx Como veamos antes, para comprender mejor los permisos, se deben dividir en 3 grupos de 3, el primer grupo hace referencia a los permisos que tiene el usuario dueo del archivo sobre el archivo, el segundo grupo indica los permisos que tienen los usuarios del mismo grupo del dueo del archivo, y el tercer grupo representa los permisos que tienen los dems usuarios del sistema sobre este archivo. Analicemos nicamente uno de los 3 grupos. rwx La r viene del ingls read que representa que se encuentra con permisos de lectura. La w viene del ingls write que representa que se tienen permisos de escritura. La x hace referencia a ejecutar, osea, que se tienen permisos de ejecucin. Veamos algunos ejemplos para dar claridad sobre el tema: rwx -wx r-x rwTiene permisos de lectura, escritura y ejecucin. Tiene permisos de escritura y ejecucin, pero no de lectura. Tiene permisos de lectura y ejecucin pero no de escritura. Tiene permisos de lectura y escritura pero no de ejecucin.
Cuando pasamos por parmetro del comando chmod, valores como 777, cada uno de esos 7 hace referencia a uno de los 3 grupos, sea que el primer 7 indica los permisos para el dueo del archivo, el segundo 7 los permisos para los usuarios que hacen parte del mismo grupo que el dueo del archivo y el tercer 7 indica los permisos de los dems usuarios del sistema sobre ese archivo o carpeta.
As como podemos dar un 7 para otorgar todos los permisos sobre el archivo, podemos dar otros nmeros para indicar permisos distintos, veamos. 7 6 5 4 3 2 1 Permisos de lectura, escritura y ejecucin Permisos de lectura y escritura Permisos de ejecucin y de lectura Permisos de lectura nicamente Permisos de ejecucin y escritura Permisos nicamente de escritura Permisos nicamente de ejecucin
Veamos un ejemplo: S quiero darle permisos de lectura, escritura y ejecucin al usuario al que le pertenece al archivo, permisos de lectura nicamente para los usuarios del mismo grupo y permisos de lectura y escritura para los dems usuarios, que debo ejecutar? chmod 746 julian1 Suponiendo que julian1 es el nombre del archivo que quiero afectar. El 7 del comando anterior otorga todos los permisos al usuario dueo del archivo, el 4 otorga permisos de lectura nicamente a los usuarios miembros del mismo grupo que el dueo del archivo y el 6 otorga permisos de lectura y escritura a los dems usuarios del sistema.
Una vez verificado esto, procedo a darle permisos 777 al usuario programa.sh, para ello uso el comando: chmod 777 programa.sh Este es el ltimo paso, ahora simplemente procedemos a ejecutarlo, para ello usamos el comando: ./programa.sh Con el punto y el slash antes del nombre del archivo que queremos ejecutar, indicamos que ese archivo debe ser ejecutado, tambin podramos usar el comando: sh programa.sh Podemos agregar muchas otras lneas a nuestro programa en Shell script, nicamente debemos conocer el algoritmo que queremos desarrollar, usar cdigo de seleccin, repeticin y dems. Al final de este documento se encuentran algunos enlaces donde se podr ver ms a fondo las posibilidades que nos brinda la programacin en Shell script. Recordemos que con Shell script tambin podemos, adems de hacer programas, ejecutar comandos de forma automtica como si lo hiciramos estando frente al ordenador. Existen muchos comandos importantes y elementales para utilizar en sistemas basados en Linux, algunos los hemos visto en este archivo, otros los vimos en el video, y muchos otros podrn ser encontrados en los enlaces que hay al final de este documento.