linux:commands:file_directory

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
linux:commands:file_directory [2019/09/11 12:58] – [巨大ファイルを作成[dd]] ともやんlinux:commands:file_directory [2024/04/15 05:35] (現在) – [ファイル検索[find]] ともやん
行 2: 行 2:
  
 ===== ファイル検索[find] ===== ===== ファイル検索[find] =====
-filename.txt というファイルを / (ルートディレクトリ)配下のすべてのファイルから検索する +/ (ルートディレクトリ)配下の filename.txt というファイルをすべて検索する...🤔\\ 
-<code+<WRAP color_term
-$ find / -name filename.txt+<WRAP color_command><html><pre> 
 +<font color="#FF8700"><b>$</b></font> <font color="#26A269">find</font> <u style="text-decoration-style:single">/</u> <font color="#A347BA">-name</font> filename.txt 
 +</pre></html></WRAP> 
 +<WRAP color_result><html><pre>
 /home/tomoyan/filename.txt /home/tomoyan/filename.txt
 /home/tomoyan/Documents/filename.txt /home/tomoyan/Documents/filename.txt
-</code>+</pre></html></WRAP> 
 +</WRAP> 
 + 
 +. (カレントディレクトリ)配下の *.orig というファイルをすべて検索する...🤔\\ 
 +<WRAP color_term> 
 +<WRAP color_command><html><pre> 
 +<font color="#FF8700"><b>$</b></font> <font color="#26A269">find</font> <u style="text-decoration-style:single">.</u> <font color="#A347BA">-name</font> <font color="#12488B"><b>*</b></font>.orig <font color="#A347BA">-type</font>
 +</pre></html></WRAP> 
 +<WRAP color_result><html><pre> 
 +./kernel_b/nvidia-drm/nvidia-drm-drv.c.orig 
 +./kernel_b/nvidia/nv-acpi.c.orig 
 +./kernel_b/conftest.sh.orig 
 +./kernel/nvidia/nv-acpi.c.orig 
 +./kernel/nvidia-drm/nvidia-drm-drv.c.orig 
 +./kernel/Kbuild.orig 
 +./kernel/conftest.sh.orig 
 +</pre></html></WRAP> 
 +</WRAP> 
 + 
 +それらを削除する😱\\ 
 +<WRAP color_term> 
 +<WRAP color_command><html><pre> 
 +<font color="#FF8700"><b>$</b></font> <font color="#26A269">find</font> <u style="text-decoration-style:single">.</u> <font color="#A347BA">-name</font> <font color="#12488B"><b>*</b></font>.orig <font color="#A347BA">-type</font> f <font color="#12488B"><b>|</b></font> <font color="#26A269">xargs</font> rm <font color="#A347BA">-rf</font> 
 +</pre></html></WRAP> 
 +</WRAP>
  
 ===== 文字列を含むファイルを検索[grep] ===== ===== 文字列を含むファイルを検索[grep] =====
行 17: 行 44:
 **-I** バイナリファイルは除外する。\\ **-I** バイナリファイルは除外する。\\
 **--exclude-dir** 指定されたディレクトリは除外する。\\ **--exclude-dir** 指定されたディレクトリは除外する。\\
 +
 ===== ファイルの圧縮/解凍[tar] ===== ===== ファイルの圧縮/解凍[tar] =====
  
