Linux系统运维与架构设计之文件管理

Posted ittimeline

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统运维与架构设计之文件管理相关的知识,希望对你有一定的参考价值。

Linux系统运维与架构设计之文件管理

4.1 Linux文件系统和目录结构

4.1.1 Linux文件系统

Linux文件系统中的文件和目录被组织成一个单根倒置树结构,文件系统从根目录下开始,使用"/"表示,而且Linux文件系统(CentOS6.10默认是ext4,CentOS7.6默认是xfs)的文件名区分大小写,但是有个需要注意的地方,如果CentOS系统上挂载了个U盘,而它的格式通常是VFAT,访问这个U盘的内容不区分大小写。因此是否区分大小写,和文件系统有关,和操作系统无关。

要想查看磁盘的文件系统类型,可以使用lsblk -o +FSTYPE 命令查看

CentOS7.6磁盘的文件系统查看

[root@centos7 ~]#lsblk -o +FSTYPE
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT                      FSTYPE
sda      8:0    0  200G  0 disk                                 
├─sda1   8:1    0  500M  0 part /boot                           xfs
├─sda2   8:2    0   50G  0 part /                               xfs
├─sda3   8:3    0   30G  0 part /data                           xfs
├─sda4   8:4    0    1K  0 part                                 
└─sda5   8:5    0    4G  0 part [SWAP]                          swap
sr0     11:0    1   10G  0 rom  /run/media/root/CentOS 7 x86_64 iso9660

CentOS6.10磁盘的文件系统查看

[root@centOS6 cd]#lsblk -o +FSTYPE
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT               FSTYPE
sr0     11:0    1  3.7G  0 rom  /media/CentOS_6.10_Final iso9660
sda      8:0    0  200G  0 disk                          
├─sda1   8:1    0    1G  0 part /boot                    ext4
├─sda2   8:2    0 48.8G  0 part /                        ext4
├─sda3   8:3    0 29.3G  0 part /data                    ext4
├─sda4   8:4    0    1K  0 part                          
└─sda5   8:5    0  3.9G  0 part [SWAP]                   swap

在Linux系统中,以.开头的文件表示隐藏文件,例如之前修改过的.bash_history和.bashrc等等都是隐藏文件。
Linux文件系统对文件名的后缀没有特殊的要求,而Windows文件系统的可执行程序的后缀必须是.exe或者.msi。

在Linux下的路径分隔使用正斜线(/)分隔,而Linux文件系统的路径主要有相对路径和绝对路径两种,其中相对路径是相对于当前路径开始的路径,而绝对路径是从根路径下开始,和路径相关的还有两个特殊的符号,其中..表示上一级目录,而./表示当前目录,相对路径相比绝对路径而言会更加灵活,在后期编写脚本程序时应该优先使用相对路径。

使用相对路径查看/etc目录下的motd文件

[root@centOS6 ~]#pwd #首先查看当前用户所在的路径
/root
[root@centOS6 ~]#cat ../etc/motd 
欢迎跟光磊一起学习Linux系统运维与架构设计

使用绝对路径查看/etc目录下的motd文件

[root@centOS6 ~]#cat /etc/motd 
欢迎跟光磊一起学习Linux系统运维与架构设计

使用相对路径查看/etc目录下的motd文件

[root@centOS6 ~]#cat ../etc/motd 
欢迎跟光磊一起学习Linux系统运维与架构设计

如果只要路径的文件或者文件夹,可以使用basename获取,如果只想要获取文件或者文件夹所在的路径,可以使用dirname获取

[root@centOS6 ~]#basename /etc/sysconfig/network
network
[root@centOS6 ~]#dirname /etc/sysconfig/network
/etc/sysconfig

在Linux文件系统中,每个文件都有相应的数据,包含文件属性数据(例如大小,修改时间,权限信息等等),也被称为元数据(metadata)以及文件存放的内容本身的数据两部分组成,使用ll命令就可以查看文件的属性数据,如下命令输出显示。

[root@centOS6 ~]#ll /etc/profile
-rw-r--r--. 1 root root 1841 Mar 22  2017 /etc/profile

