Post Top Ad

Your Ad Spot

martes, 15 de septiembre de 2020

Explicación de la jerarquía del sistema de archivos de Linux

 


La jerarquía del sistema de archivos de Linux es un concepto clave que deberá comprender. Cuando trabaje en la línea de comandos en Linux, debe tener una forma de moverse, por así decirlo. Cuando todo lo que tienes es un cursor parpadeando, puede darte la sensación de " ok, ¿ahora qué "? Bueno, hay un puñado de comandos que le permiten comenzar a navegar por la jerarquía del sistema de archivos de Linux . En este episodio, veremos algunos de ellos comenzando con pwd, que imprime el directorio de trabajo actual cd, que nos permite cambiar a otro directorio, y lsque brinda la capacidad de enumerar rápidamente los archivos y carpetas de Linux contenidos en un directorio.


El sistema de archivos de Linux es como un árbol

Cuando decimos que Linux tiene una estructura de directorios jerárquica, lo que queremos decir es que el sistema operativo está dispuesto en una estructura en forma de árbol . Cada rama puede contener ramas adicionales y así sucesivamente. Windows también tiene este tipo de organización. Entonces, ¿cuál es el punto de partida de todo esto? Todo se reduce al directorio raíz . Todo comienza desde la raíz. Esto significa que no importa lo que esté conectado al sistema Linux, como los dispositivos de almacenamiento externos, Linux siempre mantiene un único árbol del sistema de archivos. Es por eso que ve el almacenamiento como montado o adjunto en Linux. Esto contrasta con Windows, que permite múltiples sistemas de archivos en función del número de dispositivos de almacenamiento conectados.


Deja que lo perdido sea encontrado

En Windows, siempre es bastante fácil ver dónde se encuentra en el sistema de archivos. Si tiene abierto el explorador de Windows, podrá ver todas las carpetas conectadas con líneas pequeñas para indicar dónde se encuentra. En Linux hay un comando para ayudarlo a encontrar dónde se encuentra, y ese comando es pwdPor ejemplo, en nuestro cuadro Homestead cuando SSH en él, podemos averiguar dónde estamos así:

vagabundo @ homestead: ~ $ pwd
/ hogar / vagabundo
vagabundo @ casa: ~ $

Ahora recuerde que lo que se convierte antes del @signo es el usuario y lo que viene después del signo es el nombre de la máquina . Ahora, incluso antes de ejecutar el pwdcomando, el indicador nos dio una pista que tiene un ~carácter de tilde. Lo que dice este carácter de tilde es que está ubicado en el directorio de usuario actual. Dado que estamos conectados como vagabundos , entonces podemos saber que /home/vagrantes donde estamos. ¡Ejecutar el pwdcomando de hecho nos confirmó esto!


Ver el contenido del directorio

El objetivo de los directorios es almacenar datos para nosotros. Podemos listar el contenido de cualquier directorio dado con el lscomando. Este comando es bastante simple, probémoslo.

vagabundo @ homestead: ~ $ ls
Código
vagabundo @ homestead: ~ $

Esto es bastante simple. Tenemos un directorio llamado Código dentro de nuestro directorio de usuarios vagabundos. Ahora, todos los comandos pueden tener varias opciones o conmutadores asociados. Lo que esto significa es que puede agregar una letra minúscula o mayúscula prefijada por el -signo o doble --signo para cambiar el comportamiento del comando. Podemos ver todas las opciones potenciales con el mancomando. Veamos todas las opciones disponibles para nosotros para el lscomando, se sorprenderá de lo granular que puede ser.

vagrant @ homestead: ~ $man ls
LS (1) Comandos de usuario LS (1)

NAME
ls - lista del contenido del directorio

SINOPSIS
ls [OPCIÓN]… [ARCHIVO]…

DESCRIPCIÓN
Muestra información sobre los ARCHIVOS (el directorio actual por defecto). Ordene las entradas
alfabéticamente si no se especifica ningún -cftuvSUX ni –sort.

Los argumentos obligatorios para opciones largas también son obligatorios para opciones cortas.

-a, –todos
no ignoran las entradas que comienzan con.

-A, –casi-todos
no enumeran implícitos. y ...

–Author
con -l, imprime el autor de cada archivo

-b, –escape
print escapes de estilo C para caracteres no gráficos

