文件命名规则
除了字符“/”之外,所以的字符都可以使用,但要注意,在目录名或文件名中,不建议使用某些特殊字符,如:<、>、?、*等
如果一个文件名中包含了特殊字符,例如空格,那么在访问这个文件时就需要使用引号将文件名括起来。
建议文件命名规则:
-
由于linux严格区分大小写,所以尽量都用小写字母
-
如果必须对文件名进行分割,建议使用"_",例如:file_bj_2020.log
文件创建
主要用touch创建文件
touch 文件名称
创建多个文件
touch 文件名称1 文件名称2 文件名称3
根据序号创建多个文件
touch 文件名称{开始序号..结束序号}
文件删除
Linux当中一切都为文件
rm [选项] 文件或文件夹的名称
其中选项为:
-r:针对文件夹,代表递归删除,先把目录下的所有文件删除,然后在删除文件夹
-f:强制删除,不提示
rm:是否删除普通空文件 '***.txt' [可以回复 y or n]
y 代表确认删除
n 代表取消
在Linux操作系统中,Ctrl+C不是复制,而是中断某个操作
复制与剪切
cp复制操作
cp [选项] 源文件或文件夹 目录路径 /新文件或文件夹的名称
其中选项当中的-r 是主要针对文件夹
剪切/移动操作
mv 源文件或文件夹 目标路径
之所以不需要-r是因为:
mv默认支持移动目录及其内容,即使目录非空也能直接操作
cp则不同:复制目录时必须加-r,否 则会报错
重命名操作
mv 源文件或文件夹名称 新文件或文件夹的名称
打包压缩与解压缩
打包压缩
打包:默认情况下,Linux的压缩概念一次只能压缩一个文件。
针对多文件或文件夹无法进行直接压缩。所以需要提前对多个文件或文件夹进行打包,这样才可以进行压缩操作。
tar [选项] 打包后的名称.tat 多个文件或文件夹
选项说明:
-c:打包
-f:filename,打包后的文件名称
-v:显示打包的进度
-u:update缩写,更新原打包文件中的文件
-t:查看打包的文件内容
tar-tf
tar-uf 打包后的文件名称
tar-uf
tar-uf 打包后的文件名称
u=>> update,更新,如果还想往tar包中更新或追加内容都可以通过-u选项
压缩:也是一个文件和目录的集合,且这个集合也被存储在一个文件中。
但它们不同之处在于,压缩所占用的磁盘空间比集合中所有文件大小的总和要小
tar [选项] 归档文件名 要处理的文件或目录
选项说明:
-c:创建新的归档文件。
-x:从归档中解出文件。
-t:列出归档文件中的内容,用于查看已打包的文件列表。
-f:指定归档文件名。此选项在使用tar时几乎是必须的,以明确操作的目标文件。
-v:显示处理过程中的文件信息(可选)。
-z:通过gzip过滤归档,用于创建.tar.gz或.tgz文件。
-j:通过bzip2过滤归档,用于创建.tar.bz2文件。
-J:通过xz过滤归档,用于创建.tar.xz文件。
特性 | gzip | bzip2 | xz |
压缩速度 | 最快 | 中等 | 最慢 |
压缩率 | 较低 | 中等 | 最高 |
100m文件压缩后大小 | 约90M | 约80M | 约70M |
对压缩包进行解压
解压过程非常简单,就是把压缩的参数中的c换成x就可以实现解压缩了
*.tar.gz格式的压缩包
tar -zxf 名称.tar.gz
*.tar.bz2格式的压缩包
tar -jxf 名称.tar.bz2
*.tar.xz格式的压缩包
tar -Jxf 名称.tar.xz
zip压缩与解压缩
zip【选项】压缩后的文件名称.zip 文件或文件夹
选项说明:
-r :递归压缩,主要针对的是文件夹
Linux下已经有了gzip、bzip2以及xz压缩命令,之所以还需要使用zip压缩,是因为zip格式在Windows以及Linux中都是可以正常使用的
unzip解压缩
unzip 压缩包名称 =>> 解压到当前目录
unzip 压缩包名称 -d 指定路径 =>> 解压到指定路径下
查看文件
cat
- 文件内容快速查看
cat [选项] 文件名
选项说明:
-n:显示行号(包括空行)
-e:显示行尾结束符($)
-t: 显示制表符(^I )
注意事项:
对大文件慎用(内存压力)
禁止直接编辑文件(需配合>>追加)
more
- 分屏查看器
# 案例1:查看日志文件
more /var/log/messages # 按空格键下翻页# 案例2:跳过前10行
more +10 /etc/passwd # 从第11行开始显示
交互命令:
空格键:下一页
Enter:下一行
q:退出
:f 显示当前位置
回车键 | 向下移动一行 |
d | 向下移动半页 |
空格键 | 向下移动一页 |
d | 向上移动一页,后期引入功能,早期more只能前进不能后退 |
q | 退出 more |
less
- 高级分页工具
核心优势:
1.支持上下移动
2.搜索功能
# 案例1:实时追踪日志
less +F /var/log/nginx/access.log # 按Ctrl+C退出# 案例2:搜索关键字
less /etc/ssh/sshd_config # 输入 /Port 搜索
常用参数
-s:禁用行换行
-i:忽略搜索大小写
-N:显示行号
回车键 | 向下移动一行 |
d | 向下移动半页 |
空格键 | 向下移动一页 |
b | 向上移动一页 |
上下方向键 | 向上与向下移动,less命令特有功能键,鼠标滑轮 |
less -N 文件名称 | 显示行号 |
/ 字符串 | 搜索指定的字符串 |
q | 退出less |
n/N | 下一个/上一个 |
head
- 文件头部查看
head [选项] 文件名
参数:
-n 5:显示前5行
-c 100:显示前100字节
tail
- 文件尾部追踪
tail [选项] 文件名
参数:
-f:实时追踪(Ctrl+c退出)
-F:追踪文件名变更(适用于日志轮转)
-n +5: 从第5行开始显示
统计文件信息
wc
- 统计文件内容数量
命令:wc, wc = word count
作用:用于统计文件内容信息(包括行数、单词数。字节数)
语法:
wc [参数选项] 文件名
参数:
-l:表示lines,行数(以回车/换行符为标准)
-w:表示words,单词数 依照空格来判断单词数量
-c:表示bytes, 字节数(空格,回车,换行)
du - 统计文件大小
命令:du
作用:查看文件或目录(会递归显示子目录)占用磁盘空间大小
语法:
# du [参数选项] 文件名或目录名
常见参数:
-s :summaries,只显示汇总的大小,统计文件夹的大小
-h:表示以高可读性的形式进行显示,如果不写-h,默认以KB的形式显示文件大小
文本处理
find
- 文件搜索利器
搜索条件:
-name "*.txt"
:按名称匹配
-mtime +7
:7天前修改
-size +100k
:大于100KB
管道符
工作原理:将前一个命令的输出作为后一个命令的输入
性能优化:
避免无用输出(如cat file | grep pattern
可简化为grep pattern file
)
使用buffer
工具加速大数据流传输
命令 | 核心功能 | 最佳场景 | 性能特征 |
cat | 文件拼接/快速预览 | 小文件(<100行) | 直接输出 |
less | 高效分页浏览 | 大文件(>1GB) | 智能加载 |
grep | 内容过滤 | 日志分析 | 正则支持 |
find | 文件检索 | 系统级搜索 | 精准定位 |
grep
- 模式匹配神器
正则表达式:
^root
:行首匹配
\.conf$
:行尾匹配
[0-9]{3}-[0-9]{4}
:匹配电话号码格式
基础搜索参数
- -i
(忽略大小写)
grep -i "hello" file.txt # 搜索 "hello"、"Hello"、"HELLO" 等
- -v
(反向匹配,显示不包含模式的行)
grep -v "error" log.txt # 排除所有包含 "error" 的行
- -w
(全词匹配,仅匹配完整单词)
grep -w "cat" file.txt # 匹配 "cat",但不匹配 "category" 或 "cats"
- -n
(显示匹配行的行号)
grep -n "TODO" code.py # 输出格式:行号:匹配内容
- -l
(仅显示包含匹配项的文件名,不显示具体内容)
grep -l "success" *.log # 列出所有包含 "success" 的日志文件名
- -c
(统计匹配行的数量)
grep -c "404" access.log # 统计 "404" 出现的次数
组合案例
1. 在单个文件中查找关键词
场景:查看日志文件并搜索“error”
cat system.log | grep "error"
或更高效的方式(直接使用grep
):
grep "error" system.log
作用:快速定位文件中的错误信息。
2. 在多个文件中查找关键词
场景:搜索所有.txt
文件中的“hello”
cat *.txt | grep "hello"
注意:如果需知道结果来自哪个文件,直接使用grep
更合适:
grep "hello" *.txt
作用:跨文件搜索时,显示文件名和匹配内容。
总结
命令 | 选项 | 描述 |
mldir | -p | 递归创建目录,从左到右一级一级创建目录 |
rmdir | -p | 同时删除多级空目录(从右向左一级一级删除) |
touch | 无 | 创建一个或多个文件 |
rm | -r或-f | -r:递归删除目录;-f:强制删除,不提示 |
命令 | 选项 | 描述 |
cp | -r | 递归复制,主要针对文件夹 |
mv | 无 | 移动或重命名文件/目录 |
命令 | 选项 | 描述 |
tar | -c、-x、-t、-f、-v、-z、-j、-J | -c : 创建新的归档文件;-x : 从归档中解出文件;-t : 列出归档文件中的内容;-f : 指定归档文件名;-v : 显示处理过程中的文件信息;-z : 使用gzip压缩;-j : 使用bzip2压缩;-J : 使用xz压缩 |
zip | -r | 递归压缩,主要针对的是文件夹 |
unzip | -d | 解压到指定路径 |