Linuxコマンド
前書き
誰がこのガイドを読むべきか
あなたは初心者のGNU / Linuxユーザーであり、通常のウィンドウのドラッグやマウスのクリックを超えて見たいですか?このガイドは、GNU / Linuxコマンドラインの基本を学びたい初心者ユーザーを対象としています。このチュートリアルでは、ナビゲーション、ファイルとディレクトリの管理、ソフトウェアのインストール、および基本的なシステムのトラブルシューティングに関連する基本的なLinuxコマンドについて説明します。GNU / Linuxコマンドラインとは
誰かがGNU / Linuxオペレーティングシステムについて話しているのを聞くときはいつでも、コマンドラインやLinuxコマンドについて話しているのも聞いている可能性があります。このコマンドを実行して、これとそのコマンドを実行してください!正しい?しかし、なぜですか? GNU / Linuxオペレーティングシステムがほとんど常にコマンドとコマンドラインにリンクされているのはなぜですか?簡単な答えは、コマンドラインはGNU / Linuxオペレーティングシステムの不可欠な部分であり、そのためユーザーはより効率よく、より正確に、最も重要なことには実行プロセス全体に関する追加の洞察情報を使用してタスクを実行する可能性をユーザーに提供します。

正直に言いましょう! GNU / Linuxシステムへの嫌悪感とそのコマンドラインにどのような言い訳があったとしても、その原因はおそらく理解の欠如と学ぶことへの抵抗のせいです。
したがって、GNU / Linuxシステムを欠点のせいにしないでください!これは、完全な初心者または上級レベルのユーザーであるかどうかを助けるためにここにあります。他の独自仕様のオペレーティングシステムの場合と同様に、システムがどの程度役立つかは、財布の深さに依存しません。 GNU / Linuxシステムから受ける援助の量は、学習意欲と決断にのみ依存します。
この段階で、あなたが自問している質問は次のとおりです。GNU / Linuxオペレーティングシステムを使用するには、GNU / Linuxコマンドラインと無数のコマンドを学ぶ必要がありますか?簡単な答えはノーです! GUIがインストールされた適切なGNU / Linuxオペレーティングシステムでは、ユーザーはコマンドラインを使用して基本的なタスクや高度なタスクを実行する必要はありません。
GNU / Linuxコマンドラインを学ぶことを検討する唯一の理由は、システムを最大限に活用するための効率を向上させることと、前のタスクでそうする必要がある場合です。多くのGNU / Linuxユーザーは、コマンドラインが何であるかさえ知らずに何年も行くことに注意してください! Linuxのコマンドラインを知らなくても問題ありません。システムが必要なことを実行している場合は、最も基本的なコマンドでさえ学ぶ必要はありません。
使用しているGNU / Linuxオペレーティングシステムの種類に関係なく、グラフィカルユーザーインターフェイスがあるかどうかに関係なく、コマンドラインは常に何らかの形で存在します。

ただし、これを行うには、少なくともGNU / Linuxコマンドラインの基本的な知識を持ち、コマンドラインが提供するいくつかのコマンドの基本的な使い方を学ぶ必要があります。恐れる必要はありません。これは、このLinuxコマンドのチュートリアルを読んで学習する内容です。
Linuxコマンドとは
Linuxコマンドは、システム全体の管理に使用されるGNU / Linuxオペレーティングシステム全体の本質です。ご存じないかもしれませんが、グラフィカルユーザーインターフェイス内で実行するほとんどのアプリケーションは、指定されたタスクを実行するためにバックグラウンドでLinuxコマンドを実行しています。アプリケーションにLinuxコマンドを自動的に実行させることには、多くの明らかな利点があります。ただし、多くの場合、コマンドの実行をカスタマイズして目的の結果に近づけることができないという欠点があります。さらに、何か問題が発生した場合、ユーザーは、問題のトラブルシューティングを開始する方法についてのヒントが何もないまま暗闇に置かれている可能性があります。
今、あなたは考えているかもしれません:OK、それで結構ですが、いくつのコマンドがあり、それらすべてを学ぶべきですか?GNU / Linuxシステムで使用できるLinuxコマンドの数は、その数がシステムによって常に異なるため、無関係です。ただし、正確な数を要求する場合は、ターミナルで次のコマンドを実行します。
$ for i in ${PATH//:/ }; do ls $i; done | sort | uniq | wc -l

このため、最善のアプローチは基本から始めることです。アブソリュートは、GNU / Linuxファイルシステムをナビゲートし、基本的な管理タスクを実行するのに役立つLinuxコマンドを学ぶ必要があります。このタスクを完了し、Linuxコマンドラインに自信が持てれば、残りは、GNU / Linuxシステムを使用するだけで最小限の労力で自然に実現できます。必要なのは、オープンマインドと決断です。
さて、この怠惰な話で十分です、そしてそれを始めましょう!
基本的なファイルシステムとナビゲーションLinuxコマンド
コマンドライン引数、オプション、パラメーター
Linuxコマンドライン引数、オプション、パラメータの違いを理解することは、GNU / Linuxコマンドラインを完全に理解したい場合、おそらく最も重要な部分です。したがって、このトピックをスキップしないでください。代わりに、次のセクションに進む前に、このトピックを完全に理解していることを確認してください。Linuxコマンドライン引数、オプション、パラメーターの違いを説明するのに最適なツールはlsコマンドです。
ls
このコマンドについては後のセクションで詳しく説明するので、まだコマンドがわからなくても心配する必要はありません。ターミナルを開き、次のコマンドを実行します。入力しないでください$
この記号は、これがコマンドラインで実行されるコマンドであり、通常の非特権ユーザーとして実行されることを通知する目的でのみ使用されるため、$ ls上記のコマンドを入力してEnterキーを押すと、現在のディレクトリ内のすべてのファイルとディレクトリが一覧表示されます。ここでは、コマンドの出力を無視し、このコマンドはコマンド
ls
自体である単一の引数で構成されることに注意してください。この引数を引数と呼びます0
。次に、このコマンドを試してください:$ ls -a上記のコマンドは2つの引数で構成されています。引数と呼ばれる最初の引数
0
はls
コマンド自体であり、番号が付けられた2番目の引数1
はls
コマンドのオプション-a
です。コマンドオプションを使用すると、ユーザーはコマンド出力を変更できます。すべてのLinuxコマンドには、異なるオプションのセットがあります。コマンドオプションは、コマンド自体にハードコードされています。名前が示すように、コマンドオプションはオプションであり、ユーザーが使用する必要はありません。この場合、
ls
コマンドのオプション-a
は、ディレクトリ内にある隠しファイルまたは隠しディレクトリも印刷するようにコマンドに指示します。ホームディレクトリにいる間に、次のコマンドを実行します。
$ ls -l .bashrc従えば、上記のコマンドが3つの引数で構成されていることはすでにわかっています。まず、
0
コマンド自体の引数があります。2番目の引数、より正確には、引数1
はls
コマンドのオプションで-l
あり、ls
長いリスト出力を生成してユーザーに1つ以上のファイルに関する詳細情報を提供するようにコマンドに指示します。最後に、3番目の引数番号2
は、ls
コマンドに指定されたパラメーターで、という名前の単一のファイルのみに作用するようにコマンドに指示します.bashrc
。
上記の.bashrc
ファイルの場合、接頭辞.
がファイル名の一部であり、ファイルが非表示であることを示していることに注意してください。非表示とはls
、-a
オプションを使用しない限り、コマンドがデフォルトでこのファイルを出力の一部としてリストしないことを意味します。
$ ls -l -h .bashrc .bash_historyこの場合、コマンドは5つの引数で構成されています。
ls
コマンドがあり、2つのオプションがあります。つまり、パラメータで-l
あり-h
、最後にパラメータとして2つのファイル名、.bashrc
および.bash_history
ファイルがあります。コマンドラインですべての引数を指定する順序は、実行しているLinuxコマンドによって異なります。ただし、推奨される一般的なルールは、コマンドの後に必要なすべてのオプションを指定し、その後に必要なすべてのパラメーターを指定することです。たとえば、以下も上記と同じ出力を生成する有効なコマンドですが、この種のコマンド構文は避けてください。
$ ls .bashrc -l .bash_history -h最後に、コマンドを短くして読みやすくするために、ほとんどのコマンドで複数のオプションを1つの引数に組み合わせることができます。オプションを組み合わせることが可能であることを意味する
-l
と-h
のような単一の引数に-lh
。例えば:$ ls -lh .bashrc .bash_history次のビデオは、セクション全体を要約しています。ここまでで、コマンドライン引数、オプション、パラメーターについて明確に理解できるはずです。
ファイルシステムナビゲーション
このセクションでは、ファイルシステムナビゲーションであるLinuxコマンドラインのもう1つの重要な部分について説明します。何年にもわたって、GNU / Linuxファイルシステムのナビゲーションが通常のドライブC:
やD:
ドライブと劇的に異なるため、多くのユーザーがGNU / Linuxファイルシステムのナビゲーションを理解するのに苦労しているのを見てきました。このセクションでは、最初の2つのLinuxコマンドであるcd
コマンドとコマンドについても学びますpwd
。次のステートメントから始めましょう:忘れる、
C:
またはD:
他の独自のオペレーティングシステムから知っているドライブ。この知識はここでは適用されず、混乱するだけです。 GNU / Linuxファイルシステムでは、ファイルシステム全体の任意のディレクトリから任意のハードドライブまたはパーティションにアクセスできます。ただし、この段階では、そのことを心配する必要はありません。おそらく、GNU / Linuxファイルシステムを説明するのに最適な類推は、私がすでにBashスクリプトチュートリアルで使用したものです。 GNU / Linuxファイルシステムを複数階建ての建物として想像してみてください。によって示されるいわゆるルートディレクトリ(建物の入り口)は、
/
ファイルシステム(建物)全体へのエントリを提供し、すべてのディレクトリ(レベル/部屋)とファイル(人)へのアクセスを許可します。レベル3の部屋1に移動するには、最初にメインドアに入り
/
、次にレベル3に進む必要があります。level3/
そこからに入りますroom1
。したがって、建物内のこの特定の部屋への絶対パスは/level3/room1
です。ここから、level3のroom2にもアクセスする場合は、まず現在の場所であるroom1を入力../
して退室し、次に部屋の名前を含める必要がありroom2
ます。ここでは、room2への相対パスを使用しました../room2
。私たちはすでにレベル3にいたので、建物全体を出て、正面玄関から絶対パスをたどる必要はありませんでした/level3/room2
。混乱していますか? GNU / Linuxコマンドラインとの数回のセッションの後で心配する必要はありません。知識が浸透し、あなたにとって第二の性質になります。信じられないかもしれませんが、GNU / Linuxオペレーティングシステムは、すべてのユーザーにコンパスを提供し、
pwd
(P RINT W orking D irectory)コマンド。迷子になるたびにpwd
コマンドを入力するだけで、パスが表示されます。やってみよう。ターミナルを開き、pwd
Enterキーを押して入力します。$ pwd

pwd
現在の作業ディレクトリのパスを印刷するためのコマンド例。/home
。上の画像に示されているように、ユーザーのホームディレクトリへの絶対パスlinuxconfig
は/home/linuxconfig
です。システムにユーザー「john」が含まれている場合、このユーザーのホームディレクトリへの絶対パスは/home/john
です。
ユーザーのホームディレクトリへのアクセスは、ディレクトリを所有する実際のユーザーと、GNU / Linuxの場合はそのroot
ユーザーである管理者のみが利用できます。
cd
(CハンゲD irectory)コマンドを使用します。このcd
コマンドを使用すると、ユーザーは適切なアクセス権限を持っているという条件のもとで、ファイルシステムで利用可能な任意のディレクトリに移動できます。次のコマンドを実行して試してみてください。実験することをためらわないでください。
pwd
すぐにあなたの現在の場所を教えてくれるあなたの個人的なコンパス、コマンドを忘れないでください。以下のlinuxconfig
ユーザーを自分のユーザー名に置き換えてください:$ cd /home
$ cd linuxconfig
$ cd /
$ cd home/linuxconfig
$ cd ../linuxconfig
$ cd ../../etc
$ cd /home/linuxconfig
除いて5行目と6行目上記のコマンドは、自己説明する必要があります。5 行目では、ショートカット../
を使用して、ディレクトリの親ディレクトリに移動しましたlinuxconfig
。6 行目では、2つのディレクトリを上に移動し、最終的にそのetc
ディレクトリに移動しました。
cd
引数なしでコマンドを実行すると、任意の場所からユーザーのホームディレクトリにすぐに移動できます。実行cd -
して、最後に訪れた2つの場所を切り替えます。どのようなディレクトリでは、実行した後に終わるかcd ~
とcd .
コマンド?

cd
。
絶対パスと相対パスの違いを教えてください。上の画像を見て、cd
コマンドを使用してファイルシステムをナビゲートするときに絶対パスと相対パスを何回使用したかを数えることができますか?
ヒント:絶対パスは常に/
文字で始まります。
cd
Linuxコマンドとディレクトリ間のナビゲーションに慣れていることを確認してください。この知識は次のセクションで役立つでしょう。ディレクトリの内容を一覧表示する
この時点で、cd
コマンドを使用したファイルシステムナビゲーションに慣れている必要があります。また、コマンドライン引数、オプション、パラメーターなど、一般的なGNU / Linuxコマンドラインの基本的な知識も必要です。これまでのところ、任意のディレクトリに移動する方法を学習しましたが、ディレクトリの内容を一覧表示する方法はまだ学習していません。このセクションの主なトピックは、ディレクトリコンテンツのリストです。任意のディレクトリの内容を一覧表示するために使用されるツールは
ls
コマンドです。やってみよう。ターミナルを開き、ls
オプションやパラメーターを指定せずに、ホームディレクトリ内にコマンドを単独で入力します。$ ls

ls
コマンド出力。ls
オプションやパラメータを指定せずにコマンドを実行すると、現在の作業ディレクトリの内容が一覧表示されます。最近の端末の多くは、ディレクトリを青色に、通常のファイルを白色に、実行可能ファイルを緑色に着色することで、ユーザーに追加情報を提供しています。多くの端末ではこの種の贅沢は見られないことに注意してください。このため、ls
コマンドを使用して手動でさまざまな種類のディレクトリコンテンツアイテムを区別する方法を学ぶ必要があります。
ほとんどのコマンドには、その機能や各特定のコマンドが受け入れる引数について学ぶために使用できるマニュアルページが付属しています。man
コマンドを使用して、目的のコマンドのマニュアルページを表示します。たとえば、ls
コマンドexecuteのマニュアルページを表示しますman ls
。マニュアルページを終了するには、q
キーを押します。
-l
ロングリストとも呼ばれるオプションにより、デフォルトのls
出力により多くの情報が追加されます。$ ls -l

ls
コマンドの長いリストオプション-l
は、各ディレクトリアイテムに関する追加情報を提供します。強調表示されているのは、各ディレクトリ項目のファイルタイプ情報です。d
は、ディレクトリタイプを-
示し、通常のファイルを示します。-l
オプションを使用することにより、ls
コマンドは、アクセス許可、ユーザーまたはグループの所有権、ファイルサイズ、変更時間などの追加情報をユーザーに提供します。別の一般的な
ls
コマンドオプションは-a
、ディレクトリ内のすべてのファイルと隠しファイルまたはディレクトリを一覧表示するものです。名前に接頭辞が付いているファイルまたはディレクトリ.
は非表示になるため、デフォルトのls
コマンド出力の一部として含まれません。$ ls -a
ls
コマンドのオプションの多くは、他のいくつかのオプションとの組み合わせでのみ意味を持ちます。たとえば、選択したファイルのファイルサイズを表示するために、ユーザーls
は-l
オプションと、問題の実際のファイル名をパラメーターとしてコマンドを指定できます。次のls
コマンド例を検討して、image.jpg
ファイルのサイズを表示します。$ ls -l image.jpg

ls
Linuxコマンドを使用してファイルサイズを表示します。ls
コマンドはファイルサイズをバイト単位で表示します。つまり、-h
(人間が読める)オプションが指定されていない場合です。-h
オプションと組み合わせて提供されない限り、オプションは意味を持たないことに注意してください-l
。この時点で、パラメータを使用することにより、ユーザーはホームディレクトリを離れることなく、ディレクトリを一覧表示したり、ファイルシステム全体のファイルに関する情報を見つけたりできることに注意することが重要です。これを行うには、コマンドのパラメーターとして詳細情報を一覧表示するファイルまたはディレクトリへの絶対パスまたは相対パスを指定します
ls
。次のls
コマンド例を試してください。$ ls /etc/systemd $ ls -l ../ $ ls -lh /etc/services

ls
コマンドの絶対パスパラメータまたは相対パスパラメータの例。
ls
コマンドのマニュアルページを使用し/etc
て、ファイルサイズに基づいて降順でディレクトリの内容を表示する方法を見つけることができるかどうかを確認してください。
ディレクトリを作成する
ディレクトリの目的は、ファイルシステムを維持することです。したがって、システムファイルとシステムファイルを整理します。このセクションでmkdir
は、GNU / Linuxコマンドラインでコマンドを使用してディレクトリを作成する方法を学びます。GNU / Linuxシステムでディレクトリを作成するのは
mkdir
、目的の直接の名前を引数として指定しながらコマンドを実行するのと同じくらい簡単です。やってみよう。ターミナルを開き、たとえばdir1
ホームディレクトリにという名前の新しいディレクトリを作成します。$ mkdir dir1

名前の一部にスペースを含むファイルやディレクトリを作成しないでください。 Linuxでは、名前を引用符で囲むことで、スペースを含むディレクトリまたはファイル名を作成できますが、これにより、mkdir "my files"
後で問題が発生する可能性があるため、絶対に避けてください。ファイル名またはディレクトリ名にスペースを使用する必要がある場合は、_
代わりにアンダースコアを使用してください。
ls
コマンドを使用して現在の作業ディレクトリの内容を一覧表示します。ディレクトリが正しく作成されていれば、コマンド出力に表示されます。現在の作業ディレクトリ内にディレクトリを作成するのと同じですが、適切な権限を持っている場合は、ファイルシステム上の任意の場所にディレクトリを作成することもできます。
example
次に、/tmp
ディレクトリ内に呼び出される新しいディレクトリを作成します。このタスクに取り組む方法は2つあります。最初に、コマンドを
/tmp
使用してナビゲートcd
し、ディレクトリ内でコマンドを実行してmkdir
から、新しいディレクトリ名を指定します。他の解決策は、新しいディレクトリを作成するディレクトリの正しい絶対パスまたは相対パスを新しいディレクトリ名の前に付けるだけでディレクトリを作成
example
することです。したがって、コマンドを実行する前にコマンドを使用cd
して/tmp/
ディレクトリに移動する必要はありませんmkdir
。$ mkdir /tmp/example
mkdir
コマンドに関して学ぶべきことはあまりありません。前に説明したように、絶対パスと相対パスの違いを理解していれば問題ありません。mkdir
コマンドと組み合わせて使用される他の共通オプションは1つだけあり、それが-p
オプションです。あなたが新しいディレクトリを作成したいとしましょう
dir2
、あなたの既存のディレクトリ内dir1
だけでなく、新しいを作成dir3
以内dir2
。最初の解決策は、最初に作成してから、ディレクトリ内に作成するdir2
2番目のmkdir
コマンドを実行することです。ただし、オプションを使用すると、これは単一のコマンド実行で実現できます。dir3
dir2
-p
mkdir
$ mkdir -p dir1/dir2/dir3

mkdir
GNU / Linuxコマンドラインでコマンドを使用してディレクトリを作成します。
ユーザーアカウントを使用して、ディレクトリmy_dir
内に呼び出されるディレクトリの作成を試みます/etc
。うまくいきますか?そうでない場合、なぜですか?
ファイルの作成とファイルの内容の読み取り
GNU / Linuxシステムは、設定、構成、ログなどのデータに関する大部分の情報をプレーンASCIIテキストファイルの形式で保存します。このため、すべてのユーザーが少なくともテキストファイルの操作に関する基本的な知識を持っていることが不可欠です。このセクションでは、ファイルを作成する方法、ファイルの内容を読み取る方法、および単純なコマンドラインベースのテキストファイルエディターを使用してテキストファイルを編集する方法を学びます。
まず
file1
、ホームディレクトリ内に空のファイルを作成します。これを行うには、touch
コマンドを使用します。端末を開き、次のLinuxコマンドを入力します。$ touch file1以上です!これ
file1
で、ホームディレクトリ内にという新しいファイルが正常に作成されました。ls
ここでコマンドを実行すると、この新しいファイルがホームディレクトリに置かれるはずです。
touch
。.txt
やなどの拡張子のないファイルが作成されたことにお気づきかもしれません.exe
。GNU / Linuxシステムのファイル拡張子は、事実を除いてほとんど意味がないことに注意してください。ls
すべてのファイルとディレクトリを一覧表示するコマンドを実行すると、拡張子を持つファイル.txt
がおそらくASCIIテキストファイルであることがすぐにわかります。のファイル.png
は画像ファイルである可能性があります。この時点で、GNU / Linuxオペレーティングシステムでファイルを作成する方法には多くの方法があることを指摘することが重要です。実際には、以前のように空のファイルを作成する必要はほとんどありません。実際、touchコマンドの主な目的はファイルを作成することではなく、ファイルのタイムスタンプを操作することです。これは別の話です。
ファイルの主な目的はデータを格納することであるため、それを実行します。というテキストファイルエディタを使用して、任意のテキストを含む
nano
という名前の新しいファイルを作成しtodo-list.txt
ます。次のコマンドを実行して開始します。$ nano todo-list.txt
nano
コマンドを実行すると、nanoエディターが開き、新しいtodo-list.txt
ファイルの内容を編集できます。nano
エディターで、必要に応じてファイルの内容に変更を加えます。準備ができたら、Enterキーを押して、
CTRL+o
続いENTER
てファイルを保存するキー。この時点で、新しいtodo-list.txt
ファイルが作成されます。nano
エディターを終了するにはCTRL+x
、以下の画像に示すようにキーの組み合わせを押します。
nano
エディターを開きます。必要なファイル名をパラメーターとして入力します。
CTRL+o
キーの組み合わせを押して現在のファイルの内容を保存します。
ENTER
キーを押してください。
nano
、CTRL+x
キーの組み合わせを押してエディターを終了します。
todo-list.txt
が作成され、ls
コマンドの実行時に表示されるはずです。nano
テキストエディターコマンドのパラメーターとしてファイル名を指定することにより、既存のテキストファイルの編集を続行できます。これまでに、ファイルを作成する方法と、コマンドラインテキストエディターを使用して既存または新しいテキストファイルを編集する方法を学びました。まだカバーしていないのは、テキストファイルの内容を読み取る方法です。まあ、正直なところ、それほど多くはありません!
cat
GNU / Linuxコマンドを使用して、ファイルの内容を読み取ることができます。やってみよう。
cat
コマンドを実行し、パラメーターとして、調べたいファイルの名前を指定します。例えば:$ cat todo-list.txt

cat
コマンドを使用して、テキストファイルの内容を表示します。ファイル名をcat
コマンドパラメータとして指定するだけです。
一部のファイルは数千行にまたがることがあります。コマンド/etc/services
を使用して、ファイルの内容を調べてみてくださいcat
。一部の端末には、行数が制限されており、スクロールバーがありません。したがって、cat
コマンドを使用するだけでは、大きなテキストファイルの内容を読み取ることはできません。less
またはなどのコマンドを試してmore
、/etc/services
ファイルのコンテンツを読み取ります。
file
ます。以前に、ファイル名に拡張子を付ける必要はないことを以前に話しました。そうだとしたら、ホームディレクトリまたはGNU / Linuxファイルシステムのどこかに、どのような種類のファイルが格納されているかをどのようにして知るのでしょうか。これが
file
コマンドが便利になる場所です。file
このコマンドは、パラメータとして、それに供給された任意のファイルのファイルタイプを出力します。やってみよう:$ file todo-list.txt

file
GNU / Linuxコマンドを使用して、ファイルタイプ情報を取得します。ファイルとディレクトリの名前変更または移動
別の論理的なステップは、ファイルやディレクトリの名前を変更したり移動したりする方法を学ぶことです。この時点で、ファイルまたはディレクトリの作成方法について説明しましたが、既存のディレクトリまたはファイルを別の場所に移動する場合はどうでしょうか。そうですね、GNU / Linuxシステムの下でのファイルやディレクトリの移動や名前の変更は、基本的に同じコアにあることを知って喜んでいるはずです。GNU / Linuxファイルシステム上のファイルの名前変更と移動は簡単な作業です。必要なのは、
mv
コマンドと、上記のファイルシステムナビゲーションセクションですでに説明した絶対パスと相対パスの理解だけです。次の例を検討してください。
$ touch file1 $ mkdir dir1上記
touch
とmkdir
コマンドを使用して、file1
andディレクトリという名前のファイルを作成しましたdir1
。touch
and mkdir
コマンドの使用法は以前にすでにカバーされているため、説明は必要ありません。先行タスクは、名前を変更することがある
file1
にfile2
してdir1
までdir2
使用してmv
コマンドを。そのためにはmv
、最初のパラメーターとして、名前を変更するファイルまたはディレクトリの絶対パスまたは相対パスをコマンドに指定する必要があります。 2番目の必須パラメーターは、ファイルまたはディレクトリの名前を変更するファイルまたはディレクトリの絶対パスまたは相対パスです。$ mv file1 file2 $ mv dir1 dir2ここで理解するポイントは、GNU / Linuxにはファイルの名前を変更する明示的なコマンドがないことです。代わりに、
mv
(移動の略)コマンドを使用して、プロセス内で名前を変更しながら、ファイルまたはディレクトリをある場所から別の場所に移動します。次の例を検討してください。$ mv file2 /tmp/file3 $ mv dir2 /tmp/dir2最初のコマンドは
file2
ディレクトリに移動し/tmp/
、名前をに変更しましたfile3
。2番目のコマンドはに移動dir2
し/tmp/
、同じ宛先ディレクトリ名を指定したので、ディレクトリ名は同じままです。したがって、2番目のコマンドは基本的にソース
dir2
を宛先ディレクトリに移動するだけな/tmp/
ので、新しいディレクトリ名を示す2番目のパラメーターは不要であり、次のように簡単に実行できます。$ mv dir2 /tmp/コマンドには複数のパラメーターを受け入れる機能もあるため、上記の
mv
コマンドを理解することは不可欠mv
です。つまり、1つのmv
コマンドを実行することで、複数のディレクトリやファイルを同時に移動できます。$ mkdir dir4 dir5 $ touch file4 file5 $ mv file4 dir4 file5 dir5 /tmp

複数のmv
コマンドパラメータに従う唯一のルールは、コマンドに複数のソースパラメータが指定されている場合mv
、最後に指定されたパラメータはディレクトリでなければならないということです。
mv
コマンドは、複数のファイルとディレクトリを新しい場所に移動しました:/tmp
ディレクトリ。mv
パラメーターとしてコマンドに提供するソースファイルまたはディレクトリがいくつあっても、最後に提供されたパラメーターは宛先として扱われることをここで指摘することが重要です。別のトピックに移る前に、1つ、おそらく
mv
コマンドについて有害な事実について言及することが重要です。指定された宛先ファイルパラメータが
mv
すでに存在する場合、警告なしに上書きされる可能性があるため、このアクションではデータを元に戻せずに復元できない可能性があります。次のmv
コマンド例を検討してください。$ cat /tmp/sample.txt linuxconfig.org $ touch sample.txt $ mv sample.txt /tmp/sample.txt $ cat /tmp/sample.txt $不明な場合は、
-i
オプションを使用してmv
、宛先ファイルがすでに存在する場合にアラートを生成するようにコマンドに指示します。例:$ mv -i sample.txt /tmp/sample.txt mv: overwrite '/tmp/sample.txt'?
mv
は、このセクションで説明するコマンドの動作を示しています。
mv
コマンドを使用して、GNU / Linuxでファイルまたはディレクトリを移動して名前を変更する方法の実例。ファイルとディレクトリをコピーする
前のセクションでは、mv
GNU / Linuxコマンドを使用してファイルとディレクトリをある場所から別の場所に移動する方法について説明しました。このセクションでは、cp
コマンドを使用してファイルとディレクトリのコピーを作成する方法についての同様のトピックについて説明します。前のセクションから集められた知識の大半は、学ぶために私たちを助けるために起こっている
cp
の両方のための構文としてGNU / Linuxのコマンドをmv
し、cp
コマンドは非常に似ています。主な違いは、ファイルまたはディレクトリを移動する代わりに、cp
コマンドがソースファイルまたはディレクトリの正確なコピーを作成することです。コマンドと同じように
mv
cp
コマンドには、少なくとも2つのパラメーターを指定する必要があります。最初のパラメーターはソースファイルまたはディレクトリで、2番目のパラメーターは宛先ファイルまたはディレクトリです。ホームディレクトリにあるファイルのコピーを作成する簡単な例から始めましょう。まず、
touch
コマンドを使用してという名前の新しいファイルを作成し、file1
次にそのファイルの正確なコピーを作成しますfile2
。$ touch file1 $ cp file1 file2ここでかなり明白な規則は、
cp
コマンドに提供されるソースパラメータと宛先パラメータを同じにすることはできないことです。$ cp file1 file1 cp: 'file1' and 'file1' are the same fileソースパラメータと宛先パラメータの両方にまったく同じファイル名を指定する唯一の方法は、絶対パスまたは相対パスを使用してファイルを別のディレクトリにコピーすることです。次の
cp
コマンド例はfile1
、ディレクトリにのコピーを作成します/tmp
。$ cp file1 /tmp/file1ただし、ファイル名を変更する意図がない場合は、ファイル名を宛先パラメーターとして指定する必要はまったくありません。したがって、上記のコマンドは次のように省略できます。
$ cp file1 /tmp/

1つのcp
コマンドを実行して、/etc/services
ファイルをホームディレクトリにコピーし、名前をに変更しport-numbers.txt
ます。
cp
コマンド構文を使用して、ディレクトリのコピーも作成できます。ただし、大きな違いが1つあります。つまり、ディレクトリをコピーするには、-r
(再帰的な)cp
コマンドオプションを使用する必要があります。次の例を検討してください。$ mkdir dir1 $ cp dir1 /tmp/ cp: -r not specified; omitting directory 'dir1' $ cp -r dir1 /tmpGNU / Linux
mv
コマンドでcp
もそうであるように、このコマンドは複数のパラメーターも受け入れます。つまり、単一のcp
コマンドを実行することにより、複数のファイルとディレクトリを同時にコピーすることが可能です。ルールは、最後のパラメータはディレクトリでなければならないということです。次の例を見てください。最初に別のサンプルディレクトリとファイルを作成します。次に、このディレクトリを他の2つのファイルと一緒にディレクトリにコピーします
/tmp/
。$ mkdir dir2 $ touch file1 file2 $ cp -r dir2/ file1 file2 /tmp/
指定された宛先ファイルパラメータが
cp
すでに存在する場合、警告なしに上書きされる可能性があるため、このアクションではデータを元に戻せずに復元できない可能性があります。特定の例では、この動作はディレクトリにも有効です。次のcp
コマンド例を検討してください。$ cat sample.txt linuxconfig.org $ touch /tmp/sample.txt $ cp /tmp/sample.txt sample.txt $ cat sample.txt $不明な場合は、
-i
オプションを使用してcp
、宛先ファイルがすでに存在する場合にアラートを生成するようにコマンドに指示します。例:$ cp -i /tmp/sample.txt sample.txt cp: overwrite 'sample.txt'?
cp
は、このセクションで説明するコマンドの動作を示しています。
cp
GNU / Linuxコマンドラインターミナルを使用して、GNU / Linuxファイルシステム上のディレクトリとファイルをコピーするためのGNU / Linuxコマンドの例。ファイルとディレクトリを削除する
この段階では、Linuxコマンドラインの基本にかなりの自信があるはずです。また、コマンドが使用されるパターンに気づいたかもしれません。ファイルやディレクトリの作成、移動、名前変更の方法を知っている必要があります。ただし、ファイルやディレクトリを削除する方法を知らないと、ファイルシステムがいっぱいになり、より多くのデータを保存する機能が失われます。このセクションでは、2つのコマンドについて説明します。最初のコマンドは
rmdir
で、2番目のコマンドはrm
です。rmdir
とrm
コマンドの両方の名前を見ると、コマンドrmdir
がディレクトリの削除に使用されており、後者のコマンドrm
がファイルの削除に使用されており、ほとんどの場合は正しいと結論付けることができます。rmdir
最初にコマンドを見てみましょう。実験では、複数のサブディレクトリとファイルを含む次のディレクトリ構造を使用します。私たちの目標は、すべてのファイルとディレクトリを削除するための使用方法
rmdir
とrm
コマンドを学ぶことです:
rmdir
およびrm
コマンドを使用してファイルとディレクトリを削除する方法を学ぶには、ディレクトリ構造を練習してください。rmdir
コマンドは複数の引数も受け入れます。たとえば、削除するdir4
必要があるのは、rmdir
コマンドディレクトリに、削除するディレクトリの名前をパラメータとして指定することだけです。$ rmdir my_files/dir4/シンプルでしょ?次のディレクトリを削除してみましょう
dir1
:$ rmdir my_files/dir1 rmdir: failed to remove 'my_files/dir1': Directory not emptyご覧のとおり、上記の
rmdir
コマンドはdir1
ディレクトリの削除に失敗しました。の主な役割はrmdir
ディレクトリを削除することであり、ディレクトリにdir1
はファイルが含まれているため、rmdir
コマンドはこのディレクトリを省略し、このディレクトリが空ではないというエラーメッセージを表示しました。論理は健全です!空でないディレクトリを削除する唯一の方法は、
rmdir
かなり長いコマンドラインオプションを使用すること--ignore-fail-on-non-empty
です。ただし、この時点では、rm
コマンドを使用する方がはるかに簡単です。rm
コマンドは、ディレクトリが空またはファイルとサブディレクトリの任意の数が取り込まれたか否かのファイルとディレクトリの任意の数を除去することが可能なオプションの正しい組み合わせです。まず、次
rm
のファイルを削除してテストしますmy_file.txt
。$ rm my_files/my_file.txtでディレクトリを削除
rm
するには、-r
オプションの組み合わせを使用する必要があります。このオプション-r
は再帰を意味します。つまり、コマンドはディレクトリとその内容を削除します。次のコマンドはmy_files/dir1
、ファイルまたはサブディレクトリを含むディレクトリ全体を削除します。を使用してファイルを削除すると、元に戻せません
rm
。つまり、使用中のファイルシステムとシステムの使用状況によっては、データを復元できないということです。rm
Linuxコマンドを使用する場合は、必ず2回測定して1回カットしてください。$ rm -r my_files/dir1/
rm
コマンドの使用は非常に簡単です。他の多くのLinuxコマンドと同じように、複数のパラメーターを受け入れ、単一または任意の数のファイルとディレクトリを簡単に削除できます。
rm
とを使用したファイルとディレクトリの削除rmdir
。
1つのrm
コマンドを実行してmy_file
、ホームディレクトリ内にあるディレクトリ全体を削除します。
ファイルまたはディレクトリを検索する
この時点で、ファイルシステムのナビゲーションとファイル/ディレクトリの管理にかなり慣れているはずです。基本的なGNU / Linuxシステム管理コマンドに特化した次のセクションに進む前に、そのような必要が生じた場合にファイルを探す方法について説明する必要があります。ユーザーがファイルを検索できるようにする2つの主要なLinuxコマンドがあります。つまり、locate
コマンドとfind
コマンドです。コマンドは、それが初心者に来る場合は特に、したがって、それは、使用に圧倒的な少しできる強力なツールです。このため、コマンドの方がはるかに使いやすいので、コマンドについてのみ説明します。Linuxコマンドの基本的な使い方は非常に簡単です。パラメータとして、ファイル名またはディレクトリ名を続けて入力します。たとえば、というファイルを検索してみましょうfind
locate
locate
locate
issue
:$ locate issue上記のコマンドは
issue
、ファイルまたはディレクトリ名内の任意の場所に文字列を含むファイルシステム全体内のファイルまたはディレクトリのリストを生成します。このリストを検索する対象に応じて、かなりのサイズになる可能性があります。したがって、完全に一致するファイル名を検索すると、より適切に対応する傾向がある出力が生成される可能性があります。そのためには、正規表現と
locate
のコマンドラインオプションを使用する必要があります-r
。正規表現は、このチュートリアルの範囲をはるかに超えています。ここでは、正確なファイル名またはディレクトリ名を検索するには、文字列を
/
とで囲む必要があることだけを知っておく必要があり$
ます。例えば:$ locate -r /issue$

locate
Linuxコマンドマスターのランクに昇格する前に、locate
コマンドの動作について簡単に説明します。このlocate
コマンドは、updatedb
コマンドを使用して1日に1回更新される既存のビルド前のデータベースインデックスファイルを参照するだけなので、検索は非常に高速です。不利な点は
locate
、最後のupdatedb
コマンドが実行されてから作成されたファイルやディレクトリをコマンドが取得しないことです。ただし、新しいファイルを含めるために、ユーザーはupdatedb
以下に示すようにコマンドを手動で実行するオプションがあります。$ sudo updatedb

updatedb
コマンドの使用例。
locate
Linuxコマンドで遊んでみて、特定のディレクトリ内でのみファイルを検索するようにコマンドに指示する方法を見つけることができるかどうかを確認してください。
基本的な管理Linuxコマンド
管理者権限でのコマンドの実行
実行するほとんどのLinuxコマンドは、管理者権限なしで実行されます。実際、管理者権限でコマンドを実行することは、前のタスクで必要な場合にのみお勧めします。この単純なルールに従うことで、システム全体の整合性が向上し、ユーザーはLinuxコマンドラインを操作する際に、コストのかかる不要なミスを回避できます。ただし、管理者権限でLinuxコマンドを完全に実行することを回避することを想像するのは困難です。新しいソフトウェアのインストール、コアシステムサービスの構成などには、管理者権限が必要です。ここで
sudo
Linuxコマンドが便利になります。Linuxコマンドの前にsudo
コマンドは、管理者の別名root特権で実行されるようにします。自分で試してください:$ sudo whoami $ whoami

whoami
コマンドは常にそれを実行するユーザーのユーザー名を返します。この場合、whoami
Linuxコマンドの前にコマンドを付けると、sudo
コマンドwhoami
がrootユーザーとして実行されることが保証されます。sudo
コマンドを使用して特権コマンドを繰り返し入力するために5分間がユーザーに与えられますsudo
。
ターミナルからLinuxコマンドを実行するように要求しているLinux関連のドキュメントを読むと、すべてのコマンドの前に$
またはが表示され#
ます。この$
サインでは、特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります。一方、#
指定されたLinuxコマンドは、rootユーザーとして直接、またはsudo
コマンドを使用して、root /管理者権限で実行されることを示します。
ソフトウェアのインストール
GNU / Linuxシステムのデフォルトのインストールは、ニーズに合わせて追加のソフトウェアを含めるようにカスタマイズできます。さまざまなGNU / Linuxディストリビューションに違いがある場合、それはソフトウェアのインストール方法です。ソフトウェアは、関連する配布パッケージリポジトリから入手可能なパッケージの形で提供されます。ソフトウェアパッケージの管理に関しては、GNU / Linuxディストリビューションには2つの主要なブランチがあります。
つまり、これらはDEBとRPMです。最初のブランチはソフトウェアをインストールするコマンドを
apt
使用しており、2番目のブランチはyum
コマンドを使用しています。もちろん、ソフトウェアのインストールやメンテナンスに役立つ他の多くの補助コマンドがありますが、基本は以下に説明されています。まず、インストールするソフトウェアのパッケージ名の検索を開始します。トレントファイルをダウンロードできるように、何らかのトレントクライアントをインストールする必要があるとしましょう。まず、パッケージ名を検索します。
DEB GNU/LINUX SYSTEMS: $ apt search torrent client RPM GNU/LINUX SYSTEMS: $ yum search torrent client上記のコマンドは、パッケージ名とその関連説明のリストを生成します。説明の列を読み、インストールするパッケージを左側の列から選択します。インストールするパッケージを選択したら、関連するパッケージ管理コマンドを再度実行して、パッケージをインストールします。
インストールしたいパッケージがと呼ばれて
bittorrent
いるとしましょう。インストールを開始するには、前のセクションで説明したように、管理者権限でコマンドを実行する必要があります。プロンプトが表示されたら、入力y
してインストールを実行します。DEB GNU/LINUX SYSTEMS: $ sudo apt install bittorrent RPM GNU/LINUX SYSTEMS: $ sudo yum install bittorrent

apt
Ubuntu Linuxのシステムにソフトウェアをインストールするには、コマンドラインのソフトウェアパッケージ管理ツールを。
apt search
コマンドを実行すると、端末画面に収まらない可能性があるパッケージの長いリストが生成される場合があります。この不便さを克服するには、コマンドをにパイプmore
し、スペースキーを使用してリストを下にスクロールします。例:
$ apt search YOUR SEARCH KEYWORDS | moreするには終了し、コマンド・ライン・プレスに戻る
q
キーを押します。ディスク容量の使用状況を確認する
このセクションでは、ディレクトリとファイルサイズを確認する方法と、現在のディスク領域の使用状況に関する情報を取得する方法について説明します。このセクションで取り上げる最初のLinuxコマンドはdf
コマンドです。コマンド名df
はd isk f reeの略語です。パラメータを指定せずに
df
コマンドを実行すると、コマンドは、アクセス可能なすべてのパーティションの使用済みおよび使用可能なディスク領域に関する情報をキロバイト単位で返します。デフォルトのdf
コマンド出力では、ディスク使用量の情報がキロバイト単位で出力されます。ただし、この動作は-h
オプションを使用して上書きできます。$ df -h目的のディレクトリの空きディスク容量を確認するには、このディレクトリへのフルパスをパラメータとして
df
コマンドに追加します。例:$ df -h /home

df
内のコマンドを使用して、ディスクの空き容量を確認し/home
ます。df
コマンドでディレクトリの空き容量を確認しても、そのサイズに関する情報は表示されません。このdf
コマンドは、ディレクトリが配置されているパーティションのディスク領域の使用状況に関する情報のみを出力します。ディレクトリサイズを確認するには、次にdu
説明するLinuxコマンドを使用します。人間が読める形式でファイルサイズに関する情報を取得するには、上記の対象
ls
コマンドを-l
(ロングリスト)および-h
(人間が読める)オプションと、問題のファイルへの完全パスまたは相対パスを組み合わせて使用します。たとえば、次のls
コマンドはswapfile
、ルートディレクトリ内にあると呼ばれるファイルのサイズを返します/
。$ ls -lh /swapfileファイルサイズの確認と同じですが、
du
コマンドを使用してディレクトリサイズを確認できます。デフォルトではdu
、ディレクトリパラメータを指定してコマンドを実行すると、以下のすべてのディレクトリのサイズが表示されます。$ du -h /home/1つのディレクトリの合計サイズの概要を取得するには、
-s
オプションを使用します。繰り返しになりますが、このセクションの上記のすべての例と同様に、人間が読める出力に関心があるため、-h
オプションを使用します。$ du -sh /home/

du
Linuxコマンドを使用して/home
ディレクトリのサイズを確認する例。
man ls
コマンドを実行して、可能なすべてのls
コマンドオプションの概要をすばやく取得します。ls
コマンドを使用して、ディスクサイズで降順に並べ替えられたすべてのファイルとディレクトリを一覧表示する方法を見つけることができますか?
ファイルとディレクトリの圧縮
このセクションでは、GNU / Linuxシステムでファイルを圧縮および解凍する方法のいくつかについて説明します。学習する最初のツールはtar
およびgzip
コマンドです。このtar
コマンドは主に、ディレクトリ全体を1つのファイルに結合し、必要に応じてオプションでプロセスに圧縮を適用するために使用されます。次の
tar
コマンド例は、ディレクトリ全体をmy_dir
と呼ばれる単一のファイルに結合しますmy_dir.tar
。$ tar cf my_dir.tar my_dir結果のファイルをさらに圧縮するには、
gzip
次のコマンドを使用して、圧縮ファイルを作成しますmy_dir.tar.gz
。$ gzip my_dir.tarただし、ほとんどの場合、とにかくディレクトリを圧縮する必要があるため、上記のコマンドの代わりに
tar
とgzip
ツールの両方を組み合わせてディレクトリを圧縮することができます。$ tar cxf my_dir.tar my_dirコマンド
tar
とgzip
コマンドの組み合わせによって生成されるファイルは、gzip tarballまたは単にtarballと呼ばれます。tarballを解凍するには、プロセスを元に戻すことができますが、代わりにコマンド
gzip
を使用しgunzip
ます。たとえば、gzip tarball my_dir.tar.gz
を解凍するには、gunzip
次のコマンドを使用できます。$ gunzip my_dir.tar.gz上記のコマンドは
my_dir.tar
、my_dir
ディレクトリを含む元のファイルを生成します。tar
コマンドを使用して、このtarballをさらに解凍して、元のmy_dir
ディレクトリを取得できます。$ tar xf my_dir.tar

tar
、gzip
およびgunzip
Linuxコマンドを使用したファイルおよびディレクトリの圧縮と解凍の例。シャットダウンと再起動
GNU / Linuxオペレーティングシステムのシャットダウンと再起動に関しては、学ぶ必要があるコマンドは1つだけです。これは、再起動とシャットダウンの両方を実行します。このコマンドは直感的に呼ばれshutdown
ます。はい、
init 6
またはreboot
コマンドなどでシステムを再起動できるのは本当ですが、shutdown
コマンドを学習することで、より多くの能力とオプションが得られます。以下にshutdown
コマンドの例をいくつか示します。最初の
shutdown
コマンド例は、システムを1分以内に再起動します。$ sudo shutdown -rGNU / Linuxシステムをすぐに再起動するには、次のコマンドを実行します。
$ sudo shutdown -r now
shutdown
コマンドを使用したシステムのシャットダウンは、上記の再起動コマンドで示されているのと同じ原理に従います。次の2つの例は、システムを1分以内に、1.5時間(90分)の遅延で即座にシャットダウンする方法を示しています。$ sudo shutdown $ sudo shutdown now $ sudo shutdown +90遅延システムシャットダウンを実行した場合は、次の方法でシャットダウンプロセスをキャンセルできます。
$ sudo shutdown -c
高度なLinuxコマンド
インターネット/ネットワーク接続のトラブルシューティング
このセクションでは、いくつかの基本的なネットワーキングスキルを紹介します。特に、適切なインターネット接続を確立するために必要なサービスのIPアドレスを取得する方法と、ネットワーク接続とインターネット接続のトラブルシューティングを行う方法を学習します。コマンドを使用してローカルIPアドレスを取得することから始めましょう
ip
。ip
コマンドには、多数のオプションがあるaddress
かa
のオプションを利用可能と対応ネットワーク・インターフェースのすべてに割り当てられたIPアドレスを表示するには短いです:$ ip a上記のコマンドは、システムで現在使用されているIPアドレスを明らかにします。ネットワークインターフェース名は異なる場合があります。次の例では、ゲートウェイのIPアドレスを取得します。もう一度
ip
コマンドを使用しますが、今回はr
(route)オプションを使用します。$ ip rパズルの次のピースは、DNS(ドメインネームサーバー)IPアドレスです。ホスト名をIPアドレスに解決するためにシステムがどのDNSサーバーを使用しているかを確認するには、前述のコマンドを
/etc/resolv.conf
使用してファイルの内容を確認しますcat
。$ cat /etc/resolv.conf

ping
コマンドです。コマンドを使用して、
ping
任意のIPアドレスまたはホストへの接続をテストできます。このping
コマンドは、目的のホストまたはIPアドレスにパケットを送信し、結果を通知します。デフォルトでは、ping
コマンドは選択したIPアドレスまたはホストにエンドレスpingを送信します。連続して中断するにはping
、CTRL+C
キーの組み合わせを押します。または、-c
送信するパケット数を示す番号と組み合わせてオプションを使用します。例えば:$ ping linuxconfig.org PING linuxconfig.org (104.24.11.18) 56(84) bytes of data. 64 bytes from 104.24.11.18 (104.24.11.18): icmp_seq=1 ttl=57 time=9.83 ms 64 bytes from 104.24.11.18 (104.24.11.18): icmp_seq=2 ttl=57 time=10.0 ms 64 bytes from 104.24.11.18 (104.24.11.18): icmp_seq=3 ttl=57 time=9.95 ms --- linuxconfig.org ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2002ms rtt min/avg/max/mdev = 9.833/9.933/10.008/0.073 ms $ ping -c 2 8.8.4.4 PING 8.8.4.4 (8.8.4.4) 56(84) bytes of data. 64 bytes from 8.8.4.4: icmp_seq=1 ttl=121 time=10.3 ms 64 bytes from 8.8.4.4: icmp_seq=2 ttl=121 time=10.4 ms --- 8.8.4.4 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1001ms rtt min/avg/max/mdev = 10.340/10.412/10.485/0.125 msインターネット接続の問題が発生している場合は、ローカルIPアドレスまたはパブリックホストから開始して、上記のすべてのIPアドレスにpingを送信することにより、ネットワーク接続のトラブルシューティングを行うことができます。この戦略を使用すると、以下に示すように、ネットワーク接続の問題を引き起こす可能性のある問題を絞り込むのに役立ちます。

ping
Linuxコマンドを使用したインターネット接続のトラブルシューティング。権限と所有権を変更する
GNU / Linuxファイルシステム内のすべてのファイルまたはディレクトリは、さまざまなユーザーやさまざまなユーザーグループが所有できます。さらに、すべてのファイルまたはディレクトリは、読み取り、書き込み、実行などの1つ以上の権限に準拠するように設定できます。ファイルまたはディレクトリの権限または所有権に関するトピックは、小さな本をカバーすることができます。私たちは基本に関心があるので、始めるためのヒントをいくつか紹介します。ファイルまたはディレクトリのアクセス許可に関する実際の情報を取得することから始めましょう。そのためには
ls
、-l
オプションとして、パラメータとしてファイルまたはディレクトリ名を指定して、すでに学習済みのコマンドを実行します。例えば:$ ls -l dir/出力に関する詳細情報は、以下の画像に示されています。次に進む前に、少し時間を割いて情報を要約してください。

ls
コマンドとその-l
長いリストオプションによって取得された詳細なファイルまたはディレクトリ情報。上の画像ですでに示したように、読み取り、書き込み、実行の 3つの許可タイプがあります。次の表は、すべての権限タイプとその記号および8進数表現を示しています。
許可タイプ | 8進表現 | 記号表現 |
---|---|---|
読んだ | 4 | r |
書く | 2 | w |
実行する | 1 | バツ |
GNU / Linuxファイルシステムでファイルまたはディレクトリの権限を変更するツールは
chmod
です。chmod
コマンドを使用してファイルまたはディレクトリのアクセス許可を変更する方法は2つあります。つまり、8進数または記号表現による方法です。これらの2つのうち、覚えて使用するのが最も簡単な方法が最善の方法です。次の例は、
chmod
コマンドを8進表記と記号表記の両方で使用して、dir
ディレクトリーの許可を次のように変更する方法を示しています。目標 | 要件 | 8進表現 | 記号表現 |
---|---|---|---|
ユーザー(所有者) | 読み取り、書き込み、実行 | (4 + 2 + 1)のように7 | u = rwx |
グループ | 読み書き | (4 + 2)のように6 | g = rw |
その他 | 権限なし | 0 | o = |
chmod
8進数とシンボリックのアクセス許可表現を使用する次の2つのLinuxコマンドは互換性がありdir
、上記の要件に従ってディレクトリのアクセス許可を変更します。OCTAL: $ chmod 760 dir SYMBOLIC: $ chmod u=rwx,g=rw,o= dirこのセクションで説明する最後のツールは
chown
コマンドです。このchown
コマンドを使用すると、ユーザーはファイルまたはディレクトリの所有権を変更できます。各ファイルまたはディレクトリには、2種類の所有権があります。つまり、これらはユーザーとグループの所有権です。chown
コマンドを使用して所有権を変更することは、かなり簡単な手順です。ファイルまたはディレクトリの所有権を変更する一般的なルールは、chown
コマンドに2つのパラメーターを指定することです。提供される最初のパラメーターには、このファイルまたはディレクトリーを所有するユーザー名とグループ名を区切り.
、2番目のパラメーターには問題のファイルまたはディレクトリー名を指定します。次の
chown
Linuxコマンドの例ではfile.txt
、ユーザーlubos
およびグループに属するすべてのユーザーが所有するように指定されたファイルを変更しますlinuxconfig
。$ chown lubos.linuxconfig file.txt
chown
Linuxコマンドでファイルまたはディレクトリの所有権を正常に変更するには、次の2つのルールが適用されます。まず、ユーザーとグループが存在している必要があり、次に、root
ユーザーまたはグループとの間で所有権を変更するには、管理者権限が必要です。詳細については、上記のsudo
コマンドの説明を参照してください。
chmod
chown

chmod
Linuxコマンドのさまざまな権限のバリエーションを試してください。同じアクセス許可のセットをファイルまたはディレクトリに適用するとどう違うのですか?
システムのカーネルバージョンを確認する
GNU / Linuxボックスのトラブルシューティングが必要になる場合があるため、現在実行中のカーネル(Linux)に関する情報を取得する必要があります。コマンドをと組み合わせて使用する
uname
と、-a
カーネルのバージョンとアーキテクチャに関する詳細情報が出力されます。$ uname -a

Linuxは、実際のオペレーティングシステムのコマンドが基づいているのに対し、単にシステムのカーネルを指し、実際にキーワードGNUとしてので、オペレーティングシステム全体を呼び出すフリーソフトウェアのバイナリGNU / LinuxのかLignuxは単にそれを参照することに反対するとして、より適切かつ技術的に正しいですLinuxとして。
結論
以上です!ただし、この記事を長く読んで、他に学ぶことはないと考えるように騙してはいけません。それどころか、読者にいくつかの基本的なGNU / Linuxコマンドラインテクニックのみを紹介することを目的としていたため、この記事は表面をほんの少し引っ掻いたにすぎません。この記事を改善するために、以下のフィードバックを提供してください。さらに質問がある場合、または追加のヘルプが必要な場合は、LinuxConfig フォーラムにアクセスしてください。
次に何を学ぶべきですか?ええと、基本を試し続け、新しいLinuxコマンドをレパートリーに毎日追加してみてください。練習は完璧を作る!
基本的なLinuxコマンドに慣れたら、私のBashスクリプトチュートリアルを検討してください。 初心者がLinuxコマンドとシェルスクリプトの組み合わせを使用してタスクを自動化する方法を発見するために。