Linux常用文件管理命令
一. 命令格式
命令名称:相应功能的英文单词或单词的缩写
可选项:可用来对命令进行控制, 也可以省略
参数:传给命令的参数, 可以是零个、一个或者多个
根目录下常见的文件介绍:
(1)root:root用户的家目录
(2)home:用来保存其他用户的家目录
(3)bin/sbin:用来保存系统的命令
(4)boot:用来保存系统启动的文件
(5)dev:主要用来保存系统中的一些设备文件,如果访问当前文件下面的某一个目录就相当于访问对应的设备
(6)lib/lib64:用来保存系统在运行过程中需要的一些依赖文件,例如一些函数库
(7)mnt/media:进行光驱挂载
(8)etc:主要用来保存系统的一些配置文件,不能随便删除该目录下面的文件
(9)opt/usr:存放需要额外安装的一些文件所存放的目录
(10)usr:主要存放一些引用程序的目录
(11)proc:里面的内容主要是保存在内存中,所以一般保存一些系统的临时文件,不要将一些重要的文件放入该目录
(12)srv:主要存放一些服务启动之后所需要的数据文件
(13)var:主要保存系统在执行的过程中经常发生变化的文件
二. 查看文件列表命令
ls 是英文单词list的简写, 其功能为列出目录的内容,是用户最常用的命令之一
常用可选项说明:
-a 显示指定目录下所有子目录与文件, 包含隐藏文件
-l 以列表方式显示文件的详细信息
-h 配合 -l 以人性化的方式显示文件大小
常见使用方式:
ls 查看当前目录内容 (缺点: 隐藏文件看不到)
ls -a 查看当前目录内容 ,包括隐藏文件
ls -al 查看目录内容的详细信息(查看文件类型、权限、大小等)
ls -lh 查看目录内容的详细信息,以K,M,G方式显示文件大小
ls /root 查看/root目录下内容
三. 目录操作命令
1. 目录查看命令
pwd 查看当前所在目录
2. 目录创建命令
mkdir
创建没有层级关系的目录
mkdir test
创建有层级的目录
mkdir -p 目录1/目录2/目录3
mkdir -p test02/aa/bb
注意: 新建目录的名称 不能与当前目录中已有的目录或文件同名。
3. 目录删除命令
rm
常用可选项说明:
-f 强制删除,忽略不存在的文件或目录, 无需提示
-r 递归地删除目录下的内容, 删除目录时必须加此参数
常见使用方式:
rm -r 目录 #删除目录有提醒
rm -fr 目录 #直接删除目录(不管有没有内容)
rm -f 文件名 #强制删除一个文件
四. 目录切换命令
cd 是英文单词 change directory 的缩写,其功能为更改当前的工作目录,也是用户最常用的命令之一
注意: linux的所有 目录 和 文件名 都是大小写敏感的
常见使用方式:
cd / #回到用户主目录
cd ~ #回到根目录
cd test #切换到当前目录下的test目录(相对路径)
cd /root/test #切换到指定目录(绝对路径)
cd . #回到当前目录
cd .. #回到上一级目录
cd ../.. #回到上上一级目录
cd ../dir #回到上一级的dir目录
五. 文件操作命令
1. 创建文件命令
touch
常见使用方式:
touch a.txt #在当前目录创建a.txt文件
touch /root/a.txt #在/root目录创建a.txt文件
2. mv
通过mv 命令可以用来移动文件或目录, 也可以给文件或目录重命名
将文件移动另一个目录中:
mv 文件 目录/
mv a.txt dir
重命名:
mv 旧文件名 新文件名
mv a.txt b.txt #重命名文件
mv dir1 dir2 #重命名目录
将目录移动 到 另一个目录中:
mv 被移动目录 目标目录
mv dir1 /
3. 查看文件内容
cat
常见使用方式:
cat 文件名(相对路径)
cat a.txt
cat 路径/文件名(绝对路径)
cat /root/test/a.txt
4. 分屏显示长文件内容
more
常用参数说明:
-num 一次显示的行数
-d 提示使用者,在画面下方显示 [Press space to continue, 'q' to quit.] ,如果使用者按错键,则会显示 [Press 'h' for instructions.] 而不是 '哔' 声
-l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
-f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
-p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
-c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
-s 当遇到有连续两行以上的空白行,就代换为一行的空白行
-u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
+/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
+num 从第 num 行开始显示
常用操作说明:
Enter 向下n行,需要定义。默认为1行
Ctrl+F 向下滚动一屏
空格键(space) 向下滚动一屏
Ctrl+B 返回上一屏
= 输出当前行的行号
:f 输出文件名和当前行的行号
V 调用vi编辑器
!命令 调用Shell,并执行命令
q 退出more
5. 复制文件
cp
cp a.txt dir1 #将a.txt复制到dir1目录
cp a.txt b.txt #将a.txt复制到b.txt
6. 分屏显示文件内容
less
通过 `less [参数] 文件名` 命令可以用于分屏显示文件内容, 每次只显示一页内容通常用于分屏显示文件内容 或者 根据关键词搜索内容。
less -N 文件名 显示文件内容 且 显示行号
less -N a.txt
常用操作说明:
空格键 显示手册页的下一屏幕
Enter 键 一次滚动手册页的一行
b 回滚一屏
f 向前一屏
q 退出
/word 搜索word字符串
根据关键词 搜索:
less /word
操作键:n 功能:向下找
操作键:N 功能:向上找
7. head
查看文档的前几行内容
head -n 数字 文件
head -n 5 a.txt
8. tail
查看文档(日志)的后几行内容
tail -10 a.txt
动态显示文档的最后内容,一般用来查看日志
tail -f a.txt
动态显示文档的最后100行内容
tail -100f a.txt
六. 压缩和解压缩
常用可选项说明:
-c 创建一个新tar文件
-v 显示运行过程的信息
-f 指定文件名
-z 调用gzip压缩命令进行压缩
-t 查看压缩文件的内容
-x 解开tar文件
1. 解压缩
tar -zxvf 压缩文件 [-C] [指定解压目录]
tar -zxvf redis-3.2.8.tar.gz #将文件解压到当前目录
tar -zxvf redis-3.2.8.tar.gz -C /root/dir #将文件解压到指定目录
2. 压缩
tar -c[z]vf 压缩文件 目录
tar -cvf test.tar /root/test #打包
tar -czvf test.tar.gz /root/test #打包并压缩
七. 文件查找
1. find
用于查找符合条件的文件
find -name 'ins*' #查找/目录下以文件名ins开头的文件
find -size +100M #查找/目录下文件大小大于100M的文件
2. grep
搜索 存在关键字的行
grep 关键字 文件名
搜索 存在关键字的行且显示行号
grep -n 关键字 文件名
忽略大小写搜索存在关键字的行
grep -i 关键字 文件名
搜索不存在关键字的行
grep -v 关键字 文件名
搜索以关键字开始的行或以关键字结尾的行
grep 正则 文件名
参数:^a 含义:行首,搜索以a开头的行
参数:b$ 含义:行尾,搜索以b结束的行
3. which
查看可执行文件的位置
which pwd #查找pwd命令的路径
八. 软件安装
1. yum
yum install zip
yun install unzip
2. 压缩文件 zip
zip -r 压缩后的文件名 需要压缩的文件
例子:
zip -r tt a.txt b.txt
3. 解压缩文件 unzip
unzip 要解压的文件名 [-d 解压缩后的存放路径]
例子:
unzip tt.zip -d tt/
4. wget进行文件下载
wget 下载网址,没有命令时需先安装命令
yum install wget
例子:
wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.29/mysql-connector-java-8.0.29.jar
5. ln
创建一个软连接,相当于windows中创建一个快捷方式
语法:ln -s 文件名 快捷方式名称
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?