首页 > 系统相关 >Linux 中竖线“|”与双竖线“||”的意思

Linux 中竖线“|”与双竖线“||”的意思

时间:2022-11-07 14:12:22浏览次数:64  
标签:bin sbin 18066609 nologin 意思 Linux root 竖线

linux中竖线'|',双竖线‘||’,&和&&的意思

对于初学者来说这几个意思可能只知道其中几个的意思,下面我们来看一下。

1、竖线‘|’ ,在linux中是作为管道符的,将‘|’前面命令的输出作为'|'后面的输入。举个例子

[18066609@root~]$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
 

加上|head -n1 之后

[18066609@root~]$ cat /etc/passwd|head -n1
root:x:0:0:root:/root:/bin/bash
 

2、双竖线‘||’,用双竖线‘||’分割的多条命令,执行的时候遵循如下规则,如果前一条命令为真,则后面的命令不会执行,如果前一条命令为假,则继续执行后面的命令。

举例输入1小于2双竖线输出b,前面为真,后面不执行则没有输出b,输入1大于2双竖线echo b,前面为假则输出b。

[18066609@root~]$ [[ 1 -lt 2 ]]||echo b
[18066609@root~]$ [[ 1 -gt 2 ]]||echo b
b
 

再举一个实用性的例子,判断文件是否存在,不存在则创建,存在就什么都不执行。

[18066609@root~]$ ls
[18066609@root~]$ [[ -f 1.txt ]] || touch 1.txt
[18066609@root~]$ ls
1.txt
[18066609@root~]$ [[ -f 1.txt ]] || touch 2.txt
[18066609@root~]$ ls
1.txt
 

3、&同时执行多条命令,不管命令是否执行成功

[18066609@root~]$ [[ 1 -gt 2 ]] & echo b
[1] 32303
b
[18066609@root~]$ 
[1]+  Exit 1                  [[ 1 -gt 2 ]]
 

4、&& 可同时执行多条命令,当碰到执行错误的命令时,将不再执行后面的命令。如果一直没有错误的,则执行完毕。

[18066609@root~]$ [[ 1 -gt 2 ]] && echo b
[18066609@root~]$ 
[18066609@root~]$ [[ 1 -lt 2 ]] && echo b
b

标签:bin,sbin,18066609,nologin,意思,Linux,root,竖线
From: https://www.cnblogs.com/FireLife-Cheng/p/16865742.html

相关文章

  • 记在Linux系统实现用nginx解析php
    记在Linux系统实现用nginx解析php实验环境:系统版本:CentOS7nginx版本:nginx-1.6.0(http://mirrors.sohu.com/nginx/nginx-1.6.0.tar.gz)php版本:php-5.3.28(http://mu......
  • linux使用命令行从某度网盘上传/下载数据
    1、linux系统中已安装有python环境,安装bypy库和requests库安装方法如下:pipinstallrequests-ihttps://pypi.doubanio.com/simplepipinstallbypy-ihttps://pypi.do......
  • linux下实现event
    在linux下实现事件,主要采用条件锁的方式实现,源码如下:首先是event.h文件,实现event类#include<pthread.h>#include<sys/time.h>constintINFINITE=-1;classCEvent{publ......
  • linux下实现event
    在linux下实现事件,主要采用条件锁的方式实现,源码如下:首先是event.h文件,实现event类#include<pthread.h>#include<sys/time.h>constintINFINITE=-1;classCEvent{publ......
  • linux 后台挂起程序
    1.启动命令使用nohup命令挂起服务程序,启动命令如下nohuppython-utest.py>test_out.out2>&1&1命令含义说明:“nohup”:保证程序不被挂起末尾的“&”:表示后台运行......
  • 记在Linux系统源码包安装MySQL
    记在Linux系统源码包安装MySQL实验环境:系统版本:CentOS7MySQL版本:5.7.39(https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.39-el7-x86_64.tar.gz)实验开始步......
  • linux 测试端口命令wget --- 比telnet更好
     wget11.11.255.11:20001三种返回:1ip不通 Connectingto11.11.255.11:20001... 2ip通端口不通 Connectingto11.11.255.11:20001...failed:Connectionrefused......
  • 如何安装nload对linux进行流量监控
    第一步:nload命令简介nload命令用于查看linux网络流量状况,实时输出。可以理解为是一个控制台应用程序,用来实时监测网络流量和带宽使用情况的命令。使用可视化的界面显示......
  • linux杀死进程
    ps-ef|grepflask|grep-vgrep|awk'{print$2}'|xargskill-9命令分析:命令作用ps-ef|grepflask找到所有flask进程grep-vgrep过滤包含......
  • 如何在 Linux 上监控 RAM 使用情况
    我们介绍几种检查和监控Linux上RAM使用情况的方法 1、free命令[root@YZH-RHEL82~]#freetotalusedfreesharedbuff/ca......