一,目录结构
1.存放命令相关的目录 ( 事实上我们所执行的命令,都是放在了 /bin /sbin 目录中 )
/bin, 普通用户使用的命令 /bin/ls, /bin/date
/sbin,管理员使用的命令 /sbin/shutdown, /sbin/reboot
2.存放用户相关数据的家目录,比如:windows不同的用户登陆系统显示的桌面背景不一样
/home,普通用户的家目录, 默认为/home/username 平民
/root,超级管理员root的家目录, 普通用户无权操作 皇帝
3.系统文件目录
/usr,相当于C:\Windows
/usr/local,软件安装的目录,相当于C:\Program Files #早起大家都喜欢把软件安装在/usr/local
/usr/bin, 普通用户使用的应用程序(重要)
/usr/sbin,管理员使用的应用程序(重要)
/usr/lib, 库文件Glibc 32bit 汽车的螺丝
/usr/lib64,库文件Glibc 64bit 汽车的螺丝
4.启动目录( 很重要 不能删 )
/boot 存放的系统启动相关的文件,例如:kernel,grub(引导装载程序)
grub( 告诉你 有哪些内核,你可以选择需要加载的那一个)
vmlinuz-3.10.0-957.12.2.el7.x86_64 正常的系统内核
vmlinuz-0-rescue-93f219319dd5bdb42d9f1c8f2e23d329 系统的救援内核
5.配置文件目录
/etc,极其重要,后续所有服务相关的配置都在这个目录中
/etc/sysconfig/network-script/ifcfg-,网络配置文件
/etc/hostname,系统主机名配置文件
/etc/resolv.conf,dns客户端配置文件
6.可变的目录与临时目录
/var,存放一些变化文件,比如/var/log/下的日志文件
/var/tmp,进程产生的临时文件
/tmp,系统临时目录(类似于公共厕所)
7.设备目录文件
/dev,存放设备文件,比如硬盘,硬盘分区,光驱,等等
/dev/null,黑洞设备,只进不出。类似于垃圾回收站
/dev/random,生成随机数的设备
/dev/zero,能源源不断的产生数据,类似于取款机,随时随地取钱
8.虚拟的文件系统 (如对应的进程停止则/proc下对应目录则会被删除)
/proc,反映当前系统正在运行进程的实时状态
PS:类似于汽车在运行过程中的仪表板,能够看到汽车的油耗、时速、转向灯、故障等等
[root@oldboy ~]# ll /
lib -> usr/lib
lib64 -> usr/lib64
sbin -> usr/sbin
bin -> usr/bin
boot
dev
etc
home
root
proc
tmp
usr
var
media 挂载我们的u盘、或者其他设备
mnt 挂载我们的u盘、或者其他设备
opt 三方厂商oracle gitlab
run 包含系统运行时所需要的文件。以前 /var/run
srv 服务启动后需要访问的数据目录。使用很少| saltstack
sys sys和proc一样是虚拟文件系统,记录核心系统硬件信息。
二,文件路径定位
/etc/hostname
位置 文件名称 => 路径 ==>其实就是对文件定位的一种方式。
/var/log/message 定位这个文件所在的路径的一种方式。
/home/oldboy/file 和/home/oldgirl/file是否是同一个文件?不是
/abc/test 和 abc/test 是一样的吗?不一样
cat /abc/test
cat abc/test
绝对路径: 以 / 开头的 都叫绝对路径
相对路径: 不以 / 开头的
1.绝对路径与相对路径?
绝对路径: 只要从/开始的路径,比如/home/alice/file
相对路径: 相对于当前目录来说,比如 a.txt ./a.txt ../bob/a.mp3
2. . 和 ..的是什么意思?
一个点代表当的是当前目录, 两个点代表的是当前目录的上层目录。
假设当前目录在/usr/下, 那么它的上层(/)目录用../表示, 而/usr/的下层(local)目录则用./local表示。
小结: 所谓的(.)和(..)目录实际上属于相对路径的一种表示形式。
#绝对路径
[root@bgx /]# useradd alice
[root@bgx /]# ls /home/alice/file1
[root@bgx /]# ls ~/file2
[root@bgx /]# ls ~/alice/file3
#相对路径
[root@bgx /]# mkdir abc #在当前目录下创建一个abc的文件夹
[root@bgx /]# ls ../file3 #查看当前我所在目录的上一级目录下的file3文件
[root@bgx /]# ls file4 #查看当前我所在目录下的file4文件
[root@bgx /]# ls abc/file5 #查看当前我所在目录下的abc目录下的file5文件
示例1:
[root@oldboy ~]# cd /tmp
[root@oldboy tmp]# pwd
/tmp
[root@oldboy tmp]# cd
示例2:
[root@oldboy ~]# cd /tmp/
[root@oldboy tmp]# pwd
/tmp
[root@oldboy tmp]# cd ~
[root@oldboy ~]# pwd
/root
示例3:
[root@oldboy ~]# cd /tmp/
[root@oldboy tmp]# pwd
/tmp
[root@oldboy tmp]# cd .
[root@oldboy tmp]# pwd
/tmp
示例4:
[root@oldboy ~]# cd /tmp/
[root@oldboy tmp]# pwd
/tmp
[root@oldboy tmp]# cd ..
[root@oldboy /]# pwd
/
示例5:
[root@oldboy ~]# cd /tmp/
[root@oldboy tmp]# pwd
/tmp
[root@oldboy tmp]# cd
[root@oldboy ~]# pwd
/root
[root@oldboy ~]# cd -
/tmp
[root@oldboy tmp]# pwd
/tmp
[root@oldboy tmp]# cd -
/root
示例6:
公司(tmp) -->超市(usr) --> 家(root)
[root@oldboy ~]# cd /tmp/
[root@oldboy tmp]# cd /usr/
[root@oldboy usr]# cd
[root@oldboy ~]# cd -
/usr
[root@oldboy usr]#