03 处理文件

news/2024/11/28 22:56:23/

文章目录

    • 1 创建文件(touch命令)
    • 2 复制文件(cp命令)
      • 2.1 递归复制(-R参数)
      • 2.2 也可以在cp命令中使用通配符
    • 3 移动文件/重命名文件(mv命令)
    • 4 删除文件(rm命令)
      • 4.1 建议使用 -i 参数
      • 4.2 强制删除(-f 参数)
      • 4.3 递归删除(-r参数)

1 创建文件(touch命令)

可用touch命令轻松创建空文件。

[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ touch test_touch
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls
test_touch

ouch命令创建了你指定的新文件,并将你的用户名作为文件的属主。注意,文件的大小是零,因为touch命令只创建了一个空文件。

[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ll
total 0
-rw-rw-r-- 1 admin admin 0 Mar  8 13:11 test_touch

touch命令还可用来改变文件的修改时间。这个操作并不需要改变文件的内容:

[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls -l
total 0
-rw-rw-r-- 1 admin admin 0 Mar  8 13:11 test_touch  # 时间是13:11
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ touch test_touch
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls -l
total 0
-rw-rw-r-- 1 admin admin 0 Mar  8 13:15 test_touch # # 时间是13:15

touch命令如果使用-a 参数,则修改的只是访问时间

[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls -l
total 0
-rw-rw-r-- 1 admin admin 0 Mar  8 13:17 test_touch  # 时间是13:17
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ touch -a test_touch 
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls -l
total 0
-rw-rw-r-- 1 admin admin 0 Mar  8 13:17 test_touch # 时间还是13:17

如何查看文件的访问时间呢:ls 需要加入另外一个参数:–time=atime。

[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls -l --time=atime
total 0
-rw-rw-r-- 1 admin admin 0 Mar  8 13:18 test_touch  # 这时展示的就是文件的访问时间
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls -l 
total 0
-rw-rw-r-- 1 admin admin 0 Mar  8 13:17 test_touch # 默认展示的是文件的最近修改时间

2 复制文件(cp命令)

cp命令可以完成这个任务。

在最基本的用法里,cp命令需要两个参数——源对象和目标对象:

cp source destination

当source和destination参数都是文件名时,cp命令将源文件复制成一个新文件,并且以destination命名。新文件就像全新的文件一样,有新的修改时间。

如果目标文件已经存在,cp命令可能并不会提醒这一点。最好是加上-i选项,强制shell询问是否需要覆盖已有文件。

 cp -i  source destination

eg:

[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ cp source.txt source_copy.txt
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls
source_copy.txt  source.txt

2.1 递归复制(-R参数)

cp命令的-R参数威力强大。可以用它在一条命令中递归地复制整个目录的内容。

[admin@iZbp1hld5mqm15c6sdgqfkZ ~]$ ls
hello  
[admin@iZbp1hld5mqm15c6sdgqfkZ ~]$ cp -R hello/ hello2/
[admin@iZbp1hld5mqm15c6sdgqfkZ ~]$ ls
hello  hello2
[admin@iZbp1hld5mqm15c6sdgqfkZ ~]$ cd hello2
[admin@iZbp1hld5mqm15c6sdgqfkZ hello2]$ ls
source_copy.txt  source.txt  test_touch
[admin@iZbp1hld5mqm15c6sdgqfkZ hello2]$ cd ../hello
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls
source_copy.txt  source.txt  test_touch

起初当前这个目录是没有hello2这个目录的,通过cp -R,,整个hello目录中的内容都被复制到其中。注意,在新的hello2目录中,所有的文件都有对应的新日期。

2.2 也可以在cp命令中使用通配符

  • 问号(?)代表一个字符;
  • 星号(*)代表零个或多个字符
  • []: 指定候选字符
  • !: 表示去反,不包括

3 移动文件/重命名文件(mv命令)

在Linux中,重命名文件称为移动(moving)。mv命令可以将文件和目录移动到另一个位置或重新命名。

[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls -li
total 0
1055810 -rw-rw-r-- 1 admin admin 0 Mar 16 13:41 a.txt
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ mv a.txt b.txt
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls -li
total 0
1055810 -rw-rw-r-- 1 admin admin 0 Mar 16 13:41 b.txt

上面的mv a.txt b.txt这行命令,就把a.txt重命名为b.txt

也可以实现移动文件:将b.txt移动到上级目录:

[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ mv b.txt ../
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ ls
[admin@iZbp1hld5mqm15c6sdgqfkZ hello]$ cd ../
[admin@iZbp1hld5mqm15c6sdgqfkZ ~]$ ls
b.txt  hello  hello2

总结:

  • mv命令可以移动文件,如果在同目录移动文件,就是重命名操作,命令格式:
mv 源文件 目标文件
  • 但inode编号和时间戳保持不变。这是因为mv只影响文件名。

和cp命令类似,也可以在mv命令中使用-i参数。这样在命令试图覆盖已有的文件时,你就会得到提示。

4 删除文件(rm命令)

在Linux中,删除(deleting)叫作移除(removing)①。bash shell中删除文件的命令是rm。rm
命令的基本格式非常简单。

·基本格式:

rm targetFile

也可以使用通配符删除成组的文件

4.1 建议使用 -i 参数

-i命令参数提示你是不是要真的删除该文件。

bash shell中没有回收站或垃圾箱,文件
一旦删除,就无法再找回。因此,在使用rm命令时,要养成总是加入-i参数的好习惯。

rm -i targetFile

4.2 强制删除(-f 参数)

如果要删除很多文件且不受提示符的打扰,可以用-f参数强制删除。

rm -f targetFile

4.3 递归删除(-r参数)

参考这里


http://www.ppmy.cn/news/535591.html

相关文章

jenkins启动报:No such file or directory

新的jenkins服务器,自己配的maven,地址都是对的,就是在下载依赖的时候,报没有文件夹,如下 Non-resolvable parent POM for share.project:share-project:1.0.0-SNAPSHOT: Could not transfer artifact org.springfram…

termux怎么玩?

https://www.jianshu.com/p/f41bc63d4246 https://raw.githubusercontent.com/Neo-Oli/termux-ubuntu/master/ubuntu.sh chroot是个啥呀?这和虚拟Ubuntu啥子关系哦? https://www.ibm.com/developerworks/cn/linux/l-cn-chroot/ 那为啥我即使执行chroot命…

linux安装nodejs及服务部署(二)

一、安装nvm 1,下载 [rootizbp1b498epn4trb75oykez ~]# wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash2,编辑.bashrc文件 [rootizbp1b498epn4trb75oykez ~]# vi .bash_profile3,在配置文件最后加入…

8.25css笔记

CSS的基本概念 全称:Cascading Style Sheet 层叠样式表 选择器 标签: …之类的标签 使用方式:直接输入标签名 类 (class):class名字 使用方式:输入点class名 ID:ID名 使用方式:输入#id名 一…

云服务器部署企业版openGauss

openGauss 企业版安装 教程 1.下载安装包 在华为云上租一台服务器,操作系统选:openEuler 20.03 64bit (64-bit) 获取openGauss Server安装包,企业版:软件包链接 使用xshell连接服务器,准备软硬件安装环境(该装的依…

【numpy模块上}——数据分析01

目录索引 介绍:用处与特点:构成:导包:创建数组: numpy常用方法:常用属性查看:*获取秩的大小:**获取数组形状:**获取元素个数:**获取元素类型:**获…

迪赛智慧数——饼图(环形饼图):2022年618期间各品类销售额分布

效果图 2022年“618”全网成交额达6959亿元,较2021年增加了1174.20亿元,同比增长20.30%。“618”网购狂欢节首先是由京东发起的,京东618每年6月是京东的店庆月,2022年京东“618”成交额达3793亿元,较2021年增加了355亿…

Tik Tok 如何提高账户的活跃度和吸引力?

Tik Tok 是一款非常受欢迎的应用程序,它在全球范围内拥有大量的用户和创作者。Tik Tok 在人工智能技术方面投入了大量的资源,并且正在不断改进和扩展其人工智能技术。Tik Tok 正在不断扩展其业务,例如在音乐、视频制作等方面扩展。这表明 Tik…