让我们来学习基本的 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