让我们来学习基本的 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
-
列出目录所有文件和目录的详细信息。查看Debian 中的文件系统概念, 第 4.5.2 节。
-
-
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
-
使用默认的分页程序查看文件
/etc/motd
的内容,参照command < foo, 第 4.3.10.9 节。 [23]
-
-
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
-
用 BSD 风格输出所有正在运行的进程的信息。参照 command1 | command2, 第 4.3.10.2 节。
-
-
ps -ef | pager
-
用 system-V 风格来输出所有正在运行的进程的信息。
-
-
ps aux | grep -e "[e]xim4*"
-
显示
exim4
进程,或者运行exim
的进程。输入 man grep 可以从grep(1)
的手册页学习正则表达式。 [24]
-
-
ps axf | pager
-
用 ASCII 艺术形式来显示运行所有进程信息。
-
-
kill 1234
-
杀死进程号为 1234 的进程。 查看中止一个进程, 第 8.5.1 节。
-
-
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