Archivo del blog

viernes, 10 de febrero de 2017

UF1465_10 : Comandos linux


Traducir instrucciones del comando man a castellano:

$ sudo apt-get install manpages-es manpages-es-extra
$ sudo dpkg-reconfigure locales


Para cambiar y configurar la terminal

Pasando de Bash a Zshell

sudo apt install zsh
chsh --shell /usr/bin/zsh
 
cerramos nuestra sesión y volvemos a loguearnos.
Si por algún motivo deseas regresar a bash como shell predeterminada basta con ejecutar:
 
chsh --shell /bin/bash
 
para editar el archivo de configuración de la terminal
 
nano /etc/zsh/zshrc
 
añadimos al final :




Comando Descripcion
# cd /home ir al directorio '/ home'   [man]
# cd .. regresar un nivel   [man]
# cd ../.. regresar dos niveles   [man]
# cd cambiar al directorio home   [man]
# cd ~user1 cambiar al directorio home   [man]
# cd - ir al directorio anterior   [man]
# cp file1 file2 copiar un archivo   [man]
# cp dir/* . copiar todos los archivos de una carpeta dentro de la carpeta que se está trabajando actualmente.   [man]
# cp -a /tmp/dir1 . copiar un directorio dentro del directorio de trabajo actual   [man]
# cp -a dir1 dir2 copiar un directorio   [man]
# ln -s file1 lnk1 crear un link simbólico a un archivo o directorio   [man]
# ln file1 lnk1 crear un link físico a un archivo o directorio   [man]
# ls ver archivos del directorio   [man]
# ls -l mostrar detalles de archivos y directorios   [man]
# ls -a mostrar archivos ocultos   [man]
# ls *[0-9]* mostrar archivos y directorios cuyo nombre contenga numeros   [man]
# mkdir dir1 crear un directorio llamado 'dir1'   [man]
# mkdir dir1 dir2 crear dos directorios simultaneamente   [man]
# mkdir -p /tmp/dir1/dir2 crear un arbol de directorios   [man]
# mv dir1 new_dir renombrar o mover un archivo o directorio   [man]
# pwd mostrar la ruta del directorio de trabajo   [man]
# rm -f file1 borrar archivo con nombre espeficico, ejemplo: 'archivo1'   [man]
# rm -rf dir1 borrar el directorio con nombre especifico 'archivo1' y todos sus contenidos que contenga   [man]
# rm -rf dir1 dir2 borrar dos directorios y todos sus contenidos recursivamente   [man]
# rmdir dir1 borrar directorio con nombre especifico, por ejemplo: 'archivo1'   [man]
# touch -t 0712250000 file1 modificar el timestamp de un archivo o directorio- (AAMMDDhhmm)   [man]
# tree mostrar archivos y directorios en forma de arbol empezando desde root(1)   [man]

Tips: Más de 400 comandos para GNU/Linux que deberías conocer


Opción  -v

Como en casi todos los comandos linux, el comando rm tiene la opción -v que permite tener un mensaje para visualizar que ocurre cuando se ejecuta el comando                                                                                                           
...

Borrar archivo     rm ejemplo.txt       

Borrar directorio y su contenido     rm -rv ejemplo.txt       

Borrar directorio vacio     rmdir ejemplo       

touch F{1..9} "Crea los ficheros desde el 1 hasta el 9"
Ejemplo: F1 F2 F3 F4 F5 F6 F7 F8 F9
touch F{1..100} "Crea los ficheros desde el 1 hasta el 100"
Ejemplo: F1 F2 F3 F4 F5 F6 F7 F8 F9...F100
touch F{a..z} "Crea los ficheros desde la a hasta la z"
Ejemplo: Fa Fb Fc Fe...Fz
mkdir D{1..9} "Crea los directorios desde el 1 hasta el 9"
Ejemplo: D1 D2 D3 D4 D5 D6 D7 D8 D9
mkdir D{1..100} "Crea los directorios desde el 1 hasta el 100"
Ejemplo: D1 D2 D3 D4 D5 D6 D7 D8 D9...D100
mkdir D{a..z} "Crea los directorios desde el a hasta la z"
Ejemplo: Da Db Dc De...Dz
Se puede utilizar varias llaves, todas las que se quieran:
touch F{1..9}{a..z} touch F{1..9}{a..z}{1..5}

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.
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  quitar el permiso de escritura  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

