Linux重要目录结构及目录命令
文章目录
- 一、Linux 目录文件与系统启动知识
- 1.Linux系统目录结构介绍
- 1.1 Linux与Windows 目录结构对比
- 1.2 Linux 系统目录结构基本特点
- 1.3 Linux 目录结构特点小结
- 2.根下目录结构详解
- 2.1 重要配置文件
一、Linux 目录文件与系统启动知识
1.Linux系统目录结构介绍
1.1 Linux与Windows 目录结构对比
相信很多读者已熟悉 Linux 的目录结构,为了进一步帮助读者对比 Linux 和 Windows·这两个系统的结构,这里给出,不太了解Linux系统目录结构的读者,通过此图也可快速理解。
Windows 的目录形式为c:\windows),路径分隔符是“1” (撬棍,反斜线) , d、e等盘的目录结构与之类似。Linux的目录形式为/etc/hosts,路径分割符为"/"(斜线), Linux系统一切目录的起点都是从“/”根开始的
1.2 Linux 系统目录结构基本特点
和Windows下的目录结构对比后,可能有读者在初次接触Linux的时候,会觉得Linux的目录结构比较复杂,没有Windows视窗那样简单明了,从而感到很迷茫。
其实,Linux 系统的目录结构同样是很简单的,只是 Linux 系统的应用场景多为服务器应用且为字符界面应用,所以不像Windows系统视窗那样直观。但是, Linux的系统的目录结构是很有规律的,下面给大家一一道来,图 中 是 Linux 的目录结构最形象的比喻
Linux系统目录结构具有以下基本特点:
(1) 一切从"根"开始,"/"是所有目录的起点(顶点)。,
(2) Linux 根下面的目录是一个有层次的树状结构。
(3) 酷似一棵倒挂着的树。
除此之外, Windows系统目录和磁盘是强对应的,联系很紧密,例如C盘下的目录文件不可能和 D 盘的目录有关联或者交集。而 Linux 系统目录与之不同,Linux 系统的目录和磁盘等设备是不直接关联的,每个目录都可以关联(官称:挂载)在不同的设备(例如磁盘)上,例如:看似有包含关系的几个目录/、/etc、/boot、/var 很可能是在不同的分区或磁盘上。
在逻辑上,所有的目录(包括目录下的子目录)都在最高级别的目录“/”下,根("/”)目目录是所有目录的起始点(顶点) ,而实际上访问目录/、/etc、/boot、/var时,可能是在访问完全不同的分区和磁盘,下面是Linux目录结构和设备挂载的关系图。
Linux下面的设备(磁盘),如果不挂载是看不到入口的,就像没窗没门的监狱,是不能被正常使用的,如果要访问设备,就必须为设备开一个入口,这个入口就是挂载点,挂载点实质就是一个目录,开入口的过程,就是将挂载点和磁盘设备关联,即挂载。
1.3 Linux 目录结构特点小结
(1) Linux 系统的所有目录都是一个有层次的倒立着的树状目录结构(倒挂树形结构),“/”根是所有目录的顶点,对于Linux 的目录来说,一切从根开始。
(2) 不同目录下的数据可以跨越不同的磁盘分区或不同的磁盘设备,设备可以随意挂载到任意目录上使用。
(3) 所有的目录都是按照一定的类别有规律地组织和命名的
(4) 没有挂载到目录上的磁盘,相当于没有门和窗户的监狱,不能被使用。磁盘等设备需要挂载后才能正常使用。
(5) 挂载点是磁盘访问的入口,是一个目录。
(6) 相对路径与绝对路径有如下关系:绝对路径是指以根为起始点的路径,例如/tmp、/opt;相对路径是指相对于非"/”路径的路径,既路径开头没有“/”斜线,例如etc/sysconfig、opt/tmp 等,相对于当前的路径(执行 pwd 可查看)的路径。
2.根下目录结构详解
参考资料:
http://www.pathname. com/fhs
http://www.ibm.com/developerworks/linux/library/l-proc/index.html
对于每一个 Linux 初学者来说,都有必要花时间掌握 Linux 系统的目录结构知识。
当我们使用Linux系统的时候,如果执行"1s-1/”命令就会发现,在/下包涵很多的目录内容,比如etc、 usr、var、bin.等,而在这些目录里面,还会有更多的目录或文件,它们构成了一个树状的结构。
[root@buffes~]# tree -L 1 /
/
├── bin -> usr/bin #/bin等同/usr/bin #普通用户二进制命令目录。
├── sbin -> usr/sbin #/sbin/等同/usr/sbin #root管理员使用的二进制命令目录
├── boot #内核程序及引导程序所在的目录,100M
├── dev #设备目录(光驱 磁盘)
├── etc #系统基础服务配置文件所在的目录(yum rpm安装的软件)
├── home #普通用户的家目录(三间茅草房)
├── root #管理员的家目录(皇宫)
├── lib -> usr/lib #库文件所在目录
├── lib64 -> usr/lib64 #库文件所在目录
├── media #媒体 光驱等挂载点
├── mnt #临时的挂载点(u)
├── opt #第三方程序目录
├── proc #虚拟的文件系统,内核和进程信息的目录。汽车仪表盘。汽车仪表盘:车况 油耗 跑了公里数 速度
├── sys #虚拟的文件系统
├── tmp #临时目录,所有用户都可以进入这里做各种操作(黑客跳板目录),监控目录。
├── usr #c:/program file 应用程序所在目录
└── var #数据变化的目录,日志文件存放目录。
2.1 重要配置文件
1. /etc/sysconfig/network-scripts/ifcfg-eth0:网卡配置文件
[root@buffes koboid]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
HWADDR=00:0C:29:C4:6F:D9 #MAC地址 网卡的物理地址
TYPE=Ethernet #以太网
BOOTPROTO=none #
IPADDR=10.0.0.129 #IP地址
PREFIX=24 #子网掩码
GATEWAY=10.0.0.254 #网关
DNS1=223.5.5.5 #DNS1 域名解析为IP。
DNS2=202.106.0.20 #DNS2 域名解析为IP。
NAME=eth1 #设备名
UUID=cf363dd6-05ce-37d3-8caa-242f64883a8f #唯一标识
ONBOOT=yes #网卡随着linux开启启动2. /etc/resolv.conf:Linux系统过时的DNS客户端配置文件
[root@buffes koboid]# cat /etc/resolv.conf
# Generated by NetworkManager
nameserver 223.5.5.5
nameserver 202.106.0.20
重启网卡时候,网卡配置文件里的DNS设置会覆盖这里的设置。
配置客户端DNS有两种方法;
1.网卡配置文件里设置(优先)
2.直接在/etc/resolv.conf里配置(很容易被覆盖)3. /etc/hostname:主机名配置文件
查主机名:
[root@buffes ~]# hostname
buffes
[root@buffes ~]# uname -n
buffes 修改主机名:
1.nmtui
2.hostnamectl set-hostname koboid
3.vim /etc/hostname4. /etc/hosts:系统本地的DNS解析文件(局域网 域名和IP解析文件)
10.0.0.129 buffes
10.0.0.129 buffeswww.buffes.cn www.baidu.com内部测试,临时访问。服务器之间联系会用主机名的形式5. /etc/fstab:配置开机设备自动挂载的文件
危险的文件容易导致linux无法启动[root@web01 ~]# cat /etc/fstab #
# /etc/fstab
# Created by anaconda on Fri Jun 28 04:16:23 2024
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=c8b5b2da-5565-4dc1-b002-2a8b07573e22 / ext4 defaults 1 1
#172.27.160.1:/data/ /var/www/html/data/User/admin/home/ nfs defaults 0 0
UUID=c9908c87-5555-4f8b-b435-a24ed42f3637 swap swap defaults 0 0
UUID-52581b11-3fbc-4f40-bf39-d7255740da09 /boot xfsd defaults 0 0其中,第1列为设备的名称或者UUID或者磁盘标签,可以通过blkid查看设备uuid。
第2列为设备的挂载点,既访问设备的入口。
第3列为设备的文件系统类型。详细内容可通过man mount查看或见后文。
第4列为挂载的属性,详细内容可通过man mount查看或见后文。
第5 列为是否进行备份。
第 6 列是否开机时做磁盘检查,0 为不做检查,1、2 为检查。6. /etc/rc.local:存放开机自启动程序命令的文件软连接到/etc/rc.d/rc.local
[root@buffes ~]# ls -l /etc/rc.local
lrwxrwxrwx. 1 root root 13 5月 7 09:23 /etc/rc.local -> rc.d/rc.local
[root@buffes ~]# ls /etc/rc.d/rc.local -l
-rw-r--r--. 1 root root 473 4月 1 2020 /etc/rc.d/rc.local
默认不能用,必须给权限。
[root@buffes ~]# chmod +x /etc/rc.d/rc.local #给执行权限。
[root@buffes ~]# ls /etc/rc.d/rc.local -l
-rwxr-xr-x. 1 root root 473 4月 1 2020 /etc/rc.d/rc.local7./etc/issue
\S
Kernel \r on an \m[root@buffes ~]# >/etc/issue #清空内容
[root@buffes ~]# cat /etc/issue8. /etc/motd:配置用户登录系统之后显示提示内容的文件
[root@buffes ~]# echo "我的第一个重定向输入" >/etc/motd
[root@buffes ~]# cat /etc/motd
我的第一个重定向输入9./etc/redhat-release:声明Red Hat版本号和名称信息的文件
[root@buffes ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
[root@buffes ~]# uname -r
3.10.0-1127.el7.x86_64
[root@buffes ~]# uname -n
buffes
[root@buffes ~]# uname -a
Linux buffes 3.10.0-1127.el7.x86_64 #1 SMP Tue Mar 31 23:36:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux10. /etc/sysctl.conf:Linux内核参数设置文件(系统优化)*****配置完:sysctl -p生效,直接编辑完不生效。11. /etc/profile、/etc/bashrc 配置系统的环境变量/别名等的文件※※※
PS1/usr目录的重要知识介绍 应用程序目录1./usr/local/:编译安装软件默认的位置路径,c:\Program files。
2./usr/src:源代码目录日志:计算机遇到各种问题,记录日志里,告诉管理员他们的情况。
/var目录下的路径知识 可变化的目录
/var/log/messages #linux系统日志文件,系统故障可以去看看。
/var/log/secure #安全日志(ssh日志记录到这里),监控日志。
/var/log/dmesg #记录硬件信息加载情况的日志文件(dmesg)/proc下的重要路径知识 进程和内核信息的文件
路径名称 路径说明
/proc/cpuinfo 当前cpu信息文件
/proc/meminfo 当前内存信息文件
/proc/loadavg 当前系统的平均负载文件
/proc/mounts 当前设备挂载列表信息文件
/proc/interrupts 当前系统中断信息文件/dev下目录知识
/dev/hd[a-t]IDE设备
/dev/sd[a-z] SCSI设备
/dev/null 无限数据接收设备,相当于黑洞
/dev/zero 无限零资源
/dev/cdrom 光驱可以看看
https://blog.51cto.com/aqiang/1891893目录命令:
1)cp 复制目录
cp 选项 源 目标复制文件:
[root@buffes ~]# cp /etc/hosts /tmp/
[root@buffes ~]# ls /tmp/复制目录:
[root@buffes ~]# cp -r /etc /tmp/
[root@buffes ~]# ls /tmp/[root@buffes ~]# cp -a /etc /opt
[root@buffes ~]# ls /opt
etc-t
cp -t 目标 源
[root@buffes ~]# cp -t /home/buffes/ /etc/hosts
[root@buffes ~]# ls /home/buffes/
ddasdf hosts把当前目录下的dir1,移动到/tmp目录。
[root@buffes ~]# mv dir1 /tmp/练习: