tshizuku03の日記

主にoracleやLinuxコマンドについての記事を載せていきたいと思っています。

基本コマンドとファイル操作3_ファイル記述子

**file コマンド
ファイルの種類を調べるコマンド

[root@node001 ~]# file test1.txt
test1.txt: ASCII text ###文字コード『ASCII』のテキストファイ
[root@node001 ~]# file test
test: directory     ###ディレクトリ

 

**ファイル記述子
・0番:標準入力
・1番:標準出力
・2番:標準エラー


構文
例1)カレントディレクトリのファイルリストをfile1に格納する
$ls > file1

例2)1>を使用してファイルリストをfile2に格納する(例1と同様)
$ls 1 > file2

例3)file1に、/binのファイルリストを追記して保存する
$ls /bin >> file1

例4)lsコマンドを実行してエラーが出力された場合のみfile3ファイルに格納する
$ls 存在しないファイル 存在するファイル 2 > file3

例5)標準出力、標準エラーの両方をbothファイルに格納する
$ls 存在しないファイル 存在するファイル & > both
以下でも同様の結果を得られる
$ls 存在しないファイル 存在するファイル > & both
$ls 存在しないファイル 存在するファイル 1 > both 2 > &1

 

例6)コマンド1を実行した結果の標準出力、標準エラー出力の両方をbothファイルに格納する
$コマンド1 & > both
以下でも同様の結果を得られる
$コマンド1 > & both

 

例7)file1の内容を標準入力からコマンド1に取り込む
$コマンド1 < file1

 

例8)file1の内容を標準入力からコマンド1に取り込み、コマンド1の標準出力を
コマンド1の標準入力に渡してさらにデータを加工することができます。
$コマンド1 < file1 | コマンド2
実行例

[root@node001 ~]# cat test1.txt
aaa
bbb
ccc
[root@node001 ~]# cat test1.txt | head -2
aaa
bbb
[root@node001 ~]#

 

**dev/null ファイルは特殊なデバイスファイルです。
このファイルに書かれたものは全て消去され、このファイルを読み込むと常に
EOF(End Of File)が帰ります。
実行例
$コマンド > /dev/null 2 > &1
標準出力先を/dev/null とする。標準エラー出力先は、現在の標準出力先(/dev/null)とする