Acesse o sistema de arquivos Liunx
Identifique sistemas de arquivos e dispositivos
Conceitos de gerenciamento de armazenamento
Os arquivos em um servidor Linux são acessados de acordo com a hierarquia do sistema de arquivos. Este teste de hierarquia do sistema de arquivos é montado a partir dos sistemas de arquivos fornecidos pelos dispositivos de armazenamento disponíveis para o sistema. Cada sistema de arquivos é um dispositivo de armazenamento formatado que pode ser usado para armazenar arquivos.
Sistemas de arquivos e pontos de montagem
Para disponibilizar o conteúdo de um sistema de arquivos na hierarquia do sistema de arquivos, ele deve ser montado em um diretório vazio. Após a montagem, se você usar ls para listar o diretório, verá o conteúdo do sistema de arquivos montado e poderá acessar e usar esses arquivos normalmente.
Sistemas de arquivos, armazenamento e dispositivos de bloco
No Linux, o acesso de baixo nível aos dispositivos de armazenamento é fornecido por um tipo especial de arquivo chamado dispositivo de bloco. Antes de montar esses dispositivos de bloco, eles devem ser formatados usando o sistema de arquivos. Os arquivos do dispositivo de bloco são armazenados no /dev
diretório junto com outros arquivos do dispositivo.
partição de disco
Normalmente não se configura um dispositivo de armazenamento inteiro como sistema de arquivos. Os dispositivos de armazenamento geralmente são divididos em pedaços menores chamados partições.
As partições são usadas para dividir um disco rígido: diferentes partes podem ser formatadas com diferentes sistemas de arquivos ou usadas para outros fins.
volume lógico
Outra forma de organizar discos e partições é através do Gerenciamento de Volume Lógico (LVM). Através do lvm, um ou mais dispositivos de bloco podem ser agregados em um pool de armazenamento inteiro, chamado grupo de volumes. O espaço em disco de um grupo de volumes é alocado para um ou mais volumes lógicos, funcionalmente equivalentes a partições que residem em discos físicos.
Verifique o sistema de arquivos
Use o comando df para visualizar os dispositivos do sistema de arquivos locais e remotos e o espaço disponível.
[root@servera ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 874504 0 874504 0% /dev
tmpfs 894592 0 894592 0% /dev/shm
tmpfs 894592 8900 885692 1% /run
tmpfs 894592 0 894592 0% /sys/fs/cgroup
/dev/mapper/rhel-root 17811456 1888092 15923364 11% /
/dev/nvme0n1p1 1038336 225396 812940 22% /boot
tmpfs 178916 0 178916 0% /run/user/0
Para obter informações detalhadas sobre o espaço usado por uma árvore de diretórios específica, use o comando du. O comando du possui opções -h e -H para converter a saída em um formato legível. O comando du exibe recursivamente o tamanho de todos os arquivos na árvore de diretórios atual.
du -h dirname
Montar e desmontar sistemas de arquivos
Montar manualmente o sistema de arquivos
Os sistemas de arquivos residentes em dispositivos de armazenamento disponíveis precisam ser montados antes de serem acessados. O comando mount executa o usuário root para montar manualmente todo o sistema de arquivos.
mount 要挂载的文件系统 指定在文件系统层次结构中用于挂载点的目录
Identificar dispositivos de bloco
Cada conexão ao dispositivo de armazenamento pode ser conectada a uma porta diferente.
lsblk lista detalhes de um dispositivo de bloco especificado ou de todos os dispositivos disponíveis.
[root@servera ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos_servera-root 253:0 0 17G 0 lvm /
└─centos_servera-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
sr0 11:0 1 918M 0 rom
Montagem por nome do dispositivo de bloco
[root@servera ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos_servera-root 253:0 0 17G 0 lvm /
└─centos_servera-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 20G 0 part
sr0 11:0 1 918M 0 rom
Para montar um sistema de arquivos, o diretório de destino deve existir
[root@servera ~]# mount /dev/sdb1 /mnt/data/
Desmontar por UUID do sistema de arquivos
Um identificador estável UUID associado ao sistema de arquivos faz parte do sistema de arquivos.Enquanto o sistema não for reconstruído, o UUID permanecerá inalterado.
[root@servera ~]# lsblk -fp
NAME FSTYPE LABEL UUID MOUNTPOINT
/dev/sda
├─/dev/sda1 xfs f817436a-8545-4281-9824-d6e702ed8a87 /boot
└─/dev/sda2 LVM2_member Z3H2lv-Wy4E-dThI-BW4F-QGho-V1HW-d5GnNW
├─/dev/mapper/centos_servera-root
xfs b26176ca-72a1-4982-acb1-af8c367203ec /
└─/dev/mapper/centos_servera-swap
swap efad3a2a-eab4-489b-9570-2da62da5d1bc [SWAP]
/dev/sdb
└─/dev/sdb1 ext4 051cef52-7ecd-4438-adf7-3f4171e9fc71
/dev/sr0 iso9660 CentOS 7 x86_64 2018-11-25-21-21-31-00
Montagem baseada em UUID
[root@servera ~]# mount UUID="051cef52-7ecd-4438-adf7-3f4171e9fc71" /mnt/data
[root@servera ~]# lsblk -fp | grep /dev/sdb1
└─/dev/sdb1 ext4 051cef52-7ecd-4438-adf7-3f4171e9fc71 /mnt/data
Desmontar sistema de arquivos
O processo de desligamento e reinicialização desmonta automaticamente todos os sistemas de arquivos. Quaisquer dados do sistema de arquivos armazenados em cache na memória são descarregados para o dispositivo de armazenamento, garantindo que o sistema de arquivos não sofra corrupção de dados.
Para desmontar um sistema de arquivos, use o comando umount com o ponto de montagem como argumento.
[root@servera ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos_servera-root 253:0 0 17G 0 lvm /
└─centos_servera-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 20G 0 part /mnt/data
sr0 11:0 1 918M 0 rom
[root@servera ~]# umount /mnt/data
[root@servera ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos_servera-root 253:0 0 17G 0 lvm /
└─centos_servera-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 20G 0 disk
└─sdb1 8:17 0 20G 0 part
sr0 11:0 1 918M 0 rom
Encontre arquivos em seu sistema
Procurar arquivos
- localizar procura o nome ou caminho do arquivo em todos os arquivos pré-gerados e retorna os resultados
- encontre pesquisas rastreando toda a hierarquia do sistema de arquivos
Encontre arquivos por nome
localizar localiza arquivos com base no nome ou caminho do arquivo. Este método é mais rápido porque consulta essas informações no banco de dados mlocate. No entanto, o banco de dados não é atualizado em tempo real, mas o usuário root pode forçar atualizações por meio de updateb.
Se você não tiver o comando de localização, faça o download.
sudo yum install mlocate
[root@servera ~]# updatedb
[root@servera ~]# locate passwd
/etc/passwd
/etc/passwd-
/etc/pam.d/passwd
/etc/security/opasswd
/usr/bin/gpasswd
[root@servera ~]# locate image -
/etc/selinux/targeted/contexts/virtual_image_context
/usr/bin/grub2-mkimage
/usr/lib/firewalld/services/ovirt-imageio.xml
/usr/lib/firmware/nvidia/gm20b/pmu/image.bin
/usr/lib/firmware/nvidia/gp102/sec2/image.bin
A opção -i consulta pesquisas que não diferenciam maiúsculas de minúsculas.
[root@servera ~]# locate -i messages
/usr/share/locale/aa/LC_MESSAGES
/usr/share/locale/ab/LC_MESSAGES
/usr/share/locale/ace/LC_MESSAGES
/usr/share/locale/ach/LC_MESSAGES
/usr/share/locale/ada/LC_MESSAGES
-n limitar o número retornado
[root@servera ~]# locate -n 5 message
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/message
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/message/fusion
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/message/fusion/mptbase.ko.xz
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/message/fusion/mptctl.ko.xz
/usr/lib/modules/3.10.0-957.el7.x86_64/kernel/drivers/message/fusion/mptsas.ko.xz
[root@servera ~]#
Pesquise arquivos ativos
O comando find executa uma pesquisa em tempo real na hierarquia do sistema de arquivos e é mais lento que localizar, mas é mais preciso. Você também pode pesquisar arquivos com base em critérios diferentes do nome do arquivo, como permissões/tipo/tamanho/hora da modificação do arquivo
find examina os arquivos no sistema de arquivos usando a conta de usuário que executou a pesquisa.
O primeiro argumento a ser encontrado é o diretório a ser pesquisado. Se o argumento do diretório for omitido, find irá pesquisar começando no diretório atual e procurando uma correspondência em qualquer subdiretório.
Se você procurar um arquivo pelo nome do arquivo, use -name filename e selecione find para retornar o caminho para o arquivo que corresponde exatamente ao nome do arquivo.
[root@servera ~]# find / -name sshd_config
/etc/ssh/sshd_config
Você pode usar curingas para procurar nomes de arquivos e retornar todos os resultados que correspondam a uma correspondência parcial. Se você usar curingas, coloque o nome do arquivo que está procurando entre parênteses para evitar que o terminal interprete os curingas.
[root@servera ~]# find / -name '*.txt' | head -n 3
/etc/pki/nssdb/pkcs11.txt
/var/cache/yum/x86_64/7/base/mirrorlist.txt
/var/cache/yum/x86_64/7/timedhosts.txt
[root@servera ~]#
[root@servera ~]# find /etc -name '*pass*'
/etc/pam.d/passwd
/etc/pam.d/password-auth-ac
/etc/pam.d/password-auth
/etc/passwd-
/etc/passwd
/etc/security/opasswd
/etc/openldap/certs/password
/etc/selinux/targeted/active/modules/100/passenger
Para realizar uma pesquisa sem distinção entre maiúsculas e minúsculas em um determinado nome de arquivo, use a opção -iname
[root@servera ~]# find / -iname '*messages*' | head -n 3
/var/log/messages
/usr/share/locale/ast/LC_MESSAGES
/usr/share/locale/ca/LC_MESSAGES
Pesquise com base na propriedade ou permissões
parâmetro:
- -do utilizador
- -grupo
- UID
- feliz
- permanente
[root@servera ~]# find -user root | head -n 3
.
./.bash_logout
./.bash_profile
[root@servera ~]# find -group root | head -n 3
.
./.bash_logout
./.bash_profile
[root@servera ~]# find -uid 0
.
./.bash_logout
./.bash_profile
./.bashrc
./.cshrc
./.tcshrc
./anaconda-ks.cfg
Pesquise arquivos com base no tamanho
- -k quilobytes
- -M megabytes
- -G gigabytes
find -size 10M 大小为10M的文件
fing -size +10G 大小超过10G的文件
find -size -10k 大小不到10k的文件
Pesquisa com base no horário da modificação
-mmin mais minutos ou mais irá procurar todos os arquivos que foram alterados há n minutos
find / -mmin 120 #120分钟以前修改的所有文件
find / -mmin +200 #200分钟以前修改的所有文件
find / -mmin -150 #150分钟内修改的所有文件
Pesquise por tipo de arquivo
-tipo:
- Arquivo normal
- diretório d
- lCadeia macia
- dispositivo de bloco b
#/etc目录的所有文件
[root@servera ~]# find /etc -type d | head -n 3
/etc
/etc/grub.d
/etc/terminfo
#/etc目录下所有软链
[root@servera ~]# find / -type l | head -n 3
/dev/cdrom
/dev/snd/by-path/pci-0000:02:02.0
/dev/initctl
#/dev下的块设备
[root@servera ~]# find /dev -type b
/dev/sdb1
/dev/dm-1
/dev/dm-0
/dev/sr0
/dev/sdb
/dev/sda2
/dev/sda1
/dev/sda
#软链大于3的普通文件
find / -type f -links +1