Linux:文件增删 & 文件压缩指令

简介: Linux:文件增删 & 文件压缩指令

文件增删

touch指令

功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件

  • touch 文件名 ,直接创建一个文件:

第一次使用ll,发现当前是一个空目录。touch test.txt后,再次ll就多出了一个test.txt的文件。

  • touch 后面可以接多个文件名,同时创建多个文件:

常用选项

  • -a 或 --time=atime 或 --time=access 或 --time=use 只更改存取时间。
  • -c 或 --no-create 不建立任何文档。
  • -d 使用指定的日期时间,而非现在的时间。
  • -m 或 --time=mtime 或 --time=modify 只更改变动时间。
  • -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
  • -t 使用指定的日期时间,而非现在的时间

mkdir指令

功能:在当前目录下创建一个的目录

  • mkdir 目录名 直接创建一个空目录:

常用选项

-p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立

好那些尚不存在的目录,即一次可以建立多个目录

  • mkdir -p 一条路径,会创建一整条路径的目录:

此处用了一个指令tree,其可以以树形图的形式展示目录结构。


cp指令

功能:复制文件或目录

说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息

现在我们有如下目录结构:

目录dir1内部有三个文件,dir2是一个空目录。现在我们用cp指令吧三个文件复制到dir2

可以看到,我们成功把三个文件进行了拷贝。

常用选项

  • -r递归处理

假设我们现在有以下目录结构:

现在我们要把目录a以及其内部的三个文件一起复制到dir2中,直接cp试试看:

我们的指令执行失败了,这是因为a是一个内部有内容的目录结构,我们不能直接复制,而应该递归式地复制。

再次输入cp -r dir1/a dir2

这样我们就把a整个目录成功拷贝了过去。

其它选项:

  • -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在
  • -i 或 --interactive 覆盖文件之前先询问用户
  • -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理

rm指令

功能:删除文件或目录

语法: rm [-f-i-r-v][文件/目录名]

常用选项

  • -f 即使文件属性为只读(即写保护),亦直接删除
  • -i 删除前逐一询问确认
  • -r 删除目录及其下所有文件

我们经常使用rm -rf的组合,来强制删除目录和文件,但是这个操作非常危险,删除前要慎重考虑。


rmdir指令

rmdir是一个与mkdir相对应的命令。mkdir是建立目录,而rmdir是删除目录。

语法:rmdir [-p][dirName]

适用对象:具有当前目录操作权限的所有使用者

功能:删除空目录

常用选项:

  • -p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除

文件压缩

zip & unzip 指令

功能: 将目录或文件压缩成zip格式

语法: zip [压缩文件.zip] [目录或文件]

zip的末尾,可以选中多个文件,把他们放到同一个压缩包中:

我们通过zip test.zip file1 file2 file3把三个文件都压缩到了test.zip压缩包中,最后我们的目录结构中出现了一个test.zip压缩包

常用选项:

  • -r 递归处理,将指定目录下的所有文件和子目录一并处理

压缩后我们也需要解压缩,解压缩的指令是unzip,直接unzip 压缩包就可以解压一个压缩包了。

比如以下目录结构:

如果我们想要把test.zipdir2中解压,我们可以把test.zip移动到dir2中,然后直接unzip test.zip即可。

当然我们也有更便利的方法:

  • -d 解压到指定目录下

我们可以直接使用unzip dir1/test.zip -d dir2,来把dir1中的压缩文件,解压到dir2中:



tar指令

tar的功能比zip更强大,也更加常用。

其既可以解压,也可以压缩,还可以直接查看压缩包的内容

语法: tar [-cxtzjvf] 文件与目录 …

通过tar压缩的文件,以.tgz为后缀

常用选项

  • -c :建立一个压缩文件的参数指令(create 的意思);
  • -x :解开一个压缩文件的参数指令!
  • -t :查看 tarfile 里面的文件!
  • -z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
  • -j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
  • -v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
  • -f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
  • -C : 解压到指定目录

以上选项看似多而繁杂,我这里简单解释一下:

-c :创建一个压缩文件

-v : 显示压缩过程

-z :压缩算法(加上这个才能压缩/解压)

-f : 作为最后一个选项,后面跟着压缩后的文件名

-x :解压一个压缩文件

-d :压缩到指定目录

-C :解压到指定目录

我们常用:

tar -czf 压缩包.tgz 被压缩的文件来进行压缩:

如果你想看压缩过程,那么再加一个参数v,以tar -cvzf 压缩包.tgz 被压缩的文件来进行压缩:

这次压缩就显示了压缩过程:

想要解压缩,只需要把-z改为-x就可以了,即tar -xzf 压缩包.tgz,同理,可以加上-v显示解压过程:tar -xvzf 压缩包.tgz

