ホームページ  >  記事  >  運用・保守  >  Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

WBOY
WBOY転載
2021-12-31 18:02:183560ブラウズ

この記事では、プログラム開発環境、一般的なコマンド、環境変数など、Linux オペレーティング システムの基本的な知識を紹介します。

Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

1. Linux とプログラム開発環境の概要

1.1 Linux とは何ですか?

Linux は、自由にリリースできる UNIX に似たカーネル実装であり、オペレーティング システムの基礎となるコアです。 Linux は、インターネット上の多数の UNIX プログラマーの協力を得て、フィンランドのヘルシンキ大学の Linus によって開発されました。これはもともと教授の Minix (UNIX に似た小さなシステム) からインスピレーションを得たプログラムでした。純粋に個人的な趣味でしたが、後に徐々に発展して、それ自体が完全なシステムになりました。

Linux とは何かを理解するにはということは、まず Linux-UNIX や GNU ソフトウェアより前に生まれたシステムとアプリケーションを理解する必要があります。

1.1.1 UNIX とは何ですか?

UNIX オペレーティング システムは、もともとベル研究所によって開発されました。ベル研究所は、当時通信大手 AT&T (American Telegraph and Telephone Company) の一員でした。現在では、マルチユーザー、マルチタスクのオペレーティング システムとして非常に人気があります。 UNIX オペレーティング システムは、PC からマルチプロセッサ サーバーやスーパーコンピュータに至るまで、多数の異なるハードウェア プラットフォーム上で実行できます。

UNIX でのプログラム開発には、いくつかの典型的なスタイルと特徴があります:

1) シンプルさ: 多くの便利な UNIX ツールは非常にシンプルです。 「小さくてシンプル」は学ぶ価値のあるテクニックです。大規模で複雑なシステムには、より大規模で複雑なバグが必ず含まれます。

2) 集中化: すべての機能をひとまとめにするよりも、プログラムに 1 つのタスクをうまく実行させるほうがよいでしょう。機能が肥大化したプログラムは使用と保守が難しく、単一目的のプログラムはより優れたアルゴリズムが開発されるにつれて改善される可能性が高くなります。 UNIX では、ユーザーから新たなニーズが生じた場合、ユーザーが期待するすべての機能を大きなプログラムに組み込むのではなく、小さなツールを組み合わせてより複雑なタスクを完了するのが一般的です。

3) 再利用可能なコンポーネント: アプリケーションのコアをライブラリとして実装します。シンプルで柔軟なプログラミング インターフェイスを備えたライブラリは、他の人が同様のプログラムを開発したり、これらの技術を新しいアプリケーション分野に適用したりするのに役立ちます。

1.1.2 GNU プロジェクトとフリー ソフトウェア財団

オペレーティング システム カーネルがあるだけでは十分ではありません。今日に至るまでの Linux の開発は、共同の努力の結果です。無数の人々の。オペレーティング システム カーネル自体は、利用可能な開発システムのほんの一部にすぎません。一般的な UNIX システムには、システム サービスやツールを提供するアプリケーションも含まれていますが、Linux システムの場合、これらのプログラムは多くのプログラマによって作成され、自由にリリースされます。

Linux コミュニティはフリー ソフトウェアの概念をサポートしています。つまり、ソフトウェア自体は制限されるべきではなく、GNU (GNU は GNU の Not UNIX の再帰的略語です) 一般公衆利用許諾書 (GPL) に準拠しています。

The Free Software Foundation は Richard Stallman によって設立されました。その目的は、UNIX システムと互換性があるが、UNIX の名前とソース コードのプライバシー権によって制限されないオペレーティング システムと開発システムを作成することです。 。

GNU プロジェクトは、UNIX システム上のアプリケーションの模倣品をソフトウェア コミュニティに多数提供してきました。たとえば、有名なものは、

GCC: GNU Compiler Collection。GNU C コンパイラが含まれています。

G: G コンパイラ、GCC の一部。

GDB: ソース コード レベルのデバッガー。

GNU make

bash: コマンド インタプリタ (シェルの一種)

これらの利用可能なフリー ソフトウェアと Linux カーネルを組み合わせることで、次のように言えます。 GNU、無料の UNIX のようなシステムは、Linux システムを通じて実現されています。 GNU ソフトウェアの貢献により、現在では多くの人が Linux システムのことを GNU/Linux と呼んでいます。

1.2 プログラム開発環境

仕事をうまくやり遂げたいなら、まずツールを磨く必要があります。Linux プログラムを開発したい場合は、ビルドする必要があります。まずは開発環境。

1.2.1 Linux環境のインストール

Linux開発ではLinuxシステム環境のインストールが必要で、開発用のUbuntuシステムのインストールには一般にVMWareが使用されます。具体的なインストールプロセスについては、次の投稿を参照してください https://zhuanlan.zhihu.com/p/38797088. ここではあまり詳しく説明しません。

1.2.2 SSH

Secure Shell (SSH) は、IETF (The Internet Engineering Task Force) によって開発されたアプリケーション層に基づく安全なネットワーク プロトコルです。 FTP、Pop、Telnet などの従来のネットワーク サービス プログラムは本質的に安全ではありません。データ、ユーザー アカウント、ユーザー パスワードをネットワーク上でプレーン テキストで送信するため、中間者攻撃に対して脆弱です。
SSH はクライアント openssh-client とサーバー openssh-server に分かれており、ssh クライアントを使用してシステムにログインするには、ubuntu システムに ssh サーバーをインストールする必要があります。

#1) ssh をインストールします
#sudo apt update

sudo apt install openssh-server

2) ssh を開始します
sudo サービス ssh start

3)
ip addr show# を使用します##ubuntu システム ip を表示するコマンド

現在の ubuntu IP アドレスは 192.168.176.148

4) ssh ログインのテスト

Ubuntu に ssh サーバーをインストールした後、次に使用します。 MobaXterm を使用して Windows システムに接続し、ssh サーバーが正常にインストールされているかどうかをテストします。操作手順は次のとおりです。
Xterm ソフトウェアを実行し、次の図に示すように「セッション」を選択します。
Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

「SSH」をクリックして、図に示すように設定します。以下の図:
Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

このダイアログ ボックスで、「プロトコル」として「SSH」、「ホスト名」として ubuntu の IP アドレス、およびユーザー名として現在のユーザー名を選択します。 。ポート番号にはデフォルト値の 22 を使用します。設定完了後、「OK」をクリックすると以下のコマンドラインターミナルが表示され、仮想マシンのUbuntuシステムが接続されたことがわかります。
Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

この方法により、ホストと開発ボード間のネットワーク通信が正常であることを確認した後、開発ボードにログインできるようになります。

5) Visual Studio Code のインストール

Visual Studio Code (略して VSCode) は、Microsoft の無料エディターであり、Windows、Linux、および macOS バージョンで利用できます。クロスプラットフォームエディター。インストール手順はご自身で検索していただくことも可能です ここでは主にC/Cプログラム開発に使用する拡張パッケージを紹介します インストール手順は下図のとおりです:
Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

次のプラグイン-ins は一般的に使用されており、インストールする必要があります:

C/C。

C/C スニペット、C/C 再利用コード ブロック。

C/C Advanced Lint、つまり C/C 静的検出。

コード ランナー、つまりコードの実行。

AutoComplete (ヘッダー ファイルの自動組み込み) を組み込みます。

虹括弧、虹中括弧は、コードを読むのに役立ちます。

One Dark Pro、VSCode のテーマ。

GBKtoUTF8、GBK を UTF8 に変換します。

ARM。ARM アセンブリ構文の強調表示をサポートします。

中国語(簡体字)、つまり中国語環境。