在Linux文件系统中,不同类型的文件使用不同的颜色来区分,在/etc目录下的DIR_COLORS文件中定义了各个类型的文件所对应的颜色,可以使用vim /etc/DIR_COLORS命令查看,如果想要修改文件的颜色,只需要修改该文件即可。

[root@centos7 bin]#vim /etc/DIR_COLORS

而常见的文件类型如下列表所示

  • 普通文件(-):即文本文件
  • 目录文件(d):文件夹
  • 块设备文件(b):磁盘
  • 字符设备文件(c):
  • 符号链接文件(l):快捷方式
  • 管道文件(p)
  • 套接字文件(s)

颜色对应的文件类型如下表格所示

颜色 文件类型
蓝色 目录
绿色 可执行文件
红色 压缩文件
浅蓝色 链接文件
灰色 其他文件

通常运维人员打交道最多的是普通文件和目录文件

4.1.2 Linux文件系统的文件名规则

Linux文件系统中文件名最长只能是255个字节以内,如果在创建文件时,长度超过255个字节会提示 File name too long,而且包含路径在内的文件名最长为4095个字节。

Linux系统的文件名不能使用空格,斜杆和NUL,也极不推荐使用命令选项作为文件名。如果在工作中遇到了垃圾的文件无法正常使用rm -f命令加上相对路径删除,只需要加上垃圾文件的绝对路径就可以删除。

4.1.3 FHS

Linux文件系统的目录结构和Windows截然不同,由文件系统层次结构标准组(Firesystem Hierarchy Standard Group )发布的文件系统层次结构标准明确规定了Linux文件系统的各个目录的结构,目前最新的版本是2004年1月29日发布的2.3版本,通过浏览文件系统层次结构标准的pdf文件,可以了解到Linux系统中每个文件的作用,目录实际上也是当作一种文件。

4.1.4 Linux文件系统的目录结构

当我们登录系统之后,默认会在家目录,例如普通用户的家目录一般是/home/USERNAME,而管理员用户的家目录是在/root目录下,而这个/就是Linux系统的根目录,相比Windows而言是以某个盘符(例如C盘或者D盘)作为根目录。

我们可以使用pwd命令查看登录系统后用户所在的目录。
root用户

[root@centOS6 ~]#pwd
/root

普通用户

[guanglei@centOS6 ~]$pwd 
/home/guanglei

而在根目录下有些重要的目录,这里我们使用tree命令来查看。
系统安装以后,默认是不带tree命令,需要我们加载光盘镜像后自己安装,安装之前需要确保系统镜像已经被加载,以CentOS7.6为例,如下图所示
CentOS7.6加载镜像
CentOS7.6系统可以使用如下命令安装tree

[root@centos7 media]#rpm -ivh /run/media/root/CentOS\\ 7\\ x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm 

而CentOS6.10系统可以使用如下命令安装tree

[root@centOS6 ~]#rpm -ivh /media/CentOS_6.10_Final/Packages/tree-1.5.3-3.el6.x86_64.rpm 

然后使用tree -L 1 / 命令就可以查看到根目录下的一级目录

CentOS6.7根目录下的一级子目录如下命令输出所示

[root@centOS6 ~]#tree -L 1 /
/
├── bin
├── boot
├── data
├── dev
├── etc
├── home
├── lib
├── lib64
├── lost+found
├── media
├── misc
├── mnt
├── net
├── opt
├── proc
├── root
├── sbin
├── selinux
├── srv
├── sys
├── tmp
├── usr
└── var

CentOS7.6系统的根目录下一级目录如下命令输出显示

[root@centos7 ~]#tree -L 1 /
/
├── bin -> usr/bin
├── boot
├── data
├── dev
├── etc
├── home
├── lib -> usr/lib
├── lib64 -> usr/lib64
├── media
├── mnt
├── opt
├── proc
├── root
├── run
├── sbin -> usr/sbin
├── srv
├── sys
├── tmp
├── usr
└── var

20 directories, 0 files

