Linux系统文件与目录管理(超详细!)

一、Linux系统目录结构

目录说明
bin存放用户可执行命令和二进制文件
boot系统引导程序及内核文件存储目录
dev设备文件目录(如硬盘、光驱等)
etc系统和服务的配置文件存储目录
home普通用户的家目录(每个用户拥有独立子目录)
lib32位系统库文件存放目录
lib6464位系统库文件存放目录
lost+found文件系统修复时存放临时文件的目录
mnt临时挂载点目录(如U盘、光盘等)
opt第三方软件安装目录
proc虚拟目录,实时显示系统硬件和内核信息
root超级用户(root)的家目录
sbin系统管理员专用的二进制命令文件
/etc/selinuxSELinux安全策略配置文件存放目录
sys虚拟目录,包含内核配置和硬件信息
tmp临时文件目录(所有用户可读写)
usr用户程序存放目录(包含应用程序、库文件等)
var可变数据目录(log存放系统日志,spool/mail存放邮件)

1、查看目录结构命令 

tree目标目录

2、目录结构操作使用方法

  • 采用绝对路径方式进行操作管理

  • 采用相对路径方式进行操作管理

  • 采用设备挂载方式进行操作管理

2.1、绝对路径

表示从根路径开始,进入指定的路径中或子目录中,获取指定的数据资源信息。

cd /etc/sysconfig/network-scripts/

 

2.2、相对路径

表示从当前路径开始,进入指定的路径中或子目录中,获取指定的数据资源信息。

cd /etc/sysconfig/
cd network-scripts/

 

3、目录结构中重要文件数据

3.1、网卡地址信息配置文件

/etc/sysconfig/network-scripts/(Linux9之前的系统指令)

cd /etc/NetworkManager/system-connections/(Linux9之后的系统指令)

3.2、网络域名服务配置文件

cat /etc/resolv.conf

3.3、网络本地解析配置文件

cat /etc/resolve.conf

3.4、开机自动运行脚本或命令文件

/etc/rc.local(Linux7之前的操纵指令)

3.5、系统运行状况日志文件

cat /var/log/messages

二、文件与目录操作命令

1、打印工作目录命令

选项作用
pwd查看当前工作目录的完整路径
-P显示出实际路径,而非使用连接。

2、目录切换命令

cd

命令作用
cd返回当前登录用户的家目录
cd ..返回上级目录
cd ~返回当前登录用户的家目录
cd -返回上次跳转到当前目录的目录
cd /path切换到指定目录

3、目录内容查看命令

命令选项作用
-a, --all显示所有文件(包括以 . 开头的隐藏文件)
-l使用详细列表格式显示文件或目录的详细信息
-h, --human-readable使用人类可读的格式显示文件大小(例如 1K、2M)
-r, --reverse以相反的顺序列出文件
-t按照修改时间(最新的文件在前)排序
-S按照文件大小排序
-d, --directory显示目录本身,而非目录下的文件列表
-i, --inode显示每个文件的 inode 号
--color=auto自动根据文件类型显示不同的颜色
-R, --recursive递归列出目录及其子目录中的文件
ls[OPTION]... [FILE]...
使用案例 

 

 

 

4、文件查看命令

4.1cat命令

命令选项作用
cat连接文件或标准输入并打印
语法

cat [选项] [文件]...

功能
  • 一次显示整个文件:cat filename

  • 从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.

  • 将几个文件合并为一个文件:cat file1 file2 > file3

  • 追加内容到指定文件

  • 修改终止指令“CTRL+c”修改成“e”

cat <<e >> 3.txt
123456
e

 

重定向符号  

标准输出重定向

  • 覆盖重定向 >

  • 追加重定向 >>

    错误输出重定向

    • 覆盖重定向 2>

    • 追加重定向 2>>

    混合输出重定向

    • 覆盖重定向 &>

    • 追加重定向 &>>

    选项作用
    -n显示行号。
    -v显示不可打印的字符。
    -e在输出的行尾添加制表符和换行符。
    -b在输出的行尾添加空格而不是制表符和换行符。
    -A类似于 -v 和 -e,但只显示不可打印的字符和行尾的空格。
    -t仅显示每行的第一个非空格字符。
    -f按行分割文件,并将每一行分别发送到标准输出。
    -l仅显示当前行的行号。
    -r在输出的行尾添加回车符和换行符。
    -s在连续的空白字符中输出一个空格。
    使用案例 

     

    4.2more命令

    语法
  • more [选项] [文件名]

    操作
    操作作用
    空格键向下翻动一页。
    Enter键向下翻动一行。
    q退出 more 命令。
    /pattern在文件中搜索指定的模式(pattern)。
    :n跳转到第 n 行。
    :f显示文件名和当前行号。

4.3less命令

语法

less [选项] [文件名]

