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目录结构及常用命令(转载)的更多相关文章
- Linux课程---4、Linux目录结构及常用命令(目录结构)
Linux课程---4.Linux目录结构及常用命令(目录结构) 一.总结 一句话总结: 家目录:./root:root用户的家目录 能执行的程序:./bin:所有用户都能执行的程序:./sbin:只 ...
- Linux目录结构和常用命令
源地址:http://www.cnblogs.com/JCSU/articles/2770249.html 一.Linux目录结构 你想知道为什么某些程序位于/bin下,或者/sbin,或者/usr/ ...
- Linux 目录结构和常用命令
Linux目录结构 目录 说明 bin 存放二进制可执行文件(ls,cat,mkdir等) boot 存放用于系统引导时使用的各种文件 dev 用于存放设备文件 etc 存放系统配置文件 home 存 ...
- 转:Linux 目录结构和常用命令
转自:http://www.cnblogs.com/JCSU/articles/2770249.html仅为学习参考之用 一.Linux目录结构 你想知道为什么某些程序位于/bin下,或者/sbin, ...
- 大数据每日干货第四天(linux基础之一目录结构与常用命令)
为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop. ...
- Linux目录结构和基础命令
Linux目录和基础命令 目录 Linux目录和基础命令 1 Linux目录结构 1.1 Linux文件名命令要求 1.2 文件的类型 2. 基础命令 2.1 ls 2.2 cd和pwd 2.3 命令 ...
- (五)Maven目录结构及常用命令说明
前面提到的部分知识有涉及到Maven目录结构与Maven常用的一些命令,在这里专门给大家做个简单的介绍. 1.Maven目录结构说明 Maven总体目录结构如下图: bin目录:该目录包含了mvn运行 ...
- Maven的目录结构和常用命令
一.Maven项目的目录结构 1.顶级目录结构 src:该目录主要存放的是项目的源代码文件. target:该目录是项目编译后产生的一个目录,主要存放的是编译后的.class文件. pom.xm ...
- Maven 教程(5)— Maven目录结构及常用命令说明
原文地址:https://blog.csdn.net/liupeifeng3514/article/details/79543159 1.Maven目录结构说明 Maven总体目录结构如下图: bin ...
随机推荐
- svn使用过程forMac
在Windows环境中,我们一般使用TortoiseSVN来搭建svn环境.在Mac环境下,由于Mac自带了svn的服务器端和客户端功能,所以我们可以在不装任何第三方软件的前提下使用svn功能,不过还 ...
- 基于Nodejs生态圈的TypeScript+React开发入门教程
基于Nodejs生态圈的TypeScript+React开发入门教程 概述 本教程旨在为基于Nodejs npm生态圈的前端程序开发提供入门讲解. Nodejs是什么 Nodejs是一个高性能Ja ...
- Linux 网络编程二(Socket创建)
TCP通信 一个程序使用套接字需要执行4个步骤. --分配套接口和初始化 --连接 --发送或接收数据 --关闭套接字 涉及到的调用包括socket.bind.listen.connect(阻塞线程) ...
- yield(C# 参考)
yield(C# 参考) 在语句中使用 yield 关键字,表示在该关键字所在的方法.运算符或 get 访问器是迭代器. 通过使用 yield 定义迭代器,可在实现自定义集合类型的 IEnumer ...
- Boost_udp错误
注意一点:当我们不同PC机间进行通信的时候,IP和端口号是不一样的.之前遇到的问题是,boost_system_error,这是因为我们在写程序的时候,发送和接收绑定了同一个端口,导致程序出错. ...
- Brief introduce to Iometer
<本人原创,纯粹为了练习英文博客的写作.转载请注明出处谢谢!非技术博客 http://shiyanch.lofter.com/ > *:first-child { margin-top: ...
- GDB调试汇编栈堆过程的学习
前期调试 我的程序代码是: 首先,用gcc g gdb.c -o gdb -m32产生32位汇编. 输入gdb gdb进入gdb调试器 在main函数处设置一个断点:b main 用disassemb ...
- 【MPI学习7】MPI并行程序设计模式:MPI的进程组和通信域
基于都志辉老师MPI编程书中的第15章内容. 通信域是MPI的重要概念:MPI的通信在通信域的控制和维护下进行 → 所有MPI通信任务都直接或间接用到通信域这一参数 → 对通信域的重组和划分可以方便实 ...
- ThinkPHP之项目搭建
前言 在做javaweb开发时,我们创建一个项目,MyEclipse会自动为我们生成相应的目录结构,我们在此结构上才进行web开发,在使用TinkPHP框架做PHP开发时,一样,我们如何生成一个标准的 ...
- C#基础知识系列二(值类型和引用类型、可空类型、堆和栈、装箱和拆箱)
前言 之前对几个没什么理解,只是简单的用过可空类型,也是知道怎么用,至于为什么,还真不太清楚,通过整理本文章学到了很多知识,也许对于以后的各种代码优化都有好处. 本文的重点就是:值类型直接存储其值,引 ...