两者根目录的一级子目录直接的对比,如下图所示
CentOS7.6和CentOS6.10根目录下一级子目录对比
接下来就介绍根目录下的一级子目录及其作用,如下表格所示,其中标记 *的是FHS规定Linux系统中必须具备的目录。

目录名称 主要作用
/bin * 供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序
/boot * 引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub)都存放于此目录,需要独立分区,如果损坏,系统无法启动
/dev * 设备文件以及特殊文件存储位置,例如块设备以及字符设备
/sbin * 管理类(针对root用户)的基本命令;不能关联至独立分区, OS启动即会用到的程序
/etc * 配置文件目录,存放应程序的相关配置
/lib * 启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
/home/USERNAME 普通用户的家目录
/root 管理员的家目录
/media * 便携式移动设备挂载点
/mnt * 临时文件系统挂载点
/var * 存放系统和软件运行的日志信息
/opt * 第三方应用程序的安装位置
/usr * 存放应用程序和文件
/proc 用于输出内核与进程信息相关的虚拟文件系统
/sys 用于输出当前系统上硬件设备相关信息虚拟文件系统
/srv * 系统上运行的服务用到的数据
/tmp * 临时文件存储位置
/selinux security enhanced Linux, selinux相关的安全策略等信息的存储位置

/boot目录
这里使用ls -al /boot查看/boot目录下的文件列表,其中 vmlinuz-3.10.0-957.el7.x86_64就是Linux的内核,CentOS7.x的内核是3.10版本,如下命令执行输出结果显示。

[root@centos7 ~]#ls -al /boot
total 128912
dr-xr-xr-x.  5 root root     4096 Jan 10 10:10 .
dr-xr-xr-x. 18 root root      236 Jan 10 10:08 ..
-rw-r--r--.  1 root root   151918 Nov  9 07:43 config-3.10.0-957.el7.x86_64
drwx------.  3 root root       17 Nov  9 08:46 efi
drwxr-xr-x.  2 root root       27 Jan 10 10:03 grub
drwx------.  5 root root       97 Jan 10 10:09 grub2
-rw-------.  1 root root 74000668 Jan 10 10:07 initramfs-0-rescue-40316785f67f494a9a258e83fd0d87a4.img
-rw-------.  1 root root 29363228 Jan 10 10:09 initramfs-3.10.0-957.el7.x86_64.img
-rw-------.  1 root root 11324650 Jan 10 10:10 initramfs-3.10.0-957.el7.x86_64kdump.img
-rw-r--r--.  1 root root   314036 Nov  9 07:43 symvers-3.10.0-957.el7.x86_64.gz
-rw-------.  1 root root  3543471 Nov  9 07:43 System.map-3.10.0-957.el7.x86_64
-rwxr-xr-x.  1 root root  6639904 Jan 10 10:07 vmlinuz-0-rescue-40316785f67f494a9a258e83fd0d87a4
-rwxr-xr-x.  1 root root  6639904 Nov  9 07:43 vmlinuz-3.10.0-957.el7.x86_64
-rw-r--r--.  1 root root      166 Nov  9 07:43 .vmlinuz-3.10.0-957.el7.x86_64.hmac

/dev目录
这里使用ll命令查看/dev下的设备列表
主要设备分为块设备和字符设备
其中块设备特点是物理存在的,支持随机访问,支持缓存。
字符设备是不带缓存,是逻辑的概念,不支持随机访问,也就是顺序访问。
而且块设备和字符设备都没有大小的属性,只有设备的类别以及编号。

查看/dev下的磁盘分区

[root@centos7 ~]#ll /dev/sd*
brw-rw----. 1 root disk 8, 0 Jan 29 23:05 /dev/sda
brw-rw----. 1 root disk 8, 1 Jan 29 23:05 /dev/sda1
brw-rw----. 1 root disk 8, 2 Jan 29 23:05 /dev/sda2
brw-rw----. 1 root disk 8, 3 Jan 29 23:05 /dev/sda3
brw-rw----. 1 root disk 8, 4 Jan 29 23:05 /dev/sda4
brw-rw----. 1 root disk 8, 5 Jan 29 23:05 /dev/sda5

/etc目录
存放应用,服务的相关配置文件,后期运维工作会经常访问该目录来修改相应的配置文件(例如之前修改过的/etc/profile /etc/gdm/custom.conf /etc/profile.d/prompt.sh
),这里我们要养成一个良好的运维习惯,就是生产环境上在修改配置文件之前先备份,防止某些误操作造成无法挽回的损失。

/lib目录
这里使用ldd命令查看应用程序所依赖的系统库文件。
Linux系统的命令都会依赖/lib或者/lib64(CentOS7都是64位)路径下的系统库。
我们可以使用ldd命令跟上命令的路径就可以查看命令所依赖的库。

[root@centos7 ~]#which ls #查看ls命令的路径
alias ls=\'ls --color=auto\'
        /usr/bin/ls
[root@centos7 ~]#ldd /usr/bin/ls
        linux-vdso.so.1 =>  (0x00007fffe2927000)
        libselinux.so.1 => /lib64/libselinux.so.1 (0x00007f3daeb99000)
        libcap.so.2 => /lib64/libcap.so.2 (0x00007f3dae994000)
        libacl.so.1 => /lib64/libacl.so.1 (0x00007f3dae78b000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f3dae3be000)
        libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f3dae15c000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f3dadf58000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f3daedc0000)
        libattr.so.1 => /lib64/libattr.so.1 (0x00007f3dadd53000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f3dadb37000)
        
[root@centos7 ~]#which --skip-alias hostname
/usr/bin/hostname
[root@centos7 ~]#ldd /usr/bin/hostname #查看hostname依赖的系统库
        linux-vdso.so.1 =>  (0x00007ffd21f8d000)
        libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f360227d000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f3601eb0000)
        /lib64/ld-linux-x86-64.so.2 (0x00007f3602497000)

/media和/mnt
/media目录是当用户登录系统之后会自动挂载配置的镜像文件,而/mnt通常是管理员手动输入命令挂载。

/bin和/sbin
这里以CentOS6.10中的普通命令ls和管理员命令init为例说明/bin和/sbin目录的作用
/bin目录下存放的是普通用户存放的命令,例如ls
/sbin目录下存放的是管理员存放的命令,例如init

[root@centOS6 ~]#which --skip-alias ls
/bin/ls
[root@centOS6 ~]#which init
/sbin/init

/usr目录
/usr用于存放系统中的应用程序和文件,如果在安装系统时选择了很多软件包,那么这些软件包默认是安装在/usr路径下,平常安装的一些软件默认也是在/usr路径下,因此这个目录一般会比较大,可以使用du命令查看目录对应的磁盘空间,如下命令输出结果显示除了光盘镜像以外,/usr占据的磁盘空间是最大的。

[root@centOS6 ~]#du -sh /*
7.7M    /bin
38M     /boot
20K     /data
312K    /dev
41M     /etc
214M    /home
207M    /lib
28M     /lib64
16K     /lost+found
3.8G    /media
0       /misc
8.0K    /mnt
0       /net
8.0K    /opt
du: cannot access `/proc/4181/task/4181/fd/4\': No such file or directory
du: cannot access `/proc/4181/task/4181/fdinfo/4\': No such file or directory
du: cannot access `/proc/4181/fd/4\': No such file or directory
du: cannot access `/proc/4181/fdinfo/4\': No such file or directory
0       /proc
1.2M    /root
17M     /sbin
0       /selinux
4.0K    /srv
0       /sys
780K    /tmp
3.1G    /usr
83M     /var

/proc目录
/proc目录是一个虚拟目录,目录中所有的信息都是内存的映射,通过这个虚拟的内内存映射目录,可以获取CPU,内存,硬盘信息,/proc目录存放与内存中,而不是磁盘。

如果想要查看CPU信息,可以使用cat cpuinfo命令

[guanglei@centOS6 /]$cat /proc/cpuinfo  #查看CPU信息


[guanglei@centOS6 /]$ll /proc/cpuinfo  #查看cpuinfo文件大小是0,因为存在内存中
-r--r--r--. 1 root root 0 Jan 15 23:48 /proc/cpuinfo