-==== tar.gz ==== +==== tar.xz ==== 
-**tar.gz(圧縮)**+**tar.xz(圧縮)** 
 +<WRAP color_term> 
 +<WRAP color_command><html><pre> 
 +<b class=GRN>$</b> <b class=HIY>tar</b> Jcvf filename.tar.xz targetdir/ 
 +</pre></html></WRAP> 
 +</WRAP> 
 +**tar.xz(解凍)** 
 +<WRAP color_term> 
 +<WRAP color_command><html><pre> 
 +<b class=GRN>$</b> <b class=HIY>tar</b> Jxvf filename.tar.xz 
 +</pre></html></WRAP> 
 +</WRAP> 
 + 
 +==== tar.bz2 ==== 
 +**bzip2** コマンドのインストールが必要\\ 
 +<WRAP color_term> 
 +<WRAP color_command><html><pre> 
 +<b class=GRN>$</b> <b class=HIY>sudo</b> dnf install bzip2 <b class=HIK>-y</b> 
 +</pre></html></WRAP> 
 +</WRAP> 
 + 
 +**tar.bz2(圧縮)** 
 +<WRAP color_term> 
 +<WRAP color_command><html><pre> 
 +<b class=GRN>$</b> <b class=HIY>tar</b> jcvf filename.tar.bz2 targetdir/ 
 +</pre></html></WRAP> 
 +</WRAP> 
 + 
 +**tar.bz2(解凍)** 
 +<WRAP color_term> 
 +<WRAP color_command><html><pre> 
 +<b class=GRN>$</b> <b class=HIY>tar</b> jxvf filename.tar.bz2 
 +</pre></html></WRAP> 
 +</WRAP> 
 + 
 +**-C** オプションで出力先ディレクトリを指定\\ 
 +<WRAP color_term> 
 +<WRAP color_command><html><pre> 
 +<b class=GRN>$</b> <b class=HIY>tar</b> jxvf filename.tar.bz2 <b class=HIK>-C</b> ~/work 
 +</pre></html></WRAP> 
 +</WRAP> 
 + 
 +==== tar.gz、.tgz ==== 
 +**tar.gz、.tgz(圧縮)** 
 +<WRAP color_term> 
 +<WRAP color_command><html><pre> 
 +<b class=GRN>$</b> <b class=HIY>tar</b> zcvf filename.tar.gz targetdir/ 
 +</pre></html></WRAP> 
 +</WRAP> 
 +**tar.gz、.tgz(解凍)** 
 +<WRAP color_term> 
 +<WRAP color_command><html><pre> 
 +<b class=GRN>$</b> <b class=HIY>tar</b> zxvf filename.tar.gz 
 +</pre></html></WRAP> 
 +</WRAP> 
 + 
 +==== split (ファイルの分割) ====
 <code> <code>
-tar zcvf filename.tar.gz targetdir/+split -b "数値" "分割したいfile名" "変更後のファイルの接頭語"
 </code> </code>
-**tar.gz(解凍)**+※ ファイルのバイト数で変換したい場合 -b 数値 を使用。\\ 
 +数値の最後にmをつけるとメガバイト、kをつけるとキロバイトで数値指定可能\\ 
 +例) split -b 8m "分割したいfile名" "変更後のファイルの接頭語" → 8メガバイトで分割\\
 <code> <code>
-$ tar zxvf filename.tar.gz+split -b 512m filename.tar.bz2 filename.tar.bz2. 
 +$ ll filename.tar.bz2*
 </code> </code>
- +<WRAP prewrap 100% #result>
-==== tar.bz2 ==== +
-**tar.bz2(圧縮)**+
 <code> <code>
-tar jcvf filename.tar.bz2 targetdir/+-rw-r--r-- 1 root    root    4051803928  6月  9 16:27 filename.tar.bz2 
 +-rw-r--r-- 1 tomoyan tomoyan  536870912  6月  9 16:32 filename.tar.bz2.aa 
 +-rw-r--r-- 1 tomoyan tomoyan  536870912  6月  9 16:32 filename.tar.bz2.ab 
 +-rw-r--r-- 1 tomoyan tomoyan  536870912  6月  9 16:32 filename.tar.bz2.ac 
 +-rw-r--r-- 1 tomoyan tomoyan  536870912  6月  9 16:32 filename.tar.bz2.ad 
 +-rw-r--r-- 1 tomoyan tomoyan  536870912  6月  9 16:32 filename.tar.bz2.ae 
 +-rw-r--r-- 1 tomoyan tomoyan  536870912  6月  9 16:33 filename.tar.bz2.af 
 +-rw-r--r-- 1 tomoyan tomoyan  536870912  6月  9 16:33 filename.tar.bz2.ag 
 +-rw-r--r-- 1 tomoyan tomoyan  293707544  6月  9 16:33 filename.tar.bz2.ah
 </code> </code>
-**tar.bz2(解凍)**+</WRAP>
 <code> <code>
-tar jxvf filename.tar.bz2+sha256sum filename.tar.bz2
 </code> </code>
- +<WRAP prewrap 100% #result>
-==== tar.xz ==== +
-**tar.xz(圧縮)**+
 <code> <code>
-$ tar Jcvf filename.tar.xz targetdir/+566a4e3f15a20b86ee1777664fcbda02df57ec6ad4a65a0340e8c9cd6c558cbe  filename.tar.bz2
 </code> </code>
-**tar.xz(解凍)**+</WRAP>
 <code> <code>
-$ tar Jxvf filename.tar.xz+cat filename.tar.bz2.* >> filename-1.tar.bz2 
 +$ sha256sum filename-1.tar.bz2
 </code> </code>
- +<WRAP prewrap 100% #result>
-==== split (ファイルの分割) ====+
 <code> <code>
-$ split -b "数値" "分割したいfile名" "変更後のファイルの接頭語"+566a4e3f15a20b86ee1777664fcbda02df57ec6ad4a65a0340e8c9cd6c558cbe  filename-1.tar.bz2
 </code> </code>
-※ ファイルのバイト数で変換したい場合 -b 数値 を使用。\\ +</WRAP>
-数値の最後にmをつけるとメガバイト、kをつけるとキロバイトで数値指定可能\\ +
-例) split -b 8m "分割したいfile名" "変更後のファイルの接頭語" → 8メガバイトで分割\\ +
-参考URL: http://www.k4.dion.ne.jp/~mms/unix/linux_com/split.html\\+
  
 ==== 特定のディレクトリやファイルを除外 ==== ==== 特定のディレクトリやファイルを除外 ====
行 120: 行 208:
 mkdir: created directory `usr' mkdir: created directory `usr'
 mkdir: created directory `usr/bin' mkdir: created directory `usr/bin'
 +</code>
 +
 +===== ファイルのコピー[cp] =====
 +iso ファイルのデバイスへの書き込み。
 +<code>
 +$ sudo cp Windows\ 10\ version\ 1809.iso /dev/sdb
 </code> </code>
  
行 146: 行 240:
 </code> </code>
  
-===== ディレクトリの容量 =====+===== ディレクトリの容量 [du] ===== 
 +du コマンドのヘルプ\\ 
 +<accordion id="du_help" collapsed="false"> 
 +<panel id="du_help_panel" type="default" title="+ ヘルプ [--help]"> 
 +<WRAP color_term> 
 +<WRAP color_command><html><pre> 
 +<span style="color:#FF8700"><b>$</b></span> <span style="color:#26A269">du</span> <span style="color:#A347BA">--help</span> 
 +</pre></html></WRAP> 
 +<WRAP color_result_long><html><pre> 
 +使用法: du [OPTION]... [FILE]... 
 +または: du [OPTION]... --files0-from=F 
 +各ファイルのデバイス使用量を集計します。ディレクトリは再帰的に処理されます。 
 + 
 +長いオプションで必須となっている引数は短いオプションでも必須です。 
 +  -0, --null            出力行の区切りとして改行文字ではなく NUL を使用する 
 +  -a, --all             ディレクトリだけでなく、全てのファイルについて表示する 
 +      --apparent-size   デバイス使用量ではなく実際のサイズを表示する。実際の 
 +                          サイズは通常小さくなるが、(スパース) ファイル内のホール、 
 +                          内部フラグメンテーション、間接ブロックなどの理由で 
 +                          大きくなることもある。 
 +  -B, --block-size=SIZE  SIZE の倍数として表示する。例: &apos;-BM&apos; は 
 +                           1,048,576 バイト単位でサイズを表示する 
 +  -b, --bytes           &apos;--apparent-size --block-size=1&apos; と同じ 
 +  -c, --total           総合計量を表示する 
 +  -D, --dereference-args  コマンドラインで指定されたシンボリック 
 +                          のみをたどる 
 +  -d, --max-depth=N     コマンド実行場所から N 階層以内のディレクトリの 
 +                          (--all 指定時はファイルも) 合計を表示する。 
 +                          --max-depth=0 は --summarize と同じ 
 +      --files0-from=F   ファイル F で指定された NUL で区切られた名前の 
 +                          ファイルからデバイス使用量を読み取る 
 +                          F に - が指定された場合標準入力から読み込む 
 +  -H                    --dereference-args (-D) と同様 
 +  -h, --human-readable  人間が読みやすい形式でサイズを表示する (例: 1K 234M 2G) 
 +      --inodes          ブロック使用量ではなく inode 使用量を表示する 
 +  -k                    --block-size=1K と同様 
 +  -L, --dereference     全てのシンボリックリンクをたどる 
 +  -l, --count-links     ハードリンクされた場合その個数分サイズを数える 
 +  -m                    --block-size=1M と同様 
 +  -P, --no-dereference  シンボリックリンクをたどらない (デフォルト) 
 +  -S, --separate-dirs   子ディレクトリのサイズを含めない 
 +      --si              -h と同様だが、1024 ではなく 1000 の累乗を表示する 
 +  -s, --summarize       各引数の合計容量のみ表示する 
 +  -t, --threshold=SIZE  SIZE が正の場合は SIZE より小さいエントリを無視する。 
 +                          SIZE が負の場合は SIZE より大きなエントリを無視する 
 +      --time           ディレクトリとその子ディレクトリに含まれる全て 
 +                          のファイルでの、最終更新時間を表示する 
 +      --time=WORD       更新時間の代わりに WORD の時間を表示する。WORD には 
 +                          次を指定できる: atime, access, use, ctime, status 
 +      --time-style=STYLE  時間を STYLE の形式で表示する。STYLE には 
 +                          次を指定できる: full-iso, long-iso, iso, +FORMAT 
 +                          FORMAT は &apos;date&apos; と同様に解釈される 
 +  -X, --exclude-from=FILE  FILE 内のいずれかのパターンに一致するファイルを除外する 
 +      --exclude=PATTERN    PATTERN に一致するファイルを除外する 
 +  -x, --one-file-system    異なるファイルシステム上のディレクトリはスキップする 
 +      --help        display this help and exit 
 +      --version     output version information and exit 
 + 
 +--block-size で指定した SIZE, DU_BLOCK_SIZE, BLOCK_SIZE およびBLOCKSIZE 環境変数 
 +のうち、最初に指定されているサイズ単位で値が表示されます。それ以外の場合、デフォ 
 +ルトの単位は 1024 バイトになります (POSIXLY_CORRECT が設定されている場合 512 バ 
 +イト)。 
 + 
 +SIZE 引数は整数で、追加で単位を指定できます 
 +(例えば 10M は 10*1024*1024 です)。 
 +単位には K, M, G, T, P, E, Z, Y (1024 の累乗) や 
 +KB, MB, ... (1000 の累乗) が使用できます。 
 +二進接頭辞も使用することもできます: KiB=K, MiB=M など。 
 + 
 +GNU coreutils のオンラインヘルプ: &lt;https://www.gnu.org/software/coreutils/&gt; 
 +翻訳に関するバグは &lt;https://translationproject.org/team/ja.html&gt; に連絡してください。 
 +詳細な文書 &lt;https://www.gnu.org/software/coreutils/du&gt; 
 +(ローカルでは info &apos;(coreutils) du invocation&apos; で参照可能)。 
 +</pre></html></WRAP> 
 +</WRAP> 
 +</panel> 
 +</accordion> 
 + 
 +dir_name の容量表示\\ 
 +<WRAP prewrap 100%>
 <code> <code>
 $ du -h -s dir_name $ du -h -s dir_name
 1.6G    dir_name 1.6G    dir_name
 </code> </code>
 +</WRAP>
 +
 +dir_name 配下のサブディレクトリ毎の容量表示\\
 +<WRAP prewrap 100%>
 +<code>
 +$ du -h -s dir_name/*
 +1.6G    dir1
 +0.2G    dir2
 +0.3G    dir3
 +</code>
 +</WRAP>
 +
 +dir_name 配下のすべてのサブディレクトリとファイル容量表示(降順, 上位50件)\\
 +※ファイルのみの表示はできない😅\\
 +<code>
 +$ du -kha dir_name/* --exclude={exclude_dir1,exclude_dir2,exclude_dir3} | sort -rn | head -50
 +</code>
 +find コマンドならファイルのみサイズ表示できる🤤\\
 +<code>
 +$ find ./dir_name -ls | sort -rh -k 7 | head -50
 +$ find ./dir_name -printf "%s %M %n %u %g %b %TD %TR %p\n" | sort -hr | head -50
 +</code>
 +
 +容量の昇順ソート\\
 +<WRAP prewrap 100%>
 +<code>
 +$ du -h -s dir_name/* | sort -h
 +0.2G    dir2
 +0.3G    dir3
 +1.6G    dir1
 +</code>
 +</WRAP>
 +
 +容量の降順ソート\\
 +<WRAP prewrap 100%>
 +<code>
 +$ du -h -s dir_name/* | sort -hr
 +1.6G    dir1
 +0.3G    dir3
 +0.2G    dir2
 +</code>
 +</WRAP>
 +
 +[[https://kazmax.zpp.jp/cmd/d/du.1.html|du - コマンド (プログラム) の説明 - Linux コマンド集 一覧表]]\\
 +[[http://tech.clickyourstyle.com/articles/260|ファイズの大きいファイルを特定する:du, find, sort:Technical tips:Media hub]]\\
 +[[https://orebibou.com/ja/home/201507/20150721_001/|duコマンドで覚えておきたい使い方8個 | 俺的備忘録 〜なんかいろいろ〜]]\\
 +[[https://atmarkit.itmedia.co.jp/ait/articles/1607/20/news024.html|【 find 】コマンド(応用編その2)――検索したファイルを指定したフォーマットで表示する]]\\
 +[[https://www.rough-and-cheap.jp/linux/find_result_formatting/|findした結果を指定したフォーマットで表示したい | 雑廉堂の雑記帳]]\\
  
 ===== シンボルリンクをはる[ln] ===== ===== シンボルリンクをはる[ln] =====
  • linux/commands/file_directory.1568174284.txt.gz
  • 最終更新: 2019/09/11 12:58
  • by ともやん