2019年7月26日
Linux系统目录结构
首先Linux系统中一个文件或者目录他的完整的路径都是从根开始的,并且只有一个根“/”
Linux系统中根“/”下面有许多目录,也就是说系统自动给我们装好的环境中有许多目录,每个目录存放的文件都不同,目录的作用也不同。一个干净的Linux系统中根下面有这些目录
├── bin -> usr/bin===============普通用户使用的命令
├── boot===============存放的是启动系统相关的文件,例如:kernel,grub(引导装载程序)
├── dev===============存放设备文件,比如,硬盘,硬盘分区,光驱,等等。
/dev/sd sda sdb sdc4
/dev/null,黑洞设备,只进不出。
/dev/random,生成随机数的设备
/dev/zero,能源源不断的产生数据,类似于取款机,随时随地取钱
├── etc===============配置文件目录(此目录非常重要)后续所有服务的配置都在这个目录中
/etc/sysconfig/network-script/ifcfg-,网络配置文件
/etc/hostname,系统主机名配置文件
/etc/resolv.conf,dns客户端配置文件
/etc/hosts,本地域名解析配置文件(C:\Windows\System32\drivers\etc)
├── home===============存放用户相关数据的家目录
/home,普通用户的家目录,默认为/home/username 环境变量的设置
├── lib -> usr/lib===============系统文件目录(相当于Windows C盘下面的 \windows)库文件Glibc 32bit
├── lib64 -> usr/lib64===============库文件Glibc 64bit
├── media===============提供设备的挂载点
├── mnt===============提供设备的挂载点
├── opt===============第三方工具默认安装的目录
├── proc===============虚拟的文件系统,反应当前系统正在运行进程的实时状态
├── root===============超级管理员的家目录
├── run===============进程运行的pid,(放在一个文件中) lock相关文件
├── sbin -> usr/sbin===============超级管理员使用的应用程序(重要),也就是只有超级管理员才能执行的命令
├── srv===============为用户提供服务的数据所在目录
├── sys
├── tmp===============系统临时目录,谁都可以在这个里面建文件,建目录等等
├── usr===============系统文件目录
└── var===============可变的目录与临时目录
/var/tmp,进程产生的临时文件
/tmp,系统临时目录。
在Linux7系统中, /bin, /sbin, /lib, /lib64都以软链接的形式链接到/usr/目录下
/bin --> /usr/bin
/sbin --> /usr/sbin
lib -> usr/lib
lib64 -> usr/lib64
文件定义:
路径就是说一个文件的或者目录从根下面开始一级一级的目录,整个过程就是这个文件的路径。我们将这个叫做路径,也就是说我们是通过路径对文件进行定位。
记得经常用pwd这个命令,常常给自己定位,知道自己在什么路径下。再来进行操作。也就是我们当前所在目录下,用户名也一样,要时常记得我们是在什么用户下进行的操作,什么路径。这个很重要。
绝对路径:一切从根开始的路径都是绝对路径。
相对路劲:这个概念很重要,是相对于当前路径来说的
例如:ls a.txt ls .a.txt这两个路径指向同一个路径吗?(很经典,有坑)
. 代表当前目录
.. 代表当前目录的上一级目录
使用绝对路劲和相对路径,没有明确的说法。
命令
cd:切换目录
# cd #切换目录,例: cd /etc
# cd - #切换回上一次所在的目录
# cd ~ #切换回当前用户的家目录,注意:root和普通用户是否有所不同吗?
# cd . #代表当前目录,一般在拷贝、移动等情况下使用 cp /etc/hostname ./
# cd .. #切换回当前目录的上级目录
mkdir:创建目录
-p递归创建后面加个V能看到创建的过程
mkdir oldboy1/oldboy2/oldboye3 创建多个目录
创建100个目录:mkdir {1..100}
创建dir-1到dir-50个目录怎么办? [root@oldboyedu ~]# mkdir dir-{1..50}
创建复杂的目录:mkdir /opt/{bin,logs,conf}/test -pv
touch :创建空文件
例如 touch one.txt
mv:移动文件目录命令(重命名)move有别名
mv 源文件 目标位置(最后空格后的默认为最后目标位置)
mv hostname test #将hostname文件名称修改为test(前提是当前目录下没有test这个目录)
mv dir-1 dir-2 dir-3 test dir-15/ #将多个文件或目录移到到指定的位置
rm:删除文件或者目录
-f 强制删除
-r 删除目录
rm -rf / 慎用 做好不用(可以组合用)