如果想要查看内存信息,可以使用cat meminfo命令查看,如下命令输出所示

[guanglei@centOS6 /]$cat /proc/meminfo 
MemTotal:        8045264 kB
MemFree:         6520032 kB
Buffers:           83236 kB
Cached:           830312 kB
SwapCached:            0 kB
Active:           647804 kB
Inactive:         429556 kB
Active(anon):     163912 kB
Inactive(anon):     4112 kB
Active(file):     483892 kB
Inactive(file):   425444 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       4095996 kB
SwapFree:        4095996 kB
Dirty:               140 kB
Writeback:             0 kB
AnonPages:        163808 kB
Mapped:            66952 kB
Shmem:              4220 kB
Slab:             310788 kB
SReclaimable:     222452 kB
SUnreclaim:        88336 kB
KernelStack:        7920 kB
PageTables:        28240 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:     8118628 kB
Committed_AS:     853068 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      198680 kB
VmallocChunk:   34359518624 kB
HardwareCorrupted:     0 kB
AnonHugePages:     34816 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:        8192 kB
DirectMap2M:     2088960 kB
DirectMap1G:     6291456 kB

如果想要查看磁盘分区信息,可以使用cat /proc/partitions 命令,如下命令输出所示
当前的磁盘分区情况。

[guanglei@centOS6 /]$cat /proc/partitions 
major minor  #blocks  name

   8        0  209715200 sda
   8        1    1048576 sda1
   8        2   51200000 sda2
   8        3    4096000 sda3
   8        4          1 sda4
   8        5  153368576 sda5

/sys目录
/sys是用于存放系统硬件信息

[root@centos7 ~]#ls -al /sys
total 0
dr-xr-xr-x.  13 root root   0 Jan 29 23:05 .
dr-xr-xr-x.  18 root root 236 Jan 25 12:52 ..
drwxr-xr-x.   2 root root   0 Jan 29 23:05 block
drwxr-xr-x.  34 root root   0 Jan 29 23:05 bus
drwxr-xr-x.  55 root root   0 Jan 29 23:05 class
drwxr-xr-x.   4 root root   0 Jan 29 23:05 dev
drwxr-xr-x.  16 root root   0 Jan 29 23:05 devices
drwxr-xr-x.   6 root root   0 Jan 29 23:05 firmware
drwxr-xr-x.   8 root root   0 Jan 29 23:05 fs
drwxr-xr-x.   2 root root   0 Jan 29 23:05 hypervisor
drwxr-xr-x.  10 root root   0 Jan 29 23:05 kernel
drwxr-xr-x. 164 root root   0 Jan 29 23:05 module
drwxr-xr-x.   2 root root   0 Jan 29 23:05 power

这里使用/sys实现动态挂载硬盘,首先使用lsblk命令查看当前的磁盘以及分区信息,目前只有sda一块硬盘。

[guanglei@centOS6 /]$lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0     11:0    1    55M  0 rom  
sda      8:0    0   200G  0 disk 
├─sda1   8:1    0     1G  0 part /boot
├─sda2   8:2    0  48.8G  0 part /
├─sda3   8:3    0   3.9G  0 part [SWAP]
├─sda4   8:4    0     1K  0 part 
└─sda5   8:5    0 146.3G  0 part /data

我们可以在VMware Work Station中给CentOS6.10添加一个磁盘,然后使用如下命令让系统自动识别,该命令会触发磁盘扫描,让系统识别新增的磁盘。

[root@centOS6 ~]#echo \'- - -\'> /sys/class/scsi_host/host2/scan

再次使用lsblk命令查看新增加的磁盘信息,新增了一个100G的磁盘,默认未分区。

[root@centOS6 ~]#lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0     11:0    1   3.7G  0 rom  /media/CentOS_6.10_Final
sda      8:0    0   200G  0 disk 
├─sda1   8:1    0     1G  0 part /boot
├─sda2   8:2    0  48.8G  0 part /
├─sda3   8:3    0   3.9G  0 part [SWAP]
├─sda4   8:4    0     1K  0 part 
└─sda5   8:5    0 146.3G  0 part /data
sdb      8:16   0   100G  0 disk 

/misc

首先使用lsblk查看光盘的挂在情况
当用户在图形界面登录系统后,光盘会自动挂在到/run/media/root目录下。
如果开机时进入的是字符界面,则光盘不会自动挂载。

[root@centos7 ~]#lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  200G  0 disk 
├─sda1   8:1    0  500M  0 part /boot
├─sda2   8:2    0   50G  0 part /
├─sda3   8:3    0   30G  0 part /data
├─sda4   8:4    0    1K  0 part 
└─sda5   8:5    0    4G  0 part [SWAP]
sr0     11:0    1   10G  0 rom  /run/media/root/CentOS 7 x86_64

针对上述情况,我们可以借助/misc目录实现光盘挂载。
在CentOS7.6中,首先我们使用yum install -y autofs 安装autofs服务
然后使用systemctl start autofs 实现开机启动autofs服务。

[root@centos7 ~]#yum install -y autofs #安装autofs服务
[root@centos7 ~]#systemctl start autofs #开机启动autofs服务

然后使用ll /misc/cd 查看该目录下的内容

[root@centos7 ~]#ll /misc/cd
total 1656
-rw-rw-r--. 1 root root      14 Nov 26 00:01 CentOS_BuildTag
drwxr-xr-x. 3 root root    2048 Nov 26 00:20 EFI
-rw-rw-r--. 1 root root     227 Aug 30  2017 EULA
-rw-rw-r--. 1 root root   18009 Dec 10  2015 GPL
drwxr-xr-x. 3 root root    2048 Nov 26 00:21 images
drwxr-xr-x. 2 root root    2048 Nov 26 00:20 isolinux
drwxr-xr-x. 2 root root    2048 Nov 26 00:20 LiveOS
drwxrwxr-x. 2 root root 1656832 Nov 25 23:58 Packages
drwxrwxr-x. 2 root root    4096 Nov 26 22:21 repodata
-rw-rw-r--. 1 root root    1690 Dec 10  2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r--. 1 root root    1690 Dec 10  2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r--. 1 root root    2883 Nov 26 22:22 TRANS.TBL

然后就可以通过访问/misc/cd/Packages/安装指定的软件包了

[root@centos7 ~]#rpm -ivh /misc/cd/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm  #安装lrzsz实现文件上传下载

在CentOS7.x以后,如下列表的目录都已经被合并了。

  • /bin和/usr/bin 合并为/usr/bin
  • /sbin和/usr/sbin合并为/usr/sbin
  • /lib和/usr/lib合并为/usr/lib
  • /lib64和/usr/lib64合并为/usr/lib64

如下命令输出显示,/bin软链的形式指向/usr/bin

[root@centos7 ~]#ll -d /bin /usr/bin
lrwxrwxrwx. 1 root root     7 Jan 10 10:02 /bin -> usr/bin
dr-xr-xr-x. 2 root root 49152 Jan 15 22:27 /usr/bin

4.1.5 Linux应用程序的组成部分

Linux应用程序由二进制程序以及依赖的库文件和配置文件以及帮助文件组成。
通常二进制程序位于/bin,/sbin,/usr/bin,/usr/local/bin以及/usr/local/sbin目录下
而库文件位于/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64目录下
配置文件位于/etc/及其子目录以及 /usr/local/etc下
帮助文件位于/usr/share/man,/usr/share/doc,/user/local/share/man,/usr/local/share/doc目录下

4.2 Linux文件管理

4.2.1 pwd

功能说明:pwd命令是显示当前工作目录,在日常运维工作中,我们会在不同的目录之间进行切换,当执行pwd命令后可以立刻得知当前工作目录的绝对路径。

常用选项:

  • -L:显示软链接路径(默认)
  • -P:显示真实物理路径

应用案例:

[root@centos7 bin]#pwd #显示软链接路径
/bin
[root@centos7 bin]#pwd -L # pwd默认就是显示软连接路径
/bin
[root@centos7 bin]#pwd -P # 显示真实物理路径
/usr/bin