一、Linux目录结构
你想知道为什么某些程序位于/bin下,或者/sbin,或者/usr/bin,或/usr/sbin目录下吗?例如,less命令位于/usr/bin目录下。为什么没在/bin中,或/sbin,或/usr/sbin目录中?所有这些目录之间有什么不同?
在这篇文章中,让我们回顾一下Linux的文件系统结构,并理解各上层目录的含义。
蓝色:表示目录
青色:表示链接
黑色:表示文件
1、/- 根
每一个文件和目录从根目录开始。
只有root用户具有该目录下的写权限。请注意,/root是root用户的主目录,这与/.不一样
2、/bin中 - 用户二进制文件
包含二进制可执行文件。
在单用户模式下,你需要使用的常见Linux命令都位于此目录下。系统的所有用户使用的命令都设在这里。
例如:ps、ls、ping、grep、cp
3、/sbin目录 - 系统二进制文件
就像/bin,/sbin同样也包含二进制可执行文件。
但是,在这个目录下的linux命令通常由系统管理员使用,对系统进行维护。例如:iptables、reboot、fdisk、ifconfig、swapon命令
4、/etc - 配置文件
包含所有程序所需的配置文件。
也包含了用于启动/停止单个程序的启动和关闭shell脚本。例如:/etc/resolv.conf、/etc/logrotate.conf
hosts:设备名称(或域名)到ip地址的解析,相当于本地存在的dns功能。见下图:


5、/dev - 设备文件
包含设备文件。
这些包括终端设备、USB或连接到系统的任何设备。例如:/dev/tty1、/dev/usbmon0
6、/proc - 进程信息
包含系统进程的相关信息。
这是一个虚拟的文件系统,包含有关正在运行的进程的信息。例如:/proc/{pid}目录中包含的与特定pid相关的信息。
这是一个虚拟的文件系统,系统资源以文本信息形式存在。例如:/proc/uptime
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文件位于/boot下。
例如: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
13、/opt - 可选的附加应用程序
opt代表可选的。
包含从个别厂商的附加应用程序。
附加应用程序应该安装在/opt/或者/opt/的子目录下。
14、/mnt - 挂载目录
临时安装目录,系统管理员可以挂载文件系统。
15、/media - 可移动媒体设备
用于挂载可移动设备的临时目录。
举例来说,挂载CD-ROM的/media/cdrom,挂载软盘驱动器的/media/floppy;
16、/srv - 服务数据
srv代表服务。
包含服务器特定服务相关的数据。
例如,/srv/cvs包含cvs相关的数据。
【参考】
Linux Filesystem Hierarchy
Source and pre-formatted versions available 1. Linux Filesystem Hierarchy
- 1.1. Foreward
- 1.2. The Root Directory
- 1.3. /bin
- 1.4. /boot
- 1.5. /dev
- 1.6. /etc
- 1.7. /home
- 1.8. /initrd
- 1.9. /lib
- 1.10. /lost+found
- 1.11. /media
- 1.12. /mnt
- 1.13. /opt
- 1.14. /proc
- 1.15. /root
- 1.16. /sbin
- 1.17. /usr
- 1.18. /var
- 1.19. /srv
- 1.20. /tmp
Glossary A. UNIX System V Signals B. Sources C. About the Author D. Contributors E. Disclaimer F. Donations G. Feedback H. GNU Free Documentation License
- H.1. PREAMBLE
- H.2. APPLICABILITY AND DEFINITIONS
- H.3. VERBATIM COPYING
- H.4. COPYING IN QUANTITY
- H.5. MODIFICATIONS
- H.6. COMBINING DOCUMENTS
- H.7. COLLECTIONS OF DOCUMENTS
- H.8. AGGREGATION WITH INDEPENDENT WORKS
- H.9. TRANSLATION
- H.10. TERMINATION
- H.11. FUTURE REVISIONS OF THIS LICENSE
- H.12. ADDENDUM: How to use this License for your documents
二、常用命令
1、命令帮助
2、用户
3、SHELL
4、显示硬盘、分区、CPU、内存信息
5、网络
6、进程
7、文件 
- 1、命令帮助
- [root@localhost ~]#man ps
 
 
- 2、用户
- $finger username   显示用户username的信息
 $who 显示当前登陆用户
 $who am I
 $su 使成为root用户
 $sudo command 以root用户身份执行
 $passwd 更改密码
- 创建用户:useradd xxx
- 将在passwd, shadow, group, gshadow中新增该用户的信息(home目录,使用的bash,uid,所在组,密码),生成个人目录/home/xxx,生成用户邮箱。
 
- 删除用户:userdel xxx
 
- 3、SHELL
- $history                  显示在当前shell下命令历史
 $alias 显示所有的命令别称
 $alias new_command='command' 将命令command别称为new_command
 $env 显示所有的环境变量
 $export var=value 设置环境变量var为value
- 4、显示硬盘、分区、CPU、内存信息
- $df -lh 显示所有硬盘的使用状况
- $du -sh * 显示当前目录下各个目录和文件的大小
 
- $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 显示内存使用状况
- 5、网络
- $ifconfig      显示网络接口以及相应的IP地址。ifconfig可用于设置网络接口
 $ifup eth0 运行eth0接口
 $ifdown eth0 关闭eth0接口
 $iwconfig 显示无线网络接口
 $route 显示路由表。route还可以用于修改路由表
 $netstat 显示当前的网络连接状态
 $ping IP 发送ping包到地址IP
 $traceroute IP 探测前往地址IP的路由路径
 $dhclient 向DHCP主机发送DHCP请求,以获得IP地址以及其他设置信息。
 $host domain DNS查询,寻找域名domain对应的IP
 $host IP 反向DNS查询
 $wget url 使用wget下载url指向的资源
 $wget -m url 镜像下载
- 6、进程
- $top               显示进程信息,并实时更新
 $ps 显示当前shell下的进程
 $ps -lu username 显示用户username的进程
 $ps -ajx 以比较完整的格式显示所有的进程
 $kill PID 杀死PID进程 (PID为Process ID)
- 7、文件
- $touch filename    如果文件不存在,创建一个空白文件;如果文件存在,更新文件读取和修改时间。
 $rm filename 删除文件
 $cp file1 file2 复制file1为file2
 $ls -l path 显示文件和文件相关信息
 $mkdir dir 创建dir文件夹
 $mkdir -p path 递归创建路径path上的所有文件夹
 $rmdir dir 删除dir文件夹,dir必须为空文件夹。
 $rm -r dir 删除dir文件夹,以及其包含的所有文件
 $file filename 文件filename的类型描述
 $chown username:groupname filename 更改文件的拥有者为owner,拥有组为group
 $chmod 755 filename更改文件的权限为755: owner r+w+x, group: r+x, others: r+x
 $od -c filename 以ASCII字符显示文件
$cat filename      显示文件
$cat file1 file2   连接显示file1和file2
$head -1 filename  显示文件第一行
$tail -5 filename  显示文件倒数第五行
$diff file1 file2  显示file1和file2的差别
$sort filename     对文件中的行排序,并显示
$sort -f filename  排序时,不考虑大小写
$sort -u filename  排序,并去掉重复的行
$uniq filename     显示文件filename中不重复的行 (内容相同,但不相邻的行,不算做重复)
$wc filename       统计文件中的字符、词和行数
$wc -l filename    统计文件中的行数
 
 
                    
                     
                    
                 
                    
                 

 
        

 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号