第三章 Linux 基本系统
Linux 基本系统
前言
- 既然已经知道了如何在文件系统中跳转,是时候开始 Linux 操作系统之旅了。
- 在开始之前,我们要先学习一些对研究 Linux 系统很有帮助的命令。
- ls: 列出目录内容
- file: 确定文件类型
- less: 查看文件内容
ls 命令的乐趣
基本介绍
- 有充足的理由证明, ls 命令很可能是用户最常用的命令。
- 通过 ls 命令可以查看目录内容,确定各种重要文件和目录的属性。
- 我们已经看到,只需输入 ls 命令,即可查看当前工作目录中包含的一系列文件和子目录。
1
2[me@linuxbox ~]$ ls
Desktop Documents Music Pictures Public Templates Videos - 除了当前工作目录之外,我们还可以指定要显示的,如下所示。
1
2
3[me@linuxbox ~]$ ls /usr
bin games kerberos libexec sbin src
etc include lib local share tmp - 我们甚至可以指定多个目录。下面这个例子就列出了用户主目录(由符号 ~ 表示)和 /usr 目录的内容。
1
2
3
4
5
6[me@linuxbox ~]$ ls ~ /usr
/home/me:
Desktop Documents Music Pictures Public Templates Videos
/usr:
bin games kerberos libexec sbin src
etc include lib local share tmp - 我们也可以改变输出格式来得到更多细节。
1
2
3
4
5
6
7
8
9[me@linuxbox ~]$ ls -l
total 56
drwxrwxr-x 2 me me 4096 2012-10-26 17:20 Desktop
drwxrwxr-x 2 me me 4096 2012-10-26 17:20 Documents
drwxrwxr-x 2 me me 4096 2012-10-26 17:20 Music
drwxrwxr-x 2 me me 4096 2012-10-26 17:20 Pictures
drwxrwxr-x 2 me me 4096 2012-10-26 17:20 Public
drwxrwxr-x 2 me me 4096 2012-10-26 17:20 Templates
drwxrwxr-x 2 me me 4096 2012-10-26 17:20 Videos - 在命令中加上 -l ,我们可以将输入以长格式显示。
选项和参数
- ls 选项和参数
- 通常,命令后面跟有一个或多个选项,带有不同选项的命令其功能也不一样。
- 此外,命令后面还会跟有一个或多个参数,这些参数是命令作用的对象。
- 大部分命令看起来如右所示: command -options arguments
- 大部分命令使用的选项是在单个字符前加上连字符,如 -l 。
- 但是,很多命令,包括 GNU 项目里的命令,也支持在单字前加两个连字符的长选项。而且,很多命令也允许多个短选项串在一起使用。
- 在下面的例子中, ls 命令包含了两个选项; l 选项产生长格式输出,而 t 选项则表示以文件修改时间的先后将结果进行排序。
1
[me@linuxbox ~]$ ls -lt
- 加上长选项 --reverse ,则结果会以相反的顺序输出:
1
[me@linuxbox ~]$ ls -lt --reverse
- ls 常用选项
选项 | 长选项 | 含义 |
---|---|---|
-a | --all | 列出所有文件,包括以点号开头的文件,这些文件通常是不列出来的(比如隐藏的文件) |
-d | --directory | 通常,如果指定了一个目录,ls 命令会列出目录中的内容而不是目录本身。将此选项与 -l 选项结合使用,可查看目录的详细信息,而不是目录中的内容 |
-F | --classify | 选项会在每个所列出的名字后面加上类型指示符(例如,如果名字是目录名,则会加上一个斜杠) |
-h | --human-readable | 以长格式列出,以人们可读的方式而不是字节数来显示文件大小 |
-l | 使用长格式显示结果 | |
-r | --reverse | 以相反的顺序显示结果。通常, ls 命令按照字母升序排列显示结果 |
-S | 按文件大小对结果排序 | |
-t | 按修改时间排序 |
进一步了解长列表格式
- ls 长列表格式
字段 | 含义 |
---|---|
-rw-r-r– | 对文件的访问权限。第一个字符表示文件的类型。在不同类型之间,开头的 - 表示该文件是一个普通文件,d 表示目录。紧接着的三个字符表示文件所有者的访问权限,再接着的三个字符表示文件所有者访问权限,再接着的三个字符 |
1 | 文件硬链接数目 |
root | 文件所有者的用户名 |
root | 文件所属用户组的名称 |
32059 | 以字节数表示的文件大小 |
2012-04-03 11:05 | 上次修改文件的日期和时间 |
00-cd-cover.odf | 文件名 |
使用 file 命令确定文件类型
- 在我们探索系统的过程中,知道文件包含的内容是非常有用的。为此,我们可以使用 file 命令来确定文件类型。
- Linux 系统中的文件名不需要反映文件的内容,我们可以这样调用 file 命令: file filename ,调用后, file 命令会打印文件内容的简短说明。
1
2[me@linuxbox ~]$ file picture.jpg
picture.jpg: JPEG image data, JFIF standard 1.01 - 文件的种类有很多。事实上,在类 UNIX 操作系统中,有个普遍的观念是所有的东西都是一个文件。
使用 less 命令查看文件内容
- less 基本内容
- less 命令是一种查看文本文件的程序,less 程序为我们查看文件提供方便。
- less 命令的使用方式如右: less filename
- 一旦运行起来,less 程序允许我们前后滚动文件。
- 例如,想要查看定义了系统用户账户的文件,可输入下面命令。
1
[me@linuxbox ~]$ less /etc/passwd
- 一旦 less 程序运行起来,我们就可查看文件内容。
- 如果文件不止一页,可以上下滚动文件,按 Q 键可退出 less 程序。
- less 键盘命令
命令 | 功能 |
---|---|
PAGE UP 或 b | 后翻一页 |
PAGE DOWN 或 Space | 前翻一页 |
向上箭头 | 向上一行 |
向下箭头 | 向下一行 |
G | 跳转到文本文件的末尾 |
lG 或 g | 跳转到文本文件的开头 |
/characters | 向前查找指定的字符串 |
n | 向前查找下一个出现的字符串,这个字符串是之前的所指定查找的 |
h | 显示帮助屏幕 |
q | 退出 less |
快速浏览
- 基本介绍
- 在 Linux 系统中,文件系统布局与其他类 UNIX 系统很相似。
- 实际上,一个已经发布的名为 Linux 文件系统层次标准 (Linux Filesystem Hierarchy Standard) 的标准,已经详细阐述了这个设计。
- 并不是所有 Linux 发行版都严格符合该标准,但大部分与之很接近。
- 接下来,我们将通过对文件系统的探索来找到 Linux 系统的正常运行所依赖的基础,请尝试下面的步骤:
- 使用 cd 命令进入一个给定的目录
- 使用 ls -l 命令列出目录的内容
- 如果看到一个感兴趣的文件,使用 file 命令确定文件内容
- 如果文件看起来像一个文本,试着使用 less 命令浏览其内容
- Linux 基本目录
目录 | 内容 |
---|---|
/ | 根目录,一切从这里开始 |
/bin | 包含系统启动和运行所必需的二进制文件、包含 Linux 内核、最初的 RAM 磁盘映像(系统启动时,驱动程序会用到),以及启动加载程序 |
/boot | 有趣的文件:/boot/grub/grub.conf 或 menu.lst,/boot/vmlinuz,Linux 内核 |
/dev | 这是一个包含设备节点的特殊目录。把一切当成文件也适用于设备,内核将它能够识别的所有设备存放在这个目录 |
/etc | /etc 目录包含了所有系统层面的配置文件,同时也包含了一系列 shell 脚本,系统每次启动时,这些 shell 脚本都会打开每个系统服务。该目录中包含的内容都应该是可读的文本文件。 |
/home | 在通常的配置中,每个用户都会在 /home 目录中拥有一个属于自己的目录。普通用户只能在自己的主目录中创建文件。这一限制可以保护系统免遭错误的用户行为的破坏。 |
/lib | 包含核心程序系统使用的共享库文件。这与 Windows 系统中的 DLL 类似 |
/lost+found | 每个使用 Linux 文件系统的格式化分区或设备,例如 ext3 文件系统,都会有这个目录。当文件系统崩溃时,该目录用于恢复分区。除非系统真的发生很严重的问题,否则这个目录一直是空的。 |
/media | 在现代 Linux 系统中,/media 目录包含可移除媒体设备的挂载点。比如 USB 驱动、CD-ROM 等。这些设备在插入计算机后,会自动挂载到这个目录节点下。 |
/mnt | 在早期 Linux 系统中,/mnt 目录包含手动挂载的可移除设备的挂接点 |
/opt | /opt 目录用来安装其他可选的软件。主要用来存放可能安装在系统中的商业软件 |
/proc | /proc 目录很特殊。从文件的角度来说,它不是存储在硬盘中的真正的文件系统,反而是一个 Linux 内核维护的虚拟文件系统。它包含的文件是内核的窥视孔。该文件是可读的,从中可以看到内核是如何监管计算机的 |
/root | root 账户的主目录 |
/sbin | 该目录放置系统二进制文件。这些程序执行重要的系统任务,这些任务通常是为超级用户预留的。 |
/tmp | /tmp 是供用户存放各类程序创建的临时文件的目录。某些配置使得每次系统重启时会清空该目录 |
/usr | /usr 目录可能是 Linux 系统中最大的目录树。它包含普通用户使用的所有程序和相关文件 |
/usr/bin | /usr/bin 目录中放置了一些 Linux 发行版本安装的可执行程序。该目录通常会存储成千上万个程序 |
/usr/lib | /usr/bin 目录中的程序使用的共享库 |
/usr/local | 这个 /usr/local 目录是并非系统发行版自带,但却打算让系统使用的程序的安装目录。由源代码编译好的程序通常安装在 /usr/local/bin 中,在一个新安装的 Linux 系统中,就存在这么一个目录。但却是空目录,直到系统管理员向其添加内容。 |
/usr/sbin | 包含更多的系统管理程序 |
/usr/share | /usr/share 目录里包含 /usr/bin 中的程序所使用的的全部共享数据,这包括默认配置文件、图标、屏幕背景、音频文件等 |
/usr/share/doc | 安装在系统中的大部分程序包包含一些文档文件。在 /usr/share/doc 中,文档文件是按照软件包来组织分类的。 |
/var | 除了 /tmp 和 /home 目录之外,目前看到目录相对来说都是静态的;也就是说,其包含的内容是不变的。而那些可能改变的数据存储在 /var 目录树里。各种数据库、假脱机文件、用户邮件等都存储在这里 |
/var/log | /var/log 目录包含的日志文件,记录了各种系统活动。这些文件非常重要,并且应该时不时监控它们。其中最有用的文件是 /var/log/messages 。注意,为了安全起见,在一些系统里,必须是超级用户才能查看日志文件 |
符号链接
- 基本介绍
- 在浏览过程中,我们可能会看到带有如下条目的目录信息。
1
lrwxrwxrwx 1 root root 11 2012-08-11 07:34 libc.so.6 -> libc-2.6.so
- 注意,该条目信息的第一个字母是 l ,这种特殊的文件叫做符号链接 (又称软链接或 symlink ) 。
参考文章
- 转载:Linux 命令行大全
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Comment
TwikooGitalk