Conceptos Esenciales de Linux: Comandos, Archivos y Sistema
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 7,77 KB
Conceptos Fundamentales de Linux
El sistema de paquetes de Debian
El sistema de paquetes de Debian utiliza **paquetes .deb**.
Distribución Ubuntu
La distribución **Ubuntu** es desarrollada por una empresa (Canonical) y es de **distribución gratuita**.
Familias de distribuciones Linux
Las dos grandes familias de distribuciones Linux se distinguen principalmente por su **distinto sistema de paquetes** (por ejemplo, .deb para Debian/Ubuntu y .rpm para Red Hat/Fedora).
Gratuidad de Linux
Linux **no es un sistema operativo exclusivamente gratuito**. Aunque la mayoría de las distribuciones son gratuitas, existen versiones y servicios de soporte de pago.
Definición de Shell
Un **shell** es un **intérprete de órdenes** que proporciona una **interfaz interactiva orientada a línea de comandos** entre el usuario y el sistema operativo.
Ejemplos de Shells en Linux
Algunos nombres de shells comunes en Linux son: **sh
**, **csh
**, y **bash
**.
Gestión de Archivos y Directorios
El directorio raíz
El **directorio raíz** es el punto de partida de toda la jerarquía de archivos, del cual "cuelgan" todos los demás directorios. Se representa con el símbolo **/
**.
Unicidad del directorio raíz
Sí, en toda instalación de Linux existe **obligatoria y exclusivamente un único directorio raíz**.
Directorio /bin
El directorio **/bin
** contiene los **comandos ejecutables básicos** para los usuarios.
Directorio /etc
El directorio **/etc
** alberga la mayoría de los **ficheros de configuración del sistema**.
Directorios de usuario
Cada usuario tiene una carpeta personal que lleva el **nombre del propio usuario** y se encuentra dentro del directorio **/home
**.
Fichero /etc/passwd
El fichero **/etc/passwd
** almacena la **información sobre los usuarios** de Linux.
Discos en Linux
En Linux, los discos se consideran **directorios** que se integran en la **estructura de archivos** del sistema.
Ficheros fstab y mtab
El fichero **/etc/fstab
** contiene la configuración de los **discos y particiones que se montan automáticamente al iniciar el sistema**, mientras que **/etc/mtab
** muestra los **sistemas de archivos que están montados en el momento actual**.
Nomenclatura de particiones
**sdc3
** hace referencia a la **tercera partición del tercer disco SATA** (o SCSI/USB).
Montar particiones en Linux
Sí, se puede montar una partición o un disco en **cualquier directorio** del sistema de archivos, pero esta operación generalmente requiere **privilegios de administrador** (root).
Comando rm
La orden **rm
** se utiliza para **borrar archivos y directorios**.
Comando ln -s
La orden **ln -s
** se emplea para **crear un enlace simbólico** (o "soft link").
Renombrar archivos
Para renombrar el archivo hola.txt
a adios.txt
, se utiliza la orden: **mv hola.txt adios.txt
**.
Copia de archivos con permisos de root
Para copiar el fichero hola.txt
(con propiedad de root y permisos por defecto) que se encuentra en el directorio raíz (/
) al directorio personal del usuario alumno
(/home/alumno
), se empleará la orden: **sudo cp /hola.txt /home/alumno
**.
Listar archivos recursivamente
Si se está en el directorio raíz (/
), para ver los archivos del directorio /home
y de todos sus subdirectorios recursivamente, se utiliza la orden: **ls -l -R /home
**.
Mostrar archivos ocultos
Para ver en pantalla los archivos ocultos (aquellos que empiezan con un punto), se puede utilizar la orden: **ls -la
** o **ls -l .*
**.
Cambio de propietario de archivo
Para ceder el control del archivo listadoetc
al usuario puesto01
, se ejecuta la orden: **chown puesto01 listadoetc
**.
Cambio de grupo de archivo
Para ceder el control del archivo listadoetc
al grupo puesto01
, se ejecuta la orden: **chgrp puesto01 listadoetc
**.
Cambio de permisos (chmod)
Si se desea cambiar los permisos de un fichero para que el propietario y el grupo tengan permisos de lectura y escritura, y el resto de usuarios no tenga ningún permiso, se utilizará la orden: **chmod 660 fichero
**.
Configuración de permisos específicos
Para cambiar los permisos a un fichero de forma que el propietario pueda **leer, escribir y ejecutar** (7), el grupo del usuario también pueda **leer, escribir y ejecutar** (7), y el resto de usuarios solo pueda **leer** (4), se utiliza la orden: **chmod 774 fichero
**.
Gestión de Procesos y Tareas
Comando jobs
La orden **jobs
** permite visualizar los **trabajos que se están ejecutando en segundo plano**.
Comando kill
Para usar la orden **kill
**, es obligatorio especificar el **PID (Process ID)** del proceso.
Visualizar todos los procesos
Para ver todos los procesos en **ejecución** en el sistema, se utiliza la orden: **ps -ef
**.
Visualizar procesos de un usuario
Para visualizar los procesos que están ejecutándose de un usuario específico, se utiliza la orden: **ps U usuario
**.
Redes y Configuración del Sistema
Configuración de red en Debian
Para configurar la red en Debian, se debe modificar el fichero **/etc/network/interfaces
**.
Variables y Expresiones Regulares
Variables de entorno y expansión de shell
Si se crean las variables nombre
y mensaje
de la siguiente forma: nombre="Jose Luis Calvo Benitez"
y mensaje='El nombre completo del usuario es $nombre'
, y luego se ejecuta echo $mensaje
, se obtendrá: **El nombre completo del usuario es $nombre**. Esto ocurre porque las comillas simples ('
) evitan la expansión de variables.
Comando grep
La orden **grep
** se utiliza para **buscar coincidencias** (patrones de texto) dentro de un archivo.
Expresiones regulares: [Tt]
La expresión regular **[Tt]
** coincidirá con caracteres que sean **'T' o 't'**.
Expresiones regulares: [^rns]ez
Si se utiliza la expresión regular **[^rns]ez
**, se mostrarán aquellas líneas que contengan la secuencia "ez" precedida por **cualquier carácter que NO sea 'r', 'n' o 's'**.
Interacción con el Sistema
Redirección de salida (Pipes)
Para dirigir la salida de una instrucción hacia la entrada de otra, se debe utilizar una **canalización** (pipe), representada por el símbolo **|
**.
Redirección de salida para añadir contenido
Para añadir el resultado de ls -l
a un fichero ya existente llamado listado
, sin borrar su contenido previo, se utiliza la orden: **ls -l >> listado
**.
Modificación de usuarios
Para modificar las características de un usuario existente, se utiliza la orden: **usermod
**.
Ver usuarios conectados
Para ver los usuarios que están conectados al sistema, se utiliza la orden: **who
**.
Sensibilidad a mayúsculas y minúsculas
Las órdenes **cp
** y **CP
** **no son equivalentes** en Linux, ya que el sistema es **sensible a mayúsculas y minúsculas**.