Linux 入 门 基 础 培 训 郭 贵 鑫 应 用 部 techsupport@nscc-gz.cn 2015 年 12 月 24 日
目 录 一 Linux 操 作 系 统 简 介 二 Linux 操 作 系 统 的 文 件 与 目 录 三 Linux 操 作 系 统 常 用 命 令 详 解
目 录 一 Linux 操 作 系 统 简 介 操 作 系 统 定 义 Linux 操 作 系 统 特 点 Linux 操 作 系 统 结 构 二 Linux 操 作 系 统 的 文 件 与 目 录 三 Linux 操 作 系 统 常 用 命 令 详 解
操 作 系 统 定 义 : 管 理 和 控 制 计 算 机 硬 件 与 软 件 资 源 的 计 算 机 程 序, 任 何 其 他 软 件 都 必 须 在 操 作 系 统 的 支 持 下 才 能 运 行 使 用 方 式 : 图 形 化 界 面 终 端 命 令 行 常 见 操 作 系 统 : Windows Linux Unix Mac OS X 操 作 系 统 所 处 位 置
Linux 操 作 系 统 特 点 1. 开 放 性 2. 多 用 户 3. 多 任 务 4. 良 好 的 用 户 界 面 5. 设 备 独 立 性 6. 丰 富 的 网 络 功 能 7. 可 靠 的 安 全 系 统 8. 良 好 的 可 移 植 性
Linux 操 作 系 统 结 构 vi gcc sh ls diff multitasking hardware device interfaces kernel shell utilities TCP/IP stack grep bash cat wc who Kernel 系 统 启 动 时 将 内 核 装 入 内 存 用 于 管 理 系 统 各 种 资 源 Shell 用 户 界 面, 提 供 用 户 与 内 核 交 互 处 理 接 口 是 命 令 解 释 器, 提 供 强 大 的 编 程 环 境 bash,csh,ash,pdksh,tcsh, ksh,zsh. Utility 提 供 各 种 管 理 工 具, 应 用 程 序
目 录 一 Linux 操 作 系 统 简 介 二 Linux 操 作 系 统 的 文 件 与 目 录 文 件 系 统 的 基 本 概 念 文 件 与 目 录 的 基 本 概 念 文 件 的 属 性 及 权 限 管 理 三 Linux 操 作 系 统 常 用 命 令 详 解
文 件 系 统 的 基 本 概 念 文 件 系 统 是 在 存 储 设 备 上 ( 如 硬 盘 光 盘 等 ) 组 织 和 管 理 数 据 的 方 法, 通 过 对 数 据 进 行 索 引, 可 以 方 便 的 查 找 和 定 位 到 相 应 的 数 据, 对 其 进 行 读 取, 修 改 或 删 除 不 同 的 文 件 系 统 其 组 织 和 管 理 数 据 的 方 式 并 不 相 同, 具 有 不 同 的 特 点
Linux 文 件 系 统 的 结 构
Linux 文 件 系 统 的 结 构
Linux 文 件 系 统 的 结 构
文 件 与 目 录 的 基 本 概 念 文 件 存 储 数 据 的 基 本 结 构 每 个 文 件 都 有 一 个 文 件 名 作 为 其 标 识, 由 字 母, 数 字, 下 划 线, 圆 点 组 成 字 母 区 分 大 小 写 文 件 名 可 以 包 含 扩 展 名, 中 间 用. 隔 开, 便 于 识 别 和 管 理 这 个 文 件 目 录 用 来 管 理 和 组 织 大 量 的 文 件, 方 便 文 件 的 归 类 和 查 找, 目 录 里 面 可 以 包 含 文 件 和 其 它 目 录 其 本 质 上 也 是 文 件
用 户 与 用 户 组 的 概 念 用 户 的 概 念 Linux 是 真 正 意 义 上 的 多 用 户 操 作 系 统, 在 Linux 系 统 中 可 以 建 立 多 个 用 户 账 号, 这 些 用 户 可 以 通 过 远 程 登 录 的 方 式 同 时 登 录 同 一 个 操 作 系 统, 并 同 时 运 行 程 序 用 户 组 的 概 念 用 户 组 就 是 具 有 相 同 特 征 的 用 户 的 集 合 比 如 要 让 同 一 个 单 位 的 用 户 具 有 相 同 的 权 限, 如 共 享 同 一 个 文 件 或 目 录 的 内 容, 只 需 将 这 些 用 户 都 定 义 到 同 一 个 用 户 组, 通 过 修 改 文 件 或 目 录 的 权 限, 让 同 一 用 户 组 的 用 户 都 有 权 限 读 取 这 些 文 件 或 目 录 的 内 容, 而 不 同 用 户 组 的 用 户 访 问 不 了 这 些 文 件 或 目 录
Linux 文 件 类 型 的 定 义 普 通 文 件 : 以 字 符 开 头 如 :-rw-r--r-- 1 nscc-gz_guixingguo nscc-gz 4 Apr 15 11:23 x 链 接 文 件 : 以 字 符 l 开 头 如 :lrwxrwxrwx 1 nscc-gz_guixingguo nscc-gz 1 Apr 15 11:25 y - > x 目 录 文 件 : 以 字 符 d 开 头 如 :drwxr-xr-x 2 nscc-gz_guixingguo nscc-gz 4096 Apr 15 11:23 dir
Linux 文 件 的 属 性 [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls -l total 36 drwxr-xr-x 2 nscc-gz_guixingguo nscc-gz 4096 Apr 15 11:23 dir -rw-r--r-- 1 nscc-gz_guixingguo nscc-gz 4 Apr 15 11:23 x lrwxrwxrwx 1 nscc-gz_guixingguo nscc-gz 1 Apr 15 11:25 y -> x 第 一 字 段 : 文 件 种 类 和 权 限 ; 第 二 字 段 : 指 向 这 个 文 件 的 硬 链 接 个 数 ; 第 三 字 段 : 归 哪 个 用 户 所 有 ; 第 四 字 段 : 归 哪 个 用 户 组 所 有 ; 第 五 字 段 : 文 件 或 目 录 的 大 小 ; 第 六 字 段 和 第 七 字 段 : 最 后 访 问 或 修 改 的 时 间 ; 第 八 字 段 : 文 件 名 或 目 录 名
Linux 文 件 的 权 限 [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls -l total 36 drwxr-xr-x 2 nscc-gz_guixingguo nscc-gz 4096 Apr 15 11:23 dir -rw-r--r-- 1 nscc-gz_guixingguo nscc-gz 4 Apr 15 11:23 x lrwxrwxrwx 1 nscc-gz_guixingguo nscc-gz 1 Apr 15 11:25 y -> x Linux 文 件 或 目 录 的 权 限 是 由 9 个 权 限 位 来 控 制 的, 每 三 位 为 一 组, 它 们 分 别 是 : 文 件 所 有 者 对 该 文 件 的 读 r 写 w 执 行 x 权 限 文 件 所 属 用 户 组 对 该 文 件 的 读 r 写 w 执 行 x 权 限 其 它 用 户 对 该 文 件 的 读 r 写 w 执 行 x 权 限 如 果 某 个 文 件 或 目 录 的 权 限 是 rwxrwxrwx, 则 所 有 用 户 都 能 看 到 这 个 文 件 或 目 录 的 内 容 为 了 用 户 数 据 的 安 全, 强 烈 建 议 将 其 他 用 户 的 权 限 位 设 置 为 ---, 即 其 他 用 户 没 有 可 读 可 写 可 执 行 的 权 限
目 录 一 Linux 操 作 系 统 简 介 二 Linux 操 作 系 统 的 文 件 与 目 录 三 Linux 操 作 系 统 常 用 命 令 详 解 Linux 操 作 系 统 使 用 技 巧 文 件 目 录 类 命 令 系 统 信 息 类 命 令 网 络 通 信 类 命 令 进 程 管 理 类 命 令 其 他 常 用 命 令
Linux 操 作 系 统 使 用 技 巧 在 终 端 输 入 命 令, 按 回 车 执 行 命 令 可 用 tab 键 自 动 进 行 补 齐 一 般 可 使 用 -h -help 或 --help 参 数 查 看 命 令 的 说 明 以 及 该 命 令 可 用 的 参 数 使 用 man(manual) 命 令 也 可 查 看 其 它 命 令 的 说 明 以 及 其 可 用 的 参 数 格 式 :man 其 它 命 令
文 件 目 录 类 命 令 浏 览 目 录 命 令 :ls pwd cd 浏 览 文 件 命 令 :ls cat more less head tail 目 录 操 作 命 令 :chmod mkdir rm mv cp find 文 件 操 作 命 令 :chmod vi rm mv cp ln find grep tar gzip
ls 命 令 ls(list) 命 令 可 用 来 显 示 目 录 的 内 容 配 合 参 数 的 使 用, 能 以 不 同 的 方 式 显 示 目 录 内 容 格 式 :ls [ 参 数 ] [ 目 录 名 或 文 件 名 ] [nscc-gz_guixingguo@ln3%tianhe2-c test]$ ls -l total 17 drwxr-xr-x 2 nscc-gz_guixingguo nscc-gz 4096 Apr 15 11:23 dir -rwxr-xr-x 1 nscc-gz_guixingguo nscc-gz 6489 Apr 15 11:25 hello -rw-r--r-- 1 nscc-gz_guixingguo nscc-gz 118 Apr 15 11:24 hello.c -rw-r--r-- 1 nscc-gz_guixingguo nscc-gz 4 Apr 15 11:23 x -rw-r--r-- 1 nscc-gz_guixingguo nscc-gz 4 Apr 15 11:23 xx lrwxrwxrwx 1 nscc-gz_guixingguo nscc-gz 1 Apr 15 11:25 y -> x
ls 命 令 直 接 输 入 ls 命 令 会 显 示 当 前 目 录 下 的 内 容, 指 定 文 件 名 会 只 显 示 该 文 件, 指 定 目 录 名 会 显 示 该 目 录 的 内 容 -a 参 数 可 显 示 所 有 的 文 件 ( 包 括 以. 开 头 的 隐 藏 文 件 或 目 录 ) -l 参 数 可 显 示 文 件 或 目 录 的 详 细 信 息 -h 参 数 会 以 用 户 友 好 的 方 式 显 示 文 件 或 目 录 的 大 小 ( 自 动 按 照 B,KB,MB 或 GB 转 换 后 显 示,ls 默 认 按 照 字 节 大 小 进 行 显 示, 需 与 -l 参 数 合 用 ) -S 参 数 会 按 照 文 件 大 小 排 序 后 显 示 (ls 默 认 按 照 文 件 名 排 序 显 示 ) -t 参 数 会 按 照 文 件 的 修 改 时 间 先 后 进 行 显 示
pwd 命 令 pwd(print working directory) 命 令 可 以 用 来 显 示 当 前 所 在 目 录 的 绝 对 路 径 格 式 :pwd [nscc-gz_guixingguo@ln3%tianhe2-c test]$ pwd /HOME/nscc-gz_guixingguo/test 相 对 路 径 : 相 对 当 前 目 录 的 路 径 绝 对 路 径 : 从 根 目 录 开 始 的 路 径, 无 论 在 哪 个 目 录 下 都 可 以 访 问 到 该 路 径
cd 命 令 cd(change directory) 命 令 可 以 让 用 户 切 换 当 前 工 作 的 目 录 格 式 :cd [ 目 录 名 ] cd 命 令 不 带 参 数 会 切 换 到 用 户 的 家 目 录, 即 登 录 时 所 在 的 目 录 cd.. 会 切 换 到 当 前 目 录 的 上 一 层 目 录 cd. 仍 是 在 当 前 目 录 cd - 会 切 换 回 目 录 切 换 之 前 所 在 的 目 录 [nscc-gz_guixingguo@ln3%tianhe2-c test]$ pwd /HOME/nscc-gz_guixingguo/test [nscc-gz_guixingguo@ln3%tianhe2-c test]$ cd [nscc-gz_guixingguo@ln3%tianhe2-c ~]$ pwd /HOME/nscc-gz_guixingguo
cat 命 令 cat(concatenate) 命 令 用 于 显 示 文 件 的 内 容, 也 可 以 将 多 个 文 件 合 并 成 一 个 文 件 格 式 :cat [ 参 数 ] < 文 件 名 > [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir hello hello.c x xx y [nscc-gz_guixingguo@ln1%tianhe2-c test]$ cat x 123 [nscc-gz_guixingguo@ln1%tianhe2-c test]$ cat xx 456 [nscc-gz_guixingguo@ln1%tianhe2-c test]$ cat x xx > xxx [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir hello hello.c x xx xxx y [nscc-gz_guixingguo@ln1%tianhe2-c test]$ cat xxx 123 456
more 命 令 more 命 令 一 般 用 于 要 显 示 的 内 容 会 超 过 一 页 的 情 况 为 了 避 免 内 容 显 示 时 瞬 间 就 闪 过 去, 可 以 使 用 more 命 令, 让 内 容 在 显 示 满 一 页 时 暂 停, 此 时 可 按 空 格 健 继 续 显 示 下 一 页 内 容, 或 按 q 键 退 出 显 示 格 式 :more [ 参 数 ] < 文 件 名 > [nscc-gz_guixingguo@ln3%tianhe2-c test]$ more /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 45 model name : Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz stepping : 7 cpu MHz : 1200.000 cache size : 20480 KB physical id : 0 siblings : 16 core id : 0 cpu cores : 8 --More--(0%)
less 命 令 less 命 令 的 用 法 与 more 命 令 类 似, 也 可 以 用 来 浏 览 超 过 一 页 的 文 件 所 不 同 的 是 less 命 令 除 了 可 以 按 空 格 键 向 下 显 示 文 件 外, 还 可 以 利 用 上 下 键 来 卷 动 文 件 当 要 结 束 浏 览 时, 只 要 在 less 命 令 的 提 示 符 : 下 按 q 键 即 可 格 式 :less [ 参 数 ] < 文 件 名 > [nscc-gz_guixingguo@ln3%tianhe2-c test]$ more /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 45 model name : Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz stepping : 7 cpu MHz : 1200.000 cache size : 20480 KB physical id : 0 siblings : 16 core id : 0 cpu cores : 8 /proc/cpuinfo
head 命 令 head 命 令 用 于 显 示 文 件 前 几 行 的 内 容 格 式 :head [ 参 数 ] < 文 件 名 > [nscc-gz_guixingguo@ln3%tianhe2-c test]$ head -n 5 /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 45 model name : Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz
tail 命 令 tail 命 令 用 于 显 示 文 件 最 后 几 行 的 内 容 格 式 :tail [ 参 数 ] < 文 件 名 > [nscc-gz_guixingguo@ln3%tianhe2-c test]$ tail -n 5 /proc/cpuinfo clflush size : 64 cache_alignment : 64 address sizes : 46 bits physical, 48 bits virtual power management:
chmod 命 令 chmod(change mode) 命 令 用 于 修 改 文 件 或 目 录 的 权 限 格 式 :chmod < 参 数 > < 文 件 或 目 录 名 > 参 数 是 权 限 值, 有 三 组 权 限 需 要 设 置, 每 一 组 由 一 个 数 字 进 行 表 示,0 表 示 没 有 权 限, 有 读 权 限 加 4, 有 写 权 限 加 2, 有 可 执 行 权 限 加 1 [nscc-gz_guixingguo@ln1%tianhe2-c test]$ chmod 644 hello [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls -l hello -rw-r--r-- 1 nscc-gz_guixingguo nscc-gz 6489 Apr 15 11:25 hello [nscc-gz_guixingguo@ln1%tianhe2-c test]$./hello -bash:./hello: Permission denied [nscc-gz_guixingguo@ln1%tianhe2-c test]$ chmod 755 hello [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls -l hello -rwxr-xr-x 1 nscc-gz_guixingguo nscc-gz 6489 Apr 15 11:25 hello [nscc-gz_guixingguo@ln1%tianhe2-c test]$./hello hello world!
mkdir 命 令 mkdir(make directory) 命 令 可 用 来 创 建 新 目 录 格 式 :mkdir [ 参 数 ] < 目 录 名 > 不 带 参 数 时, 在 创 建 目 录 时 指 定 创 建 的 目 录 其 上 层 目 录 必 须 已 经 存 在 带 -p 参 数 时, 被 创 建 目 录 的 上 层 目 录 假 如 不 存 在 时, 这 些 目 录 也 会 被 自 动 创 建 [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir hello hello.c x xx xxx y [nscc-gz_guixingguo@ln1%tianhe2-c test]$ mkdir dir1 [nscc-gz_guixingguo@ln1%tianhe2-c test]$ mkdir dir2/dir3 mkdir: cannot create directory `dir2/dir3': No such file or directory [nscc-gz_guixingguo@ln1%tianhe2-c test]$ mkdir -p dir2/dir3 [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir dir1 dir2 hello hello.c x xx xxx y [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir2 dir3
rm 命 令 rm(remove directory) 命 令 可 用 来 删 除 目 录 或 文 件 格 式 :rm [ 参 数 ] < 目 录 名 或 文 件 名 > 删 除 文 件 时 可 不 带 参 数, 但 删 除 目 录 时 必 须 带 上 -r 参 数 使 用 -i 参 数 在 删 除 指 定 目 录 时, 该 目 录 下 的 所 有 文 件 都 会 被 询 问 是 否 删 除, 避 免 删 错 所 需 的 文 件 使 用 -f 参 数 可 以 取 消 询 问, 强 制 删 除 指 定 的 文 件 或 目 录 [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir dir1 dir2 hello hello.c x xx xxx y [nscc-gz_guixingguo@ln1%tianhe2-c test]$ rm xxx [nscc-gz_guixingguo@ln1%tianhe2-c test]$ rm dir rm: cannot remove `dir': Is a directory [nscc-gz_guixingguo@ln1%tianhe2-c test]$ rm -r dir [nscc-gz_guixingguo@ln1%tianhe2-c test]$ rm -i y rm: remove symbolic link `y'? y [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir1 dir2 hello hello.c x xx
mv 命 令 mv(move) 命 令 可 以 将 文 件 或 目 录 移 到 另 一 个 目 录 下, 或 更 改 文 件 及 目 录 的 名 称 格 式 :mv < 源 文 件 或 目 录 > < 目 标 文 件 或 目 录 > [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir1 dir2 hello hello.c x xx [nscc-gz_guixingguo@ln1%tianhe2-c test]$ mv x dir1 [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir1 dir2 hello hello.c xx [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir1 x [nscc-gz_guixingguo@ln1%tianhe2-c test]$ mv dir1 dir3 [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir2 dir3 hello hello.c xx
cp 命 令 cp(copy) 命 令 可 以 用 来 复 制 文 件 或 目 录, 使 用 时 需 要 指 定 源 文 件 路 径 与 目 标 文 件 路 径 或 源 目 录 路 径 与 目 标 目 录 路 径 格 式 :cp [ 参 数 ] < 源 文 件 路 径 > < 目 标 文 件 路 径 > 或 cp [ 参 数 ] -r < 源 目 录 路 径 > < 目 标 目 录 路 径 > 复 制 目 录 时 必 须 使 用 -r 参 数 [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir2 dir3 hello hello.c xx [nscc-gz_guixingguo@ln1%tianhe2-c test]$ cp xx x [nscc-gz_guixingguo@ln1%tianhe2-c test]$ cp dir3 dir1 cp: omitting directory `dir3' [nscc-gz_guixingguo@ln1%tianhe2-c test]$ cp -r dir3 dir1 [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir1 dir2 dir3 hello hello.c x xx
ln 命 令 ln(link) 命 令 可 以 创 建 一 个 目 录 或 文 件 的 一 个 链 接, 相 当 于 快 捷 方 式 格 式 :ln [ 参 数 ] < 源 文 件 或 目 录 > < 目 标 文 件 或 目 录 > [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir1 dir2 dir3 hello hello.c x xx [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ln -s x y [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir1 dir2 dir3 hello hello.c x xx y [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ln -s dir1 dir4 [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir1 dir2 dir3 dir4 hello hello.c x xx y
find 命 令 find 命 令 用 来 查 找 文 件 或 目 录 的 位 置 格 式 :find [< 路 径 >] [ 匹 配 条 件 ] [nscc-gz_guixingguo@ln1%tianhe2-c test]$ find. -name dir3./dir3./dir2/dir3
grep 命 令 grep 命 令 用 于 在 文 件 中 搜 索 匹 配 的 字 符 并 进 行 输 出 格 式 :grep [ 参 数 ] < 要 找 的 字 串 > < 要 寻 找 字 串 的 源 文 件 > [nscc-gz_guixingguo@ln1%tianhe2-c test]$ cat hello.c #include <stdio.h> #include <stdlib.h> int main(int argc, char * argv[]) { printf("hello world!\n"); return 0; } [nscc-gz_guixingguo@ln1%tianhe2-c test]$ grep world hello.c printf("hello world!\n");
tar 命 令 tar 命 令 可 以 将 用 户 所 指 定 的 文 件 或 目 录 打 包 成 一 个 文 件, 提 高 文 件 传 输 的 效 率 也 可 以 对 打 好 包 的 文 件 将 里 面 的 文 件 会 目 录 解 出 来 格 式 :tar < 参 数 > < 打 包 成 的 文 件 名 > < 要 打 包 的 文 件 或 目 录 > 或 tar < 参 数 > < 打 包 成 的 文 件 名 > [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir1 dir2 dir3 dir4 hello hello.c x xx y [nscc-gz_guixingguo@ln1%tianhe2-c test]$ tar -zcf test.tar.gz x xx y [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir1 dir2 dir3 dir4 hello hello.c test.tar.gz x xx y [nscc-gz_guixingguo@ln1%tianhe2-c test]$ rm x xx y [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir1 dir2 dir3 dir4 hello hello.c test.tar.gz [nscc-gz_guixingguo@ln1%tianhe2-c test]$ tar -xf test.tar.gz [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir1 dir2 dir3 dir4 hello hello.c test.tar.gz x xx y
gzip 命 令 gzip 命 令 可 以 对 用 户 所 指 定 的 文 件 进 行 压 缩, 减 少 文 件 所 占 的 存 储 空 间 也 可 以 用 来 对 压 缩 过 的 文 件 进 行 解 压 格 式 :gzip < 参 数 > < 要 压 缩 的 文 件 名 > 或 gzip -d < 要 解 压 的 文 件 名 > [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir1 dir2 dir3 dir4 hello hello.c test.tar.gz x xx y [nscc-gz_guixingguo@ln1%tianhe2-c test]$ gzip hello.c [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir1 dir2 dir3 dir4 hello hello.c.gz test.tar.gz x xx y [nscc-gz_guixingguo@ln1%tianhe2-c test]$ gzip -d hello.c.gz [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir1 dir2 dir3 dir4 hello hello.c test.tar.gz x xx y
vi 命 令 vi 命 令 是 Linux 下 面 的 命 令 行 文 本 编 辑 工 具, 具 有 强 大 的 功 能 进 入 vi 的 命 令 vi filename : 打 开 或 新 建 文 件, 并 将 光 标 置 于 第 一 行 首 移 动 光 标 类 命 令 上 :k nk: 向 上 移 动 n 行 下 :j nj: 向 下 移 动 n 行 左 :h nh: 向 左 移 动 n 列 右 :l nl: 向 右 移 动 n 列 gg 可 以 移 到 第 一 行 G 移 到 最 后 一 行
vi 命 令 输 入 控 制 命 令 :w : 保 存 当 前 文 件 :q: 退 出 vi :q!: 不 保 存 文 件 并 退 出 vi :wq: 保 存 当 前 文 件 并 退 出 :x: 保 存 当 前 文 件 并 退 出 dd: 删 除 当 前 行 yy: 复 制 当 前 行 p: 粘 贴 复 制 或 删 除 的 内 容 /pattern: 从 光 标 开 始 处 向 文 件 尾 查 找 pattern?pattern: 从 光 标 开 始 处 向 文 件 首 查 找 pattern n: 在 同 一 方 向 重 复 上 一 次 搜 索 命 令 N: 在 反 方 向 上 重 复 上 一 次 搜 索 命 令 :s/p1/p2/g: 将 当 前 行 中 所 有 p1 均 用 p2 替 代 :n1,n2s/p1/p2/g: 将 第 n1 至 n2 行 中 所 有 p1 均 用 p2 替 代 :g/p1/s//p2/g: 将 文 件 中 所 有 p1 均 用 p2 替 换
系 统 信 息 类 命 令 查 看 系 统 版 本 命 令 查 看 系 统 内 存 命 令 查 看 CPU 相 关 命 令 查 看 存 储 相 关 命 令
查 看 系 统 版 本 命 令 uname 命 令 用 来 查 看 系 统 的 内 核 版 本 信 息 格 式 :uname [ 参 数 ] [nscc-gz_guixingguo@ln3%tianhe2-c test]$ uname -a Linux ln3 2.6.32-431.TH.x86_64 #66 SMP Sat Jan 10 13:54:00 CST 2015 x86_64 x86_64 x86_64 GNU/Linux cat /etc/*-release 命 令 可 以 用 来 查 看 系 统 的 类 型 和 版 本 信 息 [nscc-gz_guixingguo@ln3%tianhe2-c ~]$ cat /etc/*-release LSB_VERSION=base-4.0-amd64:base-4.0-noarch:core-4.0- amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0- noarch:printing-4.0-amd64:printing-4.0-noarch Red Hat Enterprise Linux Server release 6.5 (Santiago) Red Hat Enterprise Linux Server release 6.5 (Santiago)
查 看 系 统 内 存 命 令 free 命 令 可 用 来 查 看 系 统 内 存, 虚 拟 内 存 ( 交 换 空 间 ) 的 大 小 和 占 用 情 况 格 式 :free [ 参 数 ] [nscc-gz_guixingguo@ln3%tianhe2-c ~]$ free total used free shared buffers cached Mem: 132135956 61903660 70232296 0 295044 42812656 -/+ buffers/cache: 18795960 113339996 Swap: 65535992 21808 65514184 cat /proc/meminfo 命 令 可 以 用 来 查 看 更 详 细 的 系 统 内 存 信 息 [nscc-gz_guixingguo@ln3%tianhe2-c ~]$ cat /proc/meminfo MemTotal: 132135956 kb MemFree: 70070684 kb Buffers: 295116 kb Cached: 42917828 kb SwapCached: 5136 kb Active: 1815604 kb
查 看 CPU 相 关 命 令 cat /proc/cpuinfo 命 令 可 以 用 来 查 看 系 统 上 CPU 的 型 号 以 及 相 关 的 参 数 [nscc-gz_guixingguo@ln3%tianhe2-c ~]$ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 45 model name : Intel(R) Xeon(R) CPU E5-4640 0 @ 2.40GHz stepping : 7 cpu MHz : 1200.000 cache size : 20480 KB physical id : 0 siblings : 16 core id : 0 cpu cores : 8
查 看 存 储 相 关 命 令 df 命 令 可 用 来 查 看 系 统 上 挂 载 的 存 储 的 相 关 信 息 格 式 :df [ 参 数 ] [nscc-gz_guixingguo@ln3%tianhe2-c ~]$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda3 480G 21G 435G 5% / tmpfs 64G 752K 64G 1% /dev/shm /dev/sda1 9.7G 196M 9.0G 3% /boot 89.72.14.222@o2ib:/WORK 2.1P 1.4P 601T 70% /WORK 89.72.14.224@o2ib:/HOME 393T 6.6T 367T 2% /HOME
网 络 通 信 类 命 令 ssh 远 程 登 录 命 令 scp 文 件 传 输 命 令 rsync 文 件 传 输 命 令 ping 命 令
ssh 命 令 ssh 命 令 可 用 于 远 程 服 务 器 的 登 陆 格 式 :ssh [ 参 数 ] 主 机 名 或 IP 地 址 [nscc-gz_guixingguo@ln3%tianhe2-c ~]$ yhalloc -N 1 yhalloc: Granted job allocation 275661 [nscc-gz_guixingguo@ln3 ~]$ yhq -u $USER JOBID PARTITION NAME USER ST TIME NODES NODELIST(REASON) 275661 work bash nscc-gz_guix R 0:03 1 cn514 [nscc-gz_guixingguo@ln3 ~]$ ssh cn514 The authenticity of host 'cn514 (<no hostip for proxy command>)' can't be established. RSA key fingerprint is f1:dd:eb:26:58:f8:d3:67:c0:fd:fd:66:8d:11:4f:dc. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'cn514' (RSA) to the list of known hosts. [nscc-gz_guixingguo@cn514%tianhe2-c ~]$
scp 命 令 scp 命 令 可 用 于 远 程 文 件 传 输 格 式 :scp [ 参 数 ] 文 件 名 用 户 名 @ 主 机 名 或 IP 地 址 : 要 复 制 到 的 文 件 路 径 或 scp [ 参 数 ] 用 户 名 @ 主 机 名 或 IP 地 址 : 要 复 制 的 文 件 路 径 要 保 存 的 位 置 [nscc-gz_guixingguo@ln1%tianhe2-c test]$ ls dir1 dir2 dir3 dir4 hello hello.c test.tar.gz x xx y [nscc-gz_guixingguo@ln1%tianhe2-c test]$ scp x nscc-gz_guixingguo@ln1- gn0:/home/nscc-gz_guixingguo/test/y x 100% 4 0.0KB/s 00:00 [nscc-gz_guixingguo@ln1%tianhe2-c test]$ scp nscc-gz_guixingguo@ln1- gn0:/home/nscc-gz_guixingguo/test/xx yy xx 100% 4 0.0KB/s 00:00
rsync 命 令 rsync 命 令 也 可 用 于 远 程 文 件 传 输, 与 scp 命 令 类 似, 但 其 支 持 文 件 断 点 续 传 功 能 格 式 :rsync [ 参 数 ] 文 件 名 用 户 名 @ 主 机 名 或 IP 地 址 : 要 复 制 到 的 文 件 路 径 或 rsync [ 参 数 ] 用 户 名 @ 主 机 名 或 IP 地 址 : 要 复 制 的 文 件 路 径 要 保 存 的 位 置 [nscc-gz_guixingguo@ln1%tianhe2-c test]$ rsync -v x nscc-gz_guixingguo@ln1- gn0:/home/nscc-gz_guixingguo/test/y x sent 69 bytes received 31 bytes 66.67 bytes/sec total size is 4 speedup is 0.04 [nscc-gz_guixingguo@ln1%tianhe2-c test]$ rsync -v nscc-gz_guixingguo@ln1- gn0:/home/nscc-gz_guixingguo/test/xx yy xx sent 36 bytes received 71 bytes 214.00 bytes/sec total size is 4 speedup is 0.04 49
ping 命 令 ping 命 令 可 用 于 检 查 目 标 机 器 能 否 连 接 得 上 格 式 :ping 主 机 名 或 IP 地 址 [nscc-gz_guixingguo@ln3%tianhe2-c test]$ ping ln1-gn0 PING ln1-gn0 (12.11.70.130) 56(84) bytes of data. 64 bytes from ln1-gn0 (12.11.70.130): icmp_seq=1 ttl=64 time=0.159 ms 64 bytes from ln1-gn0 (12.11.70.130): icmp_seq=2 ttl=64 time=0.134 ms 64 bytes from ln1-gn0 (12.11.70.130): icmp_seq=3 ttl=64 time=0.122 ms ^C --- ln1-gn0 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2217ms rtt min/avg/max/mdev = 0.122/0.138/0.159/0.018 ms [nscc-gz_guixingguo@ln3%tianhe2-c test]$ ping ln5-gn0 PING ln5-gn0 (12.11.70.131) 56(84) bytes of data. ^C --- ln5-gn0 ping statistics --- 3 packets transmitted, 0 received, 100% packet loss, time 2670ms
进 程 管 理 类 命 令 ps 命 令 kill 命 令 top 命 令 51
ps 命 令 ps 命 令 可 用 来 查 看 当 前 系 统 正 在 运 行 的 命 令 或 程 序 格 式 :ps [ 参 数 ] [nscc-gz_guixingguo@ln3%tianhe2-c test]$ ps PID TTY TIME CMD 23988 pts/125 00:00:00 ps 41140? 00:00:00 sshd 41141 pts/125 00:00:00 bash [nscc-gz_guixingguo@ln3%tianhe2-c test]$ ps -a PID TTY TIME CMD 1666 pts/61 00:00:01 ssh 1667 pts/61 00:00:00 nss_yhpc_ssh_pr 1690 pts/111 00:00:00 salloc 1692 pts/111 00:00:00 bash 1705 pts/32 00:04:18 tail 1727 pts/80 00:00:00 srun 2541 pts/64 00:00:01 srun 52
kill 命 令 kill 命 令 可 以 用 来 提 前 停 止 正 在 运 行 中 的 程 序 或 命 令 格 式 :kill [ 参 数 ] 进 程 号 [nscc-gz_guixingguo@ln3%tianhe2-c test]$ ps PID TTY TIME CMD 34013 pts/125 00:00:00 sleep 34266 pts/125 00:00:00 ps 41140? 00:00:00 sshd 41141 pts/125 00:00:00 bash [nscc-gz_guixingguo@ln3%tianhe2-c test]$ kill -9 34013 [1]+ Killed sleep 60 [nscc-gz_guixingguo@ln3%tianhe2-c test]$ ps PID TTY TIME CMD 34979 pts/125 00:00:00 ps 41140? 00:00:00 sshd 41141 pts/125 00:00:00 bash 53
top 命 令 top 命 令 可 用 来 动 态 监 视 运 行 中 的 程 序 或 命 令 格 式 :top [ 参 数 ] top - 10:17:10 up 5 days, 22:15, 148 users, load average: 3.36, 4.35, 4.30 Tasks: 3099 total, 5 running, 3092 sleeping, 1 stopped, 1 zombie Cpu(s): 5.3%us, 2.0%sy, 0.0%ni, 92.6%id, 0.0%wa, 0.0%hi, 0.1%si, 0.0%st Mem: 132135956k total, 83632152k used, 48503804k free, 285984k buffers Swap: 65535992k total, 21808k used, 65514184k free, 59493284k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 4285 renzy_cs 20 0 848m 106m 1480 R 100.0 0.1 7:42.06 cubegen 60743 renzy_cs 20 0 848m 106m 1496 R 99.1 0.1 9:18.04 cubegen 62604 renzy_cs 20 0 848m 106m 1484 R 98.8 0.1 8:54.34 cubegen 46106 nscc_ts_ 20 0 16588 660 556 R 28.1 0.0 0:00.88 sed 44945 gzmss_yy 20 0 60664 2416 1676 S 13.7 0.0 0:01.12 sftp-server 864 root 39 19 0 0 0 S 10.9 0.0 5617:21 kipmi0 54
其 他 常 用 命 令 history 命 令 module 命 令 55
history 命 令 history 命 令 可 用 来 查 看 之 前 执 行 过 的 命 令 格 式 :history [ 参 数 ] [nscc-gz_guixingguo@ln3%tianhe2-c test]$ history 1 2015-04-09 09-39-41 cat /etc/*-release 2 2015-04-09 09-39-57 yhalloc -N 1 3 2015-04-09 09-52-21 yhq -u $USER 4 2015-04-09 09-52-28 yhcancel 275645 5 2015-04-09 09-52-31 yhq -u $USER 56
module 命 令 module 命 令 可 用 来 查 看 系 统 上 已 经 安 装 了 哪 些 软 件, 并 加 载 这 些 软 件 的 运 行 环 境 格 式 :module avail module help 模 块 名 module load 模 块 名 module list [nscc-gz_guixingguo@ln3%tianhe2-c test]$ module avail ------------------------------------- /WORK/app/modulefiles ------------------------------------- ADTEx/2.0 QMMM/GMX intel-compilers/14.0.2 ARWpost/3.1/00-CF-14 QMMM/LMP_QE intel-compilers/mkl-14 AutoDock/4.2.6 Quantum_Espresso/5.1.1 jasper/1.900.1/00-cf-14- libpng AutoDock_Vina/1.1.2 Quantum_Espresso/5.1.2 java/jdk1.7.0_71 BLAS/3.5.0 R/3.1.2 java/jdk1.8.0_11 57
module 命 令 [nscc-gz_guixingguo@ln3%tianhe2-c test]$ module help R/3.1.2 ----------- Module Specific Help for 'R/3.1.2' -------------------- R/3.1.2 After loading this module, you can try $R LIB: /WORK/app/R/3.1.2/lib64 [nscc-gz_guixingguo@ln3%tianhe2-c test]$ module load R/3.1.2 [nscc-gz_guixingguo@ln3%tianhe2-c test]$ module list Currently Loaded Modulefiles: 1) R/3.1.2 58
谢 谢!