4.- chmod en octal

La representación octal de chmod es muy sencilla

Lectura     tiene el valor de 4

Escritura  tiene el valor de 2

Ejecución tiene el valor de 1

Entonces:
x-----x-----x-----------------------------------x
| rwx |  7  | Lectura, escritura y ejecución    |
| rw- |  6  | Lectura, escritura        |
| r-x |  5  | Lectura y ejecución       |
| r-- |  4  | Lectura               |
| -wx |  3  | Escritura y ejecución             |
| -w- |  2  | Escritura                         |
| --x |  1  | Ejecución             |
| --- |  0  | Sin permisos          |
x-----x-----x-----------------------------------x
Por lo tanto:
x------------------------x-----------x
|chmod u=rwx,g=rwx,o=rx  | chmod 775 | 
|chmod u=rwx,g=rx,o=     | chmod 760 |
|chmod u=rw,g=r,o=r      | chmod 644 |
|chmod u=rw,g=r,o=       | chmod 640 |
|chmod u=rw,go=          | chmod 600 |
|chmod u=rwx,go=         | chmod 700 |
x------------------------x-----------x
chmod guo+rwx fichero u = usuario / propietario g = grupo o =  otro a = todos

Commando chown

Comando chown cambia los propietarios de usuarios y grupos para el archivo proporcionado. Por ejemplo el siguiente comando establece el usuario y el grupo solamente al usuario root para el directorio /backup: # chown root:root /backup Establecer como propietario al usuario root y permitir cualquier miembro del grupo ftp que tenga acceso al archivo cosa.txt (verificar que se tenga suficientes permisos de escritura/lectura). # chown root:ftp /home/data/cosa.txt

Sintaxis para usar chown:

chown [nombre_propietario] [nombre_archivo_o_carpeta]
Si escribimos:
chown -R [nombre_propietario] [nombre_carpeta]
Cambia en forma recursiva el propietario del contenido de la carpeta. Es decir de todo lo que contenga dicha carpeta. GRUPO Sintaxis para usar chgrp:
chgrp [nombre_grupo] [nombre_archivo]
Cuentas en Unix:
  • root: Administrador (UID 0).
  • daemon: Ejecuta procesos de servicio del sistema (UID 1).
  • bin: Propietario de ejecutables (UID 2).
  • sys: Ficheros de sistema (UID 3).
  • adm: Ciertos log (UID 4).
  • nobody: Usuario sin privilegios.
  • ... 
Archivo de contraseñas
/etc/passwd
  • Es un archivo de texto
  • Para mostrarlo
  • cat /etc/passwd
Información: 
  • Los campos del /etc/passwd se encuentran separados por “:”
  • identificador de inicio
  • Contraseña encriptada
  • uid
  • group-id
  • varios
  • Home Directory
  • Shell
Archivo de grupos
/etc/group
  • Es un archivo de texto
  • Para mostrarlo
  • cat /etc/group
Shell
  • Cada usuario de un sistema Unix tiene definido un shell por defecto, un interprete de órdenes que será el programa que le va a servir de interfaz para con el sistema operativo
  • Con el shell mas estándar de Unix, denominado Bourne Shell (sh), así como con su versión mejorada (Bourne Again Shell, bash), utilizada por defecto en Linux, tenemos la posibilidad de definir un fichero que se ejecute cada vez que conectemos a la maquina.
Archivo de perfil
/etc/profile
  • Es un archivo de texto
  • Para mostrarlo
  • cat /etc/profile
