Anotaciones de Tu amiga la terminal

De WikiSalud
Saltar a: navegación, buscar

Contenido

Comandos de uso general

Sintaxis General

[orden] [opciones] [argumento]

Opciones comunes Es posible que las siguiente opciones no estén disponibles para el comando en cuestión, pero es buena idea intentarlo

  • -v: Posiblemente el más común de todos. Significa verbose, y hace que el comando haga una salida a consola más detallada
  • -r: Significa recursividad, y activa precisamente funciones de recursividad en el comando que use.
  • -h: Habilita una pequeña lista de ayuda. Incluso si el comando carece de un manual accesible con el comando man, -h mostrará una pequeña ayuda en pantalla sobre como usar el comando. Sin embargo, puede ser que la opción de ayuda esté implementada de otra forma (--help es la segunda más común). La cuestión es bastante complicada

Consideraciones especiales

  • Espacios: Tiene dos opciones para dar a las opciones u argumentos valores que contengan espacios: La primera consiste en escapar el espacio anteponiendo el caracter \
/root/Documentos\ importantes

El segundo es usar comillas simples

/root/'Documentos importantes'

Se recomienda el uso del escape en el uso diario, porque soporta autocompletado con <TAB>, y si gusta, para script, por cuestiones de legibilidad

Administración de directorios y ficheros

  • ls Se utiliza para mostrar la lista de los archivos y directorios desde consola. Si no se define un argumento utiliza el directorio en el que se ejecuta el comando.
Algunas Opciones
  • -a: Lista todos los archivos, incluyendo los ocultos
  • -l: Lista los elementos con su detalle
  • -al: Lista todos los archivos, incluyendo los ocultos, junto con el detalle de cada archivo, directorio, etc.
  • -alh: Lista todos los archivos, incluyendo los ocultos, junto con el detalle de cada archivo con el tamaño en múltiplos de 1024
Explicación del detalle con -l
drwx------ 2 dtic-minsal dtic-minsal 4096 oct 17 07:35 .pulse
Tipo de archivo:
d=Directorio
c=caracter
l=enlace
-=archivo

Permisos del usuario dueño
Permisos del grupo al que pertenece el dueño
Permisos de los demás usuarios
Usuario dueño
Grupo del usuario dueño
Tamaño en bytes del archivo
Fecha de modificación
Nombre del archivo
Los permisos son los siguientes:
* r: De Lectura
* w: De Escritura
* x: De Ejecución
  • pwd Print Working Directory, muestra el directorio actual de trabajo
  • mkdir Crear carpetas
Algunas Opciones
  • -p padre/hijo: Crea la carpeta padre si no esta creada
Si se desea crear una carpeta que contenga espacio, se debe utilizar \ para escapar el espacio. Ej.: nueva\ carpeta
  • tree Para visualizar las carpetas en forma de árbol
Nota: Esta orden debe ser instalada con aptitude install tree
Algunas Opciones
  • |less: Para poder ver el árbol en forma detallada. Con j se baja en el árbol
  • |wc -l #deLineas: Cuenta las líneas que posee el árbol.
  • tail Muestra las ultimas líneas de un archivo. Sin opciones muestra 10 líneas en forma predeterminada.
Algunas Opciones
  • -f: Muestra la última línea de un archivo, si hay alguna modificación este automáticamente se muestra.
  • -n #numeroLineas: Muestra las n líneas solicitadas
  • head Muestra las primeras líneas de un archivo. Sin opciones muestra 10 líneas en forma predeterminada.
  • chown Para cambiar el propietario de un archivo o directorio
Sintaxis
chown usuario:grupoUsuario [nombre del archivo o directorio]
  • chmod Para cambiar permisos a los archivos o directorios
Sintaxis con caracteres
chmod [Usuario a Aplicar Permisos]+[Permisos] [nombre del archivo o directorio]
Usuario a Aplicar Permisos:
  • u: Usuario
  • g: Grupo del usuario propietario
  • o: Dueño (owner)
  • a: Todos (all)