–Block-size = SIZE
tamaños de escala por TAMAÑO antes de imprimirlos. Por ejemplo, '–block-size = M' imprime tamaños
en unidades de 1.048.576 bytes. Consulte el formato TAMAÑO a continuación.

-B, –ignore-backups
no enumeran las entradas implícitas que terminan en ~

-c con -lt: ordenar y mostrar ctime (hora de la última modificación de la
información de estado del archivo ) con -l: mostrar ctime y ordenar por nombre de lo contrario: ordenar por ctime, el
más nuevo primero

-C lista entradas por columnas

–Color [= CUANDO]
colorea la salida. CUANDO está predeterminado en 'siempre' o puede ser 'nunca' o 'automático'.
Más información a continuación

-d, –directorio
enumera las entradas del directorio en lugar de su contenido, y no desreferencia los
enlaces simbólicos

-D, –dired
genera salida diseñada para el modo dired de Emacs

-f no ordenar, habilitar -aU, deshabilitar -ls –color

-F, –clasifica el
indicador de anexar (uno de * / => @ |) a las entradas

–File-type
igualmente, excepto que no agregue '*'

–Format = WORD
en -x, comas -m, horizontal -x, long -l, single-column -1, verbose -l,
vertical -C

–Tiempo-
completo como -l –estilo-tiempo = iso-completo

-g como -l, pero no incluye propietario

–Grupo-directorios-primero
grupo de directorios antes de archivos.

augment con una opción -sort, pero cualquier uso de -sort = ninguno (-U) desactiva grupo-
ING

-G, –no-group
en una lista larga, no imprime los nombres de los grupos

-h, - legible
por humanos con -l, tamaños de impresión en formato legible por humanos (p. ej., 1K 234M 2G)

–Si igualmente, pero usa potencias de 1000, no de 1024

-H, –dereference-command-line
sigue los enlaces simbólicos enumerados en la línea de comando

–Dereference-command-line-symlink-to-dir
sigue cada enlace simbólico de la línea de comando que apunta a un directorio

–Hide = PATTERN
no enumera las entradas implícitas que coinciden con el PATTERN de shell (anulado por -a o -A)

–Indicator-style = WORD
añadir indicador con estilo WORD a los nombres de las entradas: ninguno (predeterminado), barra (-p),
tipo de archivo (–tipo de archivo), clasificar (-F)

-i, –inode
imprime el número de índice de cada archivo

-I, –ignore = PATTERN
no enumera las entradas implícitas que coinciden con el PATTERN de shell

-k, –kibibytes
usan bloques de 1024 bytes

-Utilizo un formato de lista larga

-L, –dereferencia
cuando muestra información de archivo para un enlace simbólico, muestra información para el
archivo al que hace referencia el enlace en lugar del enlace en sí

-m ancho de relleno con una lista de entradas separadas por comas

-n, –numeric-uid-gid
como -l, pero enumera los ID numéricos de usuario y grupo

-N,
–nombres de entrada sin formato de impresión literal (no trate, por ejemplo, los caracteres de control de manera especial)

-o como -l, pero no incluye información de grupo

-p, –indicator-style = barra inclinada
anexar / indicador a directorios

-q, –hide-control-chars
print? en lugar de caracteres no gráficos

–Show-control-chars
muestra los caracteres no gráficos tal cual (predeterminado a menos que el programa sea 'ls' y la salida
sea ​​una terminal)

-Q, –quote-name
encierra los nombres de las entradas entre comillas dobles

–Quoting-style = WORD
usa el estilo de comillas WORD para los nombres de entrada: literal, locale, shell, shell-always,
c, escape

-r, –orden
inverso inverso al ordenar

-R, -
subdirectorios de lista recursiva de forma recursiva

-s, –size
imprime el tamaño asignado de cada archivo, en bloques

-S ordenar por tamaño de archivo

–Sort = WORD
ordenar por WORD en lugar del nombre: ninguno -U, extensión -X, tamaño -S, tiempo -t, versión
-v

–Time = WORD
con -l, muestra la hora como WORD en lugar de la hora de modificación: atime -u, access -u,
use -u, ctime -c, or status -c; use la hora especificada como clave de clasificación si –sort = time