Archivo de mi perfil
dentro de mi home
.profile
  • Es un archivo de texto
  • Para mostrarlo
  • cat .profile
  • Para editarlo
  • gedit .profile
  • Para modificarlo
  • Añadir comandos al final y reiniciar ubuntu para probar
    • echo 'Hola buenos días' (en ubuntu al ser terminal gráfica no se ve)
    • echo 'Hola'>hola.txt
    • mkdir dir1
Este archivo es como el autoexec.bat de MS-DOS
Cerrar sesión FREEBSD:
  • logout
Editor en FREEBSD:
  • ee nombrearchivo
  • ESC para salir, intro
  • Intro para guardar cambios
Creación de  usuarios y grupos después de la instalación
  • login con root
  • sysinstall
  • CUIDADO, NO USAR OPCION PRIMERA OPCIÓN, NO VAMOS A INSTALAR
  • VAMOS A CONFIGURAR, OPCIÓN CONFIGURE
  • USER MANAGEMENT
  • GROUP
    • SE CREAN LOS GRUPOS
  • USER
    • SE CREAN LOS USUARIOS
  • EXIT THIS MENU
  • EXIT THIS MENU
  • EXIT INSTALL
  • EN EL MOMENTO QUE TENEMOS EL PROMPT HEMOS FINALIZADO
Comando adduser
Añade usuarios
adduser nombreusuario contraseña
Comando rmuser
Borra usuarios
rmuser nombreusuario

Busca el significado de %nice, %sys, %iowait, %irq, %soft, %steal, %guest, %gnice, %idle que se muestran en la salida de mpstat. Explicar brevemente cada una de ellas

Entendiendo el comando mpstat

El comando mpstat nos muestra las actividades de los procesadores (en caso de múltiples núcleos), contanto desde cero para el primer núcleo. También nos proporciona un promedio de las actividades de todos en conjunto. Además este comando puede ser utilizado en sistemas multiprocesadores o SMP. El parámetro interval especifica la cantidad de tiempo en segundos entre cada reporte. Un valor de 0 indica que las estadísticas de los procesadores serán reportadas desde que arrancó el sistema.
El parámetro count puede ser especificado en conjunto con interval si éste no es 0. El valor de count determina el número de reportes generados en el intervalo de segundos indicado. Si el parámetro interval se especifica sin count, el comando generará reportes continuamente hasta que lo paremos (Ctrl+C).
Algunos ejemplos Ver 5 reportes del primer núcleo a intervalos de 2 segundos
mpstat -P 0 2 5
Ver 3 reportes de todos los núcleos a intervalos de 3 segundos
mpstat -P ALL 3 3 
Vamos a ver que significan sus campos:
  • %user (en top: %us): Porcentaje de uso en el nivel de usuario
  • %sys (en top: %sy): Porcentaje de uso en el nivel del sistema (kernel). En el computo no se incluyen interrupciones
  • %iowait (en top %wa): Porcentaje del tiempo esperando operaciones de entrada/salida (I/O): Principalmente discos, red
  • %nice (en top %ni): Porcentaje del tiempo que un proceso de usuario se ejecuta con la prioridad variada con nice
  • %irq (en top %hi): Porcentaje del tiempo sirviendo interrupciones de hardware.
  • %soft (en top %si): Porcentaje del tiempo sirviendo interrupciones de software. Normalmente se tratan de llamadas al sistema, que se implementan mediante interrupciones de software.
  • %steal (en top %st): En kernels superiores al 2.6.11 son los ciclos dedicados a tareas como la virtualización.
  • %idle (en top %id): Tiempo en la que la CPU ha estado sin trabajo y sin estar esperando I/O
¿Existe algún equivalente en los sistemas operativos Windows? 
Nagios Instalacion: apt-get install nagios3
Nagios es una solución de código abierto de seguimiento que puede 
controlar casi cualquier cosa en su infraestructura de TI. Por ejemplo, 
cuando un servidor se cae, puede enviar una notificación a su equipo de 
administración de sistemas, cuando una base de datos se cae lo posible 
la página de su equipo de DBA, cuando el servidor web de una baja se 
puede notificar al equipo adecuado. 
 

No hay comentarios:

Publicar un comentario