本节将讨论最重要的命令。本章所列命令只是众多命令中的一小部分。 伴随各个命令列出了参数,并且适当的时候还给出了典型的示例应用程序。 有关各个命令的详细信息,请使用 man,并在后面键入命令名称来查看其手册页,例如 man ls。
在参考手册页中,用 PgUp 和 PgDn 可以上下移动。 用Home 和 End 可以切换显示文档的开头和结尾。 按 Q 可以结束这种查看模式。 使用 man man 可以了解有关 man 命令本身的更多信息。
下面的概述中使用不同的字体来表示各个命令元素。 实际命令及其必需选项始终显示为命令选项。 需要指定的内容或非必需参数均放在 [方括号] 中。
按需调整设置。 如果没有名称为 file 的文件存在,就不需要写入 ls file。 通常可以将几个参数组合起来,例如用 ls -la 来代替 ls -l -a。
下节将列出最重要的文件管理命令。 它包括从总体文件管理到文件系统 ACL 操纵的所有文件管理命令。
[options][files]如果运行 ls 时未附加任何参数,程序将以缩写格式列出当前目录中的内容。
-l
详细列表
-a
显示隐藏文件
[options]source target 将 source 复制到 target。
在覆盖现有 target 之前等待确认(如果需要)
递归复制(包含子目录)
[options]source target 将 source 复制到 target,然后删除原始 source。
在移动 source 之前创建该文件的备份副本
在覆盖现有 targetfile 之前等待确认(如果需要)
[options]files 从文件系统中删除指定文件。 除非使用选项 -r,否则不能使用 rm 删除目录。
-r
删除所有现有子目录
-i
在删除各个文件之前等待确认
[options]sourcetarget 创建从 source 到 target 的内部链接。 通常这种链接直接指向同一文件系统上的 source。 但是,如果执行带 -s 选项的 ln 命令,则可以创建一个符号链接,仅指向 source 所在的目录,支持跨文件系统的链接。
创建符号链接
[options][directory]更改当前目录。执行不带任何参数的 cd 命令将转到用户主目录。
[options]directory创建新目录。
[options]directory删除指定的目录(如果该目录已清空)。
[options] username[:[group]]files 将文件所有权转让给具有指定用户名的用户。
-R
更改所有子目录中的文件和目录
[options]groupnamefiles 将特定 file 的组所有权转让给具有指定组名的组。 如果文件拥有者既是当前组也是新组的成员,该拥有者只能转让组所有权。
[options]modefiles更改访问权限。
mode 参数有三部分:group、access 和 access type。组可接受以下字符:
用户
组
其他
对于 access,用 + 可以授予权限,用 - 可以拒绝授予权限。
access type 受以下选项控制:
读
写
执行 - 执行文件或切换到目录
设置 uid 位 — 就像由文件拥有者启动那样启动应用程序或程序。
也可以选择使用数字代码。 此代码的四位数字由值 4、 2 和 1 之和组成 - 即二进制掩码的十进制结果。 第一位设置“设置用户 ID (SUID) (4)”标志、“设置组 ID (2)”和粘滞 (1) 位。 第二位定义文件拥有者的权限。 第三位定义组成员的权限,最后一位设置其他所有用户的权限。 用 4 设置读权限,2 设置写权限,1 设置执行文件的权限。文件的拥有者通常都会收到 6 或 7,表示可执行文件。
[parameters]files 此程序使用复杂的数学算法压缩文件内容。 以这种方式压缩的文件的扩展名为 .gz,而且使用前需解压缩。 要压缩若干文件甚至是整个目录,请使用 tar 命令。
将打包的 gzip 文件解压缩,使其恢复原始大小,并且能够正常处理(类似命令 gunzip)
optionsarchivefilestar 将一个或多个文件放入档案。 压缩是可选操作。tar 是相当复杂的命令,可以附带若干选项。 最常用的选项如下:
-f
将输出结果写入文件,而不是按惯例显示在屏幕上
-c
创建新的 tar 档案
-r
将文件添加到现有档案中
-t
输出档案内容
-u
添加文件,但仅适用于文件比档案中已有的文件更新的情况
-x
将档案中的文件解包(抽取)
-z
用 gzip 将生成的档案打包
-j
用 bzip2 压缩生成的档案
-v
列出已处理的文件
由 tar 创建的档案文件以 .tar 结尾。 如果这个 tar 档案还使用 gzip 进行了压缩,则以 .tgz 或 .tar.gz 结尾。 如果是使用 bzip2 压缩的,则以 .tar.bz2 结尾。
patterns 只有在安装 findutils-locate 包后,此命令才可用。 使用 locate 命令可以查找指定文件所处的目录。 如果需要,可使用通配符来指定文件名。 该程序的速度非常快,因为它使用专为此目的创建的数据库(而不是搜索整个文件系统)。 但这一事实也导致了一个重大缺陷:locate 无法找到其数据库最近更新后创建的任何文件。以根用户身份使用 updatedb 可以生成该数据库。
[options] 此命令可以对 locate 使用的数据库进行更新。 要包含所有现有目录中的文件,请以根用户身份运行程序。 最好通过追加与号 (&) 令程序在后台运行,这样您就可以紧接着处理同一命令行 (updatedb &)。 此命令通常作为 daily cron 作业运行(请参见 cron.daily)。
[options]使用 find 可以在指定目录中搜索文件。 第一个参数指定搜索的起始目录。 选项 -name 后面必须紧跟搜索字符串,字符串中也可以包含通配符。 与使用数据库的 locate 不同,find 扫描的是实际目录。
[options]filescat 命令用于显示文件的内容,使用它可以将所有内容连续打印输出到屏幕上。
在左侧对输出编号
[options]files此命令可用于浏览指定文件的内容。 使用 PgUp 和 PgDn 可以向上或向下滚动半屏,使用 Space 可以向下滚动一整屏。 使用 Home 和 End 可以跳转至文件的开头和结尾。 按 Q 可以退出程序。
[options]searchstringfiles grep 命令用于在指定文件中查找特定的搜索字符串。 如果找到搜索字符串,该命令将显示找到的 searchstring 所在的行及文件名。
-i
忽略大小写
-H
只显示各个文件的名称,不显示文本行
-n
另外显示含有匹配项的行的编号
-l
只列出其中不含 searchstring 的文件
[options]file1file2diff 命令用于比较任意两个文件的内容。 该程序生成的输出将列出所有不匹配的行。 这是只需发送程序变更而不是全部源代码的编程人员经常使用的命令。
-q
只报告两个文件是否不同
-u
生成一个“统一”的 diff,从而增加输出的可读性。“”
[options][device]mountpoint使用此命令可以将任意数据介质(如硬盘、CD-ROM 驱动器和其他设备)装入 Linux 文件系统的某个目录。
-r
只读装入
-t filesystem
指定文件系统,通常包括:ext2(表示 Linux 硬盘)、msdos(表示 MS-DOS 介质)、vfat(表示 Windows 文件系统)、iso9660(表示 CD)。
对于没有在 /etc/fstab 中定义的硬盘,还须同时指定设备类型。 在这种情况下只能由根用户装入。 如果其他用户也应该能够装入文件系统,则应在 /etc/fstab 文件的对应行中输入选项 user(用逗号分隔多个用户),并保存所做更改。 有关详细信息,请参见 mount(1) 手册页。
[options] mountpoint 此命令可用于从文件系统中卸载装入的驱动器。 为防止数据丢失,请在将可移除的数据媒体从其所在驱动器中移除之前运行此命令。 通常只有根用户才能运行 mount 和 umount 命令。 要使其他用户也能运行这些命令,需编辑 /etc/fsstab 文件,以便为相应的驱动器指定选项 user。
下节列出了用于检索系统信息以及控制进程和网络的几个最重要的命令。
[options] [directory] df(可用磁盘)命令如不与任何选项一同使用,则可以显示磁盘空间总量、当前占用磁盘空间以及所有已装入驱动器上的可用空间等相关信息。 如果指定了目录,则只显示有关该目录所在的驱动器的信息。
-h
以用户可读的格式显示占用的块数(以 GB、MB 或 KB 为单位)
-T
文件系统的类型(ext2、nfs,等等)
[options] [path] 执行此命令时若不带任何参数,则可以显示当前目录中的文件和子目录所占用的磁盘空间总量。
-a
显示各个文件的大小
-h
以用户可读的格式输出
-s
仅显示计算的总大小
[options] free 命令用于显示有关占用 RAM 和交换空间的信息,可指明这两个类别中的空间总量和占用量。 有关更多信息,请参见第 19.1.6 节 “free 命令”。
-b
以字节为单位输出
-k
以 KB 为单位输出
-m
以 MB 为单位输出
[options] 这个简单程序可以显示当前系统时间。 如果以根用户身份运行,该程序也可用于更改系统时间。 有关该程序的详细信息,请参见 date(1) 手册页。
[options] top 提供有关当前运行的进程的快速概览。 按 H 键可访问一个页面,其中简要说明了用于自定义该程序的主要选项。
[options] [process ID] 如果运行时未指定任何选项,此命令将显示一个表,其中包含您已经启动的所有程序或进程。 此命令的选项前不带连字符。
显示所有进程的详细列表,不区分拥有者
[options] process ID 有时程序并不能正常终止。 多数情况下,通过在执行 kill 命令时指定相应的进程 ID 就应能够停止此类异常程序(请参阅 top 和 ps)。kill 将发送 TERM 信号,指示程序自行关闭。 如果仍无效,可使用以下参数:
发送一个 KILL 信号而不是 TERM 信号,这将在几乎所有情况下终止指定的进程。
[options] processname 此命令类似 kill,但它使用进程名(而不是进程 ID)作为参数,可以取消具有该名称的所有进程。
[options] 主机名或 IP 地址 ping 命令是用于测试 TCP/IP 网络基本功能的标准工具。 它可以向目标主机发送一个小的数据包,请求立即回复。 如果发送有效,ping 将据此显示一条消息,指明网络链接基本有效。
-c 编号
确定要发送的包总数,并且在发送这些包后终止(默认情况下未设置任何限制)。
-f
flood ping:发送尽可能多的数据包;这是为 root 用户保留的用于测试网络的常用方法
-i 值
指定发送两个数据包之间的时间间隔(默认值:1 秒)。
域名系统将域名解析为 IP 地址。 使用此工具可以将查询发送到名称服务器(DNS 服务器)。
[options] 主机名或 IP 地址 [port] Telnet 实际上是一种因特网协议,能支持您跨网络在远程主机上操作。telnet 同时也是一个 Linux 程序的名称,该程序使用此协议支持远程计算机上的操作。
![]() | 警告 |
|---|---|
切勿在第三方可能“窃听的网络上使用 Telnet。”特别是在因特网上,请使用 ssh 之类的加密传送方法,避免恶意使用密码(请参阅有关 ssh 的参考手册页)。 | |
[options] [username] 用户可以使用此命令随时更改自己的密码。 root 用户管理员可以使用该命令更改系统中任意用户的密码。
[options] [username] 使用 su 命令可在当前正在运行的会话中以其他用户名登录。 指定用户名和相应的密码。 采用 root 用户身份时无需提供密码,因为根用户有权采用任意用户的身份。 在未指定用户名的情况下使用该命令时,系统将提示您输入根用户密码并切换到超级用户(根用户)。
-
使用 su - 可为另一个用户启动登录 shell
[options] 为避免丢失数据,您应该始终使用此程序关闭系统。
[options] 与 halt 的操作相同,只不过系统会立即重引导。
此命令用于清空控制台中的可见区域。 该命令不带选项。