–Time-style = STYLE
con -l, muestra los tiempos usando el estilo STYLE: full-iso, long-iso, iso, locale, + FOR‐
MAT. FORMAT se interpreta como 'fecha'; si FORMAT es FORMAT1
FORMAT2 FORMAT1 se aplica a archivos no recientes y FORMAT2 a archivos recientes; si STYLE tiene el
prefijo 'posix-', STYLE tiene efecto solo fuera de la configuración regional POSIX

-t ordenar por hora de modificación, el más nuevo primero

-T, –tabsize = COLS
asume que la tabulación se detiene en cada COLS en lugar de 8

-u con -lt: ordenar y mostrar el tiempo de acceso con -l: mostrar el tiempo de acceso y ordenar por
nombre de lo contrario: ordenar por tiempo de acceso

-U no clasifica; enumerar entradas en orden de directorio

-v tipo natural de números (de versión) dentro del texto

-w, –width = COLS
asume el ancho de la pantalla en lugar del valor actual

-x enumera las entradas por líneas en lugar de por columnas

-X ordena alfabéticamente por extensión de entrada

-Z, –context
imprime cualquier contexto de seguridad SELinux de cada archivo

-1 lista un archivo por línea

–Ayuda a mostrar esta ayuda y salir

–Versión
información de la versión de salida y salida

TAMAÑO es un número entero y una unidad opcional (ejemplo: 10M es 10 * 1024 * 1024). Las unidades son K, M,
G, T, P, E, Z, Y (potencias de 1024) o KB, MB,… (potencias de 1000).

El uso de color para distinguir los tipos de archivos está desactivado tanto de forma predeterminada como con
–color = never. Con –color = auto, ls emite códigos de color solo cuando la salida estándar está
conectada a un terminal. La variable de entorno LS_COLORS puede cambiar la configuración.
Utilice el comando dircolors para configurarlo.

Estado de salida:
0 si está bien,

1 si hay problemas menores (por ejemplo, no se puede acceder al subdirectorio),

2 si hay un problema grave (por ejemplo, no se puede acceder al argumento de la línea de comandos).

AUTOR
Escrito por Richard M. Stallman y David MacKenzie.

INFORMACIÓN DE ERRORES
Informe los errores de ls a bug-coreutils@gnu.org
Página de inicio de GNU coreutils:
Ayuda general para usar el software GNU:
Informar errores de traducción de ls a

COPYRIGHT
Copyright © 2013 Free Software Foundation, Inc. Licencia GPLv3 +: GNU GPL versión 3 o
posterior.
Este es un software gratuito: puede cambiarlo y redistribuirlo. NO HAY GARANTÍA
, en la medida permitida por la ley.

VEA TAMBIÉN
La documentación completa de ls se mantiene como un manual de Texinfo. Si los programas info y ls
están instalados correctamente en su sitio, el comando

info coreutils 'invocación de ls'

debería darle acceso al manual completo.

GNU coreutils 8.21 Enero de 2015 LS (1)
Página del manual ls (1) línea 180/233 (FIN) (presione h para obtener ayuda oq para salir)

Lo mejor que puede hacer es simplemente jugar con algunas de las diversas opciones para usted. Esto lo familiarizará con algunos de los diferentes comportamientos de opciones.


Cambiar directorios en Linux

Dondequiera que se encuentre actualmente en la estructura de árbol del sistema de archivos, puede moverse a una ubicación diferente usando el cdcomando. Por supuesto, esto le permite cambiar de directorio. Es un comando simple de usar, todo lo que necesita hacer es escribir cdcon el nombre de la ruta a la que le gustaría ir. El nombre de la ruta es la forma de llegar a un directorio de trabajo en el árbol. Por ejemplo, tal vez le gustaría acceder al etcdirectorio para ver qué hay allí. Si simplemente escribe cd etc, obtendrá un error. Esto se debe a que el nombre de la ruta no está completo. Necesitamos incluir el nombre completo de la ruta. A continuación se muestra un ejemplo de cómo intentar cambiar de directorio, obtener un error y luego cambiar con éxito al directorio deseado y ver todo el contenido conls.