vscode-icons、VSCode アイコン プラグイン、主にリソース マネージャー配下の各フォルダーのアイコン。

compareit (比較プラグイン) は、2 つのファイル間の差異を比較するために使用できます。

DeviceTree (デバイス ツリー構文プラグイン)。

Markdown Preview 強化されたマークダウン プレビュー プラグイン。

Maridown pdf、.md ファイルを他の形式に変換します。

2. 一般的な Linux コマンド

Linux コマンドは数百ありますが、初心者にとっては一般的に使用されるコマンドはそれほど多くないため、習得する必要はありません。日々の勉強や仕事の過程で、馴染みのない Linux コマンドに出会っても、時間をかけてさらに情報を確認することで自然に覚えられるようになります。以下は、Linux の最も基本的な 17 個のコマンドの紹介です。

#1. 画面をクリアします

#クリア

##2. サーバーの IP アドレスを確認します

ip addr

3. 表示時間

日付

## 4 、ディレクトリとファイル

ファイル システムはツリーのようなもので、幹は / (ルート) ディレクトリ、枝はサブディレクトリ、枝の後ろには枝があります (ディレクトリ 最後にファイルがあります。


ディレクトリやファイルのパスは絶対パスと相対パスに分かれており、絶対パスは/usr/etc/readme.txtのようにルート(/)から計算されます。相対パスは現在の作業ディレクトリから計算され、現在の作業ディレクトリが /usr の場合、etc/readme.txt は /usr/etc/readme.txt と同等になります。さらに、1 つのドットは現在の作業ディレクトリを示し、2 つのドット... は現在の作業ディレクトリの上位ディレクトリを示します。 Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう 以下は、Linux システム ディレクトリ構造についての簡単な説明です。多くのユーザーが Linux システム ディレクトリ構造について突飛な考えを持たないようにするために、Linux Foundation は FHS 標準をリリースしました。ほとんどの Linux ディストリビューション システムはこの標準に従っています。注: FHS (Filesystem Hierarchy Standard)、ファイル システム階層標準。Linux システムにおけるすべての第 1 レベル ディレクトリと一部の第 2 レベル ディレクトリ (/usr および /var) の使用を指定します。この標準を公開する主な目的は、各ディレクトリにどのような種類のファイルを保存する必要があるかをユーザーが明確に理解できるようにすることです。


1) Linux ルート ディレクトリ (/)

FHS は、次の 2 つの理由から、Linux システムのルート ディレクトリ (/) が最も重要であると考えています。 ## 1. すべてのディレクトリはルート ディレクトリから派生します; 2. ルート ディレクトリはシステムの起動、修復、復元に密接に関連しています;
したがって、ルート ディレクトリには起動ソフトウェア、コア ファイル、および次の表に示すように、起動に必要なプログラム、関数ライブラリ、修復システム プログラム、その他のファイルが含まれます。



2) Linux /usr ディレクトリ

usr (ユーザーではないことに注意)、フルネームは Unix Software Resource で、このディレクトリはシステム ソフトウェア リソースの保存に使用されます。 FHS では、開発者が製品用に別のディレクトリを作成するのではなく、/usr ディレクトリのサブディレクトリにソフトウェア製品データを配置することをお勧めします。
Linux システムでは、すべてのシステムのデフォルト ソフトウェアは /usr ディレクトリに保存されます。/usr ディレクトリは、Windows システムの C:\Windows\ C:\Program files\ の組み合わせに似ています。
FHS では、/usr ディレクトリに次の表に示すようなサブディレクトリを設けることを推奨しています。
Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

3) Linux /var ディレクトリ

/var ディレクトリは、キャッシュ、ログ ファイル、ソフトウェアの実行中に生成されるファイルなどの動的データを保存するために使用されます。一般に、表 4 に示すように、このディレクトリにこれらのサブディレクトリを含めることをお勧めします。
Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

