Linux必学的60个命令
由于手册页man page是用less程序来看的(可以方便地使屏幕上翻和下翻), 所以在man page里可以使用less的所有选项。
less中比较重要的功能键有:
[q] 退出;
[Enter] 一行行地下翻;
[Space] 一页页地下翻;
上翻一页;
[/] 后跟一个字符串和[Enter]来查找字符串;
[n] 发现上一次查找的下一个匹配。
4.阅读手册页
手册页在很少的空间里提供了很多的信息, 这里简单介绍一下大多数手册页中都有的部分内容。Linux手册页主要有九个部分:用户指令、系统调用、程序库、设备说明、文件格式、游戏、杂项、系统指令、内核,手册页快照见图1所示。
图1 ps命令手册页快照
Linux手册页布局见表1。
5.应用实例
Linux
命令中有一些基础的、重要的命令,例如ps、find、cat和ls等。下面来举一个综合应用的例子,由此可以看出man的地位在Linux中可谓至关重
要。但是,man所显示的信息却不是普通的文本,如果直接将这些文字重定向到一个文本文件,就会发现在man中高亮显示的文字就变成了两个,而且有不计其
数的制表符,使打印、编辑都变得非常不便。不过,使用下面这样一条语句就能得到ps命令打印。
# man ps | col -b | lpr
这条命令同时运用了输出重定向和管道两种技巧,作用是将ps命令的帮助信息可以直接打印出来。更多的Man文件可以查看Linux Man
unencode
1.作用
unencode命令可以把一个二进制文件表编码为一个文本文件,使用权限是所有用户。
2.格式
uuencode [-hv] [源文件] 目标文件
3.主要参数
-h:列出指令使用格式(help) 。
-v:列出版本信息。
4.应用说明
uuencode指令可以将二进制文件转化成可使用电子邮件发送的ASCII编码形式。uuencode编码后的资料都以 begin开始,以end作为结束,且通常其中的每一行的开始均为“M”,中间部分是编码过的文件,编码后的文件比源文件要大一些。
uudecode
1.作用
uudecode命令用来将uuencode编码后的档案还原,uudecode只会将begin与end标记之间的编码资料还原,程序会跳过标记以外的资料。它的使用权限为所有用户。
2.格式
uuencode [-hv] [file1 ...]
3.主要参数
-h:列出指令使用格式(help)。
-v:列出版本信息。
4.应用实例
使用下面命令一次还原几个文件:
uuencode file1.uud file2.uud file3.uud
动手练习
1.在Linux命令行下发送邮件
虽然Linux桌面应用发展很快,但是命令行(Shell)在Linux中依然有很强的生命力。如果能确认电子邮件服务器支持8bit的字节,就可以直接使用下面命令:
cat 附件文件名> | mail 邮件地址>
cat(cat是concatenate的缩写)命令是将几个文件处理成一个文件,并将这种处理的结果保存到一个单独的输出文件,这里我们用它来合并邮件的文本。
写好邮件名称,比如叫cjkmail,然后使用下面命令:
$uuencode 附件文件名> 附件文件名> >>cjkmail
这样就可以用vi编辑器写cjkmail文件,并在前面写上信的正文,然后寄出。
对方收到信后,把信中属于cjkmail中的内容拷贝出来,存为themail.uue。如果对方是在Windows下,就可以用WinRAR或WinZip解压,这样就可以看到附件。
如果对方也使用Linux,可以用undecode命令还原:
$ uudencode -o附件文件名> themail.uue
2.实现tar的分卷
笔者想把一个378MB的文件压缩成多个63MB的文件(笔者的USB为64MB),使用下面命令:
$tar czvf - dir | split -d -b 63m
然后合并命令:
$cat x* > dir.tgz
以上例子实际是由三个命令组合完成的,即用tar打包,用split分割,用cat合并。“tar czvf - dir”的意思是把dir目录打包,并输出到标准输出(argv),这样就可以直接用管道输出给split。
3.连续执行一个命令
使用watch命令,可以反复执行命令。如果和ls配合,可以达到观察某文件大小变化的效果。
$watch ls -l file.name
4.用tar命令导出一个文件
有一个tar格式的DVD文件GLvPro6.4_linux.tar,因为该文件非常大(4.7GB),如果全部解压比较麻烦,可以用下面命令先导出readme.txt看看。
tar xvf GLvPro6.4_linux.tar readme.txt
这样readme.txt就单独被导出了。
5.用tar打包一个目录时只备份其中的几个子目录
tar cf --exclude home/cjh home/cao
这样home目录下只有cjh和cao两个子目录备份。
到
此为止,Linux必学的60个命令已经全部介绍完了。Linux的命令行方式功能强大,如果熟练掌握了Linux的常用命令,往往只需要通过各种技巧就
可以组合构成一条复杂的命令,从而完成用户任务。Linux系统中的命令实在是太多了,不可能像在MS
DOS中把所有的命令及参数都记住。Linux系统提供了一些方法,比如可以通过“help”和“man”来查询名令。
评论