##はじめに
LINUX基本のメモ
LPIC101準拠
##標準入出力
キーボードやディスプレイ、ファイルの書き出し等の入出力に伴うデータの流れをストリームと呼ぶ。
LINUXでは下記の3つがある。
番号 | 入出力名 | デフォルト |
---|---|---|
0 | 標準入力 | キーボード |
1 | 標準出力 | 画面(端末) |
2 | 標準エラー出力 | 画面(端末) |
番号はファイルディスクリプタといい、OSがファイルを識別する番号である。
###パイプ
コマンドやプログラムの出力結果を別のコマンドやプログラムに渡す事できる。
つまり、単純なコマンドも複数組み合わせることで複雑な処理が可能。
この時に使われるものがパイプで記号「 | 」で表す。
####パイプの使用例
例:lsコマンドでhttpdを検索する場合
[root@localhost ~]# ps -aux | grep "httpd"
root 1226 0.0 0.4 426864 8296 ? Ss 07:43 0:02 /usr/sbin/httpd -DFOREGROUND
apache 7144 0.0 0.4 428948 8460 ? S 10:15 0:00 /usr/sbin/httpd -DFOREGROUND
apache 7145 0.0 0.4 428948 8428 ? S 10:15 0:00 /usr/sbin/httpd -DFOREGROUND
####teeコマンド
コマンドの実行結果をファイル保存しながら画面表示する。
書式:tee [オプション] ファイル名
項目名 | 説明 |
---|---|
-a | 上書きせずに追記する |
使用例:lsで一覧を取得しテキスト出力。ファイル数を画面表示する
[root@localhost ~]# ls -l | tee ls_log | wc -l
11
###リダイレクト
コマンドの実行結果を画面に表示せず、ファイル出力したい場合に使用する
・上書きする場合
書式: コマンド > 出力ファイル名
・追記する場合
書式: コマンド >> 出力ファイル名
※どちらもファイルが存在しない場合は新規作成される
例:ファイル一覧を「log1」に出力する
[root@localhost ~]# ls -l > log1
・エラーを出力する場合はディスクリプタが異なるので番号を指定する
例:lsで存在しないコマンドを指定した場合の出力
[root@localhost ~]# ls aaa 2>log1
・入力のリダイレクト
標準入力を切り替えもできる。※ファイル入力する
例:text1.txtからlpicをgrepする
[root@localhost ~]# grep "lpic" < text1.txt
###一覧
###履歴
2021/8/30 作成