5. 現在のディレクトリを表示します。

pwd

6.現在のジョブのディレクトリ

#cd ディレクトリ名

#例:

#1) /tmp ディレクトリを入力します
cd /tmp

2) 上位ディレクトリ
cd ..

を入力します。

3) ユーザーのホーム ディレクトリを入力します
cd

7. ディレクトリとファイルの情報を一覧表示します

ls

は list の略です。ls コマンドを使用すると、ディレクトリとファイルの情報だけでなく、権限、サイズ、所有者、グループ、および権限も表示できます。ディレクトリやファイルのその他の情報。 オプション -l
ディレクトリとファイルの詳細をリストします。 例:

1) 現在の作業ディレクトリ内のすべてのディレクトリとファイル名の情報を一覧表示します
#ls


Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう#2) 現在の作業ディレクトリ内のすべてのディレクトリとファイル名に関する詳細情報を一覧表示します。

ls -l


Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう3) 正規表現

正規表現は、正規表現やワイルドカードとも呼ばれます。ディレクトリ名とファイル名の両方で、正規表現と正規表現ルールがサポートされています。たくさんありますが、ここでは最も一般的に使用される 2 つのアスタリスク「*」をマスターするだけで済みます。
アスタリスク "*": 任意の数の文字と一致します。

例:
ls open*.zip


##8. ディレクトリを作成しますLinux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

1) 現在の作業ディレクトリに aaa ディレクトリを作成します。

mkdir aaa

2) 現在の作業ディレクトリに aaa ディレクトリを作成します。そして、aaa ディレクトリに bbb ディレクトリを作成します。

mkdir aaa/bbb -p

9、ディレクトリとファイルを削除します

rm [-rf]ディレクトリまたはファイル

オプション -r でディレクトリを削除できます。-r を使用しない場合は、ファイルのみを削除できます。削除されました。

オプション-fは強制削除を示し、確認は必要ありません。

1) aaa ディレクトリを削除します

rm aaa -r

2) 現在作業しているディレクトリを強制的に削除しますdirectory ccc.c file

rm -f ccc.c

##9. ディレクトリとファイルの移動

#mv 古いディレクトリまたはファイル名 新しいディレクトリまたはファイル名

#1) 現在の作業ディレクトリにある book.c ファイルの名前を book1.c

# に変更します。 ##mv book.c book1.c

2) OPC/test3 が既存のディレクトリの場合、次のコマンドは現在の作業ディレクトリにある book.c ファイルを OPC に移動します。 /test3 ディレクトリ。

mv book.c OPC/test3

3) OPC/test3 ディレクトリが存在しない場合は、次のコマンドを実行します。 c ファイルの名前は OPC/test3 に変更されます。

mv book.c OPC/test3

10. ディレクトリとファイルのコピー

cp [-r] 古いディレクトリまたはファイル名 新しいディレクトリまたはファイル名

注: -r は再帰を意味します。英語の recursion

オプション -rオプション

-r

がない場合は、ディレクトリをコピーできます。ファイルのコピーのみが可能です。

例:

1) 現在の作業ディレクトリにある book1.c ファイルを book2.c

cp book1.c book2 にコピーします。 .c

##2) 現在の作業ディレクトリの aaa ディレクトリを bbb

cp aaa bbb -r

# # にコピーします。
#3) 現在の作業ディレクトリにある book1.c ファイルを aaa/book1.c

cp book1.c aaa/book1.c にコピーします。

#cp book1.c aaa/.
上記 2 つのコマンドは同じ効果があります。

#4) 現在の作業ディレクトリの aaa ディレクトリを /tmp/aaa

#cp -r aaa /tmp/aaa

## にコピーします。 #

cp -r aaa /tmp/.

上記 2 つのコマンドは同じ効果があります。

11. ネットワークが接続されているかどうかを確認します

ping -c パケット数 IP アドレスまたはドメイン名

pingローカル ホストが別のホストとデータ パケットを正常に交換できるかどうか、およびネットワークがスムーズであるかどうかを判断します。

#1) ローカル ホスト (127.0.0.1) に 5 つのパケットを ping します。
#ping -c 5 127.0.0.1


Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

2) Baidu www.baidu.com.cn
ping -c 5 www.baidu.com.cn のサーバーに 5 つのパッケージを ping します。


Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょうBaidu のサーバーが

ping

できることがわかります。

3) Google www.google.com サーバーに 5 つのパケットを ping します。
ping -c 5 www.google.com


Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょうGoogle のサーバーが

ping

であることがわかります。意味がありません。

12. テキスト ファイルの内容を表示する

テキスト ファイルの内容を表示するには、

cat

、## の 3 つのコマンドがあります。 #moretail1) cat コマンド

cat ファイル名

cat コマンドは、ファイル全体の内容を一度に表示します。

cat main.cpp

2) その他のコマンド

その他のファイル名

読みやすくするために、more コマンドはファイルの内容をページ単位で表示します。スペース バーを押すと次のページが表示され、b キーを押すと前のページが表示され、 q キーを押して終了します。

3) tail コマンド

tail -f ファイル名

tail -f

は次の目的で使用されます。表示 ファイルの内容が増加すると、テキスト ファイルの最後の数行がリアルタイムで更新されます。プログラマにとって、

tail -f は非常に重要で、バックグラウンド サービス プログラムのログを動的に表示し、プログラムのデバッグと実行の追跡に使用できます。 13. テキストファイルの行数、ワード数、バイト数をカウントする

wc(word count)関数は、指定されたテキストファイルのバイト数とワード数をカウントします。

#wc ファイル名

#14. ファイル内の内容を検索
Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

grep "コンテンツ" ファイル名

コンテンツ内にスペースなどの特殊文字がない場合は、二重で囲む必要はありません。引用。

例:


1) main.cpp ファイル内で signal

grep signal main.cpp を検索します。

#15. ファイルの検索
Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう1) find

find ディレクトリ名-name ファイル名

パラメータの説明:
ディレクトリ名: 検索対象のディレクトリ ファイルを検索する場合、このディレクトリ名に加えて、すべてのレベルのサブディレクトリも含まれます。

ファイル名: 検索するファイル名に一致するルール。 例: OPC ディレクトリから検索を開始し、すべての *.cpp ファイルを表示します。


find OPC -name *.cpp


2)locate

ファイル名を検索

例:
open62541.c ファイルを検索

locate open62541.c


注: このコマンドを初めて使用する場合は、次の操作が必要になる場合があります。データベースを更新するには、プロンプトに従ってコマンドを実行してください。
find は主に特定のディレクトリ内のあいまい検索に使用され、locate は領域全体の正確な位置を特定するために使用されます。 Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

16. chmod コマンド

は、Linux ファイルまたはディレクトリのアクセス許可を変更するために使用されます。このコマンドには 2 つの用途があります。 1 つは文字と演算子式を含むテキスト設定方法、もう 1 つは数字を含む数値設定方法です。

各ファイルまたはディレクトリには 3 つのアクセス許可グループがあり、各グループは 3 桁の数字で表され、ファイル所有者の読み取り、書き込み、実行権限と、ファイル所有者の読み取り、書き込み、および実行権限です。所有者と同じグループ 実行権限 (システム内の他のユーザーに対する読み取り、書き込み、および実行権限)。 例:

ls -l example

最初の列には 10 個の位置があり、最初の文字はファイルの種類を指定します。通常の意味では、ディレクトリもファイルです。最初の文字がダッシュの場合、それは非ディレクトリ ファイルであることを意味します。 dの場合はディレクトリを意味します。 2 文字目から 10 文字目までの合計 9 文字があり、3 文字のグループは、ファイルまたはディレクトリに対する 3 つのユーザー グループの権限を表します。パーミッション文字は水平線を使用して空のパーミッションを表し、r は読み取り専用、w は書き込み、x は実行可能を表します。 <p> 一般的に使用されるパラメータ: </p> <ul style="list-style-type: disc;"> <li><p> -c 変更が発生した場合、処理情報をレポートします </p></li> <li><p> -R 指定されたディレクトリとそのサブディレクトリを処理します すべてfiles</p></li> </ul> <p> 権限範囲:</p> <ul style="list-style-type: disc;"> <li><p> u: ディレクトリまたはファイルの現在のユーザー</p></li> <li><p> g: ディレクトリまたはファイルの現在のグループ </p></li> <li><p># o: ディレクトリまたはファイルの現在のユーザーまたはグループ以外のユーザーまたはグループ </p></li> <li><p># a: すべてのユーザーとグループ </p></li> </ul> <p> 権限コード: </p> <ul style="list-style-type: disc;"> <li> <p> r: 読み取り権限 (数字 4</p> ##) </li> <li># w: 書き込み権限 (番号 2<p></p> </li> <li> で表されます) x: 実行権限 (番号 1<p></p> </li> <li> で表されます) # -: 削除権限 (番号 0<p></p> </li> <li> で表されます) s: 特別な権限<p></p> </li> </ul>例:<p></p>1) 削除ファイルの例 すべてのユーザーは実行可能権限を持っています<h5></h5> <p>chmod a-x の例<code>
Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

2) 読み取り、書き込み、および実行 (7) を所有者に割り当てます。 example 権限。example が配置されているグループに読み取りおよび実行 (5) 権限を割り当て、他のユーザーに実行 (1) 権限を割り当てます
#chmod 751 example -c


Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう3) aaa ディレクトリとそのサブディレクトリ内のすべてのファイルに読み取り権限を追加します

chmod ur,g r,or -R text/ -c


Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう17. システム ディスク容量を確認します

##df [-h] [-T]

オプション-h 読みやすい形式で情報を表示します:

df -h

オプション
-T Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょうファイル一覧 システムタイプ:

df -h -T

3. Linux環境変数の説明
Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

3.1 環境変数の概念

3.1.1 環境変数とは何ですか?

プログラム (オペレーティング システム コマンドおよびアプリケーション) の実行には、複数の環境変数で構成される実行環境が必要です。

3.1.2 環境変数の分類

1) 有効範囲に応じて分類します。 システム環境変数: public、すべてのユーザーに有効。

ユーザー環境変数: ユーザーのプライベートおよびカスタマイズされた個人設定。このユーザーにのみ有効です。

2) ライフサイクルによる分類。

永続的な環境変数: 環境変数スクリプト ファイルで設定すると、これらのスクリプトはユーザーがログインするたびに自動的に実行されます。これは永続的な効果と同等です。

一時環境変数: 使用時にシェルで一時的に定義され、シェルを終了すると無効になります。

3) Linux 環境変数

Linux 環境変数はシェル環境変数とも呼ばれ、アンダースコアと文字で始まり、アンダースコア、文字 (大文字と小文字が区別される)、数字で構成されます。これらは、PATH、HOSTNAME、LANG などのように、慣習的に使用される大文字です。

#3.2 一般的に使用される環境変数

3.2.1 環境変数の表示#1) env コマンド

シェルで env コマンドを使用して、現在のユーザーのすべての環境変数を表示します。

上の図は、すべてではなく、環境変数の一部のみをキャプチャしています。

注: env コマンドを使用すると、多くの環境変数が画面に表示され、見にくいですが、grep を使用してフィルタリングできます。
Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

env|grep 環境変数名


たとえば、名前に PATH が含まれる環境変数を確認します。

#env|grep PATH

2) echo コマンド

echo $環境変数名
Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

例:
echo $LANG

3.2.2 一般的に使用される環境変数

1) PATH

実行可能プログラムのディレクトリを検索します。実行可能プログラムには、Linux システム コマンドとユーザー アプリケーションが含まれます。PATH 変数の具体的な使用方法については、この記事の後の章で詳しく説明します。

2) LANG

Linux システムの言語、地域、文字セット。

エコー $LANG

3) HOSTNAME

サーバーのホスト名。

echo $HOSTNAME

4) SHELL

ユーザーが現在使用しているシェル パーサー。

echo $SHELL
Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

5) HISTSIZE

保存された履歴コマンドの数。

6) USER

現在ログインしているユーザーのユーザー名。

echo $USER

7) HOME

現在ログインしているユーザーのホーム ディレクトリ。

echo $HOME

8) PWD

現在の作業ディレクトリ。

echo $PWD
Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

9) LD_LIBRARY_PATH

C/C 言語ダイナミック リンク ライブラリ ファイルの検索ディレクトリではありません。 Linux のデフォルトの環境変数ですが、C/C プログラマにとっては非常に重要です。具体的な使用方法については、この記事の後の章で詳しく説明します。

3.3 環境変数の設定

export 変数名='値'

環境変数の値がスペースやその他の特殊なシンボルは一重引用符なしで含めることができます。

例:

export PATH=$PATH:.

上記のコマンドは、現在のシェルの環境変数 PATH に .directory を追加します (はい)。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.

上記のコマンドは、現在のシェルの環境変数 LD_LIBRARY_PATH に .directory を追加します。

エクスポートを使用して設定された環境変数は、シェルを終了すると無効になるため、次回ログインするときにリセットする必要があります。環境変数を永続的に有効にしたい場合は、ログイン スクリプト ファイルで環境変数を設定する必要があります。

3.3.1 システム環境変数

システム環境変数はすべてのユーザーに有効です。システム環境変数を設定するには 3 つの方法があります。

1) /etc/profile ファイルに設定します。

ユーザーがログインしたら、/etc/profile ファイルを実行してシステム環境変数を設定します。ただし、Linux では、/etc/profile ファイルにシステム環境変数を設定することはお勧めしません。

2) 環境変数スクリプト ファイルを /etc/profile.d ディレクトリに追加します。これは Linux で推奨される方法です。

/etc/profile は、起動されるたびに /etc/profile.d の下にあるすべてのスクリプト ファイルを実行します。 /etc/profile.d は /etc/profile よりも保守が簡単です。変数が不要な場合は、/etc/profile.d の下にある対応するシェル スクリプトを削除するだけです。

/etc/profile.d ディレクトリには、多数のスクリプト ファイルがあります。例:

ls /etc/profile.d


Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう #3) /etc/bashrc ファイルに環境変数を設定します。

このファイルで構成された環境変数は、すべてのユーザーが使用する bash シェルに影響します。ただし、Linux では、/etc/bashrc ファイルにシステム環境変数を設定することも推奨されません。

3.3.2 ユーザー環境変数

ユーザー環境変数は現在のユーザーにのみ有効です。ユーザー環境変数を設定するにはさまざまな方法があります。

ユーザーのホーム ディレクトリには、いくつかの特別なファイルがあります。これらは、

ls

では表示されませんが、ls .bash* では表示できます。
Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう1).bash_profile (推奨)

ユーザーのログイン時に実行され、各ユーザーはこのファイルを使用して独自の環境変数を構成できます。

2).bashrc

このファイルは、ユーザーがログインするとき、および新しいシェルが開かれるたびに読み取られます。このファイルにユーザー固有の環境変数を構成することはお勧めできません。ユーザーが For each シェルを開くたびに、ファイルが 1 回読み取られるため、効率は確実に影響を受けます。

3).bash_logout

システムを終了する (bash シェルを終了する) たびに、このファイルを実行します。

4).bash_history

は、現在のユーザーが使用したコマンドの履歴を保存します。

3.3.3 環境変数スクリプトファイルの実行順序

環境変数スクリプトファイルの実行順序は以下のとおりです。 /etc/profile ->/etc/profile.d->/etc/bashrc->ユーザーの .bash_profile->ユーザーの .bashrc

同じ名前の環境変数 (存在する場合)複数のスクリプト 構成がある場合は、最後に実行されたスクリプトの構成が優先されます。

3.4 重要な環境変数の詳細説明

1. PATH 環境変数

実行可能プログラムの検索ディレクトリ、実行可能プログラムLinux システム コマンドとユーザー アプリケーションが含まれます。実行プログラムのディレクトリがPATHで指定したディレクトリにない場合は、実行時にディレクトリを指定する必要があります。

1) PATH 環境変数にはディレクトリのリストが保存されます。ディレクトリはコロン: で区切られ、最後のドットは現在のディレクトリを示します。

export PATH=ディレクトリ 1: ディレクトリ 2: ディレクトリ 3:… ディレクトリ n:.

2) PATH のデフォルトは、Linux システム コマンドが配置されているディレクトリ (/usr/local/bin) : /usr/bin:/usr/local/sbin:/usr/sbin)、これらのディレクトリが含まれていない場合、一般的な Linux コマンドは実行できません (実行するには絶対パスを入力する必要があります)。 ######例:###

ls /bin/ls ls コマンドが /bin ディレクトリにあることがわかります。
Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

現時点では、コマンドを実行します export PATH= PATH 変数をクリアしてから、ls コマンドを実行します。システムは、ls コマンドが見つからないことを示すプロンプトを表示します。
Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

/bin ディレクトリを環境に追加した後は、絶対パス /bin/ls
Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

を使用できます。変数 PATH 、 ls も実行できます。
Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

3) PATH 変数にドットが含まれていない場合は、./ を追加するか、絶対パスを使用して現在のディレクトリでプログラムを実行する必要があります。

例:
例のコマンドを現在のディレクトリで実行すると、実行できないことを示すメッセージが表示されます。
Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

環境変数 PATH に dot. を追加すると実行できるようになります。

export PATH=$PATH:.
Linux オペレーティング システムの一般的なコマンドと環境変数について話しましょう

2.LD_LIBRARY_PATH 環境変数

C/ C 言語のダイナミック リンク ライブラリ ファイルが検索されるディレクトリ。これは Linux のデフォルトの環境変数ではありませんが、C/C プログラマにとっては非常に重要です。

LD_LIBRARY_PATH 環境変数にはディレクトリのリストも格納されます。ディレクトリはコロン: で区切られ、最後のドット . は現在のディレクトリを示し、PATH と同じ形式になります。

export LD_LIBRARY_PATH=ディレクトリ 1: ディレクトリ 2: ディレクトリ 3:... ディレクトリ n:.

この環境変数は、次回このレッスンで使用します。 Linux の静的ライブラリと動的ライブラリを詳しく紹介します。

3.5 環境変数の検証

1) シェルでは、エクスポートで設定された環境変数は現在のシェルですぐに有効になり、シェルの終了後は無効になります。出る。

2) スクリプト ファイルに設定された環境変数は、すぐには有効になりません。シェルを終了して再度ログインした後でのみ有効になります。または、たとえば、source コマンドを使用してすぐに有効になります。 :

source /etc/profile

3.6 アプリケーション エクスペリエンス

環境変数を設定する方法はたくさんありますが、システム環境変数を /etc/profile に設定することをお勧めします。 .d ディレクトリに設定し、ユーザー環境変数はユーザーの .bash_profile に設定します。他のスクリプト ファイルで環境変数を設定することは推奨されません。システムの運用や保守に手間がかかり、エラーが発生しやすくなります。

関連する推奨事項: 「Linux ビデオ チュートリアル

以上がLinux オペレーティング システムの一般的なコマンドと環境変数について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。