美文网首页
Ubuntu终端中的文件操作

Ubuntu终端中的文件操作

作者: vvaa01 | 来源:发表于2018-09-27 20:00 被阅读0次

文件操作

在Windows等平台中,经常会用到的文件操作有复制、剪切、删除等,在桌面环境中进行这些操作,通常需要使用鼠标右键的快捷功能。而在终端中,显然是无法使用鼠标完成这些任务的,在终端中同样是使用命令来实现文件的这些操作,而且效率会更高。

复制文件:cp命令

cp(copy)命令通常是用来进行文件复制的,除了文件复制以外,也可以进行快捷方式的创建等操作。

#复制tedu_1.txt文件为tedu_cp.txt
#cp命令最简单的使用方法至少需要一个源文件和目标文件
#tedu_1.txt为源文件,也就是需要复制的文件
#tedu_cp.txt为目标文件,也就是复制之后产生的新文件
os@DESKTOP-2DHQBVS:~$ cp tedu_1.txt tedu_cp.txt
#使用ls命令进行查看,并使用grep命令进行筛选,可以看到该文件复制成功
os@DESKTOP-2DHQBVS:~$ ls -l | grep tedu_cp
-rw-rw-rw- 1 os os  0 Sep 27 15:33 tedu_cp.txt

上述示例中实现了文件的复制操作,需要注意的是,上述示例中cp命令只是复制了文件的内容,并没有复制文件的属性,而文件的属性,尤其是权限相关的属性往往关系到该文件复制之后是否仍然可用。
上述示例中复制之后的文件修改时间属性和原文件的修改时间并不相同,cp命令只是重新创建了一个文件,所以目标文件的修改时间就是cp命令执行之后的时间。
cp命令提供了-p选项来完成属性的复制。

#使用ls -l命令进行文件属性的查看,可以看出源文件和目标文件的修改时间并不相同
os@DESKTOP-2DHQBVS:~$ ls -l
total 0
-rw-rw-rw- 1 os os  0 Sep 26 15:09 tedu_1.txt
-rw-rw-rw- 1 os os  0 Sep 27 15:33 tedu_cp.txt
#使用-p选项进行文件复制
os@DESKTOP-2DHQBVS:~$ cp -p tedu_1.txt tedu_4.txt
#使用ls命令进行查看,修改时间源文件和目标文件是相同的,可见文件属性已经复制成功
os@DESKTOP-2DHQBVS:~$ ls -l
total 0
-rw-rw-rw- 1 os os  0 Sep 26 15:09 tedu_1.txt
-rw-rw-rw- 1 os os  0 Sep 26 15:09 tedu_4.txt
-rw-rw-rw- 1 os os  0 Sep 27 15:33 tedu_cp.txt

除了复制文件外,cp命令还可以为源文件创建快捷方式,使用的是-s选项。

#为源文件创建符号链接(即快捷方式)
os@tedu:~$ cp -s tedu_cp.txt tedu_cp_2.txt
#可见符号链接创建成功,且其指向源文件
os@tedu:~$ ls -l | grep tedu_cp
-rw-r--r-- 1 os os    0 8月   4 13:17 tedu_cp_1.txt
lrwxrwxrwx 1 os os   11 8月   4 13:19 tedu_cp_2.txt -> tedu_cp.txt
-rw-r--r-- 1 os os    0 8月   4 13:16 tedu_cp.txt

移动文件:mv命令

移动操作类似于Windows平台的“剪切、粘贴”操作,可以将文件从一个地方移动到另一个地方,Linux平台的mv指令除最基础的移动功能外,还提供了一些其他的命令选项,常用选项如下所示。

#新建测试文件
os@tedu:~$ touch tedu_mv.txt
#当前目录中有一个名为tedu_mv.txt的文件
os@tedu:~$ ls | grep mv
 tedu_mv.txt 
#移动tedu_mv.txt文件到tedu文件夹下
os@tedu:~$ mv tedu_mv.txt tedu
#可以看到文件已经移动到了tedu文件夹下
os@tedu:~$ ls tedu | grep mv
tedu_mv.txt

默认情况下,当目标路径中已经存在同名文件时,mv命令会直接覆盖,很明显,这会产生一些误操作,为了防止这种情况出现,mv命令提供了-i选项来进行覆盖提醒。

#使用mv命令-i选项移动文件时会提示是否覆盖
#再次新建同名文件
os@tedu:~$ touch tedu_mv.txt
#再次移动该文件到tedu文件夹下,注意添加-i选项
#-i选项的目的是如果有同名文件,则询问用户是否覆盖
os@tedu:~$ mv -i tedu_mv.txt tedu
#输入n,则不覆盖并放弃移动
#输入y,则继续执行移动操作并覆盖目标文件
mv:是否覆盖'tedu/tedu_mv.txt'? n

上述示例中实现了覆盖时的提醒,当移动过程中重名文件较多时,每次都要提示会比较繁琐,此时可以直接使用-b选项对目标文件进行备份,之后在备份目标文件后再进行移动。

#再次尝试移动tedu_mv.txt文件到tedu文件夹下,注意添加-b选项
#-b选项的作用是目标文件与源文件同名时,并不询问是否覆盖,而是在备份目标文件后直接移动
os@tedu:~$ mv -b tedu_mv.txt tedu
#可以看到目标文件的文件名被更改为tedu_mv.txt~,源文件移动成功
os@tedu:~$ ls tedu | grep mv
tedu_mv.txt  
tedu_mv.txt~ 

相关文章

  • Ubuntu终端中的文件操作

    文件操作 在Windows等平台中,经常会用到的文件操作有复制、剪切、删除等,在桌面环境中进行这些操作,通常需要使...

  • 003.Ubuntu终端常用的快捷键【Python教程】

    Ubuntu终端常用的快捷键 Ubuntu中的许多操作在终端(Terminal)中十分的快捷,记住一些快捷键的操作...

  • Ubuntu常用命令键

    Ubuntu终端常用的快捷键 Ubuntu中的许多操作在终端(Terminal)中十分的快捷,记住一些快捷键的操作...

  • ubuntu终端常用的快捷键

    Ubuntu终端常用的快捷键 Ubuntu中的许多操作在终端(Terminal)中十分的快捷,记住一些快捷键的操作...

  • Ubuntu终端中的目录操作

    相对于文件的一些操作,目录的操作要简单的多,一般就包含创建、复制、移动、删除等这几项。这一节内容主要就是简单介绍这...

  • Ubuntu终端中的文件搜索

    搜索文件 和新建文件类似的,在终端中提供了多种方式进行文件的搜索,常用的也是三种方式。 which命令对于whic...

  • Ubuntu终端操作

    2018-08-02 终端快捷键 快捷键 终端分屏 分屏 终端美化 装机必备软件界面美化 https://blog...

  • Ubuntu终端中的文件内容显示

    文件内容显示 前面已经说过了文件的创建、操作等命令及方法,除去这些以外,最重要的其实还是文件的查看,如果每个文件的...

  • 框架 | Docker | 2.容器命令

    启动容器(交互模式) -i: 交互式操作。-t: 终端。ubuntu: ubuntu镜像。/bin/bash:放在...

  • 修改ubuntu终端ls显示各文件颜色

    使用xshell终端操作Linux是各种类型文件都是白色的看上去非常不方便,在此记录修改方法。 我的ubuntu下...

网友评论

      本文标题:Ubuntu终端中的文件操作

      本文链接:https://www.haomeiwen.com/subject/sqbeoftx.html