Conexiones vía telnet

Anuncio
Como crear una conexión (vía telnet)
Cogemos New, tenemos que ponerle un nombre, le ponemos el nombre de linux. Protocol:Telnet y ponemos
la dirección de IP:172.26.0.253. Una vez hecho esto, tenemos que volver a ponerle nombre linux1 y lo
guardamos.
Linux: Es un sistema operativo para PC utilizado en ordenadores con procesadores 386,486 y Pentium.
También puede instalarse en ordenadores con microprocesadores AMD. Fue desarrollado a principios de los
90 por Linux Torvald, el código fuente del sistema fue compartido con otros programadores con el objetivo
d4e irlo perfeccionando. Actualmente tienen código abierto por lo que el código del núcleo del sistema puede
ser reconfigurado por el propio usuario.
Linux realiza muchas de las mismas funciones que el sistema operativo DOS o Windows pero se distingue por
sus características a nivel de gestión de redes y posibilidad de sesiones multiusuario y multitarea. Se
distribuye de forma gratuita, se puede dividir en 4 componentes que son: núcleo o kernel, Shell, el sistema de
archivos y las utilidades.
El KERNEL es el programa más importante y se encarga de gestionar los dispositivos hardware y ejecutar las
utilidades.
El SHELL proporciona la interface para el usuario, a través de él, se podrían enviar órdenes al kernel para que
se ejecuten.
El SISTEMA DE ARCHIVOS organiza la forma en que se almacenan los archivos en los dispositivos, discos
(FAT, NTFS, ext2 (linux) o linux native).
Las UTILIDADES son programas ofrecidos por el sistema para realizar operaciones como por ejemplo editar
archivos, compilar programas, gestionar comunicaciones, etc.
Con respecto al Shell, este puede ser una interfaz grafica o GUI denominada X−Windows (kde o gnome) o
una interfaz de texto (Shell Bash, Tsch).
Con respecto al sistema de archivos, este es un gran conjunto interconectado de directorios cada uno de los
cuales, pueden contener a su vez archivos u otros directorios. Se podrán establecer permisos de accesos tanto
a directorios como a archivos. Los directorios están organizados en una estructura jerárquica de árbol en
donde existen un directorio principal denominado raíz o root que se identifica con / el resto de directorios
derivan de él.
/ (root)
bin sbin etc home usr
Luis Ana
Juegos documentos
$ Si aparece, nos indica que somos usuarios normales y corrientes
# Si aparece, nos indica que somos el root.
1
Si tecleamos pwd, nos devuelve la ruta donde nos encontramos.
Si tecleamos su, esto nos permite entrar como root, acto seguido nos pide una password. Si ponemos su y un
nombre de usuario, nos pedirá la password de ese usuario.
PARA CREAR CUENTAS
Tecleamos userconf. Nos saldrá una pantallita negra. Nos dirigimos hacia user account y con ayuda del
tabulador, vamos hacia Add y luego pulsamos intro. Tenemos que poner un login y una contraseña. Una vez
que hemos hecho esto, para salirnos de las pantalla negra, damos dos veces al ESC y luego otras dos veces al
ESC.
Ahora, abandonamos esta sesión con exit o bien control+D. Como nos encontramos en la sesión IET, hacemos
un logout y nos salimos de la sesión y de la conexión y entramos con nuestro usuario y nuestra contraseña.
Si tecleamos who sabemos que usuarios están conectados al sistema.
REQUISITOS PARA LA INSTALACIÓN DE LINUX
Necesitaremos un PC con microprocesador intel o compatible (AMD). Se recomienda 16 megas de Ram como
mínimo. El espacio en disco duro depende bastante de los paquetes que se vayan a instalar y de la
distribución. Se recomienda un espacio libre de al menos 1 Gb. A nivel de particiones, se deberá crear como
mínimo dos. Una partición para datos, del tipo Linux Native o ext2 y otra de swapping o intercambio.
La partición del sistema se identificara con un punto de montaje que es /. Necesitaremos también una unidad
de CD−Rom, una disquetera porque en la instalación se ofrece la posibilidad de crear un disquete de arranque,
para arrancar el sistema a través de él, en lugar de hacerlo desde el disco duro. También necesitaremos saber
las características de nuestro monitor y de nuestra tarjeta de video.
ARRANQUE DE LINUX
Se puede arrancar mediante disquete o desde LILO (Linux Loader). El disquete por supuesto el que hemos
creado durante la instalación de linux.
Si el arranque es a través del linux loader (LILO), se realiza a través del disco duro apareciendo un menú con
los diferentes sistemas operativos instalados. A medida que se va cargando el sistema, van apareciendo
numerosos mensajes que indican la carga e inicialización de todos los servicios hasta que aparezca la petición
del login del usuario y su contraseña. Si se desea conocer como administrador, el login será root, esta cuenta
se crea durante la instalación, así como su contraseña. Una vez que el usuario ha iniciado la sesión, aparecerá
el inductor del sistema
[usuario@servidor directorio]$
Aparece el nombre del usuario que inicio la sesión, el nombre del servidor y el nombre del directorio actual.
Por defecto, el inicio de sesión de un usuario le coloca a este en un directorio cuya ruta es /home/usuario. Este
directorio será privado y solo se podrá acceder a él, el propietario y el root.
Si ponemos cd .. lo que hacemos, el que subimos al directorio principal.
Dir o ls nos devuelve información sobre el directorio
Cd / o cd nos devuelve a nuestro directorio
2
LINEA DE ÓRDENES
Una vez que el usuario ha accedido al servidor linux queda a su disposición una interfaz de línea de órdenes
normalmente es el shellbash
A través de esta interface que consta de una sola línea de texto, el usuario podrá introducir sus opciones y
argumentos. Toda orden estará formada por el nombre de la misma, sus opciones y sus argumentos. Estos tres
componentes, iran separadas por un espacio en blanco. Una vez tecleado la orden, el shell la leerá enviándola
al kernell para que se ejecute. Toda orden es un fichero almacenado en alguno de los directorios (pwd, dir, ls,
who)
Una opción es un código que consiste en una letra precedida por un guión que modifica el tipo de acción que
efectuara la orden.
$ orden opciones argumentos
cd /bin :Nos lleva al directorio bin, que es uno de los directorios creados automáticamente. Posee archivos
ejecutables.
Ls: Con esto, nos muestra el contenido del directorio en el que nos encontramos.
Ls −l: Es lo mismo que antes solo que ahora nos da más información. Las primeras letras, nos dan los
permisos. Si lo primero que aparece es −, es un fichero normal; si es una l, se trata de un vínculo y si es una d,
se trata de un directorio. El nombre, lo vemos al final.
Ls −a: Nos muestra los archivos que puede haber ocultos en ese directorio.
Ls −F: Nos indica que los diferentes directorios con una barra / detrás del nombre.
Alias: asociación de un código a una orden
En caso de tener que poner dos o mas ordenes, ponemos un guión y después ponemos las ordenes seguidas ls
−la
Un argumento es una orden detrás de las opciones suelen ser normalmente nombres de archivos.
Ls −l apunte: Los argumentos son nombres de archivo. Si dicho archivo no existe, nos lo dice.
Rm −i ap*: rm es el orden, lo que nos hace es borrar el fichero, −i es la opción y ap* es un argumento.
La línea de ordenes contiene un buffer de texto que se puede editar antes de pulsar sobre return , se pueden
realizar operaciones de edición de texto, aunque la edición es limitada al menos proporciona una forma de
poder corregir errores.
Con las flechas <− −> podemos movernos por la línea de código para poder modificar en casi de
confundirnos. Por el contrario, si pulsamos sobre estas nos permiten movernos por nuestro historial de
órdenes.
History: Nos saca el listado de todas las órdenes que hemos utilizado
ctrl.+U: Borra la línea completamente
3
Return y Supr nos sirven para eliminar caracteres.
ctrl.+C: Cancela la ejecución de una orden.
ctrl+d Tiene diferente significación dependiendo de la tarea que se realice.
• Para finalizar una conexión, similar a un logout
• Si hemos utilizado la orden su para iniciar la sesión como otro usuario, es similar a exit, para
abandonar la sesión
• Envío de mensajes instantáneos. Ejecuta el envío o finaliza la acción.
En una misma línea de ordenes, se pueden ejecutar varios comandos, para ello, bastará con separarlos
mediante ;
Para saber la fecha, la hora y los usuarios conectados tenemos que poner: date;who (sin espacios).
CAMBIO DE CONTRASEÑA
Passwd: Cambia el usuario su propia contraseña
Primero te pregunta la contraseña actual y después la nueva dos veces.
CARACTERES COMODIN
Los nombres de los archivos son los argumentos más comunes en las órdenes. Es frecuente, que al intentar
localizar un archivo, solo se sepa una parte del nombre o tal vez se quiera hacer referencia a varios nombres
de archivo que tienen la misma extensión o que comienzan por el mismo carácter. Dado el nombre parcial de
un archivo, el shell usa unos operadores de coincidencia para buscar archivos y generar una lista con los
nombres de archivos encontrados. Estos símbolos son: *,?,[ ].
*:Se usa para hacer referencia a archivos que empiezan o terminan con un grupo indeterminado de caracteres.
Ejemplos:
Ls *.doc: Lista de todos los ficheros con extensión doc
Ls doc*.* : lista de ficheros que empiezan por doc y tienen extensión
Ls doc: Saca tanto los doc con extensión como los que no la tienen
?: Equivale A un solo carácter, cualquiera en el nombre de un archivo
Ejemplos:
Ls ???: Lista de ficheros cuyo nombre tiene 3 caracteres
Ls doc?: Lista de ficheros empiecen por doc y lo siga un carácter
Ls ?y?oc.*: Fichero que empiecen por cualquier carácter, le siga y luego otro carácter, después que termine en
oc y tenga cualquier extensión.
[ ]: Permiten restringir el conjunto de caracteres válidos para una selección.
4
Ejemplos:
Ls doc [1A]: Fichero que empiezan por doc y que les siga un 1 o una A.
Ls doc [1−3]: Ficheros que empiecen por doc y que les siga un 1, 2 o 3.
Ls doc [A−K]: Fichero que empieza por doc y le sigue una letra del intervalo (A−K)
Ls *.[co]: Ficheros con extensión c u o.
CREACIÓN DE UN FICHERO DE TEXTO
Existen dos posibilidades:
• Utilizar la orden cat que sirve para visualizar el contenido de un archivo redireccionando su salida en lugar
de hacia la pantalla hacia un fichero.
Cat > fichero.txt (intro)
Escribimos texto (intro)
ctrl+d
Para comprobar que está, ponemos ll, es el alias de ls −l.
Para ver lo que hay escrito, tenemos que poner cat fichero.txt
• Utilizar el editor del sistema:
Vi fichero−1.txt
Una vez dentro, pulsamos i para insertar texto y a partir de ahí, ponemos escribir.
Para salir, damos sobre ESC, después :. Luego tenemos dos opciones:1.Si queremos grabar, escribimos wq.
2.Si por el contrario, solo queremos salir, escribimos cq.
CONSULTA DE CALENDARIO
Cal: permite consultar un calendario
Cal −y: nos devuelve todos los meses del año. También podemos especificar un año. Cal −y 2004.
Cal −m: Obtenemos los días del mes empezando por el lunes cal −m 4 2018
Cal −j: muestra el calendario juliano. No inicia los días, sino que los va sumando.
SISTEMA DE ARCHIVOS
Se puede nombrar un archivo usando caracteres alfabéticos, caracteres de subrayado y números. Un archivo
no puede empezar por un número, y salvo casos especiales, nunca debe empezar por un punto. Símbolos
como: *, [],>, <, ?, |, no pueden formar parte del nombre de un archivo en el momento de su creación, puesto
que tienen una significación especial. El nombre se puede separar de la extensión a través de un punto.
5
Existen archivos especiales de inicialización que contienen órdenes de configuración de linux. Estos son
archivos ocultos y su nombre empieza por punto. En cada directorio personal de usuario, existen algunos de
estos ficheros puesto que están ocultos. Para poder verlos, ponemos ls −a. A estos ficheros se les denomina
guiones del shell. Se pueden ejecutar con la orden:
sh fichero (nombre del archivo) o . fichero(nombre del archivo)
TIPOS DE ARCHIVOS
Todos los archivos de linux tienen el mismo formato lógico, un flujo de bytes. Se declaran los siguientes tipos
de archivos: archivos normales, directorios, archivos de dispositivos de carácter, archivos de dispositivos de
bloques.
La diferencia mas significativa entre dos archivos es la de ser binarios o de texto.
Los archivos binarios pueden ser ejecutables, de directorio, etc.
Los archivos de texto, pueden contener códigos fuentes de programas, ordenes del shell o incluso estar vacíos.
La orden file, nos permitirá saber cual es el tipo de un archivo fila y los archivos separados por un espacio y
nos dice de que tipo son:
Mkdir docs: Nos crea un directorio
Cp /bin/zcat /home/... :Con esto copiamos zcat a nuestro directorio
Ahora tenemos que poner: file docs zcat alfa.xls
La orden file tiene una opción que es −f, que le permite leer nombres de archivo almacenados a su vez en otro
archivo, en lugar de introducirlos desde la línea de ordenes.
Cat > myfiles
Zcat
Alfa.xls
Docs
^d
$
ahora hacemos: file −f myfiles
Es como hacer file.
ESTRUCTURA JERARQUICA DE ARCHIVOS
Linux organiza los archivos es un conjunto de directorios jerárquicamente conectados. Cada directorio, puede
contener archivos u otros directorios, formando así, una estructura de árbol. Esta estructura se inicia desde el
directorio / (root)
6
/
bin sbin home
pepe boris tobias
aceite docs
cartas informes
El directorio home, es un directorio importante para los usuarios, puesto que contiene los directorios
personales de cada uno. Siempre que un usuario haga login en el servidor, quedara situado automáticamente
en su directorio, dentro de él, podrá realizar cualquier tipo de operación con sus datos, fuera de él, no. Ni
siquiera podrá acceder a él, será utilizando su vía de acceso desde el raíz sabiendo que existen dos tipos de
vías: absoluto y relativa.
La vía absoluta parte siempre desde el raíz. La vía absoluta a docs seria:
/home/boris/docs
La vía relativa comienza desde el directorio personal. Es decir, estamos en /home/boris, por lo tanto, la vía
relativa seria es: /docs. Si lo que queremos es ir a informes, seria:
/docs/informes
DIRECTORIOS DEL SISTEMA
El directorio raíz en el que empieza el sistema de archivos de linux contiene varios directorios del sistema.
Estos contienen archivos y programas que se usan para ejecutar y mantener el sistema. Muchos contienen
otros programas para ejecutar características específicas de linux. Los directorios estándar de linux son:
/ (raíz) : Comienza el sistema de archivos, se conoce como raíz.
/home: Contienen los directorios propios de los usuarios
/bin: contiene todas las órdenes estándar y los programas de utilidad
/usr: contiene archivos y órdenes usados por el sistema
/usr/bin: contiene órdenes orientadas a usuarios y utilidades.
/usr/sbin: contiene órdenes de administración del sistema
/usr/lib: Contiene bibliotecas de los lenguajes de programación
/usr/doc: Contiene archivos de documentación linux
/usr/man: Contiene archivos del manual interactivo
man who: salimos del manual pulsando q
/usr/spool: Contiene archivos en formato cola, tales como los que se generan para imprimir tareas y hacer
7
transferencias a redes.
/sbin: Contiene órdenes de administración para arrancar el sistema
/dev: Contiene interface de archivos para dispositivos tales como el terminal y la impresora.
ADMINISTRACION DE DIRECTORIOS
Mkdir (md): para crear directorios
Rmdir: para borrar directorios
Cd para cambiar directorios
Pwd: para saber el directorio actual
.. : Para subir al directorio superior
.:Para representar al directorio propio
La orden cd nos devuelve a nuestro directorio principal.
Para ver en forma de árbol, tenemos que poner tree.
LISTADO DE DIRECTORIOS
Para listar directorios se pueden utilizar las órdenes: ls, dir, vdir.
Vdir: Nos muestra los permisos
Ls −l: Nos muestra información de los archivos
Ls −F: Podemos diferenciar los directorios de los archivos. Los directorios aparecen junto a /.
Ls −a: muestra ficheros ocultos (empiezan por .)
Ls −c: nos muestra en columnas
Ls −R: listado recursivo, van mostrando todos los directorios y archivos pertenecientes a uno dado.
VISUALIZACIÓN DE ARCHIVOS
Para visualizar el contenido de un archivo, se puede utilizar:
Cat: Nos muestras el contenido
More: Nos muestra el contenido paginándolo (pagina a pagina)
Less: se puede retroceder (b), para avanzar (F o barra espaciadora), para salir (q)
OPERACIONES CON DIRECTORIOS Y ARCHIVOS
8
Linux proporciona varias ordenes para gestionar los archivos de usuario son permitidas operaciones tales
como buscar archivos, copiarlos, renombrarlos, suprimirlos o crear vínculos.
Find: Permite efectuar la búsqueda de un archivo especifico o de un cierto tipo en una estructura de
directorios. Lleva como argumentos los nombres de directorios donde hay que buscar seguidos de varias
opciones posibles que especifican el tipo de criterio de la búsqueda.
La orden buscará en esos directorios y en los subdirectorios de los mismos, puede buscar un archivo por su
nombre, tipo, propietario o por la hora de la ultima actualización.
Find lista de directorios opción criterios
Opciones
• −name: Tiene como criterio un patrón de nombres de archivo para localizar aquellos que se ajusten a él:
find . −name lunes
Sale la ruta donde se encuentra el directorio actual. En el caso de tener que poner un nombre, se pueden poner
los caracteres comodín pero entre comillas (*.txt)
• −print: En caso de tener una impresora conectada, esta opción imprime el resultado.
Find . −name *.doc −print (imprime la lista)
• −type: Con esta opción indicaremos de que tipo pueden ser el fichero que se intenta localizar.
• −type d: directorio
• −type f: fichero (aparece por defecto)
• −type l: vinculo simbólico
• −type b: archivo de dispositivo por bloque
• −type c: archivo de dispositivo por caracteres
find . −name rep* −type d
• −size: Permite buscar archivos por su tamaño
find . −type f −size
+10c: Superior a 10 caracteres
−10c: Inferior a 10 caracteres
• −mtime: Localiza ficheros en función de la fecha de su ultima modificación
find . −type f −mtime +3: busca ficheros modificados hace 3 días.
• −user: Permite localizar ficheros por el propietario
find . −user alberto
ctrl.+c: Para salir de lo que esta haciendo
9
• −group: Localiza ficheros que pertenezcan a un determinado grupo de usuarios.
Con la orden find se pueden utilizar también operadores lógicos como NOT, AND y OR. El operador lógico
AND es el que se toma por defecto siempre que se indican varias opciones, con lo cual no tiene ningún
indicativo.
AND
Find . −name *.doc −print
NOT
Find . ! −name *.zip
Busca la lista de todos los ficheros que no tengan la extensión zip. Puesto delante de una acción (!: NOT)
OR
Find . −name *.txt −o −name l* −type d
Ficheros con extensión txt o directorios que empiezan por l
• −cp: Permite realizar copias de archivos, la sintaxis será:
cp . archivo_origen destino (copy MSDOS)
cp carta1.txt miércoles
cat carta1.txt
cat miércoles
La cp tiene alguna opción:
−i: Avisa de la sobre escritura del archivo destino
cp programa.doc miércoles
cp −i programa.dc miércoles
Con esta orden, se podrán utilizar en el apartado archivo origen, símbolos comodín e incluso se podrán indicar
varios nombres de archivo
Cp *.txt /home/alberto
Cp ficher1 ficher2 ficher3 /home/alberto
−r: Realiza una copia recursiva (xcopy de MSDOS)
mv: Permite mover archivos de un directorio a otro así como cambiarlos de nombre.
Mv archivo_origen archivo_destino
10
Mv archivo.txt ficha.txt (cambia el nombre)
Mv archivo.txt data/juegos (moviendo a un directorio)
También permite la opción −i para que avise de la sobre escritura. En el apartado archivo origen también se
podrán indicar varios ficheros separados por al menos un espacio. También podremos usar plantillas con
símbolos comodín.
también se podrán renombrar y mover directorios de un lugar a otro.
rm: Permite eliminar ficheros y directorios.
rm nombre _ archivo
rm nombre _ directorio
Normalmente esta orden suele utilizarse con los archivos utilizando para los directorios rmdir o si alias rm.
Una vez borrado un fichero, no podrá ser restaurado por lo que puede utilizarse la función −i para que el
sistema pregunte. Si se desea o no borrar el archivo sobre todo cuando la operación de borrado se realiza sobre
un conjunto de archivos a través de una plantilla con símbolos comodín.
rm alumnos.dat: borra alumnos.dat
rm −i *.dat: Borra todos los archivos con extensión dat. Me pregunta si quiero borrarlo o no.
Solo se pueden borrar directorios si están vacíos.
ln: A un archivo se le puede dar más de un nombre con el fin de poder acceder a él desde directorios
diferentes. Estos nombres asociados al archivo, se conocen como vínculos duros.
ln archivo_original archivo_vinculado
La orden ls −l nos permite determinar si un archivo tiene varios vínculos a parte de sus permisos,
usuario−propietario, grupo, fecha, hora
− r w − r w − r − − 2 pepe pepe nov 15 9:30 fichero.txt
− r w − r w − r − − 2 pepe pepe nov 15 9:31 vinculo.txt
El 2 es el número de vínculos que tiene
Si modificamos cualquiera de los archivos, se modifican todos.
Vinculo duro: Posibilidad de que varios ficheros estén relacionados entre si de tal manera que modificando
cualquiera de ellos, se modifican todos.
Si queremos comprobar que dos archivos están vinculados, la orden ls tiene la opción −i que muestra el
número de inodo, si estos números son idénticos. Los ficheros están vinculados:
cat > inte.dat
Internet
11
^d
cp inet.cat net.dat
ls −i inet.dat net.dat
cat inet.dat
cat net.dat
Ahora vamos a crear directorios:
md redes
md redes/linux
md redes/linux/mandrake
Creamos un vínculo de inet.dat y lo vamos a meter al nuevo directorio.
ln inet.dat redes/linux/mandrake/inetvin.dat
vi inet.dat
cat inet.dat
cat redes/linux/mandrake/inetvin.dat
VINCULOS SIMBOLICOS Y VINCULOS DUROS
Los vínculos descritos hasta ahora se denominan vínculos duros. Un vinculo duro puede fallar al tratar de
establecer un vinculo con un archivo que se encuentra en un directorio de otro usuario. Esto se debe a que el
sistema de archivos de linux puede ser segmentada a su vez en subsistemas de archivo un sistema de archivo
puede estar compuesto por cualquier dispositivo de memoria física (disquete y disco duro) aunque los
archivos y directorios de todos los subsistemas de archivos están fijados en el mismo árbol de directorios cada
subsistema de archivos ha de mantener sus propios archivos y directorios. Esto significa que un archivo de un
subsistema de archivos, no puede ser vinculado mediante un vinculo duro a un archivo que está en otro
subsistema de archivos para superar esta restricción se utilizan los vínculos simbólicos. Un vínculo simbólico
contiene el nombre de vía del archivo con el que está vinculado. No es un vínculo duro directo, sino que es
información a cerca de cómo localizar un archivo específico.
En lugar de registrar otro nombre para el mismo archivo como lo hace un vinculo duro, un vinculo simbólico.
Se puede imaginar como otro símbolo que representa el nombre de vía del archivo.
Vamos al /mnt poniendo cd /mnt
Damos un ls para ver lo que contiene. Posee cdrom/ y floppy/.
Mete los archivos en un mismo árbol de directorio.
Un vínculo simbólico en linux es lo mismo que un acceso directo en Windows. Para crear un vinculo
simbólico se utiliza la orden ln −s.
12
ln −s ruta_original vinculo _ simbólico
Si este usuario, deseara transferir este archivo al otro usuario de que forma podrían hacerlo. Sabiendo que en
el directorio publico, no hay restricciones de acceso. Lo copiamos en publico salimos y nos metemos como
otro usuario. Este accede y se lo copia en su sesión.
PERMISOS DE ACCESO A ARCHIVOS Y DIRECTORIOS
Cada archivo y directorio de linux, tiene asociado un conjunto de permisos que determinan quienes pueden
acceder a él y de que forma.
Estos permisos, se establecen para tres entidades: usuario, grupo y otros, son de lectura, escritura y ejecución.
Cuando se crea un archivo, por defecto, se le asignan automáticamente: permisos de lectura y escritura al
propietario, lectura al grupo y lectura a otros. Los permisos de un archivo, se podrán saber con un listado
largo.
Para ver los permisos, tecleamos:
ls −l
− r w − r − − r−
Hay tres categorías de usuarios que pueden tener acceso a un archivo o a un directorio: El propietario o
usuario (u), el grupo (g) y otros (o)
El propietario es el usuario que ha creado el archivo, cualquier archivo que cree, le permite, también puede
permitir que su grupo tenga acceso a ese archivo o incluso denegar el acceso a todos los demás usuarios del
sistema.
Cada una de las tres categorías, tiene sus propios permisos de escritura, lectura y ejecución. El primer
conjunto de permisos, controla el acceso del primer usuario a sus archivos. El segundo conjunto, controla el
acceso de los usuarios del grupo a sus archivos. El tercero, controla el acceso del resto de los usuarios.
Un permiso no concedido, se representara con un guión (−), un permiso de lectura, se representa (r), un
permiso de escritura se representa (w) y un permiso de ejecución se representa como (x).
Tipo _ archivo usuario grupo otros
− rwx rwx rwx
Para ver los permisos ponemos: ll, ls −l o vdir
Nos vamos al directorio / para ello, hacemos cd /
Ahora tecleamos ls −l
Para cambiar los permisos de acceso, se utiliza la orden chmod ya sea para un directorio o un fichero. Existen
dos métodos para el cambio de permisos: método simbólico y método numérico.
METODO SIMBOLICO
Utiliza para establecer los permisos los caracteres: r, w y x (read, write y execution) para lectura, escritura y
13
ejecución respectivamente. Cualquiera de estos permisos a la vez, bastara con que se ponga el mas o el menos
una sola vez.
chmod −r fichero: Elimina el permiso de lectura en las tres categorías para ese fichero.
chmod +r −w fichero: permite la lectura y deniega la escritura
chmod −rwx fichero: Deniega todo a las tres categorías
chmod +rwx fichero: Permite todo a las tres categorías.
Para especificar las diferentes categorías, se utilizan los caracteres u para usuarios o propietarios; g para
grupos y o para otros. Estos tres caracteres se anteponen al conjunto de permisos.
chmod o −rwx fichero: elimina los tres permisos a la entidad otros
chmod g −x fichero: elimina el permiso de ejecución al grupo
Si son muchas pagina, ponemos ls −l | more
En lugar de símbolos de permisos, muchos usuarios utilizan el método numérico o absoluto. Este método
cambia todos los permisos a la vez, utilizan un patrón binario que hace referencia a todos los permisos de cada
categoría, las tres categorías con sus tres permisos cada una, se ejecutan a un formato binario expresado en
notación octal. Cada digito octal, tiene tres dígitos binarios se convierte en un numero octal de tres dígitos.
Cada digito octal, se aplica a una de las entidades o categorías de los usuarios.
Octal
0
1
2
3
4
5
6
7
Binario
000
001
010
011
100
101
110
111
El signo + equivale a 1 en binario, el signo − equivale a 0 en binario. Si a carta.doc le aplicamos rwx para el
usuario, r para grupo y r para otros, con la orden chmod podríamos decir:
chmod u + rwx carta.doc
chmod g + r−wx carta.doc
chmod o +r−wx carta.doc
Por el método explicado anteriormente, seria.
Usuario Grupo Otros
rwxrwxrwx
14
rwxr−−r−−
111100100
744
Miramos la tabla anterior y nos saldrá: 7 4 4
Así que pondremos: chmod 7 4 4 carta.doc
En lugar de estar trabajando, calculando la conversión octal a binaria, existe otra alternativa. Los permisos de
lectura (r), escritura (w) y ejecución (x), se pueden asociar con los números 4, 2 y 1 respectivamente. Para
encontrar los dígitos octales que se necesitan especificar, para una cierta categoría, basta con sumar los
números que están asociados con los permisos que se deseen activar de esta manera, si a una categoría, si a
una entidad hay que otorgarle el permiso de lectura y escritura, bastara con sumar 4 y 2.
CAMBIO DE PROPIETARIO O GRUPO AL QUE PERTENECE UN ARCHIVO Aunque otros
usuarios pueden tener acceso a un archivo, solo su propietario puede modificar sus permisos. No obstante, si
se desea dar a otro usuario el control sobre los permisos de un archivo, se podrá cambiar el propietario.
Se utiliza la orden chown transfiere el control de un archivo a otro usuario. Lleva como primer argumento, el
nombre del otro usuario y como segundo argumento, el archivo o archivos que se están traspasando.
chown manuel carta.txt (también puede ser un directorio)
También se puede cambiar el grupo al que pertenece el archivo. Para ello, utiliza la orden chgrp, lleva como
primer argumento el nuevo nombre de grupo y como segundo argumento, la lista de archivos y directorios que
desea ser cambiada.
chgrp gestión informes.dat listados.frm
ARCHIVOS TAR
La utilidad tar, crea archivos almacén para guardar archivos y directorios mediante tar. Se pueden archivar
incluso directorios completos, con todos sus archivos y subdirectorios de manera que puedan ser recuperados
conjuntamente del archivo de almacén. también se pueden crear archivos almacén que contengan a su vez,
otros archivos tar, es una utilidad ideal para hacer copias de seguridad de archivos o para combinar varios
archivos en uno solo, con vistas a transmitirlo por la red.
Su formato básico es:
tar opciones archivo_almacen
tar directorio _ almacén
tar cf archivo tar midirectorio
Conseguimos crear un archivo almacén, de nombre, archivo.tar que contiene la estructura del directorio:
midirectorio.
cf−> creation file
15
tar x f archivo.tar
Extraemos los archivos o directorios almacenados en archivos.tar
tar rf archivos.tar cartas.txt−>añadimos el archivo cartas.txt al fichero almacén archivo.tar
Lista de archivos contenidos en el fichero almacén
tar uf archivo.tar midirectorio
Actualizar el archivo almacén reemplazando los archivos que hubieran sido modificados o añadidos en el
directorio midirectorio.
tar cf /dev/fdØ midirectorio −> nombre del dispositivo de disquete
Crearíamos una copia de seguridad, bastaría con juntar:
tar xf /dev/fdØ
tar cfM /dev/fdØ midirectorio−> si se llena, pide otro disquete. Con la opción M en la creación de archivos
almacén, irá pidiendo disquetes según los vaya utilizando.
La operación tar, no efectúa compresión de los archivos que guarda en un fichero almacén. Si se deseara
comprimir los archivos almacenados, se utilizaría la opción z para invocar en un segundo plano, la orden gzip,
la cual comprimirá los archivos y luego los almacenara. Esta misma opción también servirá para la
descompresión. Cuando el fichero está comprimido se añadirá la extensión .gz
SISTEMAS DE ARCHIVOS
Aunque todos los archivos están conectados en un árbol común, los archivos en si, residen en dispositivos de
almacenamiento tales como discos duros, CD−Roms o disquetes, dentro de un dispositivo concreto, los
archivos de linux, están organizados en sistemas de archivos cada uno de los cuales, puede ser diferente. Los
archivos están organizados en un árbol de directorios sin separaciones que comienza en el directorio raíz.
Aunque, el directorio raíz, pueda estar localizado en un sistemas de archivos residente en una partición del
disco duro existirá un nombre de guía directo a los archivos que estén localizados en por ejemplo, sistema de
archivos del CR−Rom. Los archivos de un sistema de archivos permanecen separados del árbol de directorios
hasta que se conecte específicamente a él. Un sistema de archivos, tiene sus archivos organizados en su propio
árbol de directorios.
El unir un sistema de archivos de un dispositivo de almacenamiento al árbol de directorios principal, se
denomina montaje de dispositivo.
Un dispositivo principal, se monta con la orden mount y solo puede hacerlo el usuario root.
#mount dispositivo punto_de_montaje
Para ver los directorios de disquetera y CD ponemos: cd /mnt
Para montar el floppy
#mount /dev/fdØ /mnt/floppy
16
Para montarlo en nuestro usuario seria:
#mount /dev/fdØ /home/usuario/a
El sistema de archivos principal se monta automáticamente en la instalación y en el arranque del sistema.
Antes de apagar el sistema, los sistemas de archivos montados, deben ser desmontados, el principal se
desmonta automáticamente.
En caso de querer cambiar el disco flexible, primero habrá que desmontar el anterior, introducir el nuevo y
montarlo. Para desmontar un sistema de archivos, se utiliza la orden umont
Para saber el espacio libre que queda en un sistema de archivos, se utiliza la orden df, esta orden listara todos
los sistemas de archivo que están montados con su nombre de dispositivo, tamaño espacio usado, espacio
disponible y punto de montaje.
Para asegurarse de que no hay ningún error, en un sistema de archivos dado, se puede utilizar también la
orden fsck (scandisk) hay que ejecutarlo como root
#fsck /dev/hda6
Un disquete puede soportar dos tipos de formato: fat y ext2. Linux podrá trabajar con ambos formatos, pero en
caso de tener que formatear el disquete, habrá que indicar que el formato debe ser compatible con MS−DOS
mkfs.ext /dev/fdØ−> formato de disquete en linux
mkfs.msdos /dev/fdØ −>formato en disquete en MS−DOS
Para montar una unidad de CD−Rom
#mount /dev/cdrom /mnt/cdrom
Si nos falla, tenemos que poner:
#mount dev/cdrom −t iso9660 /mnt/cdrom
Existe un fichero en el fichero /etc que se llama fstab que contiene información sobre todos los sistemas de
archivos que se pueden tratar desde el inicio del sistema
cat /etc/fstab
Si deseamos montar una partición del tipo linux o tipo msdos de un disco fijo (disco duro) utilizaremos la
orden
#mount /dev/hda4 /mnt/volumen1
Si fuese del tipo ms−dos en lugar de linux habría que poner:
#mount /dev/hda4 −tmsdos /mnt/volumen1
Nos metemos en mnt y creamos el directorio volumen1.
ENTRADA−SALIDA ESTANDAR Y REDIRECCION
17
En las operaciones de entrada−salida, los datos están organizados como un archivo. Los datos de entrada
desde el teclado son colocadas en un flujo de datos dispuesto como un conjunto continuo de bytes.
La salida de los datos procedente de una orden o de un programa también es colocada en un flujo de datos y
dispuestos como un conjunto de bytes. Este flujo de datos de entrada, se conoce como entrada estándar y el
flujo de datos de salida, como salida estándar.
Linux tiene la capacidad de redirección que le permite mover datos fácilmente hacia dentro y hacia fuera de
archivos. Se puede redireccionar la salida estándar de manera que en lugar de verla por pantalla, quede
guardada en un archivo o enviado hacia una impresora. también se puede redireccionar la entrada estándar
quitándole del teclado y asignándola a un archivo de manera que la entrada se lea desde el archivo en lugar de
desde el teclado. Los dispositivos tales como la pantalla y el teclado son tratados como archivos, reciben y
envían bytes con la misma organización que el flujo de bytes de un archivo. La pantalla es un dispositivo que
visualiza un flujo continuo de bytes
Con > lo que hacemos es redireccionar los datos de salida, para que en lugar de a pantalla, nos los lleve a otro
archivo.
cat > texto.txt
REDIRECCION DE LA SALIDA ESTANDAR (> Y >>)
El operador de redirección de salida es el ángulo (>) y desvía la salida estándar a un archivo o a una impresora
en lugar de a la pantalla.
$ cat fichero.txt : dispositivo de salida en este caso es la pantalla
$ cat > fichero.txt: el dispositivo de salida es un fichero, no la pantalla
Si el fichero creado en una operación de redirección de salida ya existiera en el directorio, su contenido seria
reemplazado.
Si se desea evitar la posibilidad de sobre escritura, se puede activar una variable del sistema que es noclobber,
la cual impide que se realice la sobre escritura. Para activar esta característica, pondremos: set −o noclobber
No obstante, si aun esta activa la característica se deseará realizar la sobre escritura, se coloca el símbolo !
después del símbolo de redirección (>!)
cat rapido.txt>!vangal.pufo
Para desactivar la característica noclobber, tenemos que poner: unset noclobber.
Es importante tener en cuenta el siguiente concepto, aunque el operador de redirección y el nombre de archivo
se pone detrás de la orden, la operación de redirección se ejecuta antes de la orden, la operación de redirección
crea el archivo y establece la redirección antes de recibir ningún dato de la salida estándar. Si el archivo ya
existe, será destruido y reemplazado por un archivo con el mismo nombre.
$ ls
$ ls > listaficheros.doc
$ cat listaficheros.doc
18
Si se desea añadir la salida estándar a un archive ya existente, se usa el operador de redirección >>. En lugar
de sobrescribir el archivo, los datos de salida estándar se añadirán al final del mismo.
$ cat rapido.txt >> listaficheros.doc
$ cat listaficheros.doc
REDIRECCION DE LA ENTRADA ESTANDAR
Muchas ordenes de linux, pueden recibir datos de la entrada estándar que por defecto, es el teclado, por
ejemplo, la orden cat sin ningún argumento, lee datos de la entrada estándar y los envia a la salida estándar al
presionar ctrl+d. Si se utiliza la orden cat con redirección de salida, se obtendrá un fichero con lo que se ha
tecleado en la entrada estándar.
El operador de la redirección de entrada es < que permite recibir datos desde un lugar desde el teclado.
Existen varias órdenes en linux que por defecto, actúan como si tuvieran ese símbolo, por ejemplo la orden
cat.
La orden cat lleva implícitamente el ángulo cat < fichero.txt
Se pueden combinar las dos operaciones en la misma orden
$ cat < listaficheros.doc >> rapido.txt
CANALIZACIONES
En algunas ocasiones se necesitará enviar datos de una orden a otra, es decir, enviar la salida estándar de una
orden a otra y no a un archivo de destino. Para crear una canalización, se colocara entre las dos ordenes | .la
primera orden, genera siempre la salida y la segunda la recoge. Se pueden combinar las operaciones de
canalización con otras características del shell, tales como los caracteres comodín.
$ ls | lpr: Imprime los contenidos de un directorio
$ ls *.c | lpr: pasa a la impresora los archivos con extensión c
Mientras que la redirección simplemente pone la salida en un archivo. Las canalizaciones, envían la salida a
otra orden. Una operación de redirección operará siempre sobre archivos. Una operación de canalización
operara sobre ordenes, también se puede simular el proceso de canalización por medio de una serie de
operaciones de redirección. Una primera orden puede enviar la salida a un archivo y una segunda, usa el
archivo como entrada redireccionada.
$ ls *.c > a.cat
$ lpr < a.dat
La canalización opera sobre la entrada estándar de cualquier orden no solo con archivos.
$ cat < misdatos | lpr: capta datos de la entrada y lo envía al dispositivo de salida, en este caso a imprimir
Si se desearan imprimir datos que están siendo introducidos por el teclado, podría llegar a hacerse por un
redirección de entrada o por una canalización.
19
$ cat | lpr
escribimos texto
^d
$cat −n fichero | more
Ponemos −n para que nos muestre el contenido de las líneas numeradas.
$ ls −l | more: Vemos el contenido de un directorio de forma paginada
La orden sort obtiene el contenido de un fichero de texto ordenado alfabéticamente. Funciona mejor con
archivos que son listas de elementos, es una orden que pertenece al grupo de los filtros, igual que more. Son
órdenes que dan salida a una versión modificada de su entrada.
sort nombres: me los ordena
Creamos un archivo nuevo y metemos lo que tenemos en nombres ordenado
$ sort nombres > nombres1
$ cat nombres |
Ver el contenido de nombres ordenado y con líneas numeradas
$ sort nombres | cat −n
Creamos un archivo numerado con las líneas ordenadas
$ sort nombre | cat n>b.txt
Supongamos que queremos redireccionar la salida estándar a un archivo y a la vez, visualizar el contenido de
dicha salida en pantalla. Esto, puede hacerse con la orden tec. Esta orden copia la salida estándar a un archivo.
Lleva como argumento el nombre del nuevo archivo en el cual, se copiara la salida estándar es como si la
salida estándar estuviera repartida en dos copias. Una que es redirigida a un archivo y otra que sigue su
camino normal, la pantalla.
$ cat nombres | tee nombre2
Recoge los datos de nombres y genera una copia
$ sort nombres | tee nombres3
$ sort nombres | tee nombres4 | lpr : Nos lo manda a la impresora y crea nombres4
$ sort nombres | cat −n | tee nfile: Ordena, numera y crea uno
CANALIZACIONES DEL ERROR ESTANDAR
Al ejecutar órdenes, es posible que ocurra algún error, cuando esto sucede, el sistema emite un mensaje, pero
este mensaje, es colocado en otro flujo de bytes diferente al de la salida estándar que recibe el nombre de error
20
estándar. Si deseamos crear un archivo con algún mensaje de error, por ejemplo, para futuras referencias se
podrán tratar todos los flujos de bytes estándar en operaciones de redirección por medio de los números 0, 1 y
2.
El 0 hace referencia a la entrada estándar
El 1 hace referencia a la salida estándar
El 2 hace referencia al error estándar
Por defecto, una redirección de salida (>>) que opera en la salida estándar 1, se puede modificar para que
opere sobre el error estándar realizando una operación de redirección, de salida con el canal dos.
$ cat fichero > fichero−1: Creamos el fichero uno con redirección al archivo que creamos.
$ cat fichero 2>fichero−1. Redirección al fichero el error estándar, lo que guarda es el mensaje de error
También se puede añadir el error estándar al final de un archivo usando también el canal dos y el operador de
redirección aditiva (>>)
$ cat linux.doc 2>>fichero1: dos mensajes de error dentro del fichero
Para redirigir ambos, salida estándar y error estándar, se necesitan dos operaciones de redirección
independientes, es decir, por ejemplo, deseamos visualizar el contenido del archivo, pero si hay errores,
guardar este en un fichero.
$ cat nodata 1>midata 2>mierror
En este ejemplo, si nodata existe, se creara el fichero midata, pero si no fuera así, en el archivo mierror
encontraríamos el mensaje de error oportuno.
Si se desea guardar, el mensaje de error en el mismo archivo que se use para la salida estándar redireccionada,
se necesitará redireccionar el error estándar a la salida estándar. En el Shell−Bash, se puede hacer referencia a
un flujo de bytes estándar precediendo su numero con el símbolo &. Por ejemplo, &1 hace referencia a la
salida estándar. La operación de redirección 2>&1 desvía el error estándar a la salida estándar.
La operación 1>&2 desvía la entrada estándar al error estándar
$cat misdatos 1>misdatos−1 2>&1
La orden cat intentará visualizar el contenido del archivo mis datos tanto si el archivo existe como si no, el
resultado, se encontrará en el archivo misdatos−1.
EJECUCION EN SEGUNDO PLANO
Se puede ejecutar una tarea mientras se esta ejecutando otra, a esto, se denomina ejecución de una tarea en
segundo plano. También se pueden cancelar ordenes antes de que hayan terminado de ejecutarse incluso se
puede interrumpir una orden continuándola posteriormente en el punto en el que se dejó. Las operaciones en
segundo plano son particularmente útiles, para trabajos largos en lugar de esperar en el terminal hasta que la
orden haya terminado su ejecución. En linux una orden se considera un proceso, una tarea que debe ser
realizada. Linux puede ejecutar varios procesos a la vez al igual que manejar varios usuarios a la vez. Las
ordenes que ejecutan un usuario, se conocen con el nombre de tareas. El shell proporciona un conjunto de
21
operaciones de control de tareas que permiten al usuario su control. Las tareas se podrán ejecutar en primer
plano, en segundo plano, cancelarlas o interrumpirlas.
Para ejecutar una tarea en segundo plano, se coloca el símbolo & al final de la orden, después aparecerá en
pantalla, un numero de tarea de usuario y un numero de proceso de sistema [1]534.
# find . −type f −name *.txt > colacao_crisss&: Para ejecutar otra cosa mientras se ejecuta esto.
Se puede poner mas de una orden en segundo plano casa una se clasifica como una tarea y a casa una, se le
asigna un nombre y un numero de tarea. La orden jobs se encuentra en pantalla la lista de tareas que se están
ejecutando en segundo plano. Cada entrada de la lista consta de un numero de tarea entre corchetes, un
símbolo + indicara que la tarea se esta procesando actualmente. Un símbolo − indicara que la siguiente tarea
que ha de ser ejecutada.
#find . −type f −name *.txt > colacao_crisss&
#find . −type d −name s* > xxxxx_crisss&
#jobs
Si se desea poner varias ordenes en segundo plano a la vez, se introducen en la línea de ordenes separados por
un & de esta manera, el símbolo & servirá tanto para la ejecución en segundo plano de la primera orden como
para separar ambas ordenes
Para quitar una tarea de segundo plano y traerla a primer plano, se utiliza la orden fg. Si hay mas de una, se
deberá indicar el numero de tarea precedido por el % (fg %2)
CANCELACION DE TRABAJOS
Si se desea detener una tarea que se esta ejecutando en segundo plano, se utiliza la orden kill. Esta orden lleva
como argumento el numero de tarea de usuario o el numero de proceso del sistema. Si se indica el numero de
tarea de usuario este ha de ir precedido por el % (kill %2). Si es numero de proceso, no hará falta (kill 567)
También se puede consultar los números de proceso con la orden ps. Esta orden muestra una lista con PID del
proceso, el terminal desde el cual se ha ejecutado, la hora y el comando.
PID tty time command
INTERRUPCION DE TRABAJOS
Una tarea puede ser interrumpida con la pulsación de las teclas ctrl+z. La tarea no termina, solo queda en
suspenso hasta que deseemos continuarla. La reanudación de la ejecución de la orden, se podrá hacer tanto en
primer plano como en segundo plano, utilizando las ordenes fg (primer plano) o bg (segundo plano)
respectivamente. En ocasiones, se necesitara poner en segundo plano, una tarea que en ese momento se está
ejecutando en primer plano, para ello, primero habrá que detenerla (ctrl+z) y después, ponerla en segundo
plano con la orden bg.
#find . −type d −name s* > xxxxx_crisss
#jobs
#fg %1
22
cdRom
floppy
mnt
\
23
Descargar