Gentooの創設者によるLinuxの基本。 パート1(1/4):BASH、ナビゲーションの基本

まえがき


このガイドについて


Linux Professional Institute 101試験に向けて準備するように設計されたLinux基礎チュートリアルの4つのパートの最初にようこそ.bash(Linuxシェルの標準シェル)について学び、次のような標準Linuxコマンドのほとんどの機能について学びます。 ls、cp、mv、iノード、ハードリンク、シンボリックリンクなどを理解できます。 このチュートリアルの終わりまでに、何らかの知識の基礎が得られ、Linux管理の基礎を学ぶ準備が整います。 コースの終わりまでに(8パート)、必要に応じてLinuxシステム管理者になり、Linux Professional InstituteからLPICレベル1認定を取得するのに十分なスキルを身に付けます。



このガイドの最初の部分は、Linuxの初心者や、ファイルのコピーや移動、シンボリックリンクやハードリンクの作成、標準のワードプロセッシングコマンドなど、Linuxの基本概念の理解を更新または向上させたい方に最適です。パイプラインとリダイレクト。 途中で、多くのヒント、コツ、コツも提供します。これにより、すでにLinuxの経験が豊富な人でも、このガイドが充実した実用的なものになります。 手始めに、この資料のほとんどは新しいものになりますが、より上級のLinuxユーザーは、このガイドが自分の基本的なスキルを頭に入れるのに最適な方法であると感じるでしょう。



LPI試験の準備以外の目的でこのマニュアルの最初のバージョンを学習した場合は、再度読む必要はありません。 ただし、試験を受ける予定の方は、この改訂版を必ずご覧ください。



bashの概要


シェル


すでにLinuxを使用したことがある場合は、ログインすると、次のような招待状が表示されます。



$

実際には、表示される招待状は若干異なる場合があります。 たとえば、ホスト名、現在の作業ディレクトリの名前、またはすべてを含めることができます。 招待状がどのように見えるかに関係なく、特定のことが1つあります。この招待状を表示するプログラムは、コマンドインタープリターのシェルと呼ばれます(英語のシェル-シェルから、コマンドラインまたは端末-約Per。)。とりわけ、シェルは「bash」になります。



bashを実行していますか?


次のように入力して、bashを使用していることを確認できます。



$ echo $SHELL
/bin/bash


上記の行でエラーが発生した場合、または答えが一致しない場合は、別のシェルを起動した可能性があります。 この場合、このチュートリアルの大部分は引き続き役立ちますが、試験101に備えてbashに切り替えることをお勧めします。



bashについて


BashはBourne-again-shellの頭字語です。 「Another-one-command-shell-Bourne」または「born-again-command-shell」(ここでは、語彙Bourne / born-およそPer。)、およびほとんどのLinuxシステムのデフォルトのシェルです。 シェルのタスクは、Linuxシステムと対話するコマンドをユーザーから受け取ることです。 コマンドの入力が終了したら、シェルを終了(終了)またはセッションを終了(ログアウト)できます。その場合、ログインプロンプトが表示されます。



ところで、プロンプトでcontrol-Dを押してbashシェルを終了することもできます。



「cd」を使用する


bashプロンプトをじっと見つめることは、世界で最も印象的な活動ではないことを既にお気づきかもしれません。 それでは、ファイルシステム内を移動する方法を見てみましょう。 招待状で、次のコマンドを入力してください($なし):



$ cd /

/ディレクトリ(ルートディレクトリとも呼ばれる)で作業することをbashに伝えました。 システム内のすべてのディレクトリはツリー形式であり、/はその頂点、つまり 根(コンピューターサイエンスでは、逆に木が成長し、根が上になり、枝が下がる-約)。 cdは、現在作業中のディレクトリ(「現在の作業ディレクトリ」とも呼ばれます)を設定します。



方法


bashで現在の作業ディレクトリを見つけるには、次のように入力する必要があります。



$ pwd
/


cdの例では、引数/はパスと呼ばれます。 彼は私たちが行きたい場所をcdに伝えます。 特に、/引数は絶対パスです。つまり、ファイルシステムツリーのルートに相対的な場所を設定します。



絶対パス


それらのいくつかを以下に示します。



/dev
/usr
/usr/bin
/usr/local/bin


ご覧のとおり、すべての絶対パスには共通の1つのことがあり、/で始まります。 たとえば、cdの引数として/ usr / local / binを指定することにより、/ディレクトリに移動し、次にその中のusrディレクトリに移動し、さらにツリーの下のlocalおよびbinに移動したいということです。 絶対パスは常に/最初からカウントされます。



相対パス


別のタイプのパスは「相対パス」と呼ばれます。 bash、cd、およびその他のコマンドは、常に現在のディレクトリを基準にして解釈します。 相対パスは/で始まらないでください。 したがって、最初に/ usrに移動した場合:



$ cd /usr

それから、相対ローカル/ binパスを使用して/ usr / local / binディレクトリにアクセスできます。



$ cd local/bin
$ pwd
/usr/local/bin


..を使用


相対パスには、1つ以上の「..」ディレクトリも含まれる場合があります。 ディレクトリ ".."は特別です。 親ディレクトリを指します。 したがって、上記の例を続けます。



$ pwd
/usr/local/bin
$ cd ..
$ pwd
/usr/local


ご覧のとおり、現在のディレクトリは/ usr / localになりました 。 以前の現在のディレクトリに対して1つのディレクトリに戻ることができました。



さらに、既存の相対パスで「..」を使用して、現在のディレクトリの「隣」のディレクトリに移動することもできます。



$ pwd
/usr/local
$ cd ../share
$ pwd
/usr/share


相対パスの例


相対パスはもう少し複雑になります。 以下にいくつかの例を示します。これらの各コマンドを入力した後、自分がどこにいるかを推測してみてください。



$ cd /bin
$ cd ../usr/share/zoneinfo

$ cd /usr/X11R6/bin
$ cd ../lib/X11

$ cd /usr/bin
$ cd ../bin/../bin


次に、それらを入力して、仮定を確認します。 ;)



理解。


cdの学習を完了する前に、明確にする必要があるいくつかのポイントがあります。 まず、「現在のディレクトリ」を意味する別の特別なディレクトリ「。」があります。 cdコマンドでは使用されませんが、多くの場合、次の例のように、現在のディレクトリからプログラムを実行するために使用されます。



$ ./myprog

この場合、現在の作業ディレクトリにある実行可能プログラムmyprogが起動します。



cdおよびホームディレクトリ


ホームディレクトリに移動する場合は、次のように入力できます。



$ cd

引数なしで、cdはホームディレクトリに移動します。ホームディレクトリは、スーパーユーザーの/ root 、または通常/ home / usernameusernameはシステム内のユーザー名-約Per)です。他のユーザーの場合。 しかし、ホームディレクトリ内のファイルを指定する場合はどうでしょうか。 myprogプログラムの引数としてファイルパスを渡したいかもしれません。 ファイルがホームディレクトリにある場合、次のように入力できます。



$ ./myprog /home/drobbins/myfile.txt

ただし、このような絶対パスを使用することは必ずしも便利ではありません。 幸いなことに、〜(チルダ)記号を使用して同じことを行うことができます。



$ ./myprog ~/myfile.txt

他のユーザーのホームディレクトリ


Bashは単一の〜をホームディレクトリへのポインタとして扱いますが、他のユーザーのホームディレクトリを指すために使用することもできます。 たとえば、ユーザーのホームディレクトリfredにあるfredsfile.txtというファイルを参照する場合、次のように入力できます。



$ ./myprog ~fred/fredsfile.txt

継続するには...



著者について


ダニエル・ロビンス


Daniel Robbinsは、Gentooコミュニティの創設者であり、Gentoo Linuxオペレーティングシステムの作成者です。 ダニエルは妻のメアリーと元気な娘2人とニューメキシコに住んでいます。 彼はFuntooの創設者兼代表でもあり、 IBM developerWorks 、Intel Developer Services、およびC / C ++ Users Journalの技術記事を数多く執筆しています。



クリス・ハウザー


クリスハウザーは、1994年にテイラー大学(米国インディアナ州)の管理者チームに参加し、コンピューターサイエンスと数学の学士号を取得して以来、UNIXサポーターです。 その後、Webアプリケーション、ビデオ編集、UNIXドライバー、暗号化保護など、さまざまな分野で働きました。 現在、Sentry Data Systemsで働いています。 Chrisは、Gentoo LinuxやClojureなどの多くの無料プロジェクトにも貢献し、 The Joy of Clojureの共同執筆者でもあります。



アロン・グリフィス


Iron Griffisはボストンに住んでおり、ここ10年間、Hewlett-PackardでTru64、Linux、Xen、KVM仮想化セキュリティ認証用のUNIXネットワークドライバー、最近ではHP ePrintプラットフォームなどのプロジェクトに従事しました。 プログラミングの暇な時間に、Ayronは、自転車に乗ったり、ビットをジャグリングしたり、ボストンのプロ野球チームRed Socksを応援したりする際に、プログラミングの問題を消し去ることを好みます。

Source: https://habr.com/ru/post/J99041/


All Articles