Comandos básicos en linux

De La Wiki de KiVi
(Redirigido desde «Chmod»)

He hablado en todas las entradas de cómo cambiar permisos, listar, editar… A continuación haré un listado de ejemplos que más utilizo para mi día a día con la consola.

USUARIOS Y ADMINISTRADORES

Si hemos iniciado la consola con un usuario podemos ejecutarlo con la identificación de otro, por ejemplo, uno de los usos que hemos hecho al ejecutar aplicaciones de nextcloud  :

sudo -u apache php /usr/share/nextcloud/occ app:update --all

Aquí ya trabajamos con «sudo» y el parámetro «-u» . «sudo» nos permite ejecutar comandos como root siempre que nuestro usuario esté en el grupo de administradores. Con el parámetro «-u» indicamos cuál es el usuario que va a utilizar el comando o la instrucción.

Otro ejemplo muy utilizado de sudo es la ejecución directa de comandos de root, por ejemplo, para actualizar el sistema:

sudo dnf update

Con esto el usuario local se identifica como root y actualiza el sistema.

También podemos cambiar entre usuarios simplemente con el comando su, por ejemplo, si he iniciado la sesión como «admin» y quiero cambiar al usuario «usuario1» sin tener que cerrar la sesión, puedo ejecutar:

su usuario1ssh 

En resumen, su cambia de usuario y sudo se identifica como otro.

Explorando entre directorios

Para «movernos» por el terminal podemos ejecutar comandos básicos como:

  • cp – Copia (copy) un fitxer o directori, exemple:
    • cp /etc/*.conf /srv/Datos ## Copia todos los ficheros con extensión «.conf» al directorio /srv/Datos.
    • cp /etc/?h* /srv/Datos ## Cópia todos los ficheros de /etc donde el segundo carácter es «h» y los deja en /srv/Datos.
    • cp -r /etc /srv/Datos ##copia recursiva de todo el directorio /etc a /srv/Datos
  • rm – Comando para eliminar (remove)
    • rm -rf /datos ## Elimina todo el directorio /datos, «-r» es el proceso recursivo y «-f» para forzar o no preguntar en el procedimiento.
    • rm -r 1 2 3 ## Elimina los directorios 1, 2 y 3 del directorio actual.
  • mv – mueve o renombra un directorio.
    • mv /datos /datos1 ## Cambia el nombre
    • mv /datos /opt/ ## mueve el directorio a /opt
  • mkdir – crea un directorio
    • mkdir /datos ## Crea el directorio «datos».
    • mkdir -p /opt/scripts/datos ## Crea el directorio «datos» dentro de /opt/scripts y si crea toda la resta en caso de no existir.
    • mkdir /datos/{1,2,3} ##crea los directorios 1, 2 y 3 dentro de /datos.

Permisos de archivos y direcotorios

Para asignar usuarios, grupos y atributos a un archivo o directorio, por ejemplo /datos:

  • chmod – cambia la modalidad de los atributos:
    • chmod -R 775 /datos #cambia los permisos dando total control al usuario, total control al grupo al asignado y solo lectura y ejecución al resto para el directorio /datos y todo lo que hay dentro.
    • chmod 770 test.txt # Otroga todos los permisos de control total al usario y el grupo, el resto no tiene acceso.
  • chown – Cambia el propietario.
    • chown -R admin:Grupo1 /datos # cambia el propietario a «admin» y el grupo es «Grupo1» para el directorio /datos.
  • chgrp – Cambia el grupo
    • chgrp -r Grupo1 /datos # Cambia el grupo propietario a «Grupo1».

Mostrando contenido

  • cat – Sirve para leer el contenido de un fichero: cat /etc/passwd
  • tac – Exáctamente lo contrario que cat.
  • touch – Muestra el contenido de un fichero pero si no existe lo crea. Parámetros útiles:
    • touch -m -t 202203021310 /datos/test.txt ## Modifica el dia de creación de /datos/test.txt.
  • ls – lista los directorios o ficheros, ejemplos más útiles:
    • ls /var # lista todos los ficheros y directorios dentro de /var.
    • ls -l # listado con visualización extendida, mostrando los permisos y dia de modificación.
    • ls -lah ## igual que el anterior pero también muestra los ficheros ocultos y muestra el «peso» de los directorios y fichero de manera humana.
    • Utilitzando comodines
      • ls *[12] ## lista todos los que tienen un 1 o un 2
      • ls *[!3$] ## lista todos los que no acaben en 3.
      • ls *[1-3] ## lista de 1 al 3.
      • ls *[1,3] ## lista solo los que contienen 1 y 3.
  • cd – Llama a un directorio, por ejemplo «cd /opt«, te lleva al directorio «/opt» y si solo escribimos «cd» Te lleva al directorio raiz del usuario: directori «/home/usuario1/».
  • stat – Muestra los detalles del fichero como tamaño, atributos, fecha de creación y modificación…
  • pwd – Muestra la ruta donde se situa el prompt, por ejemplo: «cd /opt» y después «pwd» te da el resultado: «/opt/».

Comandos de administración

  • arch – muestra la arquitectura de la instalación.
  • free – muestra la memòria usada y libre del equipo, si le añadimos «-h» devuelve los valores «human redable»
  • lscpu – Muestra todas las características de la CPU
  • lsblk – Listado de los puntos de montage del sistema, si le añadimos «-f» también devuelve el formato, espacio y UUID.
  • ln – sirve para enlazar ficheros o directorios, por ejemplo: sudo ln -s /datos /srv/Datos #crea un enlace sencillo del directorio /datos a /srv/Datos.