ファイル管理に知っておくべき10のLinuxコマンド
ターミナルスキルを向上させたいですか?Linuxのコマンドラインには、ファイル管理のための柔軟なコマンドが豊富に揃っています。日常のタスクに最も一般的なコマンドの使い方を学びましょう。
カレントディレクトリを表示するコマンド
コマンドラインを使用しているときは、常に特定のディレクトリ「内」にいます。Linuxではこれを作業ディレクトリと呼びます。デフォルトでは、プロンプト—各行でカーソルの前に表示されるテキスト—はこのディレクトリの名前を表示します。ターミナルを初めて開いたときは、通常、自分のホームディレクトリです。
pwdコマンドは「print working directory」の略で、「あなたはここにいます」というマーカーのように考えることができます。pwdを実行すると、作業ディレクトリの完全な(絶対)パスが表示されます:
2 cd
今、あなたがどこにいるか分かったので、次はcdコマンドを使ってファイルシステム内を移動する方法を学ぶ時です。cdは「変更するディレクトリ」を意味します。作業ディレクトリは重要です。なぜなら、相対パスを使用するすべてのコマンドやファイルは、そのディレクトリから処理されるからです。
最初の引数としてディレクトリを指定してcdコマンドを実行します。このディレクトリは完全な絶対パスである必要があります。
cd /usr/local/binまたは、現在のディレクトリに対して相対的であることもできます。
cd bin
cd ../docs引数なしでcdを呼び出すと、すぐにホームディレクトリに戻ることができます:
cd3 ls
ディレクトリにナビゲートすると、通常、その中に含まれるファイル(サブディレクトリを含む)を知りたくなります。lsコマンドは「リスト」の略であり、前の2つのコマンドとは異なり、多くのオプションがあります。
lsを単独で使用して、現在のディレクトリの内容を表示します:
ls
特定のファイルやディレクトリを引数として渡すことでリストアップできます。-lフラグ(長い形式)を使用すると、権限、所有権、サイズ、変更日時を含む完全な情報を持つ各ファイルを1行ごとに表示できます:
ls -l /bootこのフォーマットは、各ファイルの種類も表示します。権限文字列の最初の文字が「d」であれば、それはディレクトリです。「l」であれば、リンクです。「-」であれば、通常のファイルです。
もしもっと明確なインジケーターが必要であれば、-Fオプションを試してください。それはディレクトリの末尾に「/」を追加し、リンクの末尾に「@」を追加して、見つけやすくします。
ls -F /bin/*.grepワイルドカード文字を使用して、パターンに一致するファイルをリストすることができることに注意してください。ワイルドカードは、lsコマンドだけでなく、ファイル引数を受け入れる任意のコマンドで使用できます。
タッチ
この奇妙に聞こえるコマンドは、ファイルのアクセスおよび変更時間を更新することを許可します。これほど必要だとは思わないかもしれませんが、おそらく正しいでしょう。しかし、touchにはもう一つの目的があります。それは空のファイルを作成することです。
任意の数の引数でコマンドを実行すると、touch は既存のファイルを更新し、新しいファイルを作成します:
touch foo bar5 mkdir
ファイルシステムを整理するためには、関連するファイルをグループ化するディレクトリを作成することが重要です。ディレクトリはサブディレクトリを含むことができることを覚えておいてください。mkdirコマンドはシンプルです: 提供した各引数のパスにディレクトリを作成します。
mkdir foo foo/bar hum
各パスは相対パスまたは絶対パスであることに注意してください。同時に複数のディレクトリレベルを作成しようとすると、mkdirはエラーを表示します。
-pフラグを使用して、全体の階層を一度に作成します:
mkdir -p one/two/three6 cp
既存のファイルの追加コピーを作成するには、cp(コピー)コマンドを使用します。その最も簡単な形式では、既存のファイルのパスと新しいコピーのためのパスを指定します:
cp resume.pdf resume2.pdfこのコマンドを使って、複数のファイルをディレクトリにコピーすることもできます。そのためには、好きなだけファイル引数を指定し、その後に1つのディレクトリを続けてください:
cp file1.md file2.md file3.md myfiles7 rm/rmdir
最終的には、あなたが作成したファイルが多すぎることに気づき、いくつかを削除したくなるでしょう。そこで登場するのが「rm」、すなわち「削除」の略です。
rmコマンドは、一つまたはそれ以上のファイルを引数として取り、それぞれのファイルを削除しようとします:
rm resume *.bak -fオプションを使用してファイルの強制削除を行います。これにより、パーミッションにより削除が制限されているように見えても、ファイルを削除しようとします:
rm -f filename例えば、書き込み権限がない場合、ファイルを削除しようとすると確認を求められます。-fフラグを使用すると、このステップをスキップし、ファイルが存在しない場合にはエラーメッセージも抑制されます。
rmはディレクトリを削除することもできますが、デフォルトではそうはなりません。
-dオプションを使用すると、そのようにすることができます。また、rmdirも使用できます。
8 mv
最初は、mvコマンド(「move」の略)がファイルの名前を変更することと、ディレクトリから別のディレクトリに移動することの二重の目的を持っているように見えるかもしれません。ただし、Linuxでは、どちらもファイルのパスを変更する方法と見なされます。
mv old-name new-name2つの引数を使うと、mvは最初の引数を2番目の引数に名前を変更するか、移動します。
mv には cp の第2モードのように働く別のモードがあります。最終引数がディレクトリである場合、mv は他の指定されたファイルをすべてそのディレクトリに移動します。ディレクトリであるファイルも含まれます。
chmod
Linuxでは、各ファイルには誰がアクセスできるか、何ができるかを説明する一連の権限があります。その「誰」はファイルの所有者、ファイルと同じグループにいる誰か、または全員である可能性があります。その「何」は読み取り、書き込み、または実行、つまりファイルをプログラムとして実行することができます。
chmodの使用はその権限構文のために少し複雑です。基本的な使い方はこのようになります:
chmod <permissions> filesパーミッションの一例は「go+r」で、これはファイルをユーザーのグループ(g)および他のユーザー(o)に対して読み取り可能(r)にします。別の一般的な使用例は、ファイルを実行可能にすることです:
chmod a+x script.shこれにより、スクリプトのパスを入力することでコマンドラインでスクリプトを実行できます。
10 ln
リンクを使うことで、ファイルシステム上の複数の場所でファイルを参照することができ、あまり余分なスペースを取らずに済みます。シンボリックリンク、あるいはソフトリンクは、最も理解しやすいものです:
ln -s original linkリンクコマンドは、元のファイルを参照するリンクを作成します:
-sオプションなしで、ハードリンクを作成すると、元のファイルの第二のコピーのように機能します。これらは理解するのが少し難しく、そのためあまり一般的には使用されません。
プロセスを終了させることからリモートウェブページを取得することまで、習得すべき重要なLinuxコマンドはさらに多くあります。


















