欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

shell 的一些常用的指令(二)

程序员文章站 2022-07-12 12:30:28
...

shell的一些常用指令(二)

四、操作文件系统

所用的指令概括:
  • cp — 复制文件和目录

  • mv — 移动/重命名文件和目录

  • mkdir — 创建目录

  • rm — 删除文件和目录

  • ln — 创建硬链接和符号链接

1 . cp - 复制文件

  • cp <filename>
  • 例如复制 1.txt文件,cp 1.txt
  • 复制 一个目录下的所有html的文件,用通配符* ,cp -u *.html destination

shell 的一些常用的指令(二)

2 . mv - 移动和重命名文件

任何一种 情况下,完成操作之后,原来的文件名不再存在。mv 使用方法与 cp 很相像

mv item1 item2

将item1重命名为item2,或者将tem1中的文件移动到item2 ,如果没有item2,就是创建一个,item1将会不存在
shell 的一些常用的指令(二)

3 . rm - 删除文件和目录

小贴士。 当你使用带有通配符的rm命令时(除了仔细检查输入的内容外), 先用 ls 命令来测试通配符。这会让你看到将要被删除的文件是什么。然后按下上箭头按键,重新调用 刚刚执行的命令,用 rm 替换 ls。rm 要谨慎使用,一旦删除就不能复原。

rm itemName

shell 的一些常用的指令(二)

shell 的一些常用的指令(二)

4 . ln - 创建链接

  • 创建硬链接
    shell 的一些常用的指令(二)

其中fun 是我们的数据原文件,fun-hard是我们的数据文件的硬链接名称
如何证明fun 和 fun-hard是同一个文件 ?
ls 命令有一种方法,来展示(文件索引节点)的信息。在命令中加上”-i”选项:

shell 的一些常用的指令(二)

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

  • 创建符号链接

建立符号链接的目的是为了克服硬链接的两个缺点:硬链接不能跨越物理设备, 硬链接不能关联目录,只能是文件。符号链接是文件的特殊类型,它包含一个指向 目标文件或目录的文本指针。

shell 的一些常用的指令(二)

第一个例子相当直接,在 ln 命令中,简单地加上”-s”选项就可以创建一个符号链接, 而不是一个硬链接。下面两个例子又是怎样呢? 记住,当我们创建一个符号链接 的时候,会建立一个目标文件在哪里和符号链接有关联的文本描述。如果我们看看 ls 命令的输出结果,比较容易理解。

shell 的一些常用的指令(二)

上一个的 fun-link 是 fun 的硬连接。

目录 dir1 中,fun-sym 的列表说明了它是一个符号链接,通过在第一字段中的首字符”l” 可知,并且它还指向”../fun”,也是正确的。相对于 fun-sym 的存储位置,fun 在它的 上一个目录。同时注意,符号链接文件的长度是6,这是字符串”../fun”所包含的字符数, 而不是符号链接所指向的文件长度。

当建立符号链接时,你既可以使用绝对路径名:
shell 的一些常用的指令(二)

也可用相对路径名,正如前面例题所展示的。使用相对路径名更令人满意, 因为它允许一个包含符号链接的目录重命名或移动,而不会破坏链接。

shell 的一些常用的指令(二)

shell 的一些常用的指令(二)

图片中的那个3,是fun 的链接数

五、使用命令

1 . type - 显示命令的类型

  • 例如显示 cp 命令的类型, 输入 $ type cp

shell 的一些常用的指令(二)

2 . help -帮助文档

  • help - 得到 shell 内建命令的帮助文档,例如
 help cd

shell 的一些常用的指令(二)

显示cd 的用法和可带的参数, | 表示这两个选项并列,只能选一个 ,例如cd -L, cd -P


  • help - 显示用法信息

许多可执行程序支持一个 –help 选项,这个选项是显示命令所支持的语法和选项说明。例如:
mkdir --help

shell 的一些常用的指令(二)

3 . man - 显示程序手册页

许多希望被命令行使用的可执行程序,提供了一个正式的文档,叫做手册或手册页(man page)。一个特殊的叫做 man 的分页程序,可用来浏览他们。它是这样使用的 man ls

man <要浏览的命令名>

4 . apropos - 显示适当的命令

也有可能搜索参考手册列表,基于某个关键字的匹配项。虽然很粗糙但有时很有用。 下面是一个以”floppy”为关键词来搜索参考手册的例子: apropos floppy

输出结果每行的第一个字段是手册页的名字,第二个字段展示章节。注意,man 命令加上”-k”选项, 和 apropos 完成一样的功能。

5 . 用别名(alias)创建你自己的命令

创建别名的时候,首先要看你创建的别名。是否在系统中已经存在了,加入测试test是否存在

使用type test
结果:
shell 的一些常用的指令(二)

小技巧:可以把多个命令放在同一行上,命令之间 用”;”分开。

foo还没有被占用,我们将 cd /usr; ls ;cd -; 这三条指令命名为foo

alias foo='cd /usr; ls; cd -;'

然后执行foo, 结果和执行上面三条语句一样

shell 的一些常用的指令(二)

我们也可以使用 type 命令来查看我们的别名:

shell 的一些常用的指令(二)

删除别名,使用 unalias 命令,像这样:

unalias foo

shell 的一些常用的指令(二)

注意 : 在命令行中定义别名有点儿小问题。当你的 shell 会话结束时,它们会消失。

参考链接:http://billie66.github.io/TLCL/book/index.html