Linux基礎知識4:重定向、標準輸出和標準錯誤、man、tldr
shell、terminal、console
console:操作者工作站(一般只有一個)
terminal:電子硬體裝置,輸入或者輸出資料,或者一個連線系統,主要是看這個如:
text terminal:(封裝程式)(和程式關聯有三種情況,stdin、stdout、stderr,也是每個程式開啟是預設開啟的三個檔案描述符,即012)
keyboard--->Program(#0 stdin)
Display<----Program(#1 stdout #2 stderr)
ls
用>
重定向:標準輸出重定向
ls > ls.log:把當前目錄重定向到ls.log檔案中
ls dir1 > ls.log:把dir1下目錄重定向到ls.log檔案中(相當於列印目錄)
如果dir1不存在,那麼ls.log為空檔案。這時如果需要列印錯誤輸出,需要:
ls dir1 2> ls.err(注意2>之間不能空格)
ls 用法:
ls dir1:列印目錄dir1(可以加選項: -lh -al,簡寫即‘ll’ 和 ‘la’)
ls dir1 > file:列印dir1到file,注意是隻在標準輸出的情況下重定向成功
ls dir1 2> errfile 1> file:
列印dir1目錄,標準輸出就放在file,標準錯誤輸出就放在errfile;
2不可以省略,但1可以省略;
2(1)和‘>’之間不能有空格
ls dir1 dir2 1> file1 2>file2:
dir2 和 1> file1 之間順序可換;
如果dir1是標準錯誤輸出那麼將定向到file2
...
所以可以總結得到,1(2)> file
只會重定向前面所有滿足定向條件的輸出。
ls dir1 dir2 2> err 1>&2
dir1 dir2 2> err:將dir1和dir2的標準錯誤輸出定向到err檔案中
1>&2: 將標準輸出也定向到標準錯誤中
對輸入進行重定向(檔案到命令的重定向):
./a.out < a:通過a檔案對。./a.out進行輸入(還可以加個0)
如果a是管道檔案,那麼就可以實現跨介面輸入(參見前面的基礎知識3的pipe和fifo)
Linux幫助手冊
man手冊內容(以ls
命令為例):[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-jpfFCucy-1604418805256)(C:\Users\king\AppData\Roaming\Typora\typora-user-images\image-20201103232238559.png)]
LS(1):指一般使用者可以使用的命令ls
,然後是名字、語法。語法部分[]
內是選項,還包括退出狀態(Exit status,錯誤返回值)。
man手冊(一般適用於記得但記不全的命令,有的放矢地找,關鍵部分查詢,會含有例子,可以直接看例子瞭解使用方法):
man command
檢視命令的幫助手冊;
開啟之後 /
查詢相關內容 ;
跳轉下一項:n,跳轉上一項:N(next,且一般大小寫表示的命令含義是相反的)
G/g:跳轉文尾和文首,12g:從頭開始的第12行,但12G就不管用了
man -k keyword
通過關鍵字檢視命令
man中命令後面的代號意義:
代號 | 代表的含義 | 舉例 |
---|---|---|
1 | 使用者在shell環境下可以操作的命令或可執行檔案 | man 1 ls |
2 | 系統核心可呼叫的函式和工具 | man 2 reboot |
3 | 一些常用的函式與函式庫,大部分C的函式庫 | man 3 readdir |
4 | 裝置檔案的說明,通常是在/dev 下的裝置 | man 4 null |
5 | 配置檔案或某些檔案的格式 | man 5 interfaces |
6 | 遊戲 | man 6 lol ? |
7 | 慣例與協議等,例如Linux檔案系統,網路協議等 | man 7 tcp |
8 | 系統管理員可用的命令 | man 8 reboot |
9 | 跟kernel有關的檔案 | |
o | 舊文件 | |
n | 新文件 | |
l | 本地文件 |
可以通過 man3
/之類的檢視具體內容,well,具體可以通過 man man
檢視
在man手冊中,我們可以用到的快捷鍵如下:
快捷鍵 | 功能 | 快捷鍵 | 功能 |
---|---|---|---|
Ctrl+f(orward) | 向下翻一頁 | Ctrl+d(own) | 向下翻半頁 |
Ctrl+b(ackward) | 向上翻一頁 | Ctrl+u§ | 向上翻半頁 |
/ | 查詢 | q(uit) | 退出 |
by the way:
fstab:檔案系統掛載
atp:應用層協議,雲主機沒有
tldr:too long dont read,簡版man手冊
包含了最經常使用的東西。
tldr ssh:
ssh
Secure Shell is a protocol used to securely log onto remote systems.
It can be used for logging or executing commands on a remote server.
- Connect to a remote server:
ssh {{username}}@{{remote_host}}
- Connect to a remote server with a specific identity (private key):
ssh -i {{path/to/key_file}} {{username}}@{{remote_host}}
- Connect to a remote server using a specific port:
ssh {{username}}@{{remote_host}} -p {{2222}}
- Run a command on a remote server:
ssh {{remote_host}} {{command -with -flags}}
- SSH tunneling: Dynamic port forwarding (SOCKS proxy on localhost:9999):
ssh -D {{9999}} -C {{username}}@{{remote_host}}
- SSH tunneling: Forward a specific port (localhost:9999 to example.org:80) along with disabling pseudo-[t]ty allocation and executio[n] of remote commands:
ssh -L {{9999}}:{{example.org}}:{{80}} -N -T {{username}}@{{remote_host}}
- SSH jumping: Connect through a jumphost to a remote server (Multiple jump hops may be specified separated by comma characters):
ssh -J {{username}}@{{jump_host}} {{username}}@{{remote_host}}
- Agent forwarding: Forward the authentication information to the remote machine (see
man ssh_config
for available options):
ssh -A {{username}}@{{remote_host}}
{{}}
裡面的是使用者自定義的,外面的是必寫的。
相關文章
- Linux的標準輸入、標準輸出和標準錯誤Linux
- Linux基礎命令---echo列印內容到標準輸出Linux
- 015 Linux 標準輸入輸出、重定向、管道和後臺啟動程式命令Linux
- Java —— 標準輸入輸出Java
- python 標準輸入輸出Python
- Go基礎系列:讀取標準輸入Go
- 13.Linuxshell程式設計(條件語句和標準輸出重定向)Linux程式設計
- linux自動清理Docker標準輸出日誌LinuxDocker
- 【知識點】深入淺出STL標準模板庫
- 錯誤和異常 (一):錯誤基礎知識
- 標準化/結構化 JSON 輸出JSON
- 指令碼日誌的標準輸出指令碼
- 標準IO和系統IO的相關知識積累
- 標準C語言4C語言
- C++名稱空間、標準輸入輸出、引用C++
- ECMA標準ECMAScript(JavaScript的一個標準)和C#JavaScriptC#
- weblogic安全基線標準Web
- 標準輸出也可以是一個共享資源
- 不安裝標準件如何直接匯出含有標準件的BOM
- 4 種標準元註解
- 協程 shell_exec 如何捕獲標準錯誤流
- PhpCms模板標籤的基礎知識PHP
- Linux安裝MySQL標準教程LinuxMySql
- /dev/null和標準*使用devNull
- JDK 18 及以上使用標準輸出流中文輸出亂碼問題JDK
- 【知識分享】伺服器常見的電源標準伺服器
- 標準javabeanJavaBean
- 目標網站反爬基礎知識網站
- HTML基礎知識6-表格標籤HTML
- 【scikit-learn基礎】--『預處理』之 標準化
- 基於oracle linux的 DBI/DBD 標準化安裝OracleLinux
- 音視訊學習(一)-- 基礎知識準備
- USB 4規範標準正式釋出 基於USB 4的裝置即將上市
- MEF釋出SD-WAN標準
- linux基礎知識Linux
- Web新標準Web
- 常用標準io
- 【譯】給小白準備的Web架構基礎知識Web架構