「Core utilities」の版間の差分
(同期) |
(同期) |
||
31行目: | 31行目: | ||
| シェル組み込み || cd || ディレクトリを変更 || {{man|1p|cd}} || [[#cd の代替]] |
| シェル組み込み || cd || ディレクトリを変更 || {{man|1p|cd}} || [[#cd の代替]] |
||
|- |
|- |
||
− | |rowspan= |
+ | |rowspan=13| GNU {{Pkg|coreutils}} |
| ls || ファイルを一覧表示 || {{man|1|ls}}, [https://www.gnu.org/software/coreutils/manual/html_node/ls-invocation.html info] || {{Pkg|tree}}, [[#ls の代替]] |
| ls || ファイルを一覧表示 || {{man|1|ls}}, [https://www.gnu.org/software/coreutils/manual/html_node/ls-invocation.html info] || {{Pkg|tree}}, [[#ls の代替]] |
||
|- |
|- |
||
− | | cat || ファイルを連結して表示 || {{man|1|cat}}, [https://www.gnu.org/software/coreutils/manual/html_node/cat-invocation.html info] || {{man|1|tac}}, |
+ | | cat || ファイルを連結して表示 || {{man|1|cat}}, [https://www.gnu.org/software/coreutils/manual/html_node/cat-invocation.html info] || {{man|1|tac}}, [[#cat の代替]] |
|- |
|- |
||
| mkdir || ディレクトリを作成 || {{man|1|mkdir}}, [https://www.gnu.org/software/coreutils/manual/html_node/mkdir-invocation.html info] |
| mkdir || ディレクトリを作成 || {{man|1|mkdir}}, [https://www.gnu.org/software/coreutils/manual/html_node/mkdir-invocation.html info] |
||
54行目: | 54行目: | ||
| [[dd]] || ファイルを変換・コピー || {{man|1|dd}}, [https://www.gnu.org/software/coreutils/manual/html_node/dd-invocation.html info] |
| [[dd]] || ファイルを変換・コピー || {{man|1|dd}}, [https://www.gnu.org/software/coreutils/manual/html_node/dd-invocation.html info] |
||
|- |
|- |
||
− | | df || ファイルシステムの使用状況を表示 || {{man|1|df}}, [https://www.gnu.org/software/coreutils/manual/html_node/df-invocation.html info] |
+ | | df || ファイルシステムの使用状況を表示 || {{man|1|df}}, [https://www.gnu.org/software/coreutils/manual/html_node/df-invocation.html info] || [[#df の代替]] |
+ | |- |
||
+ | | du || ファイルとディレクトリによって使用されているディスクの容量を推定します || {{man|1|du}}, [https://www.gnu.org/software/coreutils/manual/html_node/du-invocation.html info] || [[#du の代替]] |
||
|- |
|- |
||
| GNU {{Pkg|tar}} || [[tar]] || tar アーカイバ || {{man|1|tar}}, [https://www.gnu.org/software/tar/manual/html_chapter/index.html info] || [[アーカイブと圧縮|アーカイバ]] |
| GNU {{Pkg|tar}} || [[tar]] || tar アーカイバ || {{man|1|tar}}, [https://www.gnu.org/software/tar/manual/html_chapter/index.html info] || [[アーカイブと圧縮|アーカイバ]] |
||
143行目: | 145行目: | ||
== 代替コマンド == |
== 代替コマンド == |
||
− | + | コアユーティリティの代替は [[BusyBox]]、{{AUR|toybox}}、{{Pkg|uutils-coreutils}}、[[Heirloom|Heirloom Toolchest]]、{{Pkg|9base}}、{{AUR|sbase-git}}、{{AUR|ubase-git}} により提供されています。 |
|
=== cat の代替 === |
=== cat の代替 === |
||
207行目: | 209行目: | ||
* {{App|percol|UNIX シェルの伝統的なパイプにインタラクティブフィルタリングを追加。|https://github.com/mooz/percol|{{Pkg|percol}}}} |
* {{App|percol|UNIX シェルの伝統的なパイプにインタラクティブフィルタリングを追加。|https://github.com/mooz/percol|{{Pkg|percol}}}} |
||
* {{App|skim|Rust で書かれたあいまい検索ソフトウェア。fzf に似ています。|https://github.com/lotabout/skim|{{Pkg|skim}}}} |
* {{App|skim|Rust で書かれたあいまい検索ソフトウェア。fzf に似ています。|https://github.com/lotabout/skim|{{Pkg|skim}}}} |
||
+ | |||
+ | === df の代替 === |
||
+ | |||
+ | * {{App|duf|ディスクの使用量と空き容量を調べるユーティリティ|https://github.com/muesli/duf|{{Pkg|duf}}}} |
||
+ | |||
+ | === du の代替 === |
||
+ | |||
+ | * {{App|dust|Rust で記述された du のより直感的なバージョン。|https://github.com/bootandy/dust|{{Pkg|dust}}}} |
||
+ | * {{App|ncdu|ncurses のシンプルなディスク使用量アナライザ。|https://dev.yorhel.nl/ncdu|{{Pkg|ncdu}}}} |
||
+ | * {{App|gdu|Go で記述された、コンソールインターフェイスのディスク使用量アナライザ。|https://github.com/Dundee/gdu|{{Pkg|gdu}}}} |
||
+ | |||
+ | [[アプリケーション一覧/ユーティリティ#ディスク使用量表示プログラム]] も見てください。 |
||
== 参照 == |
== 参照 == |
||
+ | * [https://www.gnu.org/software/coreutils/manual/coreutils.html GNU Coreutils ドキュメント] |
||
− | * [https://www.reddit.com/r/commandline/comments/19garq/a_sampling_of_coreutils_120/ A sampling of coreutils] [https://www.reddit.com/r/commandline/comments/19ge6v/a_sampling_of_coreutils_2040/ , part 2] [https://www.reddit.com/r/commandline/comments/19j1w3/a_sampling_of_coreutils_4060/ , part 3] - coreutils のコマンドの概要 |
||
− | * [https://www.gnu.org/software/coreutils/manual/coreutils.html GNU Coreutils オンラインドキュメント] |
||
− | * [https://www.linuxquestions.org/questions/linux-newbie-8/learn-the-dd-command-362506/ Learn the DD command] |
||
* [https://pubs.opengroup.org/onlinepubs/9699919799/idx/utilities.html POSIX utilities] |
* [https://pubs.opengroup.org/onlinepubs/9699919799/idx/utilities.html POSIX utilities] |
||
− | {{TranslationStatus|Core utilities|2022- |
+ | {{TranslationStatus|Core utilities|2022-09-12|745845}} |
2022年9月12日 (月) 14:42時点における版
この記事では less, ls, grep などの GNU/Linux システムのコアユーティリティを扱っています。この記事の扱う範囲は GNU coreutils パッケージに含まれているユーティリティに留まりません。ユーティリティに関連する様々なヒント・小技、その他便利な情報を載せています。
ほとんどのコマンドラインインターフェイスは man ページ に、GNU プロジェクト によるユーティリティは Info マニュアルにドキュメント化されています。一部のシェルは help
コマンドをシェルの組み込みコマンドとして提供しています。加えて、ほとんどのユーティリティは --help
フラグで実行すると使用方法を表示します。
目次
基本コマンド
以下の表には ArchLinux ユーザーが知っておくべきいくつかの重要なユーティリティを載せています。intro(1) も参照してください。
パッケージ | ユーティリティ | 説明 | ドキュメント | 代替品 |
---|---|---|---|---|
シェル組み込み | cd | ディレクトリを変更 | cd(1p) | #cd の代替 |
GNU coreutils | ls | ファイルを一覧表示 | ls(1), info | tree, #ls の代替 |
cat | ファイルを連結して表示 | cat(1), info | tac(1), #cat の代替 | |
mkdir | ディレクトリを作成 | mkdir(1), info | ||
rmdir | 空のディレクトリを削除 | rmdir(1), info | ||
rm | ファイルやディレクトリを削除 | rm(1), info | shred | |
cp | ファイルやディレクトリをコピー | cp(1), info | #cp の代替 | |
mv | ファイルやディレクトリを移動 | mv(1), info | ||
ln | ハードリンクやシンボリックリンクを作成 | ln(1), info | ||
chown | ファイルの所有者やグループを変更 | chown(1), info | chgrp(1) | |
chmod | ファイルのパーミッションを変更 | chmod(1), info | ||
dd | ファイルを変換・コピー | dd(1), info | ||
df | ファイルシステムの使用状況を表示 | df(1), info | #df の代替 | |
du | ファイルとディレクトリによって使用されているディスクの容量を推定します | du(1), info | #du の代替 | |
GNU tar | tar | tar アーカイバ | tar(1), info | アーカイバ |
GNU less | less | ターミナルページャ | less(1) | ターミナルページャ |
GNU findutils | find | ファイルやディレクトリを検索 | find(1), info, [[1]] | #find の代替 |
GNU diffutils | diff | ファイルを行毎に比較 | diff(1), info | #diff の代替 |
GNU grep | grep | パターンに一致する行を表示 | grep(1), info | #grep の代替 |
GNU sed | sed | ストリームエディタ | sed(1), info, one-liners | |
GNU gawk | awk | パターンスキャンとデータ処理言語 | gawk(1), info | nawk, mawkAUR |
util-linux | dmesg | カーネルリングバッファを出力/制御 | dmesg(1) | systemd/ジャーナル |
lsblk | ブロックデバイスを一覧表示 | lsblk(8) | ||
mount | ファイルシステムをマウント | mount(8) | ||
umount | ファイルシステムをアンマウント | umount(8) | ||
su | ユーザを変更 | su(1) | sudo, opendoas | |
kill | プロセスを終了 | kill(1) | pkill(1), killall(1) | |
procps-ng | pgrep | 名前や属性によってプロセスを検索 | pgrep(1) | pidof(1) |
ps | プロセスの情報を表示 | ps(1) | top(1), htop | |
free | メモリの使用/未使用量を表示 | free(1) |
データの損失を防ぐ
rm
や mv
、cp
、シェルのリダイレクトは問答無用でファイルを削除/上書きします。rm
と mv
、cp
はすべて -i
フラグをサポートしており、このフラグを使うとファイルを削除/上書きする前にユーザに尋ねるようになります。エイリアスを使って -i
フラグをデフォルトで有効化したいユーザもいるでしょう。しかし、これらのシェルオプションに頼りっきりなるのは危険です。これらのオプションに慣れてしまうと、これらを使用していない他のシステムやユーザを使うときにデータ損失を招く可能性があります。データ損失を防ぐ最良の方法はバックアップを取ることです。
その他のコマンド
以下の表にはしばしば便利なコアユーティリティをリストしています。
パッケージ | ユーティリティ | 説明 | ドキュメント | 代替品 |
---|---|---|---|---|
シェル組み込み | alias | エイリアスを定義/表示 | alias(1p) | |
type | コマンドのタイプを表示 | type(1p) | which(1) | |
time | コマンドの所要時間を計測 | time(1p) | ||
GNU coreutils | tee | 標準入力を読み込み、標準出力やファイルに書き出す | tee(1), info | |
mktemp | テンポラリファイルやテンポラリディレクトリを作成 | mktemp(1), info | ||
cut | 行の選択した部分を表示 | cut(1), info | ||
tr | 文字を置換/削除 | tr(1), info | ||
od | ファイルを8進数や他の基数でダンプ | od(1), info | hexdump(1), vim's xxd(1) | |
sort | 行をソート | sort(1), info | ||
uniq | 繰り返される行を表示/省略 | uniq(1), info | ||
comm | 2つのソート済みのファイルを行単位で比較 | comm(1), info | ||
head | ファイルの最初の部分を出力 | head(1), info | ||
tail | ファイルの最後の部分を出力/追従 | tail(1), info | ||
wc | 改行や単語、バイト数を表示 | wc(1), info | ||
GNU binutils | strings | バイナリファイル内の表示可能な文字を表示 | strings(1), info | stringsextAUR |
GNU glibc | iconv | 文字コードを変換 | iconv(1) | recode |
file | file | ファイルタイプを推測 | file(1) |
moreutils パッケージには GNU coreutils に無い sponge(1) のような便利なツールを提供します。
代替コマンド
コアユーティリティの代替は BusyBox、toyboxAUR、uutils-coreutils、Heirloom Toolchest、9base、sbase-gitAUR、ubase-gitAUR により提供されています。
cat の代替
- bat — シンタックスハイライトと Git 統合機能を備えた cat クローン
cd の代替
- zoxide — ユーザーの癖を学習するスマートな cd コマンド。たった数個のキーストロークでどこへでも移動できます。
cp の代替
rsync を cp/mv の代わりとして使うことで、失敗したファイル転送の再開、転送状況の表示、すでに存在するファイルのスキップ、チェックサムによる転送先ファイルの整合性の確認が可能になります。
ls の代替
- broot — ディレクトリツリーを表示・移動する新しい方法
- clifm — ls(1) のようにファイルを一覧表示し、さらにアイコン表示と RGB カラーサポートを備えたファイルマネージャ
- exa — カラー表示、ツリー表示、git 統合などの機能を備えたもう一つの ls 代替
- lsd — 多くの美しい色と素晴らしいアイコンを備えたモダンな ls
find の代替
- fd — シンプルで速く、ユーザーフレンドリーな find の代替。隠しファイルや
.gitignore
にあるファイルをデフォルトで無視します。
- mlocate — locate/updatedb の実装をマージ。
- plocate — よりさらに速い locate
グラフィカルなファイル検索ソフトウェアは アプリケーション一覧/ユーティリティ#ファイル検索 をご覧ください。
diff の代替
diffutils では単語単位の差分表示ができませんが、それが可能なプログラムがいくつか存在します:
- git の diff は
--color-words
フラグを使用すると単語単位の差分表示が可能です。--no-index
フラグを使用すれば Git のワークツリー外でも使用可能です。 - cwdiff — 出力をカラー表示化する GNU wdiff ラッパー
- git-delta — git や diff 、grep 用の出力をシンタックスハイライトするページャー
- dwdiff — 単語単位で差分表示する diff のフロントエンド。カラー表示サポート付き。
- icdiff — Python で書かれたカラー表示 diff ツール。"Improved color diff" は通常の diff の使用を補助するという意味です。
- wdiff — GNU diff の単語単位の実装。カラー表示はサポートしません。
アプリケーション一覧/ユーティリティ#Comparison, diff, merge もご覧ください。
grep の代替
- mgrep — 複数行 grep
- pdfgrep — PDF ファイル内のテキストを検索するツール
- ripgrep-all — プレーンテキストのみならず、PDF ファイルや E-Books、Office ドキュメント、zip、tar.gz ファイル内のテキストも検索できます。
コード検索ソフトウェア
以下の3つのツールはコード検索の場面で grep を置き換えることを目的としています。これらはデフォルトで再帰検索をし、バイナリファイルや .gitignore
内にあるファイルをスキップします。
- ack — Perl ベースの grep 置き換え。多種多様なソースコードの大きなツリーを扱うプログラマに向けです。
- ripgrep (rg) — ag の使いやすさと grep のそのままの速さを組み合わせた検索ツール。
- The Silver Searcher (ag) — Ack に似ているがより速いコード検索ツール。
- ugrep (ug) — インタラクティブな TUI、曖昧検索、boolean クエリ、16進数表示などの機能を持つ非常に高速な grep。
インタラクティブフィルター
- fzf — 汎用のコマンドラインあいまい検索ソフトウェア。デフォルトで find を使用します。
- fzy — 高度なスコアリングアルゴリズムを搭載した速くてシンプルなあいまいテキストセレクタ。
- peco — シンプルなインタラクティブフィルタリングツール。
- percol — UNIX シェルの伝統的なパイプにインタラクティブフィルタリングを追加。
- skim — Rust で書かれたあいまい検索ソフトウェア。fzf に似ています。
df の代替
- duf — ディスクの使用量と空き容量を調べるユーティリティ
du の代替
- dust — Rust で記述された du のより直感的なバージョン。
- ncdu — ncurses のシンプルなディスク使用量アナライザ。
- gdu — Go で記述された、コンソールインターフェイスのディスク使用量アナライザ。
アプリケーション一覧/ユーティリティ#ディスク使用量表示プログラム も見てください。