第 2 部 分 操 作 系 统 命 令 及 shell 编 程 第 7 章 Linux 基 本 命 令 7.1 Linux 的 登 录 和 退 出 7.2 文 件 命 令 7.3 目 录 和 层 次 命 令 7.4 查 找 命 令 7.5 目 录 和 文 件 安 全 性 7.6 磁 盘 存 储 命 令 7.7 进 程 命 令 7.8 联 机 帮 助 命 令 7.9 小 结 习 题 本 章 介 绍 Linux 基 本 的 交 互 实 用 程 序, 包 括 登 录 和 退 出, 文 件 命 令, 目 录 和 层 次 命 令, 查 找 命 令, 目 录 和 文 件 安 全 性, 磁 盘 存 储 命 令, 进 程 命 令, 联 机 帮 助 命 令 没 有 列 出 的 命 令 请 通 过 联 机 帮 助 命 令 获 取, 通 过 这 些 实 用 程 序 的 学 习, 使 读 者 进 一 步 理 解 Linux 系 统 7.1 Linux 的 登 录 和 退 出 1. 启 动 Linux 系 统 启 动 Linux 系 统 需 要 的 过 程 可 能 和 其 他 操 作 系 统 有 点 不 同 如 果 计 算 机 没 有 安 装 其 他 操 作 系 统, 只 需 接 通 电 源, 等 待 数 秒 后 将 看 到 计 算 机 显 示 LILO, 然 后 系 统 再 暂 停 一 会, 接 着 会 继 续 显 示 各 种 启 动 信 息 但 是, 如 果 让 Linux 和 其 他 操 作 系 统 共 享 一 台 计 算 机, 就 必 须 执 行 以 下 任 务 : 在 LILO 提 示 下 选 择 Linux( 如 果 设 置 的 名 称 是 Linux) 如 果 安 装 了 LILO, 并 为 包 含 其 他 操 作 系 统 的 分 区 标 注 了 启 动 标 记, 计 算 机 就 被 设 置 成 多 重 引 导 这 就 意 味 着 可 以 在 LILO Boot: 提 示 符 下 输 入 想 引 导 的 操 作 系 统 的 名 称 如 果 在 LILO 提 示 下 按 Tab 键, 会 看 到 LILO 可 以 引 导 的 操 作 系 统 的 清 单 选 择 Linux, 就 可 以 运 行 了 使 用 传 统 的 DOS 操 作 系 统 时, 只 要 打 开 电 源, 等 待 主 机 从 软 盘 或 硬 盘 启 动 即 可, 当 出 现 C> 时, 表 明 系 统 已 成 功 启 动, 可 以 在 C> 后 运 行 各 种 命 令 了 但 Linux 系 统 却 没 这 么 简 单 当 从 硬 盘 或 软 盘 引 导 Linux 时, 将 在 系 统 控 制 台 上 打 印 大 量 信 息, 表 明 启 动 的 整 个 过 程 这 些 信 息 将 分 别 存 放 在 /var/log/syslog 和 /var/log/messages 等 文 件 中 这 些 信 息 对 于 事 后 分 析 系 统 的 启 动 过 程 有 着 重 要 的 作 用 大 量 信 息 打 印 完, 最 后 出 现 login 提 示 符 2. 登 录 Linux 系 统 我 们 对 系 统 的 使 用 都 是 从 登 录 开 始 的 首 先 要 求 使 用 者 必 须 拥 有 一 个 合 法 的 个 人 账 号, 只 有 系 统 认 可 了 的 账 号, 才 会 获 得 系 统 的 使 用 权 系 统 有 两 种 用 户 : 超 级 用 户 root 和 一 般 用 户 当 机 器 启 动 完 毕 后, 将 看 到 以 下 类 似 的 信 息 : XLinux release 1.0 Kernel 2.2.12-4XL on an i686 login: 从 最 后 一 行 可 以 看 出, 现 在 可 以 登 录 了 第 一 次 登 录 Linux 系 统 必 须 以 超 级 用 户 root 身 份 登 录 这 个 账 号 对 系 统 的 一 切 拥 有 完 全 的 控 制 权 限 通 常 用 root 账 号 进 行 系 统 管 理 及 维 护, 包 括 建 立 新 的 用 户 账 号, 启 动 关 闭 后 备 及 恢 复 系 统 等 因 为 root 的 权 限 不 受 限 制, 一 旦 误 操 作 可 能 会 导 致 不 可 预 料 的 后 果, 所 以 在 以 root 身 份 登 录 时, 必 须 格 外 小 心, 并 且 只 有 在 必 须 时 才 用 root 登 录 如 果 是 系 统 管 理 员 或 者 独 自 拥 有 这 台 机 器, 就 可 以 用 超 级 用 户 登 录 登 录 的 方 式 是 在 系 统 提 示 符 后 键 入 root, login:root Password: 1
键 入 root 账 号 后, 按 下 回 车 键, 然 后 在 系 统 提 示 Password 后 输 入 超 级 用 户 的 密 码 系 统 将 验 证 输 入 的 用 户 名 和 密 码 是 否 正 确, 若 正 确, 会 出 现 如 下 提 示 : [root@ xlinux /root] # 这 表 明 已 经 进 入 系 统, 此 处 的 # 符 号 是 超 级 用 户 的 系 统 提 示 符, 而 普 通 用 户 的 提 示 符 是 $ 如 果 密 码 输 入 错 误, 将 出 现 如 下 提 示 : Login incorrect 稍 后, 又 会 出 现 login:, 要 求 重 新 输 入 用 户 名 注 意, 这 里 输 入 的 密 码 并 不 在 屏 幕 上 回 显, 这 样 独 特 的 设 计 同 样 是 为 了 安 全 的 需 要, 以 免 旁 边 的 人 轻 易 地 看 到 密 码 正 像 在 Windows 中 输 入 密 码 使 用 * 显 示 一 样, 它 有 效 地 保 护 了 密 码, 维 护 了 系 统 的 安 全 性 普 通 用 户 登 录 时, 过 程 相 似 例 如, 有 个 用 户 zhang, 登 录 如 下 : XLinux release 1.0g Kernel 2.2.12-4XL on an i686 login:zhang Password: 密 码 正 确 后 将 出 现 如 下 提 示 : [zhang@ xlinux zhang]$ 一 旦 注 册 进 入 系 统 后, 可 以 用 passwd 命 令 来 修 改 密 码 这 时 系 统 会 询 问 当 前 的 密 码, 然 后 是 新 密 码 : [zhang@xlinux zhang]$ passwd Changing password for zhang (current) UNIX password: New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully [zhang@ xlinux zhang]$ 与 root 不 同 的 是, 这 里 的 提 示 符 是 $ 提 示 符 的 不 同 只 是 系 统 对 不 同 级 别 用 户 的 一 种 标 识, 有 时 使 用 了 不 同 shell 程 序 的 用 户 的 提 示 符 也 不 相 同 进 入 系 统 后, 就 可 以 执 行 各 种 任 务 了 3. 退 出 Linux 系 统 当 用 户 执 行 完 各 种 操 作 后, 就 要 及 时 退 出 系 统, 这 是 一 个 良 好 的 习 惯, 即 使 是 暂 时 离 开 机 器 也 同 样 如 此 退 出 的 操 作 很 简 单, 只 需 键 入 下 面 的 命 令 即 可 : [zhang@ xlinux zhang]$exit 在 提 示 符 $ 后 键 入 命 令 exit 后 回 车 即 可 退 出 系 统, 重 新 出 现 login 提 示 符 有 的 系 统 中 用 logout, 或 按 下 Ctrl+d 也 能 退 出 或 注 销 用 户, 但 我 们 推 荐 使 用 exit 命 令 4. 重 新 启 动 和 关 闭 系 统 有 时 在 对 系 统 的 某 一 配 置 做 了 修 改 以 后, 或 者 安 装 了 新 的 软 件, 需 要 重 新 启 动 才 能 使 所 做 的 修 改 生 效, 这 时 就 要 用 到 重 新 启 动 命 令 reboot, 它 需 要 超 级 用 户 的 权 限 进 入 超 级 用 户 后, 命 令 如 下 : [root@ xlinux /root] #reboot 键 入 reboot 命 令 后 回 车, 系 统 将 重 新 启 动 还 有 一 种 重 新 启 动 的 方 法 是 不 需 要 先 进 入 超 级 用 户, 在 login 状 态 下, 同 时 按 下 Ctrl+Alt+Del 键, 系 统 同 样 可 以 重 新 启 动, 这 就 是 所 说 的 热 启 动 当 做 完 所 有 的 工 作 后, 我 们 就 要 关 闭 系 统 了, 这 时 切 不 可 直 接 关 掉 电 源, 一 定 要 首 先 执 行 关 闭 系 统 命 令 此 命 令 的 执 行 同 样 要 在 超 级 用 户 下 执 行, 命 令 如 下 : [root@ xlinux /root] #halt 关 闭 系 统 命 令 是 halt, 有 的 系 统 可 能 是 haltsys, 不 同 的 版 本 可 能 稍 有 差 别, 这 可 以 参 照 不 同 版 本 的 说 明 书 其 实, 一 般 的 关 闭 系 统 命 令 是 shutdown, 它 的 具 体 用 法 将 在 以 后 详 述 5. 为 什 么 使 用 关 闭 系 统 命 令 如 前 所 述,Linux 在 内 存 中 缓 冲 了 磁 盘 读 写 通 常, 对 磁 盘 同 一 个 块 的 多 次 读 写 可 能 实 际 上 是 对 RAM (Random Access Memory) 的 操 作, 这 极 大 地 提 高 了 系 统 的 性 能, 但 是, 如 果 出 现 意 外 情 况, 如 突 然 掉 电 或 者 机 器 重 启 动, 内 存 缓 冲 区 中 的 数 据 将 不 能 写 进 硬 盘, 造 成 数 据 丢 失 所 以, 为 防 止 这 种 无 谓 的 损 失, 大 多 数 系 统 都 采 取 了 补 救 措 施, 由 2
/etc/rc.d/rc.s 或 rc.sysinit 启 动 的 /sbin/update 程 序 每 30 秒 钟 把 缓 冲 区 的 内 容 写 入 磁 盘 这 在 一 定 程 度 上 保 证 了 数 据 的 及 时 写 盘 但 为 了 安 全 起 见, 在 系 统 结 束 运 行 前 仍 需 有 一 个 安 全 的 关 闭 这 不 仅 能 保 证 磁 盘 缓 冲 区 正 确 地 同 步, 而 且 可 以 让 所 有 正 在 执 行 的 进 程 正 常 地 退 出 7.2 文 件 命 令 在 Linux 系 统 中, 几 乎 所 有 内 容 包 括 文 档 命 令 设 备 和 目 录 等 都 组 织 成 文 件 的 形 式, 用 文 件 来 管 理, 常 用 的 文 件 命 令 有 : 1. cat more less 命 令 (1) cat 命 令 功 能 : 显 示 文 本 文 件 内 容 语 法 : cat 文 件 名 称 范 例 : $cat file1 显 示 file1 的 内 容 $cat file1 file2 > file3 把 file1 和 file2 的 内 容 输 入 到 file3 中 (2) more 命 令 功 能 : 一 次 以 一 个 page 显 示 语 法 : more 文 件 名 称 描 述 : 通 常 在 看 一 篇 很 长 的 文 件 时 都 希 望 是 从 头 看 到 尾, 在 Linux 中,more 命 令 可 以 以 一 个 page 为 单 位 来 浏 览 文 件 当 使 用 more 时, 可 看 到 屏 幕 的 左 下 方 有 一 个 --more-- 的 信 息, 这 时 若 按 下 回 车 键, 则 会 显 示 下 一 行 ; 若 按 下 空 格 键, 则 会 显 示 下 一 个 page (3) less 命 令 功 能 : 与 more 命 令 相 似, 一 次 以 一 个 page 显 示, 可 以 前 翻 后 翻 语 法 : less 文 件 名 称 描 述 : 若 按 下 空 格 键, 则 会 显 示 下 一 个 page, 按 下 回 车 键 则 一 行 行 地 下 翻, 按 下 b 键 往 上 翻 一 页 相 关 命 令 :zless 2. ls 命 令 命 令 名 称 : ls 功 能 : 查 看 目 录 及 文 件 语 法 : ls 描 述 :ls 命 令 用 来 浏 览 文 件 与 目 录, 这 个 动 作 相 当 于 DOS 中 的 dir 命 令 ls -l- -rwxr--r-1 root dba 65520 Jan 29 1998 profile1 -rw-r r--1 root dba 103614 Jan 29 1999 services 这 里 大 家 看 到 的 -rw r--r 是 文 件 的 许 可 权 限,r 是 读 权 限,w 是 写 权 限,x 是 执 行 权 限 3. cp 命 令 命 令 名 称 : cp 功 能 : 拷 贝 文 件 语 法 :cp 文 件 目 的 地 描 述 : 其 实 cp 的 语 法 与 DOS 的 copy 语 法 大 致 相 同 须 注 意 的 是, 在 使 用 cp 时 一 定 要 有 目 的 地 才 行, 在 DOS 中 做 copy 时, 有 时 可 省 略 目 的 地, 但 在 Linux 中 就 无 法 这 样 做 在 cp 中 也 可 以 使 用 通 配 符, 像 *? 等, 例 如, 我 们 要 将 root 目 录 内 的 所 有 文 件, 但 不 包 括 隐 藏 文 件, 拷 贝 至 根 目 录 下 的 temp 内, 其 命 令 为 : #cp /root/* /temp 若 要 拷 贝 所 有 小 写 字 母 开 头 的 隐 藏 文 件, 其 命 令 为 : #cp /root/.[a-z]* /temp 3
4. rm 命 令 命 令 名 称 : rm 功 能 : 删 除 文 件 语 法 :rm 文 件 描 述 :rm 与 DOS 的 del 命 令 有 些 类 似 之 处, 不 同 的 是,rm 功 能 的 强 大 与 其 相 对 杀 伤 力 远 不 是 DOS 的 del 可 以 相 比 只 要 是 文 件, 不 管 是 否 隐 藏, 或 是 文 件 使 用 权 限 设 置 成 只 读,rm 皆 可 删 除, 在 此 要 注 意 的 是 已 删 除 的 文 件 是 无 法 恢 复 的, 所 以 在 使 用 rm 时 要 特 别 小 心 例 如, 我 们 删 除 temp 目 录 下 的 file1 文 件, 可 用 :$cd temp;rm file1 在 Linux 中 要 一 次 键 入 两 个 不 同 的 命 令 时, 只 需 在 命 令 与 命 令 之 间 加 上 分 号 即 可, 这 样 Linux 便 会 依 照 排 列 的 先 后 次 序 来 执 行, 在 本 例 中, 会 先 执 行 cd temp, 再 执 行 rm file1 5. mv 命 令 命 令 名 称 : mv 功 能 : 文 件 更 名 或 搬 移 语 法 : mv 文 件 名 称 搬 移 的 目 的 地 ( 或 更 改 的 新 名 ) 描 述 : 有 的 时 候 我 们 会 做 文 件 更 名 的 操 作, 或 是 移 动 文 件 其 实 文 件 更 名 与 移 动 文 件 的 操 作 原 理 是 一 样 的, 差 别 只 是 路 径 的 不 同 mv 命 令 通 常 被 用 来 移 动 文 件, 例 如, 把 现 在 所 在 的 目 录 中 的 netscape 文 件 移 到 /usr 内, 可 用 : $mv netscape /usr 相 关 的 命 令 还 有 :touch,file,diff 等 7.3 目 录 和 层 次 命 令 同 dos/windows 操 作 系 统 一 样, 在 linux 系 统 中 文 件 也 是 按 目 录 保 存 在 一 个 树 形 目 录 层 次 结 构 中 的, 目 录 层 次 的 顶 部 是 根 目 录, 使 用 符 号 / 常 用 的 目 录 和 层 次 命 令 包 括 : 1. pwd 命 令 命 令 名 称 : pwd 功 能 : 显 示 当 前 工 作 目 录 语 法 :pwd 描 述 :pwd 命 令 显 示 当 前 目 录 在 文 件 系 统 层 次 中 的 位 置 2. cd 命 令 命 令 名 称 : cd 功 能 : 切 换 目 录 语 法 :cd 目 录 名 称 描 述 :cd 除 了 有 切 换 目 录 的 功 能 外, 还 有 一 个 功 能 就 是 不 管 在 哪 个 目 录 内, 只 要 输 入 cd 命 令 不 用 接 任 何 参 数, 就 可 回 到 用 户 目 录 (home directory) 内 3. mkdir rmdir 命 令 命 令 名 称 : mkdir/rmdir 功 能 : 创 建 目 录 和 删 除 目 录 语 法 : mkdir 目 录 名 称 rmdir 目 录 名 称 描 述 : 在 Linux 中 用 mkdir 命 令, 后 面 输 入 欲 创 建 的 目 录 名 即 可 在 当 前 目 录 中 建 立 一 个 新 目 录, 用 rmdir 并 指 定 欲 删 除 的 目 录 即 可 删 除 指 定 的 目 录, 操 作 方 法 与 DOS 中 的 md rd 是 完 全 相 同 的, 差 别 只 是 命 令 的 名 称 不 同 而 已 另 外, 在 使 用 rmdir 时, 要 确 保 该 目 录 内 已 无 任 何 文 件 存 在, 否 则 该 命 令 不 成 功 4
4. cp 命 令 命 令 名 称 : cp 功 能 : 带 目 录 拷 贝 语 法 :cp -r 目 录 目 的 目 录 描 述 : 假 如 要 拷 贝 一 个 目 录, 但 该 目 录 内 还 有 好 多 个 子 目 录 的 话, 可 以 使 用 选 择 项 -r, 来 拷 贝 目 录 内 的 子 目 录 及 文 件, 并 且 在 拷 贝 时 会 自 动 建 立 目 录, 而 此 功 能 就 相 当 于 DOS 内 的 xcopy 例 如, 要 将 root 目 录 内 的 所 有 文 件 ( 包 括 目 录 ), 但 不 包 括 隐 藏 文 件, 拷 贝 至 根 目 录 下 的 temp 内, 其 作 法 为 : #cp -r /root/* /temp 若 要 拷 贝 所 有 小 写 字 母 开 头 隐 藏 文 件 ( 包 括 隐 藏 目 录 ) 的 话, 其 作 法 为 : #cp -r /root/.[a-z]* /temp 5. rm 命 令 命 令 名 称 : rm 功 能 : 删 除 目 录 语 法 :rm -r 目 录 描 述 : 选 择 项 -r, 与 cp 中 的 -r 有 类 似 的 功 能, 它 指 在 删 除 目 录 的 同 时 一 并 删 除 目 录 内 的 子 目 录 及 文 件, 这 个 功 能 相 当 于 DOS 中 的 deltree 功 能, 通 常 在 使 用 deltree 时 会 有 提 示 信 息, 但 在 Linux 中 使 用 rm 没 有 任 何 的 提 示 信 息, 值 得 注 意 的 是 已 删 除 的 文 件 是 无 法 挽 救 回 来 的, 所 以 在 使 用 rm 时 要 特 别 小 心 当 某 个 目 录 不 再 需 要, 例 如, 要 删 除 temp 目 录, 可 以 用 下 面 的 命 令 : #rm -r /temp 6. mv 命 令 命 令 名 称 : mv 功 能 : 目 录 更 名 或 搬 移 语 法 : mv 目 录 名 称 搬 移 的 目 的 地 ( 或 更 改 的 新 名 ) 描 述 : 有 的 时 候 需 要 做 目 录 更 名 的 操 作, 或 是 移 动 目 录 目 录 更 名 与 移 动 目 录 操 作 原 理 是 一 样 的, 差 别 只 是 路 径 的 不 同 例 如, 要 把 现 在 所 在 的 目 录 中 的 user1 目 录 移 到 /home 内, 可 用 : #mv user1 /home 7.4 查 找 命 令 1. find 命 令 命 令 名 称 : find 功 能 : 搜 寻 文 件 与 目 录 语 法 :find 目 录 名 选 项 常 用 选 项 有 : -name filename 按 名 字 查 找 -type x 查 找 类 型 为 x 的 文 件 (x 包 括 :b,c,d,f, l 等 ) user username 查 找 属 主 为 username 的 文 件 -atime n 查 找 n 天 以 前 被 访 问 过 的 文 件 -mtime n 查 找 n 天 以 前 被 修 改 过 的 文 件 -cmin n 查 找 n 分 钟 以 前 被 修 改 过 的 文 件 -exec cmd {} 对 查 找 出 来 的 文 件 执 行 cmd 命 令,{} 表 示 找 到 的 文 件, 命 令 要 以 \\; 结 束 范 例 如 下 : $find /home/lin -name hash 在 /home/lin 目 录 下 找 寻 名 为 hash 的 文 件 $find / -name fs* -print 从 / 根 目 录 开 始 搜 寻 所 有 以 fs 开 头 的 文 件, 然 后 用 参 数 -print 印 出 符 合 条 件 的 文 件 路 径 $find. -name *.c -exec rm-f{ }\\; 表 示 在 用 户 当 前 的 目 录, 搜 寻 所 有 以.c 为 结 尾 的 文 件 名 *.c, 然 后 用 参 数 -exec 执 行 rm-f{ }\\; 删 除 全 部 以.c 结 尾 的 文 件 ( 注 意 大 括 号 里 面 没 有 空 格 ) 相 关 的 查 找 命 令 还 有 :locate,whereis 2. grep 命 令 命 令 名 称 : grep 功 能 : 在 文 件 中 查 找 字 符 串 语 法 :grep 字 符 串 文 件 名 范 例 如 下 : $grep tigger file1 在 file1 文 件 中 找 寻 tigger 字 符 串 5
$grep "big tigger" file1 在 file1 文 件 中 找 寻 big tigger 字 符 串 另 外,grep 命 令 还 可 以 用 于 查 找 用 正 则 表 达 式 所 定 义 的 目 标 正 则 表 达 式 包 括 字 母 和 数 字, 以 及 那 些 对 grep 有 特 殊 含 义 的 字 符 比 如, ^ 指 示 一 行 的 开 头 $ 指 示 一 行 的 结 束. 代 表 任 意 单 一 字 符 * 表 示 匹 配 零 个 或 多 个 * 之 前 的 字 符 范 例 如 下 : $grep ^b file1 查 找 文 件 file1 中 所 有 以 b 开 头 的 行 $grep b$ file1 查 找 文 件 file1 中 所 有 以 b 结 尾 的 行 $grep an. file2 查 找 文 件 file2 中 所 有 以 an 为 头 两 个 字 符 的 3 个 字 符, 包 括 any,and 等 7.5 目 录 和 文 件 安 全 性 Linux 系 统 中 每 一 个 文 件 或 目 录 都 明 确 地 定 义 其 拥 有 者 (owner) 组 (group) 和 它 的 使 用 权 限 等 用 户 可 用 下 面 的 命 令 规 定 自 己 主 目 录 下 的 文 件 权 限, 以 保 护 自 己 的 数 据 和 信 息, 防 止 他 人 非 法 使 用 1. chown 命 令 命 令 名 称 : chown 功 能 : 改 变 文 件 拥 有 者 语 法 : chown 用 户 账 号 文 件 或 目 录 名 称 使 用 人 : 该 文 件 或 目 录 的 拥 有 者 和 root 用 户 描 述 : 如 果 ( 假 设 账 号 是 xlinux1) 有 一 个 名 为 file.list 的 文 件, 其 拥 有 权 要 给 予 另 一 位 账 号 为 xlinux2 的 同 事, 则 可 用 chown 来 完 成 此 功 能, 当 改 变 完 文 件 拥 有 者 之 后, 该 文 件 虽 然 在 xlinuxl 的 home 目 录 下, 但 该 用 户 已 经 无 任 何 修 改 或 删 除 这 个 文 件 的 权 限 了, 这 点 读 者 应 特 别 注 意 范 例 : - -rw------1 xlinux1 users 6 Oct 4 12:50 file.list $ chown xlinux2 file.list -rw------1 xlinux2 users 6 Oct 4 12:50 file.list 2. chgrp 命 令 命 令 名 称 : chgrp 功 能 : 改 变 文 件 的 所 属 组 语 法 : chgrp 组 名 称 文 件 或 目 录 名 称 使 用 人 : root 描 述 : 该 命 令 和 chown 用 法 一 样, 其 功 能 是 把 文 件 或 目 录 所 属 组 改 成 另 一 个 组 范 例 : - -rwxr-x--- 1 root bin 11700 Oct 12 06:48 shutdown* # chgrp system /sbin/shutdown 执 行 chgrp 把 shutdown 所 属 组 改 成 system 组 - -rwxr-x--- 1 root system 11700 Oct 18 06:48 shutdown * 3. chmod 命 令 命 令 名 称 : chmod 功 能 : 修 改 文 件 的 权 限 语 法 : chmod 权 限 参 数 文 件 或 目 录 名 称 使 用 人 : 每 一 位 用 户 描 述 : 前 面 在 介 绍 ls 命 令 时, 已 经 介 绍 文 件 的 权 限 形 态, 例 如 rwx------- 要 设 置 这 些 文 件 的 形 态 就 用 chmod 这 个 命 令 来 设 置, 然 而 在 使 用 chmod 之 前 需 要 先 了 解 权 限 参 数 的 用 法 权 限 参 数 可 以 有 两 种 使 用 方 法 : 英 文 字 母 表 示 法 和 数 字 表 示 法 6
(1) 英 文 字 母 表 示 法 一 个 文 件 用 十 个 小 格 位 记 录 文 件 的 权 限, 第 一 小 格 代 表 文 件 类 型 - 表 示 普 通 文 件 ; d 表 示 目 录 文 件 ; b 表 示 块 特 别 文 件 ; c 表 示 字 符 特 别 文 件 接 下 来 是 每 三 小 格 代 表 一 类 型 用 户 的 权 限 前 三 小 格 是 用 户 本 身 的 权 限, 用 u 代 表 ; 中 间 三 小 格 代 表 和 用 户 同 一 个 组 的 权 限, 用 g 代 表 ; 最 后 三 小 格 代 表 其 他 用 户 的 权 限, 用 o 代 表 即 :-rwx------- 属 于 用 户 存 取 权 限, 用 u 代 表 ;---rwx--- 属 于 组 用 户 存 取 权 限, 用 g 代 表 -------rwx 属 于 其 他 用 户 存 取 权 限, 用 o 代 表 而 每 一 种 用 户 的 权 限 就 直 接 用 r w x 来 代 表 对 文 件 可 读 可 写 可 执 行, 然 后 再 用 +, - 或 = 将 各 类 型 用 户 代 表 符 号 u g o 和 rwx3 个 字 母 链 接 起 来 即 可 范 例 : - -rwx-- chmod u+rwx file1 用 户 本 人 对 file1 可 以 进 行 读 写 执 行 的 操 作 ;- -rw-- chmod u-x file1 删 除 用 户 对 file1 的 可 执 行 权 限 ; -rw-rw-r-- chmod g+rw,o+r file1 同 组 用 户 对 file1 增 加 权 限 为 能 读 写, 其 他 用 户 则 只 能 读 (2) 数 字 表 示 法 数 字 表 示 法 是 用 三 位 数 字 XXX, 最 大 值 为 777 来 表 示 的 第 一 个 数 字 代 表 用 户 存 取 权 限, 第 二 个 数 字 代 表 同 组 用 户 使 用 权 限, 第 三 个 数 字 代 表 其 他 用 户 存 取 权 限 前 面 介 绍 的 可 读 的 权 限 r 用 数 字 4 表 示, 可 写 的 权 限 w 用 2 表 示, 而 可 执 行 的 权 限 x 用 1 表 示, 即 : r=4 w=2 x=1 假 设 用 户 对 file1 的 权 限 是 可 读 可 写 可 执 行 rwx, 用 数 字 表 示 则 把 4 2 1 加 起 来 等 于 7, 代 表 用 户 对 file1 这 个 文 件 可 读 可 写 可 执 行, 这 里 rwx 等 价 于 4+2+1=7 至 于 同 组 用 户 和 其 他 用 户 的 权 限, 就 顺 序 指 定 第 2 位 数 字 和 第 3 位 数 字 即 可 如 果 不 指 定 任 何 权 限 的 话, 就 要 补 0! 下 面 举 几 个 范 例 就 明 白 了, 请 大 家 注 意 数 字 的 变 化 范 例 : -rwx------- chmod 700 file1 指 定 用 户 本 人 对 file1 的 权 限 是 可 读, 可 写, 可 执 行 ; -rw------- chmod 600 file1 指 定 用 户 本 人 对 file1 的 权 限 是 可 读, 可 写 ; -rwxrwxrwx chmod 777 file1 指 定 所 有 用 户 对 file1 的 权 限 是 可 读, 可 写, 可 执 行 总 之, 数 字 表 示 法 就 是 将 3 位 数 字 分 成 3 个 字 段, 每 个 字 段 都 是 4 2 1 相 加 任 意 的 组 合 相 关 的 命 令 还 有 :umask 7.6 磁 盘 存 储 命 令 硬 盘 空 间 是 一 个 有 限 的 资 源, 用 户 用 下 面 的 命 令 可 以 随 时 了 解 当 前 硬 盘 空 间 的 使 用 情 况 1. df 命 令 命 令 名 称 : df 功 能 : 显 示 磁 盘 的 使 用 语 法 : df [ 可 选 参 数 ] $df -k 显 示 系 统 所 配 置 的 每 一 个 磁 盘 当 前 被 占 用 的 空 间 大 小 7
2. du 命 令 命 令 名 称 : du 功 能 : 显 示 目 录 的 使 用 语 法 : du [ 可 选 参 数 ] $du 按 块 (512 字 节 ) 显 示 一 个 目 录 及 其 所 有 子 目 录 的 使 用 7.7 进 程 命 令 1. ps 命 令 命 令 名 称 : ps 功 能 : 查 询 正 在 执 行 的 进 程 语 法 : ps [ 可 选 参 数 ] 描 述 :ps 命 令 提 供 Linux 系 统 中 正 在 发 生 的 事 情 的 一 个 快 照, 能 显 示 正 在 执 行 进 程 的 进 程 号 发 出 该 命 令 的 终 端 所 使 用 的 CPU 时 间 以 及 正 在 执 行 的 命 令 $ps aux 2. kill 命 令 命 令 名 称 : kill 功 能 : 终 止 正 在 执 行 的 进 程 语 法 : kill 进 程 号 $kill -9 PID# 无 条 件 删 除 进 程 号 为 PID# 的 进 程 相 关 命 令 还 有 :w,who 等 7.8 联 机 帮 助 命 令 各 种 在 线 帮 助 是 学 习 Linux 很 好 的 工 具, 以 下 是 常 用 的 在 线 辅 助 工 具 : 1. man 命 令 系 统 上 几 乎 每 条 命 令 都 有 相 关 的 Man(manual) page 在 有 问 题 或 困 难 时, 可 以 立 刻 找 到 这 个 文 件 例 如, 如 果 使 用 ls 命 令 时 遇 到 困 难, 可 以 输 入 : $man ls 系 统 就 会 显 示 出 ls 的 man page 由 于 man page 是 用 less 程 序 来 看 的, 所 以 在 man page 里 可 以 使 用 less 的 所 有 选 项 在 less 中 比 较 重 要 的 键 有 : q 退 出 Enter 一 行 行 地 下 翻 Space 一 页 页 地 下 翻 b 往 上 翻 一 页 / 往 后 寻 找 一 个 字 符 串 和 Enter 键 来 寻 找 字 符 串 n 寻 找 上 一 次 查 寻 的 下 一 个 符 合 的 字 符 串 2. 内 包 的 文 件 (DOC) 许 多 软 件 包 都 提 供 有 readme 文 件 和 其 他 文 档 专 为 Linux 制 作 的 包 的 文 件 定 义 了 一 个 标 准 的 地 方 存 放 这 些 文 件, 每 个 包 的 文 件 都 放 在 /usr/doc 下 的 一 个 子 目 录 中 子 目 录 名 称 取 决 于 软 件 包 的 名 称 和 版 本 号 例 如 zip 软 件 包 可 能 是 2.1 版 那 么, 它 的 文 件 就 放 在 /usr/doc/zip-2.1 目 录 大 多 数 情 况, /usr/doc 中 的 文 件 是 ASCII 码 你 可 以 用 more filename 或 者 less filename 来 阅 读 8
3. Howto 和 FAQ 如 果 你 安 装 了 它 们, 目 录 /usr/doc/howto 包 含 了 你 的 Linux 光 盘 发 行 时 所 能 找 到 的 所 有 Howto 为 了 节 约 空 间, 它 们 用 gzip 命 令 进 行 了 压 缩, 所 以 在 阅 读 之 前 必 须 解 压 缩 有 一 种 方 法 可 以 阅 读 压 缩 的 Howto, 不 会 让 解 压 缩 后 的 文 件 搞 乱 你 的 硬 盘, 即 使 用 zless: $zless 3Dfx Howto.gz zless 使 用 和 less 一 样 的 键, 所 以 可 以 在 Howto 中 容 易 地 翻 页 /usr/doc/faq 包 含 了 ASCII 格 式 ( 和 部 分 html 格 式 ) 的 一 些 FAQ( 常 见 问 题 ) 可 以 用 more 或 者 less 来 阅 读 7.9 小 结 本 章 主 要 介 绍 了 Linux 系 统 常 用 的 一 些 命 令, 包 括 如 何 登 录 和 退 出 系 统 创 建 及 删 除 目 录 文 件 管 理 等 为 了 使 用 Linux, 首 先 需 要 有 一 个 合 法 的 账 号, 其 次 要 学 会 使 用 man 命 令, 以 便 随 时 获 取 需 要 的 帮 助 信 息 习 题 7-1 登 录 进 入 系 统, 在 你 的 根 目 录 下 建 一 个 子 目 录 tmp 查 看 同 时 系 统 上 正 在 运 行 哪 些 进 程 7-2 将 /etc/passwd 文 件 拷 到 你 自 己 建 的 tmp 子 目 录 下, 使 用 grep 查 看 你 的 账 号 是 不 是 在 这 个 文 件 中 7-3 删 除 你 自 己 建 的 tmp 子 目 录 9