Linux学习

Linux的目录结构

Linux的目录结构是一个树形结构,没有盘符这个概念,只有一个根目录/,所有文件都在它之下。

常见的目录结构

  1. /bin 二进制命令所在的目录(普通命令=>普通用户和超级管理员root)

  2. /home/root 家目录,/home表示普通用户的目录,/root表示超级用户的家目录

  3. /opt 额外的应用软件包,如qq,游戏等

  4. /sbin 和管理系统相关的命令,【超级管理员用】,s = super超级

  5. /tmp 临时文件目录,这个目录被当作回收站使用

  6. /usr 用户或系统软件应用程序目录

  7. /dev /device缩写,设置文件目录,磁盘,光驱 => /dev/sr0

  8. /etc 系统配置文件目录,启动程序,几乎所有的软件都会把自己的配置文件安装在/etc中

基础命令

目录相关命令

[root@localhost /]# 其中root是当前用户,@是分隔符,localhost是主机名, /是当前目录,#代表超级用户,$代表普通用户。

基本导航命令

  1. 定位与查看
命令 作用 语法格式 参数 案例
pwd
print Work directory
显示当前所在目录的绝对路径 pwd 显示当前路径:pwd
ls
List Show
列出目录的内容 ls [选项] [路径] -a:all所有,显示指定目录下所有子目录与文件,包含隐藏文件
-l:list以列表方式显示文件的详细信息,可简写为ll
-h:配合 -l以人性化的方式显示文件大小
显示当前所有目录:ls -a
以列表的形式展示根目录:ls -l /或者ll /
  1. 切换与目录结构:
命令 作用 语法格式 参数 案例
cd
change directory
更改当前工作目录 cd [目标路径] ..:两个点表示上一级
.:一个点表示当前
-:减号表示跳转到上一次所在目录
[注]:不设置目标路径表示直接返回用户的家目录,与cd ~等同
cd ~:切换到家目录
cd ../bin:切换当前目录的上一级下的bin子目录
cd /sbin:切换到根目录下sbin目录
tree 以树状图形式递归列出目录结构,显示目录及其子目录和文件的分层视图 tree [选项] [目录] -d:仅显示目录,不显示文件
-L n:限制显示层级深度(n为数字)
-a:显示隐藏文件(以.开头的文件)
-f:显示完整路径
[注]:如果未指定目录,默认显示当前目录的树状结构
tree:显示当前目录结构
tree /root:显示/root目录下的整体目录结构

目录管理命令

  1. 创建/删除目录:
命令 语法格式 参数 案例
mkdir mkdir [-p] 目录名称 -p:一次创建多级目录,如果不带仅能创建单极目录 mkdir -p /export/software:创建多级目录
mkdir aaa:在当前目录下创建aaa目录
rmdir rmdir 目录名称 -p:递归删除父目录(如果子目录删除后父目录为空) rmdir /export/software:删除software目录

文件操作命令

命令 作用 语法格式 参数 案例
touch 创建文件 touch 文件名 -d YYYY-MM-DD hh:mm:ss(年月日格式):手动指定时间戳
touch file1.txt :在当前目录下创建file.txt
touch file1.txt file2.txt file3.txt :创建多个文件
touch -t 202501011230.45 file.txt :指定时间戳
cp
copy
文件或者目录的复制 cp [-r] 源文件位置... 目标路径 -r: 递归,复制文件夹必须添加 cp a.txt /usr/local: 复制当前a.txt文件到/usr/local下
cp -r local /root :复制local目录到 /root下
mv
move
文件,目录的移动和重命名 mv 源文件路径... 目标路径 mv aa-ks.cfg /export/data :将某文件移动到某路径下
mv export~ :将export目录移动到家目录下
mv a.txt text.txt :将a.txt移动到当前目录的text.txt中(重命名)
rm 删除文件 rm [选项] 文件 /目标路径 -r: 是否启动递归删除防方案(适用于删除目录的时候)
-f : 是否需要强制删除,如不添加,会有询问操作
rm -rf /export: 不提示强制删除/export目录

文件查询命令

find 命令: 文件查询命令

格式: find 路径范围 选项1 选项1的值 [选项2 选项2的值...]

选项说明:

选项 说明
-name 按照文档名称进行搜索(支持模糊搜索) * :通配符,匹配任意字符
-type 按照文档的类型进行搜索,文档类型的值,f(file)表示文件;d(directory)表示文件夹
-mtime 用于根据文件的修改时间(modification time)来筛选文件,参数值是一个整数,表示天数:
-mtime +n:查找修改时间超过n天前的文件
-mtime -n:查找修时间在n天以内的文件
-mtime n:查找修改时间正好是n天前的文件
-exec 用于对find查找到的文件执行指定的命令,它的语法比较特殊,需要使用{}表示查找到的文件,并用;结束命令
例如: 查找所有.log文件并删除 find /var/log -name "*.log " -exec rm -f {} ;
-size 用于根据文件大小查找文件。格式为[+/-]n【单位】
+和-前缀:
+n:表示大于n的文件。
-n:查找小于n的文件

单位说明:
c:字节(默认单位)
k:千字节(KB)
M:兆字节(MB)
G:吉字节(GB)
b:512字节块(不常用)

文件相关命令

