Linux shell必知必会
我个人很喜欢使用 Linux 系统,虽然说 Windows 的图形化界面做的确实比 Linux 好,但是对 脚本 的支持太差了。一开始有点不习惯 命令 行操作,但是熟悉了之后反而发现移动鼠标点点点才是浪费时间的罪魁祸首。那么对于 Linux 命令 行,本文不是介绍某些命令的用法,而是说明一些简单却特别容易让人迷惑的细节问题。 1、标准输入和命令参数的区别。 2、在后台运行命令在退出终端后也全部退出了。 3、单引号和双引号表示字符串的区别。 4、有的命令和sudo一起用就 command not found。 一、标准输入和参数的区别 这个问题一定是最容易让人迷惑的,具体来说,就是搞不清什么时候用管道符|和文件重定向>,<,什么时候用变量$。 比如说,我现在有个自动连接宽带的 shell 脚本 connect.sh,存在我的家目录: $ where connect.sh /home/fdl/bin/connect.sh 如果我想删除这个脚本,而且想少敲几次键盘,应该怎么操作呢?我曾经这样尝试过: $ where connect.sh | rm 实际上,这样操作是错误的,正确的做法应该是这样的: $ rm $(where connect.sh) 前者试图将where的结果连接到rm的标准输入,后者试图将结果作为命令行参数传入。