操作
操作作用
空格键向下滚动一屏。
Page Up 或 b向上滚动一屏。
Page Down 或 空格键向下滚动一屏。
/pattern在文件中搜索指定模式(pattern)。
n找到下一个匹配的搜索结果。
N找到上一个匹配的搜索结果。
g跳转到文件的起始处。
G跳转到文件的末尾。
q退出 less 命令。

4.4head命令

语法

head [选项] [文件名]

管道符
cat -n anaconda-ks.cfg  | head -1
选项  
选项作用
-q隐藏文件名
-v显示文件名
-c<字节>显示字节数
-n<行数>显示的行数

使用案例

|hesd 查看开头前10项

查看开头前3项 

4.5tail命令

语法

tail [选项] [文件名]

选项  
选项作用
-f循环读取,实时监控文件内容的变化
-q不显示处理信息
-v显示详细的处理信息
-c<数目>显示的字节数
-n<行数>显示行数
实时监控文件变化

实时监控日志变化 
使用案例 

|tail 查看最后10项内容

4.6nl命令

语法

nl [options] [file]

选项
选项作用
-b指定要将行号添加到的行。
-b a添加行号到非空行。
-b t添加行号到所有行。
-b n不添加行号到任何行。
-n设置行号的开始值。
-w指定行号字段的宽度。
-s设置行号与文本之间的分隔符
使用案例 

一般显示文件

案例
  1. 将行号添加到文件中的所有行,并将行号输出到标准输出:nl file.txt

  2. 将行号添加到文件中的非空行,并使用制表符作为分隔符:nl -b a -s $'\t' file.txt

  3. 将行号添加到文件中的所有行,从指定的行号开始:nl -n 100 file.txt

  4. 设置行号字段的宽度为 3 个字符,并将行号添加到所有行:nl -w 3 file.txt

5、创建目录命令

语法

mkdir [选项] 目录名

选项
选项作用
-p递归创建目录,如果父目录不存在也会创建。
-m设置新目录的权限。
-v显示详细信息,包括正在创建的目录和已使用的文件系统类型。

使用案例

创建一个练习目录 

mkdir example

创建目录时发现上级目录不存在,直接一起创建

 mkdir -p dir1/dir2

6、创建文件命令

重定向符号

>:覆盖重定向
>>:追加重定向

查看文件的时间戳: stat 文件名称
stat f1.txt

6.1touch命令

语法

touch [选项]... 文件...

选项
选项作用
-a 或 --time=access如果文件不存在,创建一个新文件。同时更新访问时间和修改时间。
-m 或 --time=modify仅更新文件的修改时间。
-t 或 --time=date使用指定的日期和时间更新文件的访问和修改时间。
使用案例 

创建空文件

6.2echo命令

语法

echo [选项] 文本内容

选项
选项作用
-n在输出内容后不换行。
-e启用转义字符的解析。“\"转义符号;\n:换行;\r:回车;\t:水平制表符(tab)
使用案例 

创建文件夹并将信息输入到新创的文件夹

通过echo创建非空文件夹

实行换行

 水平制表符(Tab)

不换行

7、文件或目录复制命令

语法

cp [options] source destination

选项
选项作用
-i(交互式)如果在目标位置存在一个文件且该文件会 被覆盖时,cp命令会询问用户是否继续。
-n(不覆盖)在目标位置存在文件时,不会覆盖该文件,即不会进行复制操作。
-r或-R(递归)用于复制目录以及目录内所有子目录和文件。
-p(保留属性)复制文件的同时保留源文件的属性如权限和时间戳。
-v(详细模式)显示详细的复制过程信息。
使用案例 

-r 操作案例 

-p 操作案例

 

8、文件或目录移动命令 

语法

mv [options] source destination

选项
选项作用
-i(交互式)如果移动或重命名目标位置已存在且会覆盖时,mv 命令会询问用户是否继续。
-n(不覆盖)在目标位置存在文件时,不会覆盖该文件,即不会进行移动或重命名操作。
-v(详细模式)显示详细的移动或重命名过程信息。
使用案例 

9、文件或目录删除命令

语法

rm [options] file ...

选项
选项作用
-i 或 --interactive在删除之前,显示每个文件是否确认删除。
-f 或 --force强制删除,即使文件正在被使用,或者存在打开的文件描述符。
-r 或 --recursive递归地删除目录及其内容。
-v 或 --verbose详细模式,显示删除的每个文件。

10、别名命令

语法

alias [options] name=command

选项
选项作用
-p显示当前目录下的所有已定义的别名列表。

 

11、文件属性查看命令

语法

stat [options] file

选项
选项作用
-c 或 --format指定输出信息的格式。
-f 或 --file-system显示文件系统级别的。
-t 或 --terse以更紧凑的方式显示输出信息。
--all 或 -a显示所有可用的信息。
--dereference跟随符号链接。
使用案例 

最近访问:2025-08-01 15:06:54.680583478 +0800      #看了文件
最近更改:2025-08-01 15:06:57.283581961 +0800      #内容变化
最近改动:2025-08-01 15:06:57.283581961 +0800      #属性变化和内容变化
创建时间:2025-08-01 15:06:54.680583478 +0800      #不会动

