Linux 基本系统

前言

  1. 既然已经知道了如何在文件系统中跳转,是时候开始 Linux 操作系统之旅了。
  2. 在开始之前,我们要先学习一些对研究 Linux 系统很有帮助的命令。
  • ls: 列出目录内容
  • file: 确定文件类型
  • less: 查看文件内容

ls 命令的乐趣

基本介绍

  1. 有充足的理由证明, ls 命令很可能是用户最常用的命令。
  2. 通过 ls 命令可以查看目录内容,确定各种重要文件和目录的属性。
  3. 我们已经看到,只需输入 ls 命令,即可查看当前工作目录中包含的一系列文件和子目录。
    1
    2
    [me@linuxbox ~]$ ls
    Desktop Documents Music Pictures Public Templates Videos
  4. 除了当前工作目录之外,我们还可以指定要显示的,如下所示。
    1
    2
    3
    [me@linuxbox ~]$ ls /usr
    bin games kerberos libexec sbin src
    etc include lib local share tmp
  5. 我们甚至可以指定多个目录。下面这个例子就列出了用户主目录(由符号 ~ 表示)和 /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
  6. 我们也可以改变输出格式来得到更多细节。
    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
  7. 在命令中加上 -l ,我们可以将输入以长格式显示。

选项和参数

  1. ls 选项和参数
  • 通常,命令后面跟有一个或多个选项,带有不同选项的命令其功能也不一样。
  • 此外,命令后面还会跟有一个或多个参数,这些参数是命令作用的对象。
  • 大部分命令看起来如右所示: command -options arguments
  • 大部分命令使用的选项是在单个字符前加上连字符,如 -l 。
  • 但是,很多命令,包括 GNU 项目里的命令,也支持在单字前加两个连字符的长选项。而且,很多命令也允许多个短选项串在一起使用。
  • 在下面的例子中, ls 命令包含了两个选项; l 选项产生长格式输出,而 t 选项则表示以文件修改时间的先后将结果进行排序。
    1
    [me@linuxbox ~]$ ls -lt
  • 加上长选项 --reverse ,则结果会以相反的顺序输出:
    1
    [me@linuxbox ~]$ ls -lt --reverse
  1. ls 常用选项
选项 长选项 含义
-a --all 列出所有文件,包括以点号开头的文件,这些文件通常是不列出来的(比如隐藏的文件)
-d --directory 通常,如果指定了一个目录,ls 命令会列出目录中的内容而不是目录本身。将此选项与 -l 选项结合使用,可查看目录的详细信息,而不是目录中的内容
-F --classify 选项会在每个所列出的名字后面加上类型指示符(例如,如果名字是目录名,则会加上一个斜杠)
-h --human-readable 以长格式列出,以人们可读的方式而不是字节数来显示文件大小
-l 使用长格式显示结果
-r --reverse 以相反的顺序显示结果。通常, ls 命令按照字母升序排列显示结果
-S 按文件大小对结果排序
-t 按修改时间排序

进一步了解长列表格式

  1. ls 长列表格式
字段 含义
-rw-r-r– 对文件的访问权限。第一个字符表示文件的类型。在不同类型之间,开头的 - 表示该文件是一个普通文件,d 表示目录。紧接着的三个字符表示文件所有者的访问权限,再接着的三个字符表示文件所有者访问权限,再接着的三个字符
1 文件硬链接数目
root 文件所有者的用户名
root 文件所属用户组的名称
32059 以字节数表示的文件大小
2012-04-03 11:05 上次修改文件的日期和时间
00-cd-cover.odf 文件名

使用 file 命令确定文件类型

  1. 在我们探索系统的过程中,知道文件包含的内容是非常有用的。为此,我们可以使用 file 命令来确定文件类型。
  2. Linux 系统中的文件名不需要反映文件的内容,我们可以这样调用 file 命令: file filename ,调用后, file 命令会打印文件内容的简短说明。
    1
    2
    [me@linuxbox ~]$ file picture.jpg
    picture.jpg: JPEG image data, JFIF standard 1.01
  3. 文件的种类有很多。事实上,在类 UNIX 操作系统中,有个普遍的观念是所有的东西都是一个文件。

使用 less 命令查看文件内容

  1. less 基本内容
  • less 命令是一种查看文本文件的程序,less 程序为我们查看文件提供方便。
  • less 命令的使用方式如右: less filename
  • 一旦运行起来,less 程序允许我们前后滚动文件。
  • 例如,想要查看定义了系统用户账户的文件,可输入下面命令。
    1
    [me@linuxbox ~]$ less /etc/passwd
  • 一旦 less 程序运行起来,我们就可查看文件内容。
  • 如果文件不止一页,可以上下滚动文件,按 Q 键可退出 less 程序。
  1. less 键盘命令
命令 功能
PAGE UP 或 b 后翻一页
PAGE DOWN 或 Space 前翻一页
向上箭头 向上一行
向下箭头 向下一行
G 跳转到文本文件的末尾
lG 或 g 跳转到文本文件的开头
/characters 向前查找指定的字符串
n 向前查找下一个出现的字符串,这个字符串是之前的所指定查找的
h 显示帮助屏幕
q 退出 less

快速浏览

  1. 基本介绍
  • 在 Linux 系统中,文件系统布局与其他类 UNIX 系统很相似。
  • 实际上,一个已经发布的名为 Linux 文件系统层次标准 (Linux Filesystem Hierarchy Standard) 的标准,已经详细阐述了这个设计。
  • 并不是所有 Linux 发行版都严格符合该标准,但大部分与之很接近。
  • 接下来,我们将通过对文件系统的探索来找到 Linux 系统的正常运行所依赖的基础,请尝试下面的步骤:
    • 使用 cd 命令进入一个给定的目录
    • 使用 ls -l 命令列出目录的内容
    • 如果看到一个感兴趣的文件,使用 file 命令确定文件内容
    • 如果文件看起来像一个文本,试着使用 less 命令浏览其内容
  1. 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. 基本介绍
  • 在浏览过程中,我们可能会看到带有如下条目的目录信息。
    1
    lrwxrwxrwx 1 root root 11 2012-08-11 07:34 libc.so.6 -> libc-2.6.so
  • 注意,该条目信息的第一个字母是 l ,这种特殊的文件叫做符号链接 (又称软链接或 symlink ) 。

参考文章

  • 转载:Linux 命令行大全