Herramientas de usuario

Herramientas del sitio


informatica:sistemas_operativos:cursos:linux_para_devops_y_sysadmin:comandos_basicos

¡Esta es una revisión vieja del documento!


Comandos básicos

Sección perteneciente al curso Linux para DevOps y Sysadmin.

Comando cd

El comando cd se usa para moverse por los directorios.

Tenemos dos formas de movernos:

  • Relativa: hacen referencia a un directorio
  • Absoluta: se indica la ruta completa del directorio

Si tenemos:

/home/tempwin/linux/
|--- test1/
|--- test2/

Si estamos en /home/tempwin/linux y queremos movernos a test1:

cd test1

Si estuviéramos en /tmp y quisiéramos ir a test1, usamos la forma absoluta:

cd /home/tempwin/linux/test1

Para movernos de forma relativa, son muy útiles los siguientes argumentos:

  • .: directorio actual
  • ..: directorio anterior (directorio padre)

Si hacemos cd ../.. estaríamos yendo al padre del padre del directorio actual.

Comando man y ls

El comando man permite obtener ayuda de los comandos (no todos los comandos tienen página de manual).

man ls

Para salir del man, pulsamos q

Los comandos de Linux suelen soportar el argumento --help que también mostrará ayuda sobre los comandos. Por ejemplo:

ls --help

Argumentos más típicos que se pueden usar con ls:

  • -a: Mostrar también los ficheros ocultos
  • -l: muestra los ficheros e información sobre ellos
  • -r: ordena de forma inversa el listado de ficheros
  • --color: colorea la salida de ls.
ls -a

Comando tree

El comando tree muestra el contenido de los directorios en formato de árbol.

Normalmente no viene instalado. En Ubuntu se instalaría:

apt install tree

Ejemplo de uso de tree:

jm@ubuntu-devops:~$ tree
.
├── Descargas
├── Documentos
├── Escritorio
├── Imágenes
├── Música
├── Plantillas
├── Público
├── snap
│   └── snapd-desktop-integration
│       ├── 83
│       ├── common
│       └── current -> 83
└── Vídeos

Si queremos que muestre también los ficheros ocultos:

tree -a

Si solo nos interesa mostrar directorios y no ficheros:

tree -d

Comando whereis

Este comando indica la ubicación del ejecutable, código fuente y página de manual de un comando.

whereis tree

Ejemplo de salida:

tree: /usr/bin/tree /usr/share/man/man1/tree.1.gz

Comando whoami

Muestra el nombre de usuario actual:

whoami

Ejemplo de salida:

tempwin

Comandos IP

ip

Muestra y configura el enrutamiento, dispositivos de red, interfaces y túneles.

Mostrar toda la información de las interfaces de red:

ip a
  • a es la abreviatura de address, así que podemos usarlo indistintamente .

Ejemplo de salida:

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:a0:c7:b6 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.15/24 brd 10.0.2.255 scope global dynamic noprefixroute enp0s3
       valid_lft 82996sec preferred_lft 82996sec
    inet6 fe80::b866:4fad:2930:fe7/64 scope link noprefixroute
       valid_lft forever preferred_lft forever
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:df:f4:1e brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.17/24 brd 192.168.0.255 scope global dynamic noprefixroute enp0s8
       valid_lft 82988sec preferred_lft 82988sec
    inet6 fe80::2bbf:2bd:6a5e:4e4b/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

ifconfig

También permite obtener y manipular interfaces de red.

netstat

Muestra las conexiones de red, tablas de enrutamiento, estadísticas de las interfaces…

En Ubuntu se instala mediante el paquete net-tools

Ver puertos UDP abiertos:

netstat -nlpu

Ver puertos TCP abiertos:

netstat -nlpt

Para ver la tabla de enrutamiento:

netstat -nr
Tabla de rutas IP del núcleo
Destino         Pasarela        Genmask         Indic   MSS Ventana irtt Interfaz
0.0.0.0         10.0.2.2        0.0.0.0         UG        0 0          0 enp0s3
0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 enp0s8
10.0.2.0        0.0.0.0         255.255.255.0   U         0 0          0 enp0s3
169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 enp0s3
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 enp0s8

Ver las interfaces de red:

netstat -ai

Para ver las conexiones establecidas (usamos el comando watch para que haga actualizaciones de la ejecución del comando cada segundo):

watch -n1 netstat -ant

Configurar interfaz de red

Configuración estática

Configuraremos la red y DNS.

En Ubuntu, editaremos el fichero etc/netplan/01-network-manager-all.yaml:

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager

Lo modificaremos de la siguiente manera:

# Configuración nueva
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s8:
      addresses:
        - 192.168.0.225/24
      gateway4: 192.168.0.1
      nameservers:
        addresses:
          - 8.8.8.8
          - 8.8.4.4      

Tras guardar, toca reiniciar el servicio para aplicar los cambios:

netplan apply

Configuración dinámica por DHCP

En Ubuntu, editaremos el fichero etc/netplan/01-network-manager-all.yaml para dejarlo de la siguiente manera:

# Configuración nueva
network:
  version: 2
  renderer: networkd
  ethernets:
    enp0s8:
      dhcp4: true
      dhcp6: true

Guardamos y reiniciamos el servicio:

netplan apply

Crear y borrar y mover ficheros

Creación de directorios con mkdir:

mkdir directorio

Si queremos crear un fichero en blanco:

touch fichero

Para borrar ficheros o directorios:

rm fichero

Si se trata de un directorio, tenemos que usar el parámetro -r (recursivo)

Podemos borrar varios ficheros a la vez:

rm fichero1 fichero2 fichero3

Si quisiéramos borrar todos los ficheros del directorio actual:

rm -rf *

Para cambiar el nombre de un fichero:

mv fichero_antiguo fichero_nuevo

El comando mv también mueve ficheros y directorios:

mv fichero directorio

Cuentas de usuarios y permisos

Cuentas de usuario y grupos

En el fichero /etc/group se almacenan los grupos.

Para añadir un grupo:

groupadd nombre_grupo

Para crear un usuario:

useradd -m -g <GRUPO> -s <SHELL> <NOMBRE_USUARIO>
  • -m: crea el home del usuario si no existe.
  • -g: establece el grupo principal del usuario.
  • -s: establece la shell que tendrá el usuario

Ejemplo:

useradd -m -g curso -s /bin/bash pepito

Para establecer la contraseña del nuevo usuario:

passwd pepito

Si queremos identificarnos como otro usuario:

su usuario 

Permisos

Permisos de propietario a un directorio:

chown curso:pepito -R clase/

Asignar permisos:

Propietario Grupo Otros
rwx r-x r-x
4+2+1 4+0+1 4+0+1
7 5 5
Número octal Texto Binario
0 000
1 –x 001
2 -w- 010
3 -wx 011
4 r– 100
5 r-x 101
6 rw- 110
7 rwx 111
Propietario Grupo Otros
rwx         rwx

Kernel de Linux y como gestionarlo

Renombrar y mover directorios

Sistema de directorios linux

informatica/sistemas_operativos/cursos/linux_para_devops_y_sysadmin/comandos_basicos.1694530785.txt.gz · Última modificación: por tempwin