Linux命令行-操作文件和目录

学习来源TLCL (billie66.github.io)

一、通配符

通配符

通配符

意义

*

匹配任意多个字符(包括零个或一个)

?

匹配任意一个字符(不包括零个)

[characters]

匹配任意一个属于字符集(characters)中的字符

[!characters]

匹配任意一个不是字符集中的字符

[[:class:]]

匹配任意一个属于指定字符类中的字符

普遍使用的字符类

字符类

意义

[:alnum:]

匹配任意一个字母或数字

[:alpha:]

匹配任意一个字母

[:digit:]

匹配任意一个数字

[:lower:]

匹配任意一个小写字母

[:upper:]

匹配任意一个大写字母

通配符范例

模式

匹配对象

*

所有文件

g*

文件名以“g”开头的文件

b*.txt

以"b"开头,中间有零个或任意多个字符,并以".txt"结尾的文件

Data???

以“Data”开头,其后紧接着3个字符的文件

[abc]*

文件名以"a","b",或"c"开头的文件

BACKUP.[0-9][0-9][0-9]

以"BACKUP."开头,并紧接着3个数字的文件

[[:upper:]]*

以大写字母开头的文件

[![:digit:]]*

不以数字开头的文件

*[[:lower:]123]

文件名以小写字母结尾,或以 “1”,“2”,或 “3” 结尾的文件

二、mkdir - 创建目录

mkdir directory...

在描述一个命令时(如上所示),当有三个圆点跟在一个命令的参数后面, 这意味着那个参数可以跟多个

mkdir dir1 dir2 dir3

会创建三个目录,名为 dir1, dir2, dir3。

三、cp - 复制文件和目录

cp item1 item2

一、复制单个文件或目录”item1”到文件或目录”item2”

cp item... directory

二、复制多个项目(文件或目录)到一个目录下。

cp 选项

选项

意义

-a, --archive

复制文件和目录,以及它们的属性,包括拥有者和所有权。 通常情况下,文件拷贝具有执行拷贝操作的用户的默认属性。

-i, --interactive

在覆盖已存在文件之前,提示用户确认。如果这个选项不指定, cp 命令会默认覆盖文件。

-r, --recursive

递归地复制目录及目录中的内容。当复制目录时, 需要这个选项(或者 -a 选项)。

-u, --update

当把文件从一个目录复制到另一个目录时,仅复制 目标目录中不存在的文件,或者是文件内容新于目标目录中已经存在文件的内容的文件。

-v, --verbose

显示翔实的命令操作信息

cp 实例

命令

运行结果

cp file1 file2

复制文件 file1 内容到文件 file2。如果 file2 已经存在, file2 的内容会被 file1 的内容覆盖。如果 file2 不存在,则会创建 file2。

cp -i file1 file2

这条命令和上面的命令一样,除了如果文件 file2 存在的话,在文件 file2 被覆盖之前, 会提示用户确认信息。

cp file1 file2 dir1

复制文件 file1 和文件 file2 到目录 dir1。目录 dir1 必须存在。

cp dir1/* dir2

使用一个通配符,在目录 dir1 中的所有文件都被复制到目录 dir2 中。 dir2 必须已经存在。

cp -r dir1 dir2

复制目录 dir1 中的内容到目录 dir2。如果目录 dir2 不存在, 创建目录 dir2,操作完成后,目录 dir2 中的内容和 dir1 中的一样。 如果目录 dir2 存在,则目录 dir1 (和目录中的内容)将会被复制到 dir2 中。

四、mv - 移动和重命名文件

mv item1 item2

一、把文件或目录 “item1” 移动或重命名为 “item2”, 或者:

mv item... directory

二、把一个或多个条目从一个目录移动到另一个目录中。

mv 选项

选项

意义

-i --interactive

在覆盖一个已经存在的文件之前,提示用户确认信息。 如果不指定这个选项,mv 命令会默认覆盖文件内容。

-u --update

当把文件从一个目录移动另一个目录时,只是移动不存在的文件, 或者文件内容新于目标目录相对应文件的内容的文件。

-v --verbose

当操作 mv 命令时,显示翔实的操作信息。

mv 实例

mv file1 file2

移动 file1 到 file2。如果 file2 存在,它的内容会被 file1 的内容覆盖。 如果 file2 不存在,则创建 file2。 这两种情况下,file1 都不再存在。

mv -i file1 file2

除了如果 file2 存在的话,在 file2 被覆盖之前,用户会得到 提示信息外,这个和上面的选项一样。

mv file1 file2 dir1

移动 file1 和 file2 到目录 dir1 中。dir1 必须已经存在。

mv dir1 dir2

如果目录 dir2 不存在,创建目录 dir2,并且移动目录 dir1 的内容到 目录 dir2 中,同时删除目录 dir1。如果目录 dir2 存在,移动目录 dir1(及它的内容)到目录 dir2。

五、rm - 删除文件和目录

rm item...

“item”代表一个或多个文件或目录。

rm 选项

选项

意义

-i, --interactive

在删除已存在的文件前,提示用户确认信息。 如果不指定这个选项,rm 会默默地删除文件

-r, --recursive

递归地删除文件,这意味着,如果要删除一个目录,而此目录 又包含子目录,那么子目录也会被删除。要删除一个目录,必须指定这个选项。

-f, --force

忽视不存在的文件,不显示提示信息。这选项覆盖了“--interactive”选项。

-v, --verbose

在执行 rm 命令时,显示翔实的操作信息。

rm 实例

命令

运行结果

rm file1

默默地删除文件

rm -i file1

除了在删除文件之前,提示用户确认信息之外,和上面的命令作用一样。

rm -r file1 dir1

删除文件 file1, 目录 dir1,及 dir1 中的内容。

rm -rf file1 dir1

同上,除了如果文件 file1,或目录 dir1 不存在的话,rm 仍会继续执行。

六、ln — 创建链接

一、创建硬链接
ln file link

当一个硬链接被删除时,这个链接 被删除,但是文件本身的内容仍然存在(这是说,它所占的磁盘空间不会被释放), 直到所有关联这个文件的链接都删除掉

ls 命令有一种方法,来展示(文件索引节点)的信息。在命令中加上”-i”选项:

[me@linuxbox playground]$ ls -li
total 16
12353539 drwxrwxr-x 2 me  me 4096  2008-01-14  16:17  dir1
12353540 drwxrwxr-x 2 me  me 4096  2008-01-14  16:17  dir2
12353538 -rw-r--r-- 4 me  me 1650  2008-01-10  16:33  fun
12353538 -rw-r--r-- 4 me  me 1650  2008-01-10  16:33  fun-hard

在这个版本的列表中,第一字段表示文件索引节点号,正如我们所见到的, fun 和 fun-hard 共享一样的索引节点号,这就证实这两个文件是同一个文件。

二、创建符号链接
ln -s item link

如果你往一个符号链接里面写入东西,那么相关联的文件也被写入。然而, 当你删除一个符号链接时,只有这个链接被删除,而不是文件自身。如果先于符号链接 删除文件,这个链接仍然存在,但是不指向任何东西。在这种情况下,这个链接被称为 坏链接

(对于符号链接,有一点值得记住,执行的大多数文件操作是针对链接的对象,而不是链接本身。 而 rm 命令是个特例。当你删除链接的时候,删除链接本身,而不是链接的对象。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值