linux shell 指令

2019-08-12  本文已影响0人  Carver_c5f0

linux shell一些重要指令

数据流重定向

首先区分一下标准输出和标准错误输出。
简单的说,标准输出指的是命令执行所传回的正确的信息,而标准错误输出可理解为命令执行失败后所传回的错误信息。
数据重定向就是把标准输出和标准错误输出的结果分别传送到其他的文件或者设备中去,这对于我们想要将某些数据保存下来是很有用的。分别传送所用的字符如下:

  1. 标准输入(stdin):代码为0,使用< 或 <<;
  2. 标准输出(stdout):代码为1,使用> 或 >>;
  3. 标准错误输出(stderr):代码为2,使用2> 或 2>>;

这里说明一下:单个(> 或 <)是指覆盖写,覆盖的意思就是如果目标文件存在数据时,把原数据清空,再写进去。而双个(<< 或 >>)是指追加写。也就是,接在原数据的后面写入。


graph LR
file-->Command
Command-->standardOutput-File/device
Command-->standardError-File/device

输出正确数据输出到文件忠

数据流输出到指定文件进行覆盖>或1> 文件路径

[carver@master ~]$ ll > ~/rootfile
[carver@master ~]$ cat ~/rootfile 
total 8
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Desktop
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Documents
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Downloads
-rw-rw-r--. 1 carver carver 92 Jun 19 14:53 dump.rdb
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Music
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Pictures
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Public
-rw-rw-r--. 1 carver carver  0 Aug 12 22:05 rootfile
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Templates
-rwxrwxr-x. 1 carver carver 46 Aug 12 21:02 test.sh
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Videos
[carver@master ~]$ ll > ~/rootfile
[carver@master ~]$ cat ~/rootfile 
total 8
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Desktop
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Documents
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Downloads
-rw-rw-r--. 1 carver carver 92 Jun 19 14:53 dump.rdb
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Music
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Pictures
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Public
-rw-rw-r--. 1 carver carver  0 Aug 12 22:07 rootfile
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Templates
-rwxrwxr-x. 1 carver carver 46 Aug 12 21:02 test.sh
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Videos

数据流追加到原来文件命令>>h或1>> 文件路径

[carver@master ~]$ ll >> ~/rootfile
[carver@master ~]$ cat ~/rootfile 
total 8
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Desktop
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Documents
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Downloads
-rw-rw-r--. 1 carver carver 92 Jun 19 14:53 dump.rdb
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Music
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Pictures
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Public
-rw-rw-r--. 1 carver carver  0 Aug 12 22:07 rootfile
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Templates
-rwxrwxr-x. 1 carver carver 46 Aug 12 21:02 test.sh
drwxr-xr-x. 2 carver carver  6 May 28 18:00 Videos
total 12
drwxr-xr-x. 2 carver carver   6 May 28 18:00 Desktop
drwxr-xr-x. 2 carver carver   6 May 28 18:00 Documents
drwxr-xr-x. 2 carver carver   6 May 28 18:00 Downloads
-rw-rw-r--. 1 carver carver  92 Jun 19 14:53 dump.rdb
drwxr-xr-x. 2 carver carver   6 May 28 18:00 Music
drwxr-xr-x. 2 carver carver   6 May 28 18:00 Pictures
drwxr-xr-x. 2 carver carver   6 May 28 18:00 Public
-rw-rw-r--. 1 carver carver 585 Aug 12 22:07 rootfile
drwxr-xr-x. 2 carver carver   6 May 28 18:00 Templates
-rwxrwxr-x. 1 carver carver  46 Aug 12 21:02 test.sh
drwxr-xr-x. 2 carver carver   6 May 28 18:00 Videos

进行分类输出文件

[carver@master ~]$ find / -name redis >rightMessage 2> errorMessage
[carver@master ~]$ ll rightMessage errorMessage 
-rw-rw-r--. 1 carver carver 76497 Aug 12 22:16 errorMessage
-rw-rw-r--. 1 carver carver    18 Aug 12 22:16 rightMessage

命令执行判断依据

很多命令需要一次性执行,而不想要分开执行,可以使用shell编程或者使用:;,&& ||命令进行执行操作,但是笔主觉得偏向于用shell编程,所以这里不展开说明。

管道命令

我们经常会遇到一些命令,输出就会霸占整个控制台,对排查问题并不友好。管道命令可以解决上面的问题,类似less,more,tail命令

上一篇下一篇

猜你喜欢

热点阅读