Soluciones a la tarea 5

Anuncio
1. Investigar 5 programas para borrar y 3 opciones.
Basta usar el comando apropos delete para ver los comandos que están relacionados con borrar.
De estos podemos ver los manuales de 5 comandos para conocer sus opciones.
Aquí ya nomas era cuestión de traducir las secciones de los manuales donde tiene las opciones.
2. Investigar 5 programas que estén relacionados con directorios, describir 3 opciones de cada
instrucción encontrada.
Este ejercicio era aun más sencillo porque habían muchas más opciones:
de nuevo se usaría man “comando”.
3. Investigar la forma de cambiar permisos en Linux en forma algebraica.
1.- Estructura básica de permisos en archivos
Hay 3 atributos básicos para archivos simples: lectura, escritura y ejecutar.
>> Permiso de lectura (read)
Si tienes permiso de lectura de un archivo, puedes ver su contenido.
>> Permiso de escritura (write)
Si tienes permiso de escritura de un archivo, puedes modificar el archivo. Puedes agregar, sobrescribir
o borrar su contenido.
>> Permiso de ejecución (execute)
Si el archivo tiene permiso de ejecución, entonces puedes decirle al sistema operativo que lo ejecute
como si fuera un programa. Si es un programa llamado “foo” lo podremos ejecutar como cualquier
comando.
O un script (interprete) que necesita permiso de lectura y ejecución, un programa compilado solo
necesita ser lectura.
Los caracteres atribuidos a los permisos son:
r quiere decir escritura y viene de Read
w quiere decir lectura y viene de Write
x quiere decir ejecución y viene de eXecute
Usando chmod para cambiar los permisos
chmod (change mode) es el comando utilizado para cambiar permisos, se pueden agregar o remover
permisos a uno o mas archivos con + (mas) o – (menos)
Si quieres prevenirte de modificar un archivo importante, simplemente quita el permiso de escritura en
tu “archivo” con el comando chmod
$ chmod -w tuArchivo
si quieres hacer un script ejecutable, escribe
$ chmod +x tuScript
si quieres remover o agregar todos los atributos a la vez
$ chmod -rwx archivo
$ chmod +rwx archivo
también puedes usar el signo = (igual) para establecer los permisos en una combinación exacta, este
comando remueve los permisos de escritura y ejecución dejando solo el de lectura
$ chmod =r archivo
Cuidado con editar los permisos de tus archivos, si los editas no olvides dejarlos como estaban
originalmente
2.- Estructura básica de permisos en directorios
En el caso de los directorios tenemos los mismo permisos, pero con un significado diferente.
>> Permiso de lectura en un directorio
Si un directorio tiene permiso de lectura, puedes ver los archivos que este contiene. Puedes usar un “ls
(list directory)” para ver su contenido, que tengas permiso de lectura en un directorio no quiere decir
que puedas leer el contenido de sus archivos si no tienes permiso de lectura en esos.
>> Permiso de escritura en un directorio.
Con el permiso de escritura puedes agregar, remover o mover archivos al directorio
>> Permiso de ejecución en un directorio.
Ejecución te permite usar el nombre del directorio cuando estas accediendo a archivos en ese
directorio, es decir este permiso lo hace que se tome en cuenta en búsquedas realizadas por un
programa, por ejemplo, un directorio sin permiso de ejecución no seria revisado por el comando find
3.- Usuarios, Grupos y Otros
Ahora conocemos los 3 permisos y como agregar o remover estos, pero estos 3 permisos son
almacenados en 3 lugares diferentes llamados.
Usuario (u) proviene de user
Grupo (g) proviene de group
Otros (o) proviene de other
Cuando ejecutas
$ chmod =r archivo
Cambia los permisos en 3 lugares, cuando haces una lista de directorios con “ls -l” veras algo parecido
a.
-r--r--r--
1
wada
users
4096 abr 13 19:30 archivo
nota esas 3 “r”s para los 3 diferentes tipos de permisos
donde:
x-------------x-------------x
| permisos
| pertenece |
x-------------x-------------x
| rwx------ | usuario
|
| ---r-x--- | grupo
|
| ------r-x | otros
|
x-------------x-------------x
podemos remover permisos para cada dueño; supongamos que tenemos un archivo:
-rwxr-xr-x
1
wada
users
4096 abr 13 19:30 archivo
Para remover los permisos de ejecución a grupos y otros basta con usar:
$ chmod g-x,o-x archivo
nuestro archivo quedara con estos permisos
-rwxr--r--
1
wada
users
4096 abr 13 19:30 archivo
si deseas remover a usuario el permiso de escritura:
$ chmod u-x archivo
-r-xr--r--
1
wada
users
4096 abr 13 19:30 archivo
Agregando y removiendo dos permisos a la vez:
$ chmod u-x+w archivo
-rw-r--r--
1
wada
users
4096 abr 13 19:30 archivo
http://blog.desdelinux.net/permisos-basicos-en-gnulinux-con-chmod/
4. Investigar la forma de renombrar archivos en Linux.
Este ejercicio todos lo tuvieron bien.
>mv archivoOrigen archivoDestino
5. Investigar como afecta cambiar permisos a carpetas o subdirectorios en Linux.
Una vez que contestaron la pregunta 3 ya tenian esta.
>> Permiso de lectura (read)
Si tienes permiso de lectura de un archivo, puedes ver su contenido.
>> Permiso de escritura (write)
Si tienes permiso de escritura de un archivo, puedes modificar el archivo. Puedes agregar, sobrescribir
o borrar su contenido.
>> Permiso de ejecución (execute)
Si el archivo tiene permiso de ejecución, entonces puedes decirle al sistema operativo que lo ejecute
como si fuera un programa. Si es un programa llamado “foo” lo podremos ejecutar como cualquier
comando.
O un script (interprete) que necesita permiso de lectura y ejecución, un programa compilado solo
necesita ser lectura.
Para directorios es casi lo mismo.
>> Permiso de lectura en un directorio
Si un directorio tiene permiso de lectura, puedes ver los archivos que este contiene. Puedes usar un “ls
(list directory)” para ver su contenido, que tengas permiso de lectura en un directorio no quiere decir
que puedas leer el contenido de sus archivos si no tienes permiso de lectura en esos.
>> Permiso de escritura en un directorio.
Con el permiso de escritura puedes agregar, remover o mover archivos al directorio
>> Permiso de ejecución en un directorio.
Ejecución te permite usar el nombre del directorio cuando estas accediendo a archivos en ese
directorio, es decir este permiso lo hace que se tome en cuenta en búsquedas realizadas por un
programa, por ejemplo, un directorio sin permiso de ejecución no seria revisado por el comando find
http://blog.desdelinux.net/permisos-basicos-en-gnulinux-con-chmod/
Unix, como sistema multiusuario, asigna un propietario y un grupo a cada fichero (y directorio) y unos
permisos al propietario, al grupo y al resto de los usuarios. La forma más rápida de comprobar esta
característica es usar el comando ls -la. Así nos aparece el tipo de fichero, el propietario, el grupo, los
permisos e información adicional. Por supuesto, el sistema de ficheros tiene que admitir esta
característica, como es el caso del sistema de ficheros ext2. En los sistemas de ficheros pensados para
entornos monousario, como msdos o vfat, no tenemos esta característica, por lo que son inseguros y su
uso no es aconsejable bajo Unix.
Es conveniente tener claros los permisos que se pueden asignar a un fichero o directorio. Puede que
algunas aplicaciones no funcionen bien si algún fichero no tiene el permiso o el propietario correctos,
bien por falta de permisos o bien por exceso. Algunas aplicaciones son un poco quisquillosas en este
aspecto. Por ejemplo, fetchmail es un programa que podemos usar para recoger el correo de un servidor
pop. Este programa se configura en el fichero .fetchmailrc, donde tendremos que indicar la clave que
usamos en el servidor; pues bien, si este fichero tiene permiso de lectura para otro usuario que no sea el
propietario, fetchmail no funcionará.
Otras aplicaciones, como por ejemplo inn (un servidor de noticias de Internet) tampoco funcionará si el
propietario de sus ficheros es otro usuario distinto a news. Todo esto está perfectamente documentado
en cada uno de los programas, por lo que es conveniente leer la documentación que aporta y las páginas
del manual.
http://spi1.nisu.org/recop/al01/tender/index.html
6. Indicar el error en cada una de las instrucciones siguientes:
i. cp /bin
No se indica el destino
ii. LS //
No existe el directorio con doble /, “ls /”
iii. LS/ home
La diagonal va pegada a home , “ls /home ó ls / /home”
iv. LS-R /
Debe haber un espacio entre ls y -R, “ls -R /”
v. LS - - R
Sobra un guión que indica una opción “ls -R”
vi. LS /bin/?2?
ls debe ir en minúsculas, “ls /bin/?2? ”
vii. LS /usr/local
ls debe ir en minúsculas, “ls /usr/local ”
viii. cp /bin/??[z-t]
No indica el destino, pero tampoco existe el rango z-t, éste está vacio,
“cp /bin/??[t-z] ~”
En los incisos ii, iii, iv, v, vi y vii ls está escrito en mayúsculas y esa instrucción no existe.
7. Indicar el efecto de las siguientes instrucciones (describe con detalle cada parte de las
instrucciones):
i. ls /bin/??e?
Muestra en la salida estándar los archivos del directorio “bin” cuyo nombre consta de 4 caracteres
donde el tercer caracter sea la letra “e”.
ii. ls /bin/?[f-g][d-t][s-x][a,b,c-f,r-v]
Muestra en la salida estándar los archivos del directorio “bin” cuyo nombre consta de 5 caracteres; el
primero de ellos puede ser cualquier caracter, el segundo debe estar entre “f y g”, el tercero debe estar
en el rango de “d a t”, el cuarto entre “s y x” y el quinto pueden ser “a,b,c a f(es decir c,d,e,f), r a v(es
decir r,s,t,u,v)”.
iii. cp /bin/?[f-g][a,b,c-f,r-v]e /home/est1
Copia los archivos, del directorio “bin” al directori /home/est1, cuyo nombre consta de 4 caracteres; el
primero de ellos puede ser cualquier caracter, el segundo debe estar entre “f y g(es decir f ó g)”, el
tercero pueden ser “a,b, c,d,e,f,
r,s,t,u,v” y el último caracter tiene que ser la letra e.
iv. cp /bin/?a??[g-r]p.* ~
Copia los archivos, del directorio “bin” al directorio HOME del usuario actual, los archivos copiados
son aquellos cuyo nombre consta de 6 caracteres y una extensión de cualquier tamaño; el primero de
ellos puede ser cualquier caracter, el segundo debe ser la letra “a”, el tercero y el cuarto pueden ser
cualquier caracter, el quinto debe estar entre las letras “g y r” y el sexto debe ser la letra p.
v cp ~/* /tmp
Esta instrucción copia todo el contenido del directorio HOME del usuario actual al directorio temporal.
(Ojo, solo copia los archivos, para que copie los directorios es necesario colocar -r de recursive)
Nota: los rangos de letras solo son sobre las minúsculas, recuerden que en linux se distinguen entre
minúsculas y mayúsculas
8. Investigar que es software libre.
Este ejercicio todos lo tuvieron bien.
9. Investigar para que sirve la instrucción wc.
Este ejercicio también lo tuvieron bien todos.
10. investigar el significado de los metacaracteres . y .. en Linux.
Habrás notado que la utilizar el comando ls –a despliega al principio dos directorios uno denominado
por un punto . y el otro tan sólo por dos puntos ..
El directorio punto . hace referencia al directorio en el que estás ubicado y el directorio doble punto ..
hace referencia al directorio superior al que te encuentras. Son utilizados para determinar rutas
relativas.
http://www.tutorialesytrucos.com/tutoriales/24-tutorial-de-unix.html
11. Investigar el efecto de las dos instrucciones siguientes:
i. cp /bin/?? ~
ii. cp
/bin/??
~
Las dos instrucciones hacen exactamente lo mismo, no importa los espacios entre cada argumento de
los comandos en la terminal.
Copian todos los archivos cuyo nombre contenga dos caracteres y se encuentren dentro del directorio
bin, el cuál a su vez se encuentra dentro del directorio raíz; y el destino de la copia es el directorio del
usuario (directorio “home”). El directorio “home” no es lo mismo que directorio de trabajo o que
directorio raíz.
Descargar