通配符
当需要用命令处理一组文件,例如file1.txt、file2.txt、file3.txt……,用户不必一一输入文件名,可以使用shell通配符。shell命令的通配符含义如下表
管道
管道可以把一系列命令连接起来,意味着第一个命令的输出将作为第二个命令的输入,通过管道传递给第二个命令,第二个命令的输出又将作为第三个命令的输入,以此类推。就像通过使用“|”符连成了一个管道。
linux@ubuntu:~$ ls /usr/bin | wc –w
1249
以上操作中,借助管道“|”,将ls的输出直接作为wc命令的输入。使用管道可以巧妙的将一些命令联合使用,得到单个命令所无法实现的效果。例如使用以上的命令组合,得到的是/usr/bin目录下文件的个数。
shell中有哪些特殊字符? * ? [ ]
shell中管道的作用? 第一个命令的输出作为第二个命令的输入
shell中grep命令和管道如何结合?
cat /etc/passwd | grep “linux”
ps -ef 是查看当前运行的进程
输入/输出重定向
- 输入/输出重定向是改变shell命令或程序默认的标准输入/输出目标,重新定向到新的目标。
- linux中默认的标准输入定义为键盘,标准输出定义为终端窗口。
- 用户可以为当前操作改变输入或输出,迫使某个特定命令的输入或输出来源为外部文件。
- cat命令功能为在标准输出上显示文件。下面通过一个实例,可以更好地理解重定向的功能。
linux@ubuntu:~/mywork$ cat #使用标准输入/出设备
have a good day! #用户使用标准输入设备——键盘,键入字符串,并按Enter键
have a good day! #系统在标准输出——显示器上,显示用户刚刚输入的字符串
linux@ubuntu:~/mywork$ cat > file1.txt #输出重定向,将输出定向到文件file1.txt
have a good day! #用户使用标准输入设备——键盘,键入字符串,并按Enter键
#用户输入的字符串被保存在file1.txt文件中
linux@ubuntu:~/mywork$ cat < file1.txt #输入重定向,将cat命令的输入指定为file1.txt文件
have a good day! #系统在标准输出显示器上,显示cat命令从文件中读出的字符串
命令置换
- 命令替换是将一个命令的输出作为另一个命令的参数。命令格式如下所示。
-其中,命令command2的输出将作为命令command1的参数。需要注意,命令置换的单引号为ESC键下方的“`”键
command1 `command2`
-pwd命令用于显示当前目录的绝对路径。在上面的命令行中,使用命令置换符,将pwd的运行结果作为ls命令的参数。最终,命令执行结果是显示当前目录的文件内容
linux@ubuntu:~$ ls `pwd`
Desktop Examples historycommandlist mywork