vi:经典的文本编辑器,功能基础,适用于简单编辑任务。

vim:vi的升级版,支持更多高级功能如:

- 语法高亮
- 多级撤销
- 代码折叠
- 插件支持
- 更好的跨平台兼容性

在RHEL9中,vi通常时vim的符号链接,即运行vi实际是启动vim的兼容模式

  • 打开文件
    • vi a.txt #直接打开文件
    • vim a.txt #vim是vi的增强版
    • vim +10 a.txt #直接打开文件,并定位到第十行

vi/vim三种工作模式:命令模式,插入模式(编辑模式),末行模式(底行模式)

  • 命令模式:复制,粘贴,移动光标,撤销与恢复
  • 插入模式:智能编辑文件内容
  • 第行模式:保存文件,推出文件,显示行号,搜索关键词

image-20260502213558460

命令模式下的快捷键:

命令 功能
o 在当前行后面插入一空行
O 在当前行前面插入一空行
dd 剪辑或删除光标所在行
ndd 从光标位置向下连续剪切或删除n行
yy 复制光标所在行
nyy 从光标位置向下连续复制n行
Ctrl + R 恢复,与u对应
p 粘贴
u 撤销上一次命令
gg 回到文件顶部
G 回到文件末尾

底行模式:

常用快捷键:

命令 功能
:w 文件 另存为
:w 保存
:q 退出,如果没有保存,不允许退出
:q! 强行退出,不保存
:wq 保存并退出
:x 保存并推出
:set nu 设置行号,取消行号使用:set nonu
:%s/旧关键词/新关键词/g 文本替换
:noh 取消高亮
/关键词 搜索某一关键词

:wq和:x的区别:如果文件内容改变,两者效果一样,如果文件内容没有改变,:x不会改变文件的最后修该时间,但是:wq会更新为文件的最后修改时间。运维工程师强烈建议使用:x

文件查看命令

命令 作用 格式参数 案例
cat 从上往下查看文件内容,一次性加载所有数据,适合小文件查看 cat 文件 查看家目录中anaconda-ks.cfg文件:
cat anaconda-ks.cfg
more 用于分页查看文件内容的命令 more filename
进入文件后,可使用的相关操作:
空格键:向下滚动一页
b:向上翻页(可能不是支持所有系统)
Enter键:向下滚动一行
q:退出查看
more anaconda-ks.cfg
less less命令与more类似,但功能更强大,它允许用户向前和向后滚动文件,同时提供更多操作选项 语法:less filename
进入文件后可使用的相关操作:
b:向上翻页
Page Up/Page Down:向上向下滚动【方向键】
q:退出查看
/搜索词:搜索某个关键词,并跳转到该词的位置
n:跳到下一个匹配的搜索结果
h:查看帮助信息
less anaconda-ks.cfg
head 查看文件的前N行内容,默认前10行 head -N 文件
N:表示从前往后看N行
查看家目录总anaconda-ks.cfg文件的前20行
head -20 anaconda-ks.cfg
tail 用于从后往前看文件,并支持监控文件变化 tail -[N] [f]文件
N:表示从后往前看N行
f:是否持续显示文件末尾内容
查看某个文件最后100行内容
tail -100 xx.log
查看最后100行,并实时查看输出内容
tail -100f xx.log
wc 用于统计文件或输入中的行数,单词数和字节数 wc [选项] [文件]
-l:统计行数(lines)
-w:统计单词数(words)
-c:统计字节数(bytes)
-m:统计字符数(characters)
-L:统计最长行的长度(length)
统计文件有多少行
wc -l xx.txt
统计文件中有多少单词
wc -w xx.txt
统计有多少字节和字符数
wc -cm xx.txt
grep 在文件中直接找到包含指定信息的那些行,并把这些信息展示出来 grep 要查找的内容 文件名 在boot.log文件中,查找包含network的行
grep network boot.log
| 管道符号,将上一个命令的执行结果,作为下一个命令的输入 命令1 | 命令2 | 命令3 |...
并不是所有的命令都支持管道符
对cat执行结果,通过grep查询包含Linux的行内容
cat a.txt b.txt |grep linux

文件解压缩

tar(tape archive)是一个用于打包和压缩文件的命令工具

格式:tar [选项] 文件

选项 说明
-c 创建一个新的归类文档,这个选项表示将指定的文件或目录打包成一个新的归档文件
-x 解压缩归档文件,使用该选项从归档文件中提取文件
-f 指定归档文件的名称,该选项必须紧跟这归档名,指定要创建或者提取的归档文件
-z 使用gzip压缩或者解压缩归档文件,该选项表示将归档文件压缩成.tar.gz格式或者解压缩.tar.gz格式的归档文件
-v 在创建或解压缩归档文件时显示详细过程信息(列出文件名);这个选项会显示每个文件在归档过程中的详细信息,通常用于调试或跟踪进度
-j 使用bzip2压缩或者解压缩归档文件,该选项表示将归档文件压缩成.tar.bz2格式,或者解压缩.tar.bz2格式的归档文件
-J -J(xz)使用xz压缩或解压缩归档文件,压缩成.tar.xz格式或者解压缩
-C 用于指向新的解压目录

image-20260502225116415

posted @ 2026-05-03 16:41  ltku  阅读(16)  评论(0)    收藏  举报