TranslateProject/published/20140702 Command Line Tuesdays--Part Three.md
2014-07-14 21:50:30 +08:00

5.5 KiB
Raw Blame History

命令行星期二 —— 第三篇

今天肖茨先生将带领我们游历文件系统的第一部分。我们将学到如何访问、列出目录内的文件以及首次介绍一些选项的运用。OK让我们开始学习这周的第一个命令。

ls

ls 是一个用来列出目录内文件的命令。通过添加选项来实现多种不同的用途。简单起见,你可以只需键入 ls 。但是,你也可以在命令后面添加一个选项,它会帮助你修饰你的命令。如果你想要随意摆弄一些信息时,这会帮到你的。举例来说,当你要从一个命令的大量输出中找寻指定信息,你可以用选项缩小范围来实现。

这就是选项的基础概念。我们可以用下面书写格式表示:

command(命令) -option(选项) argument(参数)

命令,恩...,我们可以输入 pwd、 ls 或者我们到目前为止所有学过的命令。

以上我们已经阐述了选项的目的。但是我们需要注意一下书写格式:在前头添加一个破折号。所以,如果选项为 l, 你需要在命令后键入**-l**。

参数是一个命令的操作对象(在这个例子中,它是一个目录,我们将会学到如何浏览它们)。

接着,让我们尝试在主目录里尝试用 ls 命令列出 /etc 目录内容。这次我们先不添加选项。

就这样,列出了一大堆的文件。它们还根据颜色进行了分类。蓝色的是目录,白色的为普通文件,绿色的似乎是某种 shell 脚本文件。除此之外,还有其他不同的颜色来代表不同的文件类型。

接下来,你可以在刚才的命令里添加 -l 选项。添加选项 -l 后也会列出同样的文件和目录,但是以长格式方式输出。如果你需要查看更多信息的话,这个选项将是不错的选择。

长格式

这样,用了长格式后,你可以看到更详细的信息,以及在每行开头类似-rw-r--r-- 令人抓狂的标示。实际上,这只是一种组合,代表了各种意义的信息。

(File Name)就是文件的名称。Modification time是文件最后修改的时间。(Size) 用 byte 计量的文件大小。(Group) 是组的名称,和拥有者一起构成文件权限。(Owner) 是文件拥有者的名称。最最重要的…

###…文件权限 ###

文件权限在长格式每一行的开端都显得非常的杂乱。第一个字符代表文件类型。如果是 'd' , 意味着它是一个目录。如果是 '-' , 意味着它是一个一般文件。接下来的三个字符分别代表拥有者的可读, 可写 ,可执行的权限。再接着三个字符表示组成员的享有的文件权限,而最后三个字符表示其他人(既不是拥有者也不是同组)对文件的享有权限。

例如,如果有个文件在长格式下显示为:-rw-r--r--, 这说明这是个普通文件(首字符 '-'),拥有者享有可读可写权限,但是没有可执行权限,导致拥有者无法执行该文件(首字符'-'后'rw-'),用户组和其他用户只享有可读权限(你不难发现'r--'字段在后面出现了两次 。如果用户组是 'rwx' 而不是 'r-',则意味着它们可读,可写,可执行)。

ls 的下个选项是 ls -la .. -a 它会列出所有的文件,包括隐藏文件。在通常情况下,隐藏文件是不可见的。用长格式列出当前工作目录下的父目录的所有文件。

less

less 是一个可以显示你的文本文件的命令。举例来说,你要在 /etc 下找寻名为 os-release 的文本文件。你可以使用 ls /etc 成功实现,而现在你想要阅读它的内容。

你只需要使用 less /etc/os-release。

..就这样了。

你要如何控制 less 呢?

简单的, 你只需要动动键盘就行了!

less 一次只会显示一个页面的文本。往前翻页你需要按 Page Up, 或者 'b'。往后翻页你可以按Page Down, 或者 空格。大写的G会跳转到文本的末尾,1G会跳转到文本的开端。/字符会在文本内搜索指定字符(例如,如果你输入 /suse ,它会找寻所有文本含有的 suse 并标记出来。n 会重复执行你的搜索,h会显示所有的选项h即帮助的意思

按q退出 less 命令。

file

file 会显示文件的类型,是否是你要找的 ASCII 文本,还是 jpg 图片bash 脚本等。让我们用 /etc/os-release 执行练习。

这样如你所见os-release 是一个 ASCII 文本文件。 请尝试其他文件,并观察结果。

下回见了,记住…

…一定要玩的开心啊!


via: https://news.opensuse.org/2014/07/01/command-line-tuesdays-part-three/

译者:Luoxcat 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出