找回密码
 立即注册
搜索

[系统] Linux目录结构和常用命令

[复制链接]
智慧谋略 发表于 2022-5-11 00:36:49 | 显示全部楼层 |阅读模式
一、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
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. /tmpH.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、命令帮助[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    统计文件中的行数
 楼主| 智慧谋略 发表于 2022-5-11 00:38:53 | 显示全部楼层




Linux多用户操作系统 Ubuntu 乌班图

Linux终端命令格式

command [-options] [parameter]

command:命令名

[-options]:选项

parameter:参数,可以是0个、1个或多个

01.Linux文件目录结构
序号
目录
1
/home
系统默认的用户家目录,新增用户账号时,用户的家目录都存放在此目录下
2
/bin
可执行二进制文件的目录,如常用的命令ls、tar、mv、cat等
3
/boot
放置Linux系统启动时用到的文件,如Linux的内核文件 /boot/vmlinuz
4
/dev
存放Linux系统下的设备文件
5
/etc
系统配置文件存放的目录

02.Linux常用命令01.ls命令

ls:查看当前文件夹下的内容list

序号
options
1
-a
显示所有
2
-l
以列表方式显示详细信息
3
-lh
以人性化的方式显示文件大小

ls通配符

序号
通配符
含义
1
·
代表任意个数个字符
2
代表任意一个字符,至少1个
3
[]
表示可以匹配字符组中的任意一个
4
[abc]
匹配a、b、c中的任意一个
5
[a-f]
匹配从a到范围内的任意一个字符

02.cd命令

cd [目录名]:切换文件夹 change directory 更改当前的工作目录

序号
parameter
1
cd ~
切换到当前用户的主目录
2
cd .
保持在当前目录不变
3
cd …
切换到上一级目录
4
cd -
可以在最近两次工作目录之间来回切换

03.pwd命令

pwd:查看当前所在文件夹print work directory

04.touch命令

touch [文件名]

序号
options
operate
1
文件存在
新建文件
2
文件不存在
修改文件的末次修改日期

05.mkdir命令

mkdir [目录名]:创建目录make directory

-p可以递归创建目录,同一目录下不能同名

mkdir -p a/b/c/d

06.rm命令

rm [文件名]:删除指定的文件remove,删除后不能恢复

序号optionsoperate
1-f强制删除
2-r递归地删除目录下的内容

07.tree命令

tree [目录名]:以树状图列出文件目录结构

-d 只显示目录

08.cp命令

cp 源文件 目标文件:复制文件

序号
options
1
-f
已经存在的目标文件直接覆盖,不会提示
2
-i
覆盖文件前提示
3
-r
递归复制该目录下的所有文件 复制目录必须加上

09.mv命令

mv 源文件 目标文件 :移动文件

-i:覆盖文件前提示

修改文件名: mv [文件1] [文件2] 修改文件1名为文件2

10.cat命令

cat:查看文件内容(显示所有)、创建文件、文件合并、追加文件内容等功能concatenate

序号
options
operate
1
-b
对非空输出行编号
2
-n
对输出的所有行编号

11.more命令

more:分屏显示文件内容

序号
operate
output
1
空格键
显示下一屏
2
回车
滚动一行
3
b
回滚一屏
4
f
前滚一屏
5
q
退出
6
/word
搜索word字符

12.grep命令

grep:搜索文本文件内容

序号
options
1
-n
显示匹配行及行号
2
-v
显示不包含匹配文本的所有行
3
-i
忽略大小写

grep允许对文本进行模式查找,所谓模式查找,又被称为正则表达式

^a
所有以a开头
b$
搜索以b结尾的

13.echo命令

echo:文字内容

echo会在终端中显示参数指定的文字,通常会和重定向联合使用

14.重定向

Linux允许将命令执行结果重定向到一个文件

“>”:表示输出,会覆盖文件原有的内容

">>":表示追加,会将内容追加到已有文件的末尾

echo Hello Python > a

ls -lh > a 把查看文件的列表详情结果重定向到文件a中

15.管道|命令

Linux允许将一个命令的输出可以通过管道作为另一个命令的输入

常用的管道命令:more、grep

​ ls -lh | more

​ ls -lha ~ | grep [查找内容]

16.查阅终端信息帮助信息

command --help

man command man→manual 手册

使用man时的操作健

​ 空格键:显示手册页的下一屏

​ Enter健:一次滚动手册页的一行

​ b:回滚一屏

​ f:前滚一屏

​ q:退出

17.终端实用技巧

自动补全:tab健

使用过的命令:上/下键 取消按ctrl+c

​ .代表当前目录

​ …代表上一级目录

​ 以.开头的文件是隐藏文件,需要用-a参数才能显示

ctrl + shift + =:放大终端窗口的字体显示

ctrl + -:缩小终端窗口的字体显示


高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|探索掌握未知、共创美好未来

GMT+8, 2026-9-18 05:00 , Processed in 0.048116 second(s), 32 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表