另外就是tar指令最重要的功能,-t可以直接查看一个压缩包的内容:tar -tf 压缩包.tgz(注意不要漏掉f,f用于选中压缩包)

这样我们就可以在不解压压缩包的情况下,看到压缩包里面的内容了。

目录
打赏
0
0
0
0
38
分享
相关文章
|
4天前
|
Linux系统下快速批量创建和删除文件的方法
总的来说,使用shell脚本来批量处理文件是一种非常强大的工具,只要你愿意花时间学习和实践,你会发现它能大大提高你的工作效率。
43 19
|
28天前
|
Linux基础:文件和目录类命令分析。
总的来说,这些基础命令,像是Linux中藏匿的小矮人,每一次我们使用他们,他们就把我们的指令准确的传递给Linux,让我们的指令变为现实。所以,现在就开始你的Linux之旅,挥动你的命令之剑,探索这个充满神秘而又奇妙的世界吧!
71 19
|
20天前
|
利用PHP压缩音频:Linux环境下的ffmpeg简易安装指南
希望这个指南能为你的编程之旅提供帮助。只需记住,每一行代码都像音乐的音符,组合在一起,创造出美妙的旋律。祝你编程愉快!
67 6
|
1月前
|
Linux 常用文件查看命令
`cat` 命令用于连接文件并打印到标准输出,适用于快速查看和合并文本文件内容。常用示例包括:`cat file1.txt` 查看单个文件,`cat file1.txt file2.txt` 合并多个文件,`cat > filename` 创建新文件,`cat >> filename` 追加内容。`more` 和 `less` 命令用于分页查看文件,`tail` 命令则用于查看文件末尾内容,支持实时追踪日志更新,如 `tail -f file.log`。
63 5
Linux 常用文件查看命令
|
22天前
|
如何创建Linux交换文件?Linux交换文件最新创建方法
Swap是Linux中的虚拟内存空间,用于在物理内存不足时将非活动进程移至磁盘,从而优化活动进程的性能。通过创建交换文件(如1GB),可灵活调整交换空间而无需重新分区。步骤包括:使用`fallocate`或`dd`创建文件、设置权限 (`chmod 600`)、格式化 (`mkswap`)、启用交换 (`swapon`)、修改`/etc/fstab`以持久化配置,以及调整`vm.swappiness`值(默认60,建议从10开始)来平衡内存与交换的使用。最后通过`swapon -s`检查状态并重启生效。此方法适用于VPS和专用服务器,需以root用户操作。
46 2
Linux|Transfer.sh 轻松实现文件共享
Linux|Transfer.sh 轻松实现文件共享
46 2
Linux|Transfer.sh 轻松实现文件共享
【Linux】进程IO|系统调用|open|write|文件描述符fd|封装|理解一切皆文件
本文详细介绍了Linux中的进程IO与系统调用,包括 `open`、`write`、`read`和 `close`函数及其用法,解释了文件描述符(fd)的概念,并深入探讨了Linux中的“一切皆文件”思想。这种设计极大地简化了系统编程,使得处理不同类型的IO设备变得更加一致和简单。通过本文的学习,您应该能够更好地理解和应用Linux中的进程IO操作,提高系统编程的效率和能力。
122 34
linux怎么把文件传到docker里面
在现代应用开发中,Docker作为流行的虚拟化工具,广泛应用于微服务架构。文件传输到Docker容器是常见需求。常用方法包括:1) `docker cp`命令直接复制文件;2) 使用`-v`选项挂载宿主机目录,实现数据持久化和实时同步;3) 通过SCP/FTP协议传输文件;4) 在Dockerfile中构建镜像时添加文件。选择合适的方法并确保网络安全是关键。
189 1
|
2月前
|
Linux文件与目录的日常
目录的切换 一般使用(”pwd“)显示当前所在的目录 比如:当前目录是在home下面的,与用户名相同的文件夹,可以使用(”cd“)命令来切换目录; 进入下载目录(”cd home/a/下载“)这种从给目录开头的一长串路经”叫做绝对路径“; 进入图片目录(”cd .. /图片/“)".."代表当前路径的上级路径,相对于当前的目录而言的”叫做相对路径“,(”.“)代表当前路径; 如果,想快速切换,上一个所在目录可以(”cd - / cd..“); 如果,想快速切换,追原始的目录可以(”cd --“); 查看目录及文件
57 14
|
2月前
|
Linux压缩与解压“助手”
gzip压缩解压 因为都是系统自带的我们不需要安装; ls 看一下目录当前的文件,创建一个 touch 123.txt 文件; 原文件消失,压缩解压 gzip 进行压缩,(“ gzip 123.txt ”),这样就压缩完毕了; gzip 进行解压,(“ gzip -d 123.txt.gz”),这样就解压完毕了; 原文件保留,gzip -k 123.txt、gzip -dk 123.txt.gz ;
56 9
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等