VPN技术 · 2023年11月10日 0

Linux文件系统目录结构

Linux文件系统目录结构

一、Linux目录结构

你是否好奇为何某些程序存放在/bin、/sbin、/usr/bin或/usr/sbin等不同目录下?例如,less命令位于/usr/bin而不是/bin、/sbin或/usr/sbin。它们之间究竟有什么区别呢?

在这篇文章中,我们将探讨Linux的文件系统结构,并理解各个顶层目录的功能。

蓝色:表示目录

青色:表示链接

黑色:表示文件

Linux文件系统目录结构

Linux文件系统目录结构

 

1、/– 根目录
所有文件和目录均从根目录开始。
仅有root用户拥有该目录的写权限。此外,/root是root用户的主目录,与/不同。

 

2、/bin– 用户二进制文件
此目录包含可执行的二进制文件。
在单用户模式下,常用的Linux命令均存放在此。例如:ps、ls、ping、grep和cp。

Linux文件系统目录结构

 

3、/sbin– 系统二进制文件
与/bin类似,/sbin同样存放二进制可执行文件。
但这里的命令通常由系统管理员使用,用于系统维护。例如:iptables、reboot、fdisk和ifconfig。

Linux文件系统目录结构

Linux文件系统目录结构

Linux文件系统目录结构

 

4、/etc– 配置文件
此目录包含所有程序所需的配置文件。
此外,还包含启动和停止单个程序的shell脚本。例如:/etc/resolv.conf、/etc/logrotate.conf。

hosts文件:用于将设备名称(或域名)解析为IP地址,类似于本地DNS功能。见下图:

Linux文件系统目录结构

Linux文件系统目录结构

Linux文件系统目录结构

 

5、/dev– 设备文件
此目录包含设备文件。
包括终端设备、USB设备或其他连接到系统的设备。例如:/dev/tty1、/dev/usbmon0。

Linux文件系统目录结构

Linux文件系统目录结构

 

6、/proc– 进程信息
此目录包含系统进程的相关信息。
它是一个虚拟文件系统,提供关于运行中的进程的信息。例如:/proc/{pid}目录下包含与特定PID相关的信息。
系统资源以文本形式存在,例如:/proc/uptime。

Linux文件系统目录结构

Linux文件系统目录结构

 

7、/var– 变量文件
var代表可变文件。
该目录下存放可能增长的文件,包括系统日志(/var/log)、包和数据库文件(/var/lib)、邮件(/var/mail)、打印队列(/var/spool)、锁文件(/var/lock)以及临时文件(/var/tmp)。

8、/tmp– 临时文件
包含系统和用户创建的临时文件。
系统重新启动时,此目录下的文件将被删除。

9、/usr– 用户程序
此目录包含二进制文件、库文件、文档和二级程序源代码。
/usr/bin中存放用户程序的二进制文件。如果在/bin中找不到相关文件,可以查看/usr/bin。例如:at、awk、cc、less和scp。
/usr/sbin中包含系统管理员的二进制文件。如果在/sbin中找不到,可以查看/usr/sbin,例如:atd、cron、sshd、useradd和userdel。
/usr/lib包含了/usr/bin和/usr/sbin使用的库文件。
/usr/local则存放从源代码安装的用户程序,例如,安装Apache时,它会放在/usr/local/apache2。

10、/home– HOME目录
所有用户的个人档案存放在home目录中。
如:/home/john、/home/nikita。

11、/boot– 引导加载程序文件
此目录存放与引导加载程序相关的文件,包括内核的initrd、vmlinux和grub文件。
例如:initrd.img-2.6.32-24-generic、vmlinuz-2.6.32-24-generic。

12、/lib– 系统库
此目录包含支持位于/bin和/sbin下的二进制文件的库文件。
库文件名通常为ld*或lib*.so.*
例如:ld-2.11.1.so,libncurses.so.5.7。

Linux文件系统目录结构

13、/opt– 可选的附加应用程序
opt代表可选的。
此目录下包含来自各个厂商的附加应用程序。
附加应用程序应安装在/opt或其子目录中。

14、/mnt– 挂载目录
用于临时挂载文件系统的目录,系统管理员可以使用此目录。

15、/media– 可移动媒体设备
用于临时挂载可移动设备的目录。
例如:挂载CD-ROM的/media/cdrom,挂载软盘驱动器的/media/floppy。

16、/srv– 服务数据
srv表示服务。
该目录包含与特定服务相关的数据。例如,/srv/cvs中存放cvs相关的数据。

 

二、常用命令

1、命令帮助
2、用户
3、SHELL
4、显示硬盘、分区、CPU、内存信息
5、网络
6、进程
7、文件

 

1、命令帮助

[email protected] ~]#man ps

Linux文件系统目录结构

Linux文件系统目录结构

 

2、用户

$finger username 显示用户username的信息
$who 显示当前登陆用户
$who am i
$su 成为root用户
$sudo command 以root用户身份执行
$passwd 更改密码

Linux文件系统目录结构

 

3、SHELL

$history 显示当前shell下的命令历史
$alias 显示所有的命令别称
$alias new_command=’command’ 将命令command别称为new_command
$env 显示所有的环境变量
$export var=value 设置环境变量var为value

Linux文件系统目录结构

Linux文件系统目录结构

 

4、显示硬盘、分区、CPU、内存信息

$df -lh 显示所有硬盘的使用状况

$du -sh * 显示当前目录下各个目录和文件的大小

Linux文件系统目录结构

$mount 显示所有的硬盘分区挂载
$mount partition path 挂在partition到路径path
$umount partition 卸载partition
$sudo fdisk -l 显示所有的分区
$sudo fdisk device 为device(比如/dev/sdc)创建分区表。进入后选择n, p, w
$sudo mkfs -t ext3 partition 格式化分区patition(比如/dev/sdc1)
修改 /etc/fstab,以自动挂载分区。增加行:
/dev/sdc1 path(mount point) ext3 defaults 0 0
$arch 显示架构
$cat /proc/cpuinfo 显示CPU信息
$cat /proc/meminfo 显示内存信息
$free 显示内存使用状况

Linux文件系统目录结构

Linux文件系统目录结构

 

5、网络

$ifconfig 显示网络接口以及相应的IP地址。ifconfig可用于设置网络接口
$ifup eth0 运行eth0接口
$ifdown eth0 关闭eth0接口
$iwconfig 显示无线网络接口
$route 显示路由表。route还可以用于修改路由表
$netstat 显示当前的网络连接状态
$ping IP 发送ping包到地址IP
$traceroute IP 探测前往地址IP的路由路径
$dhclient 向DHCP主机发送请求,以获得IP地址及其他设置信息。
$host domain DNS查询,寻找域名domain对应的IP
$host IP 反向DNS查询
$wget url 使用wget下载url指向的资源
$wget -m url 镜像下载

Linux文件系统目录结构

Linux文件系统目录结构

 

6、进程

$top 显示进程信息,并实时更新
$ps 显示当前shell下的进程
$ps -lu username 显示用户username的进程
$ps -ajx 以比较完整的格式显示所有的进程
$kill PID 杀死PID进程 (PID为Process ID)

Linux文件系统目录结构

Linux文件系统目录结构

 

7、文件

$touch filename 如果文件不存在,创建一个空白文件;如果文件存在,更新文件读取和修改时间。
$rm filename 删除文件
$cp file1 file2 复制file1为file2
$ls