私のための忘備録②（基本的なファイル管理/ストリーム、パイプ、リダイレクトの使用)

##tar 
複数のファイルをまとめて1つのファイルにする（アーカイブにする）
もしくは、アーカイブを展開するためのコマンド
-c 新しいアーカイブを制作
-x アーカイブからファイルを展開する
-t アーカイブ内容を一覧表示
-f アーカイブファイル名をしていする
-v　処理の詳細情報を表示
-z　gzipを通して圧縮と展開
-j　bzipを通して圧縮と展開
-J　xzを通して圧縮と展開

tar アーカイブ先のファイル名＋　個々のまとめたいファイル

##xz コマンド
拡張子がxzで圧縮されたファイル
-d,--decompress　圧縮ファイルの展開　←展開するだけならxzコマンドだけでなくunxzも使える

-k,--keep 圧縮展開処理後に元のファイルを削除しない
-l,--list　圧縮ファイルの情報を表示する

##ファイル名＋.bz2
拡張子がbz２だと、bzip2で圧縮されたファイルってこと。
bzip -d とbunzip2で展開することができる。
-d 圧縮ファイルを展開
-c　元ファイルを残して標準出力に出力

##mkdir
-m　アクセス権　指定したアクセス権でディレクトリを制作
-p 引数に海藻のあるディレクトリを指定した場合、存在しない中間ディレクトリも同時に作成
例：　mkdir -m 800 dir　←アクセスけんが８００ってこと

##rmコマンド
ファイルやディレクトリを削除する時はこのコマンドでした。
-f 削除してもOKか聞かない
-i　削除してもOKか聞く
-rとーR　ディレクトリ全体を再帰的に削除

##パイプ
コマンド1 2>&1 | コマンド2
コマンド1の標準出力と標準エラー出力をコマンド2の標準入力に送る

##tail
ファイルの末尾部分を指定して表示するコマンド

-nとー行数→指定された行数をファイルのお尻から表示させる
-cバイト数　指定したバイト数をファイルのお尻から表示
-f　ファイルのお尻に追加された行を表示し続ける

##prコマンド
ファイルを印刷用に整形するコマンド
pr+ファイル＋オプション名
オプションは　
-l 行数　ヘッダーとフッターを含めたページの行数を指定
-h 文字列　ヘッダーに表示されるファイル名を指定した文字列に変更
＋開始ページ　：終了ページ

##unexpandコマンド
行頭の連続したスペースをタブに変換する。
unexpand [オプション] [ファイル名]

-a 行頭以外の連続したスペースもタブに変換
-t スペース　タブに変換するスペースの数を指定デフォは８。![スクリーンショット 2020-07-06 11.36.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620109/156ea4d3-f3d1-1378-ed38-0e22827b5a03.png)


##sortコマンド
行単位でファイルの内容をソートする
sort [オプション] [ファイル名]

-b 行頭の空白を無視
-f　大文字小文字を区別しない
-r 降順でソート
-n　数字を文字ではなく数値としてソート
ーt　区切り文字→指定した文字を区切り文字としてフィールドを認識
-k フィールド　ソート対象とするフィールドを指定

##split
指定した行数でファイルを分割するコマンド
split [-行数] [入力ファイル名 [出力ファイル名]]
split [-l 行数] [入力ファイル名 [出力ファイル名]]
デフォルトは１０００行
※出力されるファイルの名前にはファイルのお尻にaa.ab,acと文字列が順番につく
※出力されない場合は先頭にxで末尾にaa.ab,acとついていく

##wcコマンド
ファイル内の文字数や行数を調べることができるコマンド
-l　行数を表示
ーw単語数を表示
ーc　文字バイト数を表示

もしくはオプションを表示しなくてもwcコマンドは行数、単語数、文字（バイト）が順に表示される。

##nlとcatコマンド
指定したファイルを行番号をつけて出力させるにはnlやcatコマンドを使う
nl オプション　ファイル名　
-b a 空行を含めた全ての行に行番号をつける（catコマンドの-nと同じ）　＝cat -n
-b t 空行を除いた行に行番号をつける（catコマンドの-bと同じ） =cat-b

