1、移动文件跟目录
作用
主要有两个作用
- 文件或目录改名
- 将文件或目录移入其它位置
语法
mv [选项] 资源文件或者目录 目标文件
说明
格式 | 说明 |
---|---|
mv 文件名 文件名 | 对文件重命名 |
mv 文件名 目录名 | 将文件移动到目标目录 |
mv 目录名 目录名 | 1. 目标目录已存在,将源目录移动到目标目录 2. 目标目录不存在则改名 |
选项
选项 | 说明 |
---|---|
i | 若指定目录已有同名文件,则先询问是否覆盖旧文件 |
f | 在mv操作要覆盖某已有的目标文件时不给任何指示 |
b | 如果文件或者文件夹存在,备份以存在的文件 |
栗子
文件重命名
# 将文件 1.txt 更名为 2.txt :
➜ touch 1.txt
➜ mv 1.txt 2.txt
➜ ls
2.txt
将文件移动的目录下
# 创建test 和test1目录
➜ mkdir test
➜ mkdir test1
# 查看当前目录下的目录和文件
➜ ls
2.txt test test1
# 切换到test目录
➜ cd test
# 创建文件
touch hello
# hello文件移动到上一级目录下的test1目录下
➜ mv hello ../test1
# 查看test1目录
➜ ls ../test1
hello.java
目录的移动
➜ mv test test1
➜ ls
test1
# 讲test移动到当前目录
➜ mv test1/test/ ./
如果目标目录不存在,将目录改名;否则将移动到目标目录中
➜ touch -p target/1.txt
➜ ls
target test test1
➜ mv target/ hello
➜ ls
2.txt hello test test1
➜
强制询问覆盖
➜ mkdir target
➜ ls
hello target test test1
➜ touch target/1.txt
➜ touch 1.txt
➜ ls
1.txt hello target test test1
➜ mv 1.txt/ target
mv: cannot overwrite non-directory 'target/1.txt' with directory '1.txt/'
➜ mv -i 1.txt target
mv: overwrite 'target/1.txt'? # 1. 输入 y表示覆盖 2.直接回车不覆盖
# 或者强制覆盖 ➜ mv -f 1.txt target
文件被覆盖前做简单备份,前面加参数-b
➜ mv -b 1.txt target
➜ ls
2.txt hello target test test1
➜ ls target
1.txt 1.txt~
2、打包/压缩/解压缩
作用
打包是一般是将文件夹打包成一个文件,压缩是打包的时候对文件进行压缩,一般用于和打包命令一起使用
语法
tar [选项] [文件,目录]
选项
选项 | 说明 |
---|---|
-c | 打包 不能跟-x一起使用 |
-x | 解包 不能跟c一起使用 |
-t | 查看内容 |
-r | 向压缩归档文件末尾追加文件 |
-u | 更新原压缩包中的文件 |
辅助选项
选项 | 说明 |
---|---|
-z(重点) | 使用gzip压缩 |
-j | 使用bz2压缩 |
-Z | 使用compress压缩 |
-v | 显示所有过程 |
-C | 解压到指定目录 |
必要选项
选项 | 说明 |
---|---|
-f | 这个参数必须是最后一个参数,后面只能接压缩包的名称 |
栗子
# 1.target打成一个名为target.tar的包。-c是表示创建,-f指定包的文件名。
tar -cf target.tar target
# 2.将所有.log的文件增加到target.tar的包里面去。-r表示追加文件。
tar -rf target.tar *.log
# 3.更新hello.png到all.tar中,
tar -uf target.tar hello.png
# 4.解出target.tar包中所有文件到当前目录,-x是解开包
tar -xf target.tar
# 5.使用 gzip压缩
tar -zcf target.tar.gz target
# 6.解压
tar -zxf target.tar.gz
# 压缩到指定目录 如果不加-C默认解压到当前目录
tar -zxf target.tar.zip -C /home/test/hello
网友评论