Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
comandos_linux_basicos [2018/06/10 20:05] – creado lmachucacomandos_linux_basicos [2018/10/04 22:43] (actual) lmachuca
Línea 3: Línea 3:
 Ejemplos de comandos de Linux básicos para realizar tareas en una consola (terminal o SSH): Ejemplos de comandos de Linux básicos para realizar tareas en una consola (terminal o SSH):
  
-FIXME TOBEDONE+<note>Ayudas varias en línea:
  
-{{tag>Linux}}+  * https://tldr.ostera.io/ (manuales rápidos para comandos) 
 + 
 +</note> 
 + 
 +=====Navegar el sistema de archivos ===== 
 + 
 +Para entender la organización del sistema de archivos en entornos Linux, ejemplos buenos de documentación: 
 + 
 +  * [[https://www.digitallearning.es/blog/administracion-linux-sistemas-de-archivos/|Administración Linux: Sistemas de Archivos]] 
 +  * [[https://www.profesionalreview.com/2017/02/12/se-estructura-sistema-archivos-gnulinux/|Estructura del Sistema de Archivos GNU/Linux]] 
 +  * Lucho. 
 + 
 + 
 +====cd==== 
 +[[tldr>cd]]. 
 + 
 +Cambiar de directorio. 
 + 
 +''cd ${ruta}''
 + 
 +  * Si ''${ruta}'' empieza con ''/'', es absoluta y empieza a la raíz/root del sistema. 
 +  * Si ''${ruta}'' empieza con ''./'', es relativa a la ruta actual. 
 +  * ''cd'' sin argumentos retorna al directorio de inicio del usuario ($HOME, etc). 
 + 
 +Poner ojo al usar un punto al inicio de un componente de una ruta: 
 + 
 +  * ''cd subdirectorio/grupo1/./sectorA'' entra al directorio grupo 1, luego se queda ahí mismo (''.'') y luego entra ''sectorA''. La ruta recorrida final es ''./subdirectorio/grupo1/sectorA/''
 +  * ''cd subdirectorio/grupo1/.sectorA'' entra al directorio grupo 1, y luego entra al directorio .sectorA (notar que el //nombre// empieza con un punto). La ruta recorrida final es ''./subdirectorio/grupo1/.sectorA/''
 + 
 + 
 +====dirname==== 
 +Indica quién es el directorio padre de una ruta. Ver también [[#pwd]]. 
 + 
 +====ls==== 
 +[[tldr>ls]]. 
 + 
 +Listar archivos, listar directorios. Más o menos equivalente a ''dir'' en DOS. 
 + 
 +''ls'': 
 + 
 +  * ''-l'' - Listar los archivos en formato largo, con información del tamaño, propietario y grupo. 
 +  * ''-h'' - listar los archivos con los tamaños en formato humano (por ejemplo "15M" en vez de "15000000"). 
 +  * ''-v'' - listar los archivos en numeración natural (por ejemplo ''archivo1, archivo2, archivo11'' en vez de ''archivo1, archivo11, archivo2''). 
 +  * ''-a'' - Mostrar ''.dotfiles'' y archivos que normalmente están fuera de la vista de ''ls''
 + 
 + 
 +====pwd==== 
 +Saber dónde estoy parado (directorio). Ver también [[#cd]] y [[#dirname]]. 
 + 
 +=====Ver y Editar Archivos ===== 
 + 
 +Para ver y editar archivos se recurre a dos tipos de programas: un //paginador// es un programa que muestra la información de un archivo en pantalla y un //editor// es un programa que presenta una interface para editar un archivo. 
 + 
 +==== Crear un Archivo ==== 
 +''touch archivo.txt'' crea un archivo vacío llamado "archivo.txt"
 + 
 +Otra opción es simplemente invocar un editor con el nombre del archivo como se muestra abajo. 
 + 
 +==== Ver y Editar ==== 
 + 
 +<code bash> 
 +usuario $ less archivo  # paginador para ver un archivo de texto; ''q'' para salir. 
 +usuario $ nano archivo  # editor para modificar un archivo de texto; ''CTRL-X'' para salir / grabar. 
 +</code> 
 + 
 +Ejemplos de paginadores son: ''less'' que funciona con las teclas de ↑↓, AvPág, RePág, ''/'' (buscar), ''q'' (salir); ''more'' que presenta el contenido de a un pantallazo por vez y acepta ''Enter'' y ''espacio'' para avanzar, y ''cat'' que muestra de golpe todo el contenido de  un archivo. 
 + 
 +Ejemplos de editores son ''nano'', ''emacs'' y ''vi''.  
 + 
 +==== cp ==== 
 +[[tldr>cp]]. 
 + 
 +Copia archivos. 
 + 
 +Forma 1: Copia un archivo o directorio ''${origen}'' a la ubicación (carpeta) ''${/ruta/dirdestino/}'' (notar el ''/'' al final): 
 + 
 +<code bash> 
 +usuario $ cp origen /ruta/dirdestino/
 +</code> 
 + 
 +Forma 2: Copia una ruta o directorio ''${/ruta/dirorigen}'', y sus hijos, a la ubicación (carpeta) ''${/ruta/dirdestino/}'' (notar el ''/'' al final): 
 + 
 +<code bash> 
 +usuario $ cp -R /ruta/dirorigen /ruta/dirdestino/
 +</code> 
 + 
 +Forma 3: Copiar al directorio de destino ''${dirdestino}'' varios archivos: 
 + 
 +<code bash> 
 +usuario $ cp -t /ruta/dirdestino/. archivo1 archivo2 archivo3 ... 
 +</code> 
 + 
 +<note info> 
 +Notar que el **punto** es un marcador importante al referirse a las rutas en Linux: las siguientes instrucciones son diferentes. 
 + 
 +<code bash> 
 +cp -R /ruta/directorio/elemento    /ruta/destino/     #<-- 1 
 +cp -R /ruta/directorio/elemento/ /ruta/destino/     #<-- 2 
 +</code> 
 + 
 +  - Copia el archivo o carpeta ''elemento'' a la ruta ''/ruta/destino/''. El resultado es ''/ruta/destino/elemento''
 +  - Copia //las rutas// en ''elemento'' a la ruta ''/ruta/destino/''. El resultado es ''/ruta/destino/hijos...''
 + 
 +</note> 
 + 
 +==== mv ==== 
 +[[tldr>mv]]. 
 + 
 +Forma 1:  Mueve (no copia) archivos y rutas. Tomar ojo de la misma nota anterior. 
 + 
 +<code bash> 
 +usuario $ mv /ruta/origen /ruta/destino/   # el resultado es /ruta/destino/origen 
 +usuario $ mv /ruta/origen /ruta/destino    # el resultado es /ruta/destino (que se sobreescribe con origen) 
 +</code> 
 + 
 +Forma 2: Cambiar el nombre de un archivo. 
 + 
 +<code bash> 
 +usuario $ mv helpcom.txt Helpcom.txt   # Ojo: si Helpcom.txt ya existe lo va a sobreescribir. 
 +</code> 
 + 
 + 
 +==== chmod ==== 
 +[[tldr>chmod]]. 
 + 
 +Cambia los permisos de acceso y ejecución de un archivo. Sólo superusuarios y el **propietario** de un archivo (o de su ruta) pueden cambiar los permisos de un archivo. 
 + 
 +En general se categorizan tres tipos de permisos para un archivo: ''rwx'' donde r = leer, w = escribir, x = ejecutar (si es un programa, por ejemplo). Estos tres tipos de permisos pueden estar asociados a las tres categorías de usuarios ''ugo'' donde u = user (el usuario //propietario// del archivo), g = group (cualquier usuario que pertenezca al grupo del archivo), o = otros. 
 + 
 +Por ejemplo, se pueden describir algunos permisos de archivo como sigue: 
 + 
 +^ Propietario:Grupo  ^  Permisos  ^  Efecto   ^ 
 +| ''ccisterna:helpcom''  | ''%%rwxrwxr--%%''  | ccisterna puede leer, escribir y ejecutar (rwx); cualquier usuario del grupo helpcom también puede hacerlo; otros usuarios sólo pueden leer (r--). 
 +| ''usuario:www-data''  | ''%%rw-r-----%%''  | Sólo el ''usuario'' puede leer y escribir; el servicio web (Apache, etc) sólo puede leer; otros usuarios sólo pueden ver que el archivo existe pero no ver su contenido. Estos son permisos para p.ej.: una página web estática. 
 +| ''administrador:administrador''   | ''%%rw-rw-r--%%''  | El usuario ''administrador'' y cualquier usuario de su grupo pueden modificar los archivos; el resto sólo puede leer. Estos son permisos para p.ej.: los archivos de DTE dentro de una carpeta de Facturación Electrónica. 
 + 
 +Para dar o quitar permisos el **propietario** ejecuta uno de los siguientes comandos: 
 + 
 +<code bash> 
 +chmod [-R] [ugo][+][rwx] archivos...  # agregar 
 +chmod [-R] [ugo][-][rwx] archivos...  # quitar 
 +</code> 
 + 
 +Donde se escoge una o más categorías de usuarios y uno o más permisos. Por ejemplo "''go+r''" da al grupo y al resto del mundo derecho de leer el archivo; "''ugo-x''" quita a todos (incluso al propietario) el derecho de ejecutar el archivo. 
 + 
 + 
 +=====Información del Sistema===== 
 + 
 +**Sistema Operativo**: 
 + 
 +<code bash> 
 +# Información general de la distribución 
 +usuario@host $ lsb_release -a 
 + 
 +Distributor ID: Debian 
 +Description: Debian GNU/Linux testing 
 +Release: testing 
 +Codename: buster 
 + 
 +# Versión del Kernel 
 +usuario@host $ uname -a 
 + 
 +Linux host 4.14.0-1-amd64 #1 Debian 4.14.0-1 
 + 
 +</code> 
 + 
 + 
 +**Actividad del Equipo**: 
 + 
 +  * Fecha y hora: ''[[tldr>date]]''
 +  * Uso del procesador / CPU: ''top'', ''htop''
 +    * Información general del procesador: ''less /proc/cpuinfo''
 +  * Tiempo de operación del equipo: ''uptime''
 +  * Memoria disponible: ''[[tldr>free]] -m''
 +  * Uso de memoria por programas: ''htop'', ''ps -ef''
 +  * Uso de disco duro por punto de montaje: ''[[tldr>df]] -h'', ''discus''
 + 
 +**Red**: 
 + 
 +  * Direcciones IP asignadas: ''ip address''
 +    * Para una interface específica: ''ip address show //eth0//''
 +  * Tablas de ruteo: ''ip route''
 +  * Reglas del firewall del kernel: ''iptables -L''
 +  * Ver la lista de servidores DNS: ''cat /etc/resolv.conf''
 +  * Ping: ''ping 208.67.222.222'' 
 + 
 +=====Otras Cosas Varias===== 
 + 
 +<code bash> 
 +#Cómo obtener mi IP pública 
 +wget -O - checkip.dyndns.org 
 +</code> 
 + 
 +<code bash> 
 +#Examinar la resolución de un dominio:  
 +usuario@host $ dig www.helpcom.cl 
 + 
 +; <<>> DiG 9.11.4-4-Debian <<>> centaurus.helpcom.cl 
 +;; global options: +cmd 
 +;; Got answer: 
 +;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2478 
 + 
 +;; QUESTION SECTION: 
 +;centaurus.helpcom.cl. IN A 
 + 
 +;; ANSWER SECTION: 
 +centaurus.helpcom.cl. 14400 IN A 190.13.136.236 
 + 
 +;; Query time: 17 msec 
 +;; SERVER: 208.67.222.222#53 
 + 
 +</code> 
 + 
 +<code bash> 
 +#En las instalaciones de servidores hechas por Helpcom, 
 +# buscar un paquete para instalar 
 +usuario@host $ apt search openjdk 
 + 
 +openjdk-8-demo/testing 8u171-b11-2 amd64 
 +  Java runtime based on OpenJDK (demos and examples) 
 + 
 +openjdk-8-doc/testing,testing 8u171-b11-2 all 
 +  OpenJDK Development Kit (JDK) documentation 
 + 
 +openjdk-8-jdk/testing 8u171-b11-2 amd64 
 +  Conjunto de desarrollo de OpenJDK (JDK) 
 + 
 +openjdk-8-jdk-headless/testing 8u171-b11-2 amd64 
 +  OpenJDK Development Kit (JDK) (headless) 
 + 
 +openjdk-8-jre/testing 8u171-b11-2 i386 
 +  OpenJDK Java runtime, using Hotspot JIT 
 + 
 +openjdk-8-jre-headless/testing 8u171-b11-2 i386 
 +  OpenJDK Java runtime, using Hotspot JIT (headless) 
 + 
 +openjdk-8-jre-zero/testing 8u171-b11-2 amd64 
 +  Alternative JVM for OpenJDK, using Zero/Shark 
 + 
 +openjdk-9-jre/now 9.0.4+12-4 amd64 [instalado, local] 
 +  OpenJDK Java runtime, using Hotspot JIT 
 + 
 +openjdk-9-jre-headless/now 9.0.4+12-4 amd64 [instalado, local] 
 +  OpenJDK Java runtime, using Hotspot JIT (headless) 
 + 
 +# El paquete deseado se puede instalar con "apt" o "aptitude" como superusuario 
 + 
 +</code> 
 + 
 +<code bash> 
 +# Reiniciar el equipo 
 +[usuario@host] $ su 
 +# Contraseña de superusuario... 
 +[root@host] $ reboot 
 +</code> 
 + 
 + 
 +{{tag>Linux f1}}
  
comandos_linux_basicos.1528661129.txt.gz · Última modificación: 2018/06/10 20:05 por lmachuca
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0