首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux | 像Windows一样,复制移动重命名等操作

Linux | 像Windows一样,复制移动重命名等操作

作者头像
LogicPanda
发布2018-08-30 11:41:20
5.9K0
发布2018-08-30 11:41:20
举报

撰文编辑:LogicPanda | 图片:来自截图

欢迎朋友圈各种姿势的分享

如需转载,请后台联系授权

前言

为了方便和提高效率,小编这几天更换了演示环境。

现在的演示环境为:

操作系统:VMware14+Ubuntu Server16.04LTS

SSH工具:Xshell+Xmanager+Xftp

截图工具:FSCapture8.9

- 正文 -

-01-

补充前文目录操作的内容

小编在上一篇文章中讲到Linux下的目录操作,一共讲了三个命令,分别是cd、ls、和pwd。但是这里有个问题,既然目录就是文件夹,那么,怎样新建或者删除文件夹,也就是新建或删除一个目录呢?

这就是今天的第一个内容创建和删除目录:mkdir和rmdir

用Xshell登录到Ubuntu,直接跳到家目录,在这里使用ls可以看到此目录下是空的。

首先我们看一下如何使用这两个命令:

我们可以看到多出来了一个目录。然后又没有了。

就是这么简单,对于初学者来说,这就足够了。

-02-

如何复制文件和目录

Linux复制文件和目录使用的命令是cp,即copy的缩写。

为了演示cp的用法,我们在这里创建一个新的文件。给它命名为demo。

然后使用cp命令,从这里就可以看出Linux和Windows的区别了,我们使用Windows的时候,是怎样?右键—复制—粘贴。

这里呢?cp filename filenewname

diff命令是一个用来比较两个文件是否相同的命令,因为没有任何结果打印到屏幕上,所以两个文件是相同的。然后我们在看两个文件创建的时间,一分钟之内。

那么这里再提一个问题,如果filename和filenewname如果相同会怎样呢?会提示你两个文件是相同的。

那么我们知道如何复制文件了,那么如何复制目录呢?

首先,这里试图创建一个和文件demo同名的目录,但是报错了?

这说明什么,在同一个目录下,不能包文件和目录不能重名。

然后创建了Demo目录,如果直接使用cp,会提示这是一个目录,这说明,cp不能直接对目录使用。

接下来给它加上了一个-r选项,复制成功。

那么如果想把demo文件复制到Demo目录下呢?

这个时候可以直接使用cp,就可以复制到demo目录下了。

使用man,可以查看cp的用法。这里列举几个常用的。

-d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录;
-f:强行复制文件或目录,不论目标文件或目录是否已存在;
-i:覆盖既有文件之前先询问用户;
-l:对源文件建立硬连接,而非复制文件;
-p:保留源文件或目录的属性;
-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;
-s:对源文件建立符号连接,而非复制文件;
-u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件;
-S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;
-b:覆盖已存在的文件目标前将目标文件备份;
-v:详细显示命令执行的操作。

-03-

mv | 移动,重名

移动文件和目录,使用的命令是mv,也就是move的缩写。

关于mv,有一个特殊之处在于,它除了移动文件或者目录,还负责给文件或者目录重命名。

此时demo1变成了demodemo

那么如何移动目录以及给目录重命名呢?

这个时候mv的用法如下。

这里列举几条常用选项。

--backup=<备份模式>:若需覆盖文件,则覆盖前先行备份;
-b:当文件存在时,覆盖前,为其创建一个备份;
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。
--strip-trailing-slashes:删除源文件中的斜杠“/”;
-S<后缀>:为备份文件指定后缀,而不使用默认的后缀;
--target-directory=<目录>:指定源文件要移动到目标目录;
-u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

-04-

删除不需要的东西 | rm

删除文件或目录,使用的命令是rm,即remove的缩写。移除不需要的东西。

下面我们来试试移除目录。

直接使用rm移除目录的话,会提示这是一个目录,不允许删除,可是当我们使用rmdir的时候呢,发现空的目录可以直接删除,但是非空的目录会有提示。

这就需要使用rm 的-r选项,删除一个非空的目录。

这里再列举几个常用的选项。

-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
--preserve-root:不对根目录进行递归操作;
-v:显示指令的详细执行过程。

按:删除有风险,rm需谨慎。

-05-

总结

今天讲述了5个常用的Linux命令。

mkdir、rmdir、cp、mv、rm

分别完成与Window对应的功能

创建目录(新建文件夹),删除目录(删除文件夹),复制、移动、粘贴、删除等。

-06-

问答

1、

问:如果想要批量管理怎么办?

答:使用这则表达式,或者把文件名一个一个打上去。关于正则表达式后边会说。

2、

问:你前言说的那些个东西是什么?

答:请看下一模块,题外话。

3、

问:-f卵用?

答:有些文件或者目录,有保护或者比较重要系统会提示,这个时候如果你心意已决,可以使用-f让提示信息滚蛋。

4、

问:删除的文件怎么找回?

答:找不回来啦,所以养成爱备份的好习惯。

5、

问:如果复制或移动的目录有同名文件怎么办?

答:会覆盖掉,所以复制和移动也要谨慎啊。

-07-

题外话 | 搭建Linux学习环境

简单说一说我现在用的这个东西。

1、下载VMware14,关于这个东西,有问题可以私戳我。

2、然后从官网下载一个Ubunt Server 16.04LTS

3、安装的时候按照提示走,选择安装模式的时候,选择第二项,会检测出是Ubuntu Server 16.04LTS,然后就可以使用简易安装了,so_easy

4、关于Xshell是这个样子,这样的ssh远程登录软件还有很多。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 逻辑熊猫带你玩Python 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档