Linux目录结构和常用命令

一、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. Foreward1.2. The Root Directory1.3. /bin1.4. /boot1.5. /dev1.6. /etc1.7. /home1.8. /initrd1.9. /lib1.10. /lost+found1.11. /media1.12. /mnt1.13. /opt1.14. /proc1.15. /root1.16. /sbin1.17. /usr1.18. /var1.19. /srv1.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. PREAMBLEH.2. APPLICABILITY AND DEFINITIONSH.3. VERBATIM COPYINGH.4. COPYING IN QUANTITYH.5. MODIFICATIONSH.6. COMBINING DOCUMENTSH.7. COLLECTIONS OF DOCUMENTSH.8. AGGREGATION WITH INDEPENDENT WORKSH.9. TRANSLATIONH.10. TERMINATIONH.11. FUTURE REVISIONS OF THIS LICENSEH.12. ADDENDUM: How to use this License for your documents

二、常用命令

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

1、命令帮助[root@localhost ~]#man ps2、用户$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为value4、显示硬盘、分区、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    统计文件中的行数

 

转载于:https://www.cnblogs.com/isunny/p/5817409.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/457335.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

挂载nfs文件系统_综合架构-day38-NFS服务补充

1.如何让nfs永久挂载-2种方法开机自启动文件1.vim /etc/rc.d/rc.local需要修改执行权限chmod x /etc/rc.d/rc/localmount -t nfs 172.16.1.31:/upload/ /mnt/2.vim /etc/fstab172.16.1.31:/upload /mnt nfs defaults 0 02.exportfs 加载配置生效,等价于优雅重启[15:…

A Neural Algorithm of Artistic Style

本系列文章由 yhl_leo 出品,转载请注明出处。 文章链接: http://blog.csdn.net/yhl_leo/article/details/53931536 1. 资源 Paper: A Neural Algorithm of Artistic StyleTensorFlow version in GitHub: anishathalye/neural-styleCaffe version in GitH…

CSS布局奇淫技巧之--各种居中

居中是我们使用css来布局时常遇到的情况。使用css来进行居中时,有时一个属性就能搞定,有时则需要一定的技巧才能兼容到所有浏览器,本文就居中的一些常用方法做个简单的介绍。 注:本文所讲方法除了特别说明外,都是兼容I…

手写数字识别中多元分类原理_广告行业中那些趣事系列:从理论到实战BERT知识蒸馏...

导读:本文将介绍在广告行业中自然语言处理和推荐系统实践。本文主要分享从理论到实战知识蒸馏,对知识蒸馏感兴趣的小伙伴可以一起沟通交流。摘要:本篇主要分享从理论到实战知识蒸馏。首先讲了下为什么要学习知识蒸馏。一切源于业务需求&#…

linux zip/unzip命令

2019独角兽企业重金招聘Python工程师标准>>> 语  法&#xff1a;zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b <工 作目录>][-ll][-n <字 尾字符串>][-t <日 期时间>][-<压 缩效率>][压 缩文件][文件...][-i <范本样式>][-x <范本样式…

在Windows下不使用密码远程登陆Linux

在登陆Linux进行管理的时候我们通常会使用用户名和密码进行登陆&#xff0c;这样一来是比较麻烦&#xff0c;二来是不安全&#xff0c;为了解决这个问题&#xff0c;我们可以使用公私钥 (public keys和private keys)进行认证。简单来说公钥存放在服务器上&#xff0c;私钥存放在…

Core Data

简介 Core Data是iOS5之后才出现的一个框架&#xff0c;它提供了对象-关系映射(ORM)的功能&#xff0c;即能够将OC对象转化成数据&#xff0c;保存在SQLite数据库文件中&#xff0c;也能够将保存在数据库中的数据还原成OC对象。在此数据操作期间&#xff0c;我们不需要编写任何…

2017将转行进行到底

2016 年说着转行&#xff0c;最后还是在匆匆中找了一份老本行&#xff0c;此刻的心情还是无爱&#xff0c;毕竟螺丝一直分不清啊&#xff0c;不喜欢就是不喜欢。看了django的教程&#xff0c;不得不感叹国外的书写的相对优秀一点&#xff0c;《learning django web development…

mysql非主键索引_主键索引和非主键索引的区别

1. 什么是最左前缀原则&#xff1f;以下回答全部是基于MySQL的InnoDB引擎例如对于下面这一张表如果我们按照 name 字段来建立索引的话&#xff0c;采用B树的结构&#xff0c;大概的索引结构如下如果我们要进行模糊查找&#xff0c;查找name 以“张"开头的所有人的ID&#…

优美的配色方案设计

2019独角兽企业重金招聘Python工程师标准>>> 怎么做好设计配色一直是个难题&#xff0c;虽然网站上有各种各样的色库&#xff0c;但配色仍然至关重要&#xff0c;不得已的话可以亲自动手&#xff0c;况且乐趣满满。 这个没有一套标准&#xff0c;所以看自己怎么喜欢…

mysql死锁释放时间参数_【Mysql】mysql 事务未提交导致死锁 Lock wait timeout exceeded; try restarting transaction 解决办法...

问题场景问题出现环境&#xff1a;1、在同一事务内先后对同一条数据进行插入和更新操作&#xff1b;2、多台服务器操作同一数据库&#xff1b;3、瞬时出现高并发现象&#xff1b;不断的有一下异常抛出&#xff0c;异常信息&#xff1a;org.springframework.dao.CannotAcquireLo…

springmvc视图解析器_SpringMVC视图及REST风格

什么是视图解析器&#xff1f;springMVC用于处理视图最重要的两个接口是ViewResolver和View。ViewResolver的主要作用是把一个逻辑上的视图名称解析成一个真的的视图&#xff0c;而SpringMVC中用于把View对象呈现给客户端的是View对象本身&#xff0c;而ViewResolver只是把逻辑…

mysql5.7.x 1251_MySql-8.0.x免安装版下载与配置,Navicat打开数据库链接报错1251的解决办法...

概述MySQL从5.7一下子跳到了MySQL8.0, 其中的变化必然是很大的, 这里就不说了, 本文主要讲解最新版MySQL安装的事情.实际上5.7版本后的mysql免安装版都是没有data文件和my.ini文件的&#xff0c;下面再具体说明怎么生成&#xff0c;注意不能自己手动新建.下载下载程序必然去官网…

To install 64-bit ODBC drivers

为了更充分的利用硬件资源&#xff0c;我想很多人都开使用64位操作系统了&#xff0c;同时你可以也发现了在64位操作系统上ODBC的驱动找不到了&#xff0c;所以ODBC的东西都没法用了。 因为2007以前版本的Office只有32位版本&#xff0c;所以我们不能在64位系统上使用ODBC。使用…

【Qt开发】QTableWidget设置根据内容调整列宽和行高

QTableWidget要调整表格行宽主要涉及以下一个函数 1.resizeColumnsToContents(); 根据内容调整列宽 2.resizeColumnToContents(int col); 根据内容自动调整给定列宽 3.horizontalHeader()->setResizeMode 把给定列…

深入浅出mysql数据开发_深入浅出MySQL数据库开发、优化与管理维护 PDF扫描版[513KB]...

深入浅出MySQL数据库开发、优化与管理维护 内容介绍&#xff1a;本书从数据库的基础、开发、优化、管理维护4个方面对MySQL进行了详细的介绍&#xff0c;其中每一部分都独立成篇。本书内容实用&#xff0c;覆盖广泛&#xff0c;讲解由浅入深&#xff0c;适合于各个层次的读者。…

Understand Lambda Expressions in 3 minutes(翻译)

本文翻译自CodeProject上的一篇简单解释Lambda表达式的文章&#xff0c;适合新手理解。译文后面我补充了一点对Lambda表达式的说明。 1.什么是Lambda表达式&#xff1f; Lambda表达式是一种匿名方法&#xff0c;多数情况下用来在LINQ中快速创建委托。简单地说&#xff0c;它代表…

Hibernate二级缓存配置

一、定义&#xff1a; 二级缓存是进程或集群范围内的缓存&#xff0c;可以被所有的Session共享&#xff0c;是可配置的插件 二、二级缓存原理图 解析&#xff1a;每次从二级缓存中取出的对象&#xff0c;都是一个新的对象。 三、配置步骤如下&#xff1a; 同理&#xff1a;以员…

redis配置主从没效果_跟我一起学Redis之加个哨兵让主从复制更加高可用

Redis哨兵(Sentinel)其实本质就是一个RedisServer节点&#xff0c;通过设置 运行模式 来开启哨兵的功能&#xff1b;主要功能如下&#xff1a;监控(Monitoring )&#xff1a;哨兵节点会不断地检查的主服务和从服务的运行状态&#xff1b;自动故障迁移(Automatic failover) &…

闰秒导致MySQL服务器的CPU sys过高

今天&#xff0c;有个哥们碰到一个问题&#xff0c;他有一个从库&#xff0c;只要是启动MySQL&#xff0c;CPU使用率就非常高&#xff0c;其中sys占比也比较高&#xff0c;具体可见下图。 注意&#xff1a;他的生产环境是物理机&#xff0c;单个CPU&#xff0c;4个Core。 于是&…