一、管道符 |——将多个命令串联起来,实现复杂的操作
管道符|是一种特殊的命令操作符,它可以将一个命令的输出作为另一个命令的输入,从而实现多个命令的串联操作。比如,我们可以使用ps命令查看当前系统中正在运行的所有进程,然后通过grep命令查找特定的进程。
$ ps aux | grep nginx
以上命令会先执行ps aux查找所有的进程,将结果通过管道符|传递给grep nginx,grep命令会在结果中查找关键字nginx,输出包含该关键字的进程信息。
除了grep命令,还可以通过管道符|使用其他命令,比如awk、sed等,将多个命令串联起来,实现更加复杂的操作。
二、重定向符 >和 >>——将命令输出重定向到文件中
在Linux中,我们可以使用重定向符>和>>将命令输出重定向到文件中,以便于后续的处理或保存。
$ ps aux > ps_info.txt
以上命令执行后,会将ps aux命令的输出重定向到ps_info.txt文件中,如果文件不存在,则会创建新文件并将输出写入到该文件中;如果文件已经存在,则会清空该文件并将输出写入到文件。
$ ps aux >> ps_info.txt
以上命令使用>>符号实现追加输出,在已有的文件中追加新的输出。
三、位置符 &&、||、;——实现多个命令的条件执行
在Linux中,我们可以使用位置符&&、||、;实现多个命令的条件执行。
例如,我们可以使用&&符号实现多个命令只有在前一个命令执行成功时才执行下一个命令。
$ cd /mnt/data && ls
以上命令先执行cd /mnt/data命令,如果该命令执行成功,则会继续执行ls命令。
如果我们想要实现多个命令中只要有一个命令成功就继续执行下一个命令,可以使用||符号。
$ cd /mnt/data || cd /mnt
以上命令执行如果cd /mnt/data命令失败,则会执行cd /mnt命令。
另外,我们还可以使用分号;符号将多个命令执行起来,执行顺序和顺序一致,不受条件限制。
$ cd /mnt/data ; ls
以上命令先执行cd /mnt/data命令,然后执行ls命令。
四、通配符 *、?、[]——实现批量操作
通配符*、?、[]是Linux命令行中常用的符号,可以用于进行批量操作。
*通配符表示匹配任意数量的任意字符,可以用于批量删除、复制、移动文件等。
$ rm *.log
以上命令将删除所有以.log结尾的文件。
?通配符表示匹配任意单个字符,可以和*通配符一起使用进行更复杂的批量操作。
$ ls 20??.txt
以上命令将列出所有文件名以20开头,后面跟随两个数字、然后以.txt结尾的文件。
[]通配符表示匹配方括号内的任意一个字符,可以用于匹配指定范围内的多个字符。
$ ls *[abc].txt
以上命令将列出所有文件名以abc中的一个字母结尾的文件。