一、命令的排列 现在您将看到一些常用的命令排列。您可能想在一行中给出所有命令,然后就可以把注意力转移到其他地方。没问题,shell 允许您在不同的命令之间,放上特殊的排列字符(queuing characters) 。这儿将介绍最常用的两种。请注意,为了看起来更清楚,我在这些字符两旁加了空格。而在实际应用中,您不一定要这么做,'ls -a ; du -hs'和'ls -a;du -hs'的效果是一样的。 command1 ; command2先执行 command1 ,不管 command1 是否出错,接下来执行 command2 。例如: ls -a ; du -hs将先在屏幕上列出目录中的所有内容,然后列出所有目录及其子目录所占磁盘大小。command1 && command2只有当 command1 正确运行完毕后,才执行 command2 。例如: ls -a bogusdir && du -hs将返回 ls: bogusdir: No such file or directory ,而'du'则根本没有运行(这是因为您没有'bogusdir'目录)。如果您将符号换成了';','du'将被执行。为了进一步说明';'和'&&'的区别,及一般命令排列的用处,下面举一个经典的例子:Linux 内核的编译和安装。要编译、安装 Linux ,您需要执行一串命令:'make dep'、'make clean'、'make bzImage'、'make modules'、'make modules_install'和'make install'。如果要等一个命令完成后,再输入下一个,再等,再输入,……,那就太麻烦了。另一方面,每个命令只有当前面的命令都正确执行完毕后,才能开始执行。如果您用';'来排列命令,则即使有命令执行失败,后面的也照常运行,最后,您可能在'/boot'目录下得到一个有问题的内核映像(image)。而用'&&': make dep && make clean && make bzImage && make modules && make modules_install && make install不需要中途打断,就可以编译内核及其模块,并完成后面的安装。
比如,tar -zcvf 压缩文件名字 要压缩的文件路径压缩到成功了,但是 还是有个问题。比如,我要压缩的文件路径为 /root/kimi/test/ap
也就是我要把这个ap目录底下的所有东西都压缩,但是现在压缩后的文件打开之后发现,压缩之后的文件
是以root/kimi/test/ap/*这么个开头,我想一打开压缩包,里面是以ap开头的。谁给解决一下!!!
runtime.exec (cd root/kimi/test/;tar -zcvf )
现在您将看到一些常用的命令排列。您可能想在一行中给出所有命令,然后就可以把注意力转移到其他地方。没问题,shell 允许您在不同的命令之间,放上特殊的排列字符(queuing characters) 。这儿将介绍最常用的两种。请注意,为了看起来更清楚,我在这些字符两旁加了空格。而在实际应用中,您不一定要这么做,'ls -a ; du -hs'和'ls -a;du -hs'的效果是一样的。
command1 ; command2先执行 command1 ,不管 command1 是否出错,接下来执行 command2 。例如:
ls -a ; du -hs将先在屏幕上列出目录中的所有内容,然后列出所有目录及其子目录所占磁盘大小。command1 && command2只有当 command1 正确运行完毕后,才执行 command2 。例如:
ls -a bogusdir && du -hs将返回 ls: bogusdir: No such file or directory ,而'du'则根本没有运行(这是因为您没有'bogusdir'目录)。如果您将符号换成了';','du'将被执行。为了进一步说明';'和'&&'的区别,及一般命令排列的用处,下面举一个经典的例子:Linux 内核的编译和安装。要编译、安装 Linux ,您需要执行一串命令:'make dep'、'make clean'、'make bzImage'、'make modules'、'make modules_install'和'make install'。如果要等一个命令完成后,再输入下一个,再等,再输入,……,那就太麻烦了。另一方面,每个命令只有当前面的命令都正确执行完毕后,才能开始执行。如果您用';'来排列命令,则即使有命令执行失败,后面的也照常运行,最后,您可能在'/boot'目录下得到一个有问题的内核映像(image)。而用'&&':
make dep && make clean && make bzImage && make modules && make modules_install && make install不需要中途打断,就可以编译内核及其模块,并完成后面的安装。