Nota: Por defecto le cambiara los permisos al usuario propietario
Para quitar permisos solo se pone -.
-R: Para cambiar los permisos a todos los archivos y directorios dentro de la carpeta que se les aplicará el cambio de usuario
Sintaxis binaria

Se trata de asignar la ACL con números decimales que representen el valor binario de manejar los tres permisos ya conocidos: r, w, x, escribriendo un número para dueño, usuario y grupo en ese orden

La ACL que se usa para los archivos comunes en Debian es 755: Si revisa la tabla, eso asigna Acceso total a dueño del archivo (7), lectura-ejecución (5) al usuario y al grupo
r w x Resultado Decimal
0 0 0 0
0 0 1 1
0 1 0 2
0 1 1 3
1 0 0 4
1 0 1 5
1 1 0 6
1 1 1 7
  • rmdir Para eliminar directorios vacíos
  • rm Para eliminar archivos
Algunas Opciones
  • -r: Borra el directorio y todo lo que se encuentra adentro
  • -f: Forzar el borrado del archivo
  • -v: Sin preguntar
  • -i: Pregunta si el archivo desea ser borrado

Comando de administración

  • ssh

Inicia una sesión en un servidor remoto, con tráfico cifrado. Básicamente la herramienta por defecto para administración remota de servidores tipo unix en general.

La sintaxis más usual será la siguiente, donde se especifica usuario con el que se loguea:

ssh <usuario>@<ip-servidor>

De hecho, la parte del usuario es opcional, pero si no la especifica, intentará loguearse como el usuario que esta en uso actualmente en su consola:

ssh <ip-servidor>

Siéntase a gusto de usar el FQDN si es que el servidor tiene entrada en el DNS.

ssh <host.dominio>

Hay muchas opciones que pueden usarse para con SSH. Una de las más interesantes se trata de configurar opciones que se especifican dentro del archivo de configuración en tiempo real con la opción -o '<opcion> <valor>' Por ejemplo

ssh -o 'GSSAPIAuthentication no' <usuario>@<ip-servidor>

Saltaría el intento de hacer una autenticación basado en GSSAPI, lo que ralentizaría el logueo en algunos sistemas (como CentOS). En otras palabras: Tardaría mucho tiempo en aparecer el prompt de logueo.

  • scp

Scp sigue la misma lógica del comando cp: Copia de origen a destino, pero en este caso uno de los dos (o ambos) puede ser un directorio en un servidor remoto

Para copiar desde un directorio en un servidor remoto:

scp -o -rv <usuario>@<ip-servidor>:<directorio-remoto> <directorio-local>

Para copiar hacia un directorio remoto

scp -o -rv <directorio-local> <usuario>@<ip-servidor>:<directorio-remoto>

Y por qué no, para copiar entre servidores (Nunca se sabe cuando se necesitarán este tipo de cosas):

scp -o -rv <usuario>@<ip-servidor>:<directorio-local> <usuario>@<ip-servidor>:<directorio-remoto>

Y como scp, también soporta usar la opción -o

scp -o 'GSSAPIAuthentication no' -rv <directorio-local> <usuario>@<ip-servidor>:<directorio-remoto>

Técnicas avanzadas

  • Copiar archivos, resultados de ordenes a un archivo

Para poder guardar la información desplegada en la terminal en un archivo se utiliza el símbolo > si el archivo no existe lo crea y si ya existe, sustituye en contenido.

Sintaxis:
[orden] >[Nombre del Archivo]

Para agregar mas información al archivo se utiliza >>

Sintaxis:
[orden] >>[Nombre del Archivo]

Ejemplo:

 $ tree >archivo1
Copia el resultado de tree en el archivo1
 $ ls -l >>archivo1
Agrega al archivo el resultado de ls -l
Herramientas personales
Espacios de nombres

Variantes
Acciones
Navegación
Herramientas