1、使用標準輸出以及重定向
例如:echo 「123」 > /home/123.txt1>/dev/null 首先表示標準輸出重定向到空裝置檔案,也就是不輸出任何資訊到終端,說白了就是不顯示任何資訊。1 表示stdout標準輸出,系統預設值是1,所以">/dev/null"等同於"1>/dev/null"
2 表示stderr標準錯誤
& 表示等同於的意思,2>&1,表示2的輸出重定向等同於1
2>&1 接著,標準錯誤輸出重定向等同於標準輸出,因為之前標準輸出已經重定向到了空裝置檔案,所以標準錯誤輸出也重定向到空裝置檔案.*
find / -name 123.log > file 2>&12、使用命令tee追加檔案###將執行結果標準輸出與錯誤輸出同時記錄到檔案「file」中
從標準輸入讀取內容並將其寫到標準輸出和檔案中使用 tee 時,如果想保留目標檔案原有的內容,可以使用 -a 引數,附加至給出的檔案,而不是覆蓋它。列如: ls /root |tee file
如果同時輸出到多個檔案直接跟檔案名字即可
-i引數能夠讓tee忽略中斷事件(sigint)
3、script 命令
[storage@hxbank2 service]$ scriptscript started, file is typescript
[storage@hxbank2 service]$ ll
總用量 68
-rw-r–r--. 1 storage storage 256 9月 10 14:53 startsrmdb.sh
-rw-r–r--. 1 storage storage 140 9月 10 14:53 startsupervisord.sh
-rw-r–r--. 1 storage storage 401 9月 10 14:53 starttomcat.sh
-rw-r–r--. 1 storage storage 139 9月 10 14:53 stopsupervisord.sh
-rw-rw-r–. 1 storage storage 0 11月 25 16:21 typescript
[storage@hxbank2 service]$ exit
exit
script done, file is typescript
[storage@hxbank2 service]$ cat typescript-a引數 指定檔名;若不指定則使用預設的輸出檔名typescript指令碼啟動於 2023年11月25日 星期一 16時21分57秒
[storage@hxbank2 service]$ ll
總用量 68
-rw-r–r--. 1 storage storage 256 9月 10 14:53 startsrmdb.sh
-rw-r–r--. 1 storage storage 140 9月 10 14:53 startsupervisord.sh
-rw-r–r--. 1 storage storage 401 9月 10 14:53 starttomcat.sh
-rw-r–r--. 1 storage storage 139 9月 10 14:53 stopsupervisord.sh
-rw-rw-r–. 1 storage storage 0 11月 25 16:21 typescript
[storage@hxbank2 service]$ exit
exit
script done on 2023年11月25日 星期一 16時22分05秒
4、linux中nohup的用法
nohup 後跟命令 ,會將此命令的標準輸出指定到noput.out檔案中,此檔案就在當前目錄中產生。
因此此命令多用於對指令碼或者程式後台執行的時,將啟動指令碼的「標準輸出「記錄到相應的檔案中。
使用了解到此命令不可實現錯誤輸出,只能識別標準輸出
[root@hxbank2 service]# nohup pwd如果使用nohup命令提交作業,那麼在預設情況下該作業的所有輸出都被重定向到乙個名為nohup.out的檔案中,除非另外指定了輸出檔案:nohup: 忽略輸入並把輸出追加到"nohup.out"
[root@hxbank2 service]# cat nohup.out
nohup: 忽略輸入並把輸出追加到"nohup.out"
[root@hxbank2 service]# cat nohup.out
nohup command > myout.file 2>&1 &
執行程式 Linux系統下執行c 程式
引言 為什麼要在linux下寫程式?分享資料報括 c c linux,nginx,zeromq,mysql,redis,fastdfs,mongodb,zk,流 cdn,p2p,k8s,docker,tcp ip,協程,dpdk等等。首先要問一下自己,為什麼要寫這個程式。如果我們寫乙個執行在wind...
linux自動執行程式
linux 的啟動指令碼位於 etc init.d rcs 注rcs中 s是大寫字母 vi etc init.d rcs 進入vi後,按i 編輯.移動上下左右鍵到,你想插入的位置,然後打字。這時跟記事本是一樣的。打完字後,按esc 然後輸入 wq 注,第乙個字元是冒號 也要輸入 就儲存退出了。若想自...
Linux後台執行程式
shell command dev null 2 1 最後乙個符號 意思是讓程式在後台執行。dev null 的作用是將標準輸入轉向null,這樣就忽略當前的指令碼標準輸出。2 1 的作用是將標準錯誤連線至標準輸出,也將被忽略。一直不明白1 2的作用。原來!作業系統預設指定3個檔案 0標準輸入 1標...