6
6

More than 1 year has passed since last update.

Linuxコマンドを使ってディレクトリとファイルでやりたいことをやるためのリンク集

Last updated at Posted at 2019-06-11

容量を確認したい

# 各ファイルシステム毎(-T)に人に見やすい単位表示(-h)でディスクの空き容量を表示する
$ df -Th

# 指定したディレクトリの合計容量を(-s)に人に見やすい単位表示(-h)で表示する
$ sudo du -sh /var
# 階層を指定してディレクトリの合計容量を(-s)に人に見やすい単位表示(-h)で表示する
$ sudo find /var/ -maxdepth 1 -type d -exec du -sh {} \;

中身を見たい

$ cat {ファイル名}

# 行番号をつけたい
$ cat -n {ファイル}

# 特定の文字の背景を反転させたい
$ less -p {特定の文字} {ファイル名}

# 文字化けするから文字コードを指定したい
$ iconv -f SJIS {ファイル名}



# ディレクトリにある任意の拡張子のファイルの行数などを一気にを見たい
$ wc *.tsv
# {行数} {空白で区切られた単語数} {ファイルのバイト数}
      389      5444     75633 hoge.tsv
       85      1781     41341 fuga.tsv
   385353   7316103  70377201 pon.tsv
   383155  12625841 175655410 chovi.tsv
   395722   8731030  81380479 tanu.tsv
   190171   4373795  39556093 hege.tsv
  1354875  33053994 367086157 total

iconvのオプション 意味
-f 入力の文字コードを指定する

コピーしたい

# 構文
$ cp [options] {コピー元} {コピー先}

# ファイル名そのままでコピー
$ cp {コピー元ファイルパス} {コピー先ディレクトリパス}

# サブディレクトリがあるディレクトリをコピー
$ cp -r {コピー元ディレクトリパス} {コピー先ディレクトリパス}

# 再帰的にできるだけ属性とディレクトリの構成を保持して、同名ファイルがあっても警告なしで上書きをする
$ cp -arf {コピー元ディレクトリ} {コピー先ディレクトリ}
オプション 意味
-a できるだけ属性とディレクトリの構成を保持してコピー
-r サブディレクトリもコピー
-R Macでシンボリックリンクをシンボリックリンクのままコピー
-f 同じ名前のファイルがあっても確認しないでコピー

消し去りたい

# ログファイルを削除
$ rm {ログファイルがあるディレクトリパス}\*.log

# 空っぽのディレクトリ削除
$ rm -d {ディレクトリ}

# 中身もろともガッツリ削除
$ rm -rf {ディレクトリ}

# ディレクトリは残してファイル削除
$ find {ディレクトリ} -type f | xargs rm

# 名前の一部を指定してディレクトリ配下までファイル削除:なかったら何もしない
$ find {ディレクトリ} -type f -name {名前の一部} | xargs --no-run-if-empty rm

# パスに半角スペースが含まれるファイルをfindして任意の文字でgrepして一括削除する
$ find {ディレクトリ} -type f | grep -i {ファイル名の一部} | sed -e 's/ /\\ /g' | xargs rm

ディレクトリの配下を一覧化したい

# 名前だけ縦1列で見たい
$ ls -1
# 再帰的に見たい。
$ ls -R
# ディレクトリだけパスだけ一覧で見たい。
$ find {見たい場所} -type d
# 「.」で始まるファイル(ドット・ファイル)をみたい
$ ls -a
# 3階層目までのディレクトリ一覧が見たい
$ find -maxdepth 3 -type d

差分を見たい

$ diff {ファイル名1} {ファイル名2}
# 再帰的に差分を見たい
$ diff –r {ディレクトリパス1} (ディレクトリパス2}

〇〇コードが見たい

# 改行コードを調べたい
$ od -c {ファイルパス}
# 文字コードをみたい:特定ファイルのをみたい
$ nkf -g {ファイルパス}
# 文字コードをみたい:ディレクトリのを全部みたい
$ find {ディレクトリパス} -type f | xargs nkf -g
# 文字コードをみたい:特定ファイルのをみたい:BOM付きかどうかまで見たい
$ file {ファイルパス} 
{ファイルパス}: Bourne-Again shell script text executable, UTF-8 Unicode (with BOM) text

# base64エンコードしたい
$ echo -n 'ponsuke:tarou' | base64
cG9uc3VrZTp0YXJvdQ==
# MD5でハッシュ値を生成したい
$ echo 'tarou' | md5
961ed3c18a02b9b87bcd3efa9eb2a0a9

移動したい

$ mv {移動元} {移動先}

リネームしたい

$ mv {リネーム前} {リネーム後}

# 文字を置換してリネーム(unixにはないらしい)
$ rename {置換前文字} {置換後文字} {ファイル名}

結合したい

$ cat {結合したいファイル} {結合したいファイル} > {結合したファイル}

圧縮と解凍したい

tar

圧縮と解凍したい
# 圧縮したい
$ tar -cvf {アーカイブファイル名} {圧縮するもの}

# 解凍したい
$ tar -xvf {アーカイブファイル名}
# 解凍したい(展開先を指定)
$ tar -xvf {アーカイブファイル名} -C {展開先ディレクトリ}

オプション 意味 関連リンク
-c 圧縮ファイルを新規に作成する
-C 指定したディレクトリに移動してから動作を始める
-f {ファイルパス}
--file {ファイルパス}
圧縮ファイルを指定する
-v
--verbose
ファイルの一覧を表示する
-x 圧縮ファイルからファイルを取り出す
r 書庫の後部にファイルを追加する Linuxコマンド集 - 【 tar 】 ファイルを書庫化・展開する(拡張子.tarなど):ITpro

zip

# ZIPファイルを解凍したい
$ unzip {アーカイブファイル名}.zip

# 場所を指定して解凍したい(うっかり場所を指定しないで解凍すると現在地に解凍されてしまいます。)
$ unzip {アーカイブファイル名}.zip -d {解凍先ディレクトリパス}

# 日本語のファイル名が入っているZIPファイルを解凍したい
$ unzip -O sjis {アーカイブファイル名}.zip

# 複数zipファイルを一括で回答する
$ find {zipファイルが格納されているディレクトリ} -name '*.zip' | xargs -n1 unzip -d {解凍先のディレクトリ}

編集したい

編集したい
# ざっくり構文
$ sed [オプション] [対象ファイル]

# 文字列を削除したい(-i:対象のファイルを上書き更新)
$ sed -i 's/文字列//g' target.txt

# 文字の置換をしたい
$ sed -i 's/{置換前文字列}/{置換後文字列}/g' {ファイルパス}

内容をソートしたい

$ sort [オプション] {ソート前ファイル} > {ソート後ファイル}

空ファイルを作りたい

$ touch {ファイル名}
$ echo -n > {ファイル名}

他のことをやりたい

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6