##prコマンド
指定した文字を変換・削除するのはこのコマンドです
tr [オプション] [文字列1 [文字列2]]
-d 文字列１で指定した文字を削除
-s 文字列１で指定したもじが連続した場合、1文字に置き換える
trコマンドは変換対象を標準入力からのみ受け付けます。
つまり、変換・削除したい文字列が記載されているファイルをコマンドの引数として指定することはできません。そのため、以下のようにパイプ(|)やリダイレクト(<)を使用してファイルを指定します。

catやリダイレクト＜で。

##touchコマンド
空ファイルを制作したりファイルのタイムスタンプ （アクセス時刻や修正時刻）を変更する際に利用する
-t　時刻→アクセス時刻と修正時刻を指定した時刻に変更
-a→　アクセス時刻を変更
-m→修正時刻を変更
※-tオプションがない時はデフォルトとして現在時刻でセットされる。
touch ファイル名だとアクセスと修正の両方が変更される

##lsコマンド
ディレクトリのなやファイルの中を表示するにはこのコマンド
-a 隠しファイルを含む全てのファイルとディレクトリを表示
-A -aと同じ、カレントディレクトリと親ディレクトリは表示しない
-d　指定したディレクトリの情報を表示
-i inode番号をつけて表示
-l 詳細情報
-R サブディレクトリの内容も再帰的に表示

##ddコマンド
データのコピーや変換を行うコマンド
cpコマンドと異なり、デバイス間のコピーもOK
if=入力ファイル　入力側ファイルを指定 コピー元
of=出力ファイル　出力側ファイルを指定　コピー先
bs=バイト数　入出力のブロックサイズを指定　デフォは512バイト
count= 回数　入力ファイルから出力ファイルへブロックをコピーする回数を指定

##cpコマンド
![名称未設定ささ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620109/44528232-88ea-9626-5070-89d47ba508c6.png)

##lsコマンド
![名称未設定.１２１２png.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620109/5de3f530-16f9-6645-7f66-d20f75825eb6.png)![名称未設定1234.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620109/69596740-6973-3c67-f291-c3a05d13b925.png)


##gzip
![名称未設定朝s.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620109/eb41afa4-a476-f507-1982-005228b43de5.png)

##cpio
![名称未設定さ.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620109/bf5e458d-e5ed-3ee6-859d-622bca4ccf3e.png)

##mvコマンド

![名称未設定１１.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620109/74f95ffc-3802-7c57-7704-4c956cef8724.png)

##gzip
=gzip -d = gunzipでもOK
gzip形式でファイルを圧縮するにはgzipコマンドを利用します。
![名称未設定123３.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620109/b8fc9656-187b-1955-c35a-a3b1bca9cc72.png)

##tee
標準出力の内容をまさに、T字のように標準出力先とファイルの双方に出力するコマンド。
コマンド | tee [-a] ファイル

※ファイルに追記する場合は、-aオプション。

![名称未設定1234.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/620109/a9c85b90-655f-8767-70b5-499dec426428.png)

※標準エラーの出力先のデフォルトはディスプレイ。標準出力先をディスプレイからファイルにしたい時は、>、>>を使う。
※標準入力元のデフォルトはキーボード、標準入力元をキーボードからファイルに切り替えるにはリダイレクト演算子の＜を使用する。
※>,1>は指定したファイルが存在しない場合は、ファイルが新規作成されますが、指定したファイルがすでにある場合、このコマンドを使い、かつ上書き保存とされる。

##<<
終了の文字が出るまで、コマンドの標準入力を入力し続けるリダイレクト演算子は＜＜です。
ヒアドキュメントという。

##xargs
標準出力から渡された文字列を指定のコマンドの引数として実行する。

##tee
teeコマンドは標準入力の内容をまさにT字のように、標準出力先とファイルの双方に出力するコマンドのこと。
teeはパイプを使用する。