12、目录结构查看命令

语法

tree [options] [directory]

选项
选项作用
-L指定要显示的层级深度。
-d只显示目录,不显示文件。
-f显示完整路径。
-a显示所有文件和目录,包括隐藏的。
-I排除符合模式的文件或目录。

13、dd命令         

功能  
  • 生成块文件

  • 复制文件内容

  • 测试磁盘I/O性能

语法

dd [选项] [输出选项] [输入选项]

选项       
选项作用
if=filename指定输入文件。
of=filename指定输出文件。
bs=size指定块大小。
count=num指定要复制的块数。
conv=参数进行数据转换,例如tec进行techeus格式转换,auto允许尽可能多的转换(这对于大量数据是安全的)。
skip=num跳过第一个num块。
status=progress显示进度信息。
使用案例 

 

14、链接命令

硬链接(hard link):(目录不允许创建硬链接)
  • 硬链接是文件系统中的一个目录条目,它指向另一个文件的数据块。

  • 硬链接和原始文件共享同一个 inode,因此对文件的修改会影响到所有硬链接。

  • 硬链接不能跨越文件系统边界。

符号(软)链接(symbolic link):  
  • 符号链接是一个特殊的文件,其内容是指向另一个文件的路径。

  • 符号链接和原始文件不共享 inode,因此删除原始文件后,符号链接仍然存在,但无法访问。

  • 符号链接可以跨越文件系统边界。

语法  

ln [options] source destination

选项
选项作用
-s 或 --symbolic创建符号链接而不是硬链接。
-f 或 --force如果目标文件已存在,则覆盖它。
-i 或 --interactive在覆盖目标文件之前询问用户。
-p 或 --preserve保留源文件的属性,如权限和时间戳。

15file命令

语法

file [选项] 文件名

选项
选项作用
-b以二进制形式输出文件类型信息。
-f仅显示文件类型,不显示其他信息。
-i以人类可读的格式显示文件类型。
-L对符号链接进行特殊处理,查看链接指向的真实文件。

三、VIM编辑器

1VIM操作模式

1.1、命令模式

操作作用
G跳转到文件末尾
gg返回文件首行
home键或者^跳到首字符
end键或者$跳到尾字符
yy单行复制
nyyn行复制
P将光标移动到想要粘贴位置的上一行
p将光标移动到想要粘贴位置的下一行
u撤销操作,注意:进行保存且退出后无效
dd单行删除
nddn行删除
D或者d$从所在行的光标处删除到末尾
d^从所在行的光标处删除到行首
r替换某一个字符
del键光标所在字符的后一个字符
/关键字根据关键字查找,n:上翻;N:下翻
ZZ保存且退出

1.2、插入模式

作用:进行文件内容编辑

操作作用
a进入插入模式,在当前光标的后一个字符插入
o在当前光标的下一行插入
i在当前光标所在字符插入,返回命令模式时会将光标迁移一个字符
A在光标所在行的尾字符后插入
I(大写i)在光标所在行的首字符插入
O在当前光标的上一行插入
ESC(按键)返回命令模式

1.3、末行模式

作用:保存、退出及字符串替换

操作作用
:w保存
:q不保存退出
:wq或:x保存退出
!强制
:X->输入密码->:wq设置密码并保存退出
:X->回车两次->:wq<br>或者 :set key=""->:wq取消密码
:set nu设置行号
:set nonu取消行号
:nohl取消高亮
:行号跳转到指定行
:%s/keyword/neword/全文替换,首个匹配替换,当包含路径时,#替换/作为匹配符号
:%s/keyword/neword/g全文替换,所有匹配替换,当包含路径时,#替换/作为匹配符号
:指定行号s/keyword/neword/指定行替换,首个匹配替换,当包含路径时,#替换/作为匹配符号
:指定行号s/keyword/neword/g指定行替换,所有匹配替换,当包含路径时,#替换/作为匹配符号
:起始行号,结束行号s/keyword/neword/范围替换,首个匹配替换,当包含路径时,#替换/作为匹配符号
:起始行号,结束行号s/keyword/neword/g范围替换,所有匹配替换,当包含路径时,#替换/作为匹配符号

1.4、视图模式

操作作用
v进行行选中

1.5、视图快模式

操作作用
ctrl + v进行列选中
选中要删除的“#”,按del批量删除注释
选中要添加的列,输入 大写i ,输入#,按两次ESC批量增加注释

2vim高级用法

操作作用
:r!command将命令结果插入文件,command命令的结果插入光标下一行
:nr! command将命令结果插入文件,command命令的结果插入n行后
:m,n! command使用页面内容作为输入,command以m,n之间的行作为标准输入,<br>标准输出会代替m,n之间的行. 注意这个操作似乎是不可用ctrl+r撤销的。要谨慎使用。
:! /bin/bash暂时离开vim来执行命令,使用完sh后exit又可以返回vim
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值