Comandos Linux Básicos

Ejemplos de comandos de Linux básicos para realizar tareas en una consola (terminal o SSH):

Ayudas varias en línea:

Para entender la organización del sistema de archivos en entornos Linux, ejemplos buenos de documentación:

cd

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

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

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.

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

cp.

Copia archivos.

Forma 1: Copia un archivo o directorio ${origen} a la ubicación (carpeta) ${/ruta/dirdestino/} (notar el / al final):

usuario $ cp origen /ruta/dirdestino/.

Forma 2: Copia una ruta o directorio ${/ruta/dirorigen}, y sus hijos, a la ubicación (carpeta) ${/ruta/dirdestino/} (notar el / al final):

usuario $ cp -R /ruta/dirorigen /ruta/dirdestino/.

Forma 3: Copiar al directorio de destino ${dirdestino} varios archivos:

usuario $ cp -t /ruta/dirdestino/. archivo1 archivo2 archivo3 ...
Notar que el punto es un marcador importante al referirse a las rutas en Linux: las siguientes instrucciones son diferentes.
cp -R /ruta/directorio/elemento    /ruta/destino/     #<-- 1
cp -R /ruta/directorio/elemento/.  /ruta/destino/     #<-- 2
  1. Copia el archivo o carpeta elemento a la ruta /ruta/destino/. El resultado es /ruta/destino/elemento.
  2. Copia las rutas en elemento a la ruta /ruta/destino/. El resultado es /ruta/destino/hijos....

mv

mv.

Forma 1: Mueve (no copia) archivos y rutas. Tomar ojo de la misma nota anterior.

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)

Forma 2: Cambiar el nombre de un archivo.

usuario $ mv helpcom.txt Helpcom.txt   # Ojo: si Helpcom.txt ya existe lo va a sobreescribir.

chmod

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:

chmod [-R] [ugo][+][rwx] archivos...  # agregar
chmod [-R] [ugo][-][rwx] archivos...  # quitar

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:

# 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

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

#Cómo obtener mi IP pública
wget -O - checkip.dyndns.org
#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
#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
# Reiniciar el equipo
[usuario@host] $ su
# Contraseña de superusuario...
[root@host] $ reboot
comandos_linux_basicos.txt · Última modificación: 2018/10/04 22:43 por lmachuca
CC Attribution-Noncommercial-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0