vagrant @ homestead: ~ $ cd etc
-bash: cd: etc: No existe tal archivo o directorio
vagrant @ homestead: ~ $ cd /etc
vagrant @ homestead: / etc $ ls
acpi ghostscript manpath.config redis
adduser.conf groff memcached.conf request-key.d
adjtime group mime.types resolvconf
alternativas group- mke2fs.conf resolv.conf
apache2 grub.d modprobe.d rmt
apm gshadow módulos rpc
apparmor gshadow- mtab rsyslog.conf
apparmor.d gssapi_mech.conf mysql rsyslog.d
apport hdparm.conf nanorc screenrc
apt hhvm netconfig securetty
at.deny host.conf seguridad de red
bash.bashrc nombre de host redes selinux
bash_completion hosts servicios de newt
bash_completion.d hosts.allow nginx
sg.ml .deny nsswitch.conf sombra
blackfire idmapd.conf opt sombra-
blkid.conf ImageMagick os-release shells
blkid.tab init overlayroot.conf skel
byobu init.d overlayroot.local.conf ssh
certificados ca initramfs-tools pam.conf ssl
ca -ificates.conf inputrc pam.d subgid
calendar insserv tamaño de papel subgid -
scripts de chat insserv.conf passwd subuid
chef insserv.conf.d passwd- subuid-
cloud iproute2 pear sudoers
problema de configuración de la consola perl sudoers.d
cron.d issue.net supervisor php5
cron.daily kbd pm
sysctl.conf cron.hourly kernel polkit-1 sysctl.d
cron.monthly kernel-img.conf pollinate systemd
crontab paisaje popularidad-concurso. conf terminfo
cron.weekly ldap postgresql zona horaria
crypttab ld.so.cache postgresql-common ucf.conf
dbus-1 ld.so.conf ppp udev
debconf.conf ld.so.conf.d profile ufw
debian_version legal profile.d updatedb.conf
default libaudit.conf protocolos update-manager
deluser.conf libpaper.d puppet update-motd.d
depmod.d locale.alias python update-notifier
dhcp localtime python2.7 upstart-xsessions
dkms logcheck python3 vim
dpkg login.defs python3.4 vmware-tools
drirc logrotate.conf rc0.d vtrgb
ec2_version logrotate.d rc1.d w3m
emacs lsb-release rc2.d wgetrc
entorno ltrace.conf rc3.d X11
fonts magic rc4.d xdg
fstab magic.mime rc5.d xml
fstab.d mailcap rc6.d zsh_command_not_found
fuse.conf mailcap
.orden rc.local gai.conf mailname rcS.d
vagabundo @ homestead: / etc $

Nombres de rutas relativas y accesos directos

Al movernos a diferentes directorios, podemos usar rutas absolutas como hicimos anteriormente, o rutas relativas. Las rutas relativas hacen uso de los operadores ...El ..operador quiere subir un directorio hasta el padre . Puede combinar esto varias veces según sea necesario. Por ejemplo, si necesita llegar al padre del padre, simplemente escriba cd ../.. El ..operador es muy útil y lo utilizará constantemente. El .operador debe ir en la otra dirección, por así decirlo. Esto dice que se mueva en relación con el directorio de trabajo actual. La mayoría de las veces ni siquiera necesitas esto, ya que está implícito. Para probar esto podemos usar absoluto , relativo yrelativo implícito en este ejemplo.

vagrant @ homestead: / boot $ cd /boot/grub
vagrant @ homestead: / boot / grub $ pwd
/ boot / grub
vagrant @ homestead: / boot / grub $ cd ..
vagrant @ homestead: / boot $ cd ./grub
vagrant @ homestead: / boot / grub $ pwd
/ boot / grub
vagrant @homestead: / boot / grub $ cd ..
vagrant @ homestead: / boot $ cd grub
vagrant @ homestead: / boot / grub $ pwd
/ boot / grub
vagabundo @ homestead: / boot / grub $

Tenga en cuenta que los tres enfoques nos llevan al mismo destino. El cdcomando también tiene algunos atajos de votos por el camino de cdcd -cd ~userEsto es lo que logran para usted:

Mando

Salir

discos compactosIr del directorio de trabajo actual al directorio de inicio
discos compactos -Ir al directorio de trabajo anterior
cd ~ usuarioVa del directorio de trabajo actual al directorio de inicio del usuario. Por ejemplo, cd ~ vagrant va al directorio de inicio del usuario vagrant.

No hay comentarios.:

Publicar un comentario

Dejanos tu comentario para seguir mejorando!

outbrain

Páginas