Ejemplos de comandos de Linux básicos para realizar tareas en una consola (terminal o SSH):
Para entender la organización del sistema de archivos en entornos Linux, ejemplos buenos de documentación:
cd.
Cambiar de directorio.
cd ${ruta}
.
${ruta}
empieza con /
, es absoluta y empieza a la raíz/root del sistema.${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/
.Indica quién es el directorio padre de una ruta. Ver también pwd.
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
.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.
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.
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.
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 ...
cp -R /ruta/directorio/elemento /ruta/destino/ #<-- 1 cp -R /ruta/directorio/elemento/. /ruta/destino/ #<-- 2
elemento
a la ruta /ruta/destino/
. El resultado es /ruta/destino/elemento
.elemento
a la ruta /ruta/destino/
. El resultado es /ruta/destino/hijos...
.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.
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.
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:
[[tldr>date]]
.top
, htop
.less /proc/cpuinfo
.uptime
.[[tldr>free]] -m
.htop
, ps -ef
.[[tldr>df]] -h
, discus
.Red:
ip address
.ip address show eth0
.ip route
.iptables -L
.cat /etc/resolv.conf
.ping 208.67.222.222
#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