一、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            更改密码
 
 
3、SHELL
$history                  显示在当前shell下命令历史
$alias                      显示所有的命令别称
$alias new_command='command'    将命令command别称为new_command
$env                       显示所有的环境变量
$export var=value    设置环境变量var为value
 
 
4、显示硬盘、分区、CPU、内存信息
$df -lh                            显示所有硬盘的使用状况
$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    统计文件中的行数

 

Linux目录结构及常用命令(转载)的更多相关文章

  1. Linux课程---4、Linux目录结构及常用命令(目录结构)

    Linux课程---4.Linux目录结构及常用命令(目录结构) 一.总结 一句话总结: 家目录:./root:root用户的家目录 能执行的程序:./bin:所有用户都能执行的程序:./sbin:只 ...

  2. Linux目录结构和常用命令

    源地址:http://www.cnblogs.com/JCSU/articles/2770249.html 一.Linux目录结构 你想知道为什么某些程序位于/bin下,或者/sbin,或者/usr/ ...

  3. Linux 目录结构和常用命令

    Linux目录结构 目录 说明 bin 存放二进制可执行文件(ls,cat,mkdir等) boot 存放用于系统引导时使用的各种文件 dev 用于存放设备文件 etc 存放系统配置文件 home 存 ...

  4. 转:Linux 目录结构和常用命令

    转自:http://www.cnblogs.com/JCSU/articles/2770249.html仅为学习参考之用 一.Linux目录结构 你想知道为什么某些程序位于/bin下,或者/sbin, ...

  5. 大数据每日干货第四天(linux基础之一目录结构与常用命令)

           为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop. ...

  6. Linux目录结构和基础命令

    Linux目录和基础命令 目录 Linux目录和基础命令 1 Linux目录结构 1.1 Linux文件名命令要求 1.2 文件的类型 2. 基础命令 2.1 ls 2.2 cd和pwd 2.3 命令 ...

  7. (五)Maven目录结构及常用命令说明

    前面提到的部分知识有涉及到Maven目录结构与Maven常用的一些命令,在这里专门给大家做个简单的介绍. 1.Maven目录结构说明 Maven总体目录结构如下图: bin目录:该目录包含了mvn运行 ...

  8. Maven的目录结构和常用命令

    一.Maven项目的目录结构  1.顶级目录结构   src:该目录主要存放的是项目的源代码文件. target:该目录是项目编译后产生的一个目录,主要存放的是编译后的.class文件. pom.xm ...

  9. Maven 教程(5)— Maven目录结构及常用命令说明

    原文地址:https://blog.csdn.net/liupeifeng3514/article/details/79543159 1.Maven目录结构说明 Maven总体目录结构如下图: bin ...

随机推荐

  1. C# 与 Unity 同名函数

    1,Random,直接使用Random会报错,要么使用UnityEngine.Random,要么使用System.Random

  2. java内部类 2016年12月13号

    1.在外部类的任意位置创建内部类对象的方法: 1)从外部类的非静态方法之外的任意位置创建某个内部类的对象,必须指明这个对象所在的外部类和内部类:OuterClassName.InnerClassNam ...

  3. 小程序基础02:全局配置app.json

    1.配置 我们使用app.json文件来对来微信小程序进行全局配置. 作用:他决定了页面文件的路径,窗口表现,设置网络超时时间,设置多tab等 每一个小程序页面也可以使用 .json 文件来对本页面的 ...

  4. Java集合---Arrays类源码解析

    一.Arrays.sort()数组排序 Java Arrays中提供了对所有类型的排序.其中主要分为Primitive(8种基本类型)和Object两大类. 基本类型:采用调优的快速排序: 对象类型: ...

  5. Linux(10.18-10.25)学习笔记

    一.学习目标 1. 了解常见的存储技术(RAM.ROM.磁盘.固态硬盘等) 2. 理解局部性原理 3. 理解缓存思想 4. 理解局部性原理和缓存思想在存储层次结构中的应用 5. 高速缓存的原理和应用 ...

  6. 学习笔记——Maven实战(十)Maven 3,是时候升级了

    去年10月份Apache Maven发布了3.0正式版,而在上个月的22号,Eclipse基金会宣布了Eclipse 3.7(Indigo)的发布,该版本Eclipse最大的新特性之一就是集成了Mav ...

  7. 分享:大晚上用自己的锤子手机跨系统刷MIUI,跌宕起伏啊!!

    序言: 写这篇博客之前问了一下博客园官方,能不能写关于刷机这一方面的,官方还是比较通情达理的,说技术类没有限制的,那样我就放心的写了.今天早上在博客园中稍微逛了一下,感觉似乎很少有关于刷机这一方面的, ...

  8. 【Win 10应用开发】如何知道当前APP在哪个平台设备上运行

    在做Win10开发的时候,我们可能经常会需要获得当前程序在在哪个平台设备上运行,用于UI和相关API的调用,那么可以通过什么方式知道当前APP运行的平台呢? 今天这里提供两个方法给大家做参考: 方法一 ...

  9. 封印术:shadow dom

    置顶文章:<纯CSS打造银色MacBook Air(完整版)> 上一篇:<鼠标滚动插件smoovejs和wowjs> 作者主页:myvin 博主QQ:851399101(点击Q ...

  10. Node基础:资源压缩之zlib

    概览 做过web性能优化的同学,对性能优化大杀器gzip应该不陌生.浏览器向服务器发起资源请求,比如下载一个js文件,服务器先对资源进行压缩,再返回给浏览器,以此节省流量,加快访问速度. 浏览器通过H ...