让我们来学习基本的 Unix 命令。 [20] 使用非特权用来执行下面的所有的命令。 penguin :

  • pwd

    • 显示当前工作路径。

  • whoami

    • 显示当前用户名。

  • file foo

    • 显示 foo 文件的属性。

  • type -p commandname

    • 显示命令 commandname 所的的地方。

    • which commandname 也可以用来做这个 . [21]

  • type commandname

    • 显示命令 commandname 的信息。

  • apropos key-word

    • 找到和 key-word 相关的命令。

    • man -k key-word 也可以做到

  • whatis commandname

    • 显示该命令的一句话帮助。 commandname.

  • man -a commandname

    • 显示命令的解释信息。 commandname. (Unix style)

  • info commandname

    • 显示很长的命令解释 commandname. (GNU style)

    ls

    • 列出目录内容 (非以.开始的文件和目录) [22]

  • ls -a

    • 列出目录内容(所有的文件和目录)

  • ls -A

    • 列出目录内容。(几乎所有的文件和目录,略去“..”和“.”)

  • ls -la

  • ls -d *

    • 列出当前目录下的目录名称,而不是目录下的内容。

  • lsof foo

    • 显示文件 foo 的打开状态。

  • mkdir foo

    • 在当前目录下创建一个新的目录 foo

  • cd foo

    • 切换到当前目录下或者在变量 CDPATH 中列出来的目录 foo。在 builtins(7) 查看命令 cd

  • cd /

    • 切换到根目录。

  • cd

    • 切换到用户主目录。

  • cd /foo

    • 切换到绝对路径 /foo 所指定的目录。

  • cd ..

    • 切换到上一级目录。

  • cd ~foo

    • 切换到用户主目录下的 foo 目录去。

  • cd -

    • 切换到上一次所去的目录。

  • </etc/motd pager

  • touch junkfile

    • 创建一个空文件 junkfile

  • cp foo bar

    • 拷贝一个已有的文件 foo 到新文件 bar

  • rm junkfile

    • 删除文件junkfile

  • mv foo bar

    • 把已有的文件 foo 重命名为 bar

  • mv foo bar/baz

    • 把已有的文件 foo 移动到新位置并重命名为 bar/baz。目录 bar 必须存在。

  • chmod 600 foo

    • 让已经存在的文件 foo 其他人不能读写。(所有人都 不能执行)。

  • chmod 644 foo

    • 使文件 foo 其他的人可以读,但是不能写。(所有人 都不能执行)

  • chmod 755 foo

    • 使文件 foo 其他的人能读不能写。(所有人都可以执行)

  • top

    • 全屏显示进程信息。输入”q”退出。

  • ps aux | pager

  • ps -ef | pager

    • 用 system-V 风格来输出所有正在运行的进程的信息。

  • ps aux | grep -e "[e]xim4*"

    • 显示 exim4 进程,或者运行 exim 的进程。输入 man grep 可以从 grep(1) 的手册页学习正则表达式。 [24]

  • ps axf | pager

    • 用 ASCII 艺术形式来显示运行所有进程信息。

  • kill 1234

  • grep -e "pattern" *.html

    • 找到当前目录下面所有以 .html 结尾的文件中含有"pattern"的行,并显示它们。

  • gzip foo

    • 用Lempel-Ziv(LZ77)压缩算法压缩foo,生成foo.gz

  • gunzip foo.gz

    • 将文件 foo.gz 解压缩生成 foo

  • bzip2 foo

    • 将文件 foo.bz2 解压缩生成 foo

  • tar -xvvf foo.tar

    • 从打包文件 foo.tar 解出文件来。

  • tar -xvvzf foo.tar.gz

    • 从打包压缩的文件 foo.tar.gz 中解开文件。

  • tar -xvvf --bzip2 foo.tar.bz2

    • 从文件 foo.tar.bz2 解压缩文件。 [25]

  • tar -cvvf foo.tar bar/

    • 把目录 bar/ 的内容打包存放到 foo.tar 存档中。

  • tar -cvvzf foo.tar.gz bar/

    • 把目录 bar/ 的内容打包并且压缩存放到 foo.tar.gz 存档中。

  • tar -cvvf --bzip2 foo.tar.bz2 bar/

    • 把目录 bar/ 中的内容打包存放到 foo.tar.bz2 存档里面。 [26]

  • zcat README.gz | pager

    • 实用默认的分页显示程序 pager 来显示压缩文件 README.gz 中的内容。

  • zcat README.gz > foo

    • 使用文件 README.gz 解开后的内容创建一个文件 foo

  • zcat README.gz >> foo

    • 把文件 README.gz 解开后的内容追加到文件 foo 的后面(如果文件不存在的话,就会创建一个)。

  • find . -name pattern

    • 用 shell 找到匹配 pattern 的文件名(慢一些)。

  • locate -d . pattern

    • 用 shell 找到匹配 pattern 的文件名(使用已有的规则的数据库,快一些)。

请用上面的这些命令来查看您的系统的目录和其他的信息,以此来熟练一些操作。如果您对上面的这些控制台命令有任何不明白的地方,请首先阅读帮助手册,比如下面的命令就是好的开始:

     $ man man
     $ man bash
     $ man ls

现在也是时候启动 vim 然后按下 F1 键了。您最少也应该阅读开始的 35 行。然后把光标移动到 |tutor|,再按下 Ctrl-]就可以做在线测试了。查看编辑器, 第 11 章可以学到更多关于编辑器的知识。

请注意许多来自于 GNU 和 BSD 的类 Unix 命令都会在您进行如下操作的时候(或者您没有给出任何参数)给出简单的帮助:

     $ commandname --help
     $ commandname -h