Linuxナビゲーションとファイル管理
序章
ファイルシステム内のファイルとフォルダーのナビゲートと操作は、ほとんどのコンピューターでの作業の重要な部分です。 クラウドサーバーは、ほとんどの場合、ファイルとフォルダーを操作するために、同じ一般的なLinuxシェルと一般的なLinuxコマンドを使用します。 この端末では、これらのコマンドを使用するための基本的なスキルをいくつか紹介します。
前提条件と目標
このガイドに従うには、Linuxサーバーにアクセスできる必要があります。 サーバーへの初めての接続に関する情報が必要な場合は、SSHを使用したLinuxサーバーへの接続に関するガイドに従ってください。
また、ターミナルがどのように機能し、Linuxコマンドがどのように見えるかを理解する必要があります。 このガイドでは、ターミナルの概要について説明します。
このガイドのすべての内容は、通常の非ルート(非管理)ユーザーアカウントで実行できます。 You can learn how to configure this type of user account by following your distribution’s initial server setup guide, such as for Ubuntu 22.04.
開始する準備ができたら、SSHを使用してLinuxサーバーに接続し、以下に進みます。
ナビゲーションと探索
習得する必要のある最も基本的なスキルは、ファイルシステム内を移動し、自分の周りにあるものを把握することです。 このセクションでは、これを可能にするツールを確認します。
「pwd」コマンドで現在地を見つける
サーバーにログインすると、通常、ユーザーアカウントのホームディレクトリに移動します。 ホームディレクトリは、ユーザーがファイルを保存してディレクトリを作成するために取っておいたディレクトリです。 これは、ファイルシステム内で完全に支配されている場所です。
ファイルシステムのrestとの関係でホームディレクトリがどこにあるかを確認するには、 pwd 指図。 このコマンドは、現在いるディレクトリを表示します。
- pwd
Output/home/sammy
ホームディレクトリは、ユーザーアカウントにちなんで名付けられています。 このディレクトリは、というディレクトリ内にあります /home、それ自体が最上位ディレクトリ内にあり、通常は「ルート」ディレクトリと呼ばれ、単一のスラッシュで表されます。 /.
「ls」でディレクトリの内容を見る
現在のディレクトリを表示する方法がわかったので、ディレクトリの内容を確認できます。
現在、ホームディレクトリには確認するものがあまりないため、別のより人口の多いディレクトリに移動して探索することができます。 使用する cd このディレクトリに移動します。 その後、使用します pwd 正常に移動したことを確認するには:
- cd /usr/share
- pwd
Output/usr/share
新しいディレクトリに移動したので、中身を見てみましょう。 これを行うには、 ls 指図:
- ls
Outputadduser groff pam-configs
applications grub perl
apport grub-gfxpayload-lists perl5
apps hal pixmaps
apt i18n pkgconfig
aptitude icons polkit-1
apt-xapian-index info popularity-contest
. . .
ご覧のとおり、このディレクトリには多くのアイテムがあります。 コマンドにいくつかのオプションのフラグを追加して、デフォルトの動作を変更できます。 たとえば、すべてのコンテンツを拡張形式で一覧表示するには、 -l フラグ(「長い」出力用):
- ls -l
Outputtotal 440
drwxr-xr-x 2 root root 4096 Apr 17 2022 adduser
drwxr-xr-x 2 root root 4096 Sep 24 19:11 applications
drwxr-xr-x 6 root root 4096 Oct 9 18:16 apport
drwxr-xr-x 3 root root 4096 Apr 17 2022 apps
drwxr-xr-x 2 root root 4096 Oct 9 18:15 apt
drwxr-xr-x 2 root root 4096 Apr 17 2022 aptitude
drwxr-xr-x 4 root root 4096 Apr 17 2022 apt-xapian-index
drwxr-xr-x 2 root root 4096 Apr 17 2022 awk
. . .
このビューは私たちにたくさんの情報を与えてくれます。 最初のブロックは、ファイルの種類(最初の列が「d」の場合、アイテムはディレクトリであり、「-」の場合は通常のファイルです)とアクセス許可を記述します。 後続の各列には、システム上の他の場所にあるそのファイルへのハードリンクの数、所有者、グループ所有者、アイテムサイズ、最終変更時刻、およびアイテムの名前が順番に示されます。
非表示ファイルとディレクトリを含むすべてのファイルのリストを取得するには、 -a 国旗。 に実際の隠しファイルがないので /usr/share ディレクトリ、ホームディレクトリに戻ってそのコマンドを試してみましょう。 次のように入力すると、ホームディレクトリに戻ることができます cd 引数なし:
- cd
- ls -a
Output. .. .bash_logout .bashrc .profile
ご覧のとおり、3つの隠しファイルと . と ..、特別な指標です。 多くの場合、ここでの場合のように、構成ファイルは非表示のファイルとして保存されます。
ドットおよびダブルドットエントリの場合、これらは、関連するディレクトリを参照する組み込みのメソッドほど正確にはディレクトリではありません。 一点鎖線は現在のディレクトリを示し、二重点はこのディレクトリの親ディレクトリを示します。 これは次のセクションで役立ちます。
「cd」を使用してファイルシステム内を移動する
のいくつかのプロパティを示すために、すでに2つのディレクトリ移動を行っています。 ls 最後のセクションで。 ここでコマンドを詳しく見てみましょう。
に戻ることから始めます /usr/share ディレクトリ:
- cd /usr/share
これは、絶対パスを指定してディレクトリを変更する例です。 Linuxでは、すべてのファイルとディレクトリは「ルート」ディレクトリと呼ばれる最上位のディレクトリの下にありますが、先頭にスラッシュ「/」が1つ付いています。 絶対パスは、この最上位ディレクトリに関連するディレクトリの場所を示します。 これにより、ファイルシステム内の任意の場所から明確な方法でディレクトリを参照できます。 すべての絶対パスは、そのスラッシュで始まる必要があります。
別の方法は、相対パスを使用することです。 相対パスは、現在のディレクトリに関連するディレクトリを参照します。 階層内の現在のディレクトリに近いディレクトリの場合、これは通常短く、ディレクトリがより広いファイルシステムのどこにあるかを推測する必要がないことが有益な場合があります。 現在のディレクトリ内の任意のディレクトリは、先頭にスラッシュを付けずに名前で参照できます。 あなたはに変更することができます locale 内のディレクトリ /usr/share 次のように入力して、現在の場所から:
- cd locale
現在のディレクトリのパスの後に続くパスの部分を指定することにより、相対パスを使用して複数のディレクトリレベルを移動することもできます。 ここから、 LC_MESSAGES 内のディレクトリ en 次のように入力してディレクトリを作成します。
- cd en/LC_MESSAGES
現在のディレクトリの親に移動して戻るには、特別な二重ドットインジケータを使用できます。 たとえば、あなたは今 /usr/share/locale/en/LC_MESSAGES ディレクトリ。 1つ上のレベルに移動するには、次のように入力します。
- cd ..
これは私たちを /usr/share/locale/en ディレクトリ。
を実行すると、いつでもホームディレクトリに戻ることができます cd ディレクトリを指定せずに。 使用することもできます ~ 他のコマンドのホームディレクトリの代わりに:
cd ~
pwd
/home/sammy
これらの3つのコマンドの使用方法の詳細については、Linuxファイルシステムの探索に関するガイドをご覧ください。
ファイルの表示
前のセクションでは、ファイルシステムをナビゲートする方法を学びました。 を使用しているときにおそらくいくつかのファイルを見ました ls さまざまなディレクトリのコマンド。 一部のオペレーティングシステムとは対照的に、Linuxおよびその他のUnixライクなオペレーティングシステムは、システムの大部分をプレーンテキストファイルに依存しています。
このチュートリアルでファイルを表示する主な方法は、 less 指図。 これは、ファイルのページをスクロールできるため、いわゆる「ポケットベル」です。 前のコマンドがすぐに実行され、コマンドラインに戻りましたが、 less は、終了するまで実行を継続し、画面を占有するアプリケーションです。
を開きます /etc/services fileは、システムが認識しているサービス情報を含む構成ファイルです。
- less /etc/services
ファイルはで開かれます less、ターミナルウィンドウの領域に収まるドキュメントの部分を表示できるようにします。
Output# Network services, Internet style
#
# Note that it is presently the policy of IANA to assign a single well-known
# port number for both TCP and UDP; hence, officially ports have two entries
# even if the protocol doesn't support UDP operations.
#
# Updated from http://www.iana.org/assignments/port-numbers and other
# sources like http://www.freebsd.org/cgi/cvsweb.cgi/src/etc/services .
# New ports will be added on request if they have been officially assigned
# by IANA and used in the real-world or are needed by a debian package.
# If you need a huge list of used numbers please install the nmap package.
tcpmux 1/tcp # TCP port service multiplexer
echo 7/tcp
. . .
スクロールするには、キーボードの上下の矢印キーを使用できます。 ページダウンするには、スペースバー、キーボードの[Page Down]ボタン、または CTRL-f ショートカット。
上にスクロールするには、「PageUp」ボタンまたは CTRL-b キーボードショートカット。
ドキュメント内のテキストを検索するには、スラッシュ「/」の後に検索語を入力します。 たとえば、「メール」を検索するには、次のように入力します。
/mail
これにより、ドキュメントが前方に検索され、最初の結果で停止します。 別の結果を得るには、小文字を入力します n 鍵:
n
前の結果に戻るには、大文字を使用します N 代わりは:
N
終了するには less プログラム、あなたはタイプすることができます q やめること:
q
特定の状況で役立つファイルを表示する方法は他にもたくさんあります。 The cat コマンドはファイルの内容を出力し、すぐにプロンプトに戻ります。 The head コマンドは、デフォルトで、ファイルの最初の10行を表示します。 同様に、 tail コマンドは最後の10行を表示します。 これらのコマンドは、他のプログラムへの「パイプ」に役立つ方法でファイルの内容を表示します。 この概念については、このチュートリアルシリーズの後半で説明します。
ファイルとディレクトリの操作
このセクションでは、ファイルとディレクトリを作成および操作します。
「タッチ」でファイルを作成
多くのコマンドやプログラムでファイルを作成できます。 ファイルを作成する最も簡単な方法は、 touch 指図。 これにより、指定した名前と場所を使用して空のファイルが作成されます。
まず、ホームディレクトリにいることを確認します。これは、ファイルを保存する権限がある場所だからです。 次に、というファイルを作成できます file1 次のように入力します。
- cd
- touch file1
これで、ディレクトリ内のファイルを表示すると、新しく作成されたファイルを確認できます。
- ls
Outputfile1
を使用する場合 touch 既存のファイルに対してコマンドを実行すると、そのファイルに関連付けられている「最終変更」時刻が更新されます。 これは覚えておくと便利です。
同時に複数のファイルを作成することもできます。 絶対パスも使用できます。 たとえば、次のように入力できます。
- touch /home/sammy/file2 /home/sammy/file3
- ls
Outputfile1 file2 file3
「mkdir」でディレクトリを作成する
に似ています touch コマンド、 mkdir コマンドを使用すると、空のディレクトリを作成できます。
たとえば、ホームディレクトリ内に次のようなディレクトリを作成するには test、次のように入力できます。
- cd
- mkdir test
内にディレクトリを作成できます test と呼ばれるディレクトリ example 次のように入力します。
- mkdir test/example
上記のコマンドが機能するためには、 test ディレクトリはすでに存在している必要があります。 伝えるために mkdir 特定のディレクトリパスを構築するために必要なディレクトリを作成する必要があることを確認するには、 -p オプション。 これにより、ネストされたディレクトリを1つのステップで作成できます。 次のようなディレクトリ構造を作成できます some/other/directories 次のように入力します。
- mkdir -p some/other/directories
コマンドは some 最初にディレクトリを作成し、次に other その中のディレクトリ。 最後に、 directories これらの2つのディレクトリ内のディレクトリ。
「mv」を使用したファイルとディレクトリの移動と名前の変更
を使用してファイルを新しい場所に移動できます mv 指図。 たとえば、移動できます file1 に test 次のように入力してディレクトリを作成します。
- mv file1 test
特別なドット参照を使用して現在のディレクトリを参照することにより、そのファイルbackをホームディレクトリに移動できます。 ホームディレクトリにいることを確認してから、 mv 指図:
- cd
- mv test/file1 .
The mv このコマンドは、ファイルとディレクトリの名前の変更にも使用されます。 基本的に、移動と名前の変更はどちらも、既存のアイテムの場所と名前を調整するだけです。
したがって、名前を変更するには test ディレクトリから testing、次のように入力できます。
- mv test testing
注:シェルは、誤って破壊的なアクションを実行することを防ぐことはできません。 ファイルの名前を変更し、すでに存在する名前を選択した場合、前のファイルは移動するファイルによって上書きされます。 誤って上書きした場合、前のファイルを復元する方法はありません。
「cp」を使用したファイルとディレクトリのコピー
とともに mv コマンドを使用すると、ファイルまたはディレクトリを移動または名前変更できますが、複製することはできません。 The cp コマンドは、既存のアイテムの新しいコピーを作成できます。
たとえば、コピーすることができます file3 と呼ばれる新しいファイルに file4:
- cp file3 file4
とは異なり mv 操作、その後 file3 もう存在しないでしょう、あなたは今両方を持っています file3 と file4.
注:と同様に mv コマンドの場合、操作のターゲットとして使用しているファイル名に注意しないと、ファイルを上書きする可能性があります。 たとえば、 file4 上記の例にすでに存在している場合、そのコンテンツは完全に次のコンテンツに置き換えられます。 file3.
ディレクトリ全体をコピーするには、 -r コマンドのオプション。 これは、ディレクトリとディレクトリのすべてのコンテンツをコピーするため、「再帰的」を表します。
たとえば、 some ディレクトリ構造からと呼ばれる新しい構造へ again、次のように入力できます。
- cp -r some again
既存の宛先が上書きにつながるファイルとは異なり、ターゲットが既存のディレクトリである場合、ファイルまたはディレクトリはターゲットにコピーされます。
- cp file1 again
これにより、の新しいコピーが作成されます file1 中にそれを置きます again ディレクトリ。
「rm」と「rmdir」を使用したファイルとディレクトリの削除
ファイルを削除するには、 rm 指図。
注:次のような破壊的なコマンドを使用する場合は特に注意してください。 rm. シェルには「元に戻す」コマンドがないため、重要なファイルを誤って完全に破棄する可能性があります。
通常のファイルを削除するには、ファイルをに渡すだけです。 rm 指図:
- cd
- rm file4
同様に、空のディレクトリを削除するには、 rmdir 指図。 これは、問題のディレクトリに何もない場合にのみ成功します。 たとえば、 example 内のディレクトリ testing ディレクトリ:
- rmdir testing/example
空でないディレクトリを削除するには、 rm とのコマンド -r オプション。ディレクトリのすべてのコンテンツに加えて、ディレクトリ自体を再帰的に削除します。
たとえば、 again ディレクトリとその中のすべてに、次のように入力できます。
- rm -r again
ファイルの編集
現在、ファイルをオブジェクトとして操作する方法は知っていますが、実際にファイルを編集してコンテンツを追加する方法は学習していません。
nano は、数少ない一般的なコマンドラインLinuxテキストエディタの1つであり、初心者にとっては素晴らしい出発点です。 やや似たような動作をします less 上記のプログラムは、使用期間中、端末全体を占有します。
The nano エディタは、既存のファイルを開くことも、ファイルを作成することもできます。 新しいファイルを作成する場合は、電話をかけるときに名前を付けることができます。 nano エディター、または後でコンテンツを保存するとき。
あなたは開くことができます file1 次のように入力して編集するファイル:
- cd
- nano file1
The nano アプリケーションはファイルを開きます(現在は空白です)。 インターフェイスは次のようになります。
GNU nano 4.8 file1
[ New File ]
^G Get Help ^O WriteOut ^R Read File ^Y Prev Page ^K Cut Text ^C Cur Pos
^X Exit ^J Justify ^W Where Is ^V Next Page ^U UnCut Text ^T To Spell
上部には、アプリケーションの名前と編集しているファイルの名前が表示されます。 中央には、現在空白のファイルの内容が表示されます。 下部には、エディターのいくつかのコントロールを示すいくつかのキーの組み合わせがあります。 これらのそれぞれについて、 ^ 文字は CTRL 鍵。
エディター内からヘルプを取得するには、を押します Ctrl+G.
ヘルプの閲覧が終了したら、次のように入力します Ctrl+X ドキュメントに戻ります。
この例では、次の2つの文を入力するだけです。
Hello there.
Here is some text.
作業を保存するには、を押します Ctrl+O.
File Name to Write: file1
^G Get Help M-D DOS Format M-A Append M-B Backup File
^C Cancel M-M Mac Format M-P Prepend
ご覧のとおり、下部のオプションも変更されています。 これらは状況に応じたものです。つまり、何をしようとしているかによって変化します。 書き込みを確認するには file1、 押す Enter.
保存後、追加の変更を加えてプログラムを終了しようとすると、同様のプロンプトが表示されます。 新しい行を追加して、終了してみてください nano を押すことによって Ctrl+X.
保存していない場合は、行った変更を保存するように求められます。
Save modified buffer (ANSWERING "No" WILL DESTROY CHANGES) ?
Y Yes
N No ^C Cancel
押すことができます Y 変更を保存するには、 N 変更を破棄して終了する、または Ctrl+C 終了をキャンセルします。 保存することを選択した場合は、以前に受信したのと同じファイルプロンプトが表示され、変更を同じファイルに保存することを確認します。 プレス Enter ファイルを保存してエディタを終了します。
作成したファイルの内容は、 cat 内容を表示するプログラム、または less 表示するためにファイルを開くプログラム。 で見た後 less、を押す必要があることを忘れないでください q ターミナルに戻ります。
- less file1
OutputHello there.
Here is some text.
Another line.
特定のガイドで参照されている可能性のある別のエディターは vim また vi. これは非常に強力なより高度なエディターですが、学習曲線が急になります。 使用するように言われた場合 vim また vi、お気軽にご利用ください nano 代わりは。 使い方を学ぶには vim、vimの使用を開始するためのガイドをお読みください。
結論
これで、Linuxサーバーを回避する方法と、使用可能なファイルとディレクトリを確認する方法を理解できたはずです。 また、ファイルの表示、コピー、移動、または削除を可能にするファイル操作コマンドについても知っておく必要があります。 最後に、を使用した編集に慣れている必要があります。 nano テキストエディタ。
これらのいくつかのスキルがあれば、他のガイドを続けて、サーバーを最大限に活用する方法を学ぶことができるはずです。 次のガイドでは、Linuxのパーミッションを表示および理解する方法を理解します。