デフォルトのディレクトリを意味
bin
バイナリ実行可能ファイルを保存します- LS、猫、mkdirコマンドシステム
sbin
バイナリ実行可能ファイルを保存し、唯一のルート缶アクセスboot
システムのブートに使用される様々なファイルを格納しますdev
機器は、ファイルを格納するために使用されます/dev/null
NULLデバイス- これは、(書き込み操作が成功したが、レポート)、その中にすべての書き込みデータを破棄します
- それはすぐに読書を取得しますEOF
- 標準出力、標準入力も
/dev
内部
etc
ストレージシステムの構成ファイルhome
すべての保管rootユーザーファイルをroot
ストレージのルートディレクトリのスーパーユーザーファイルlib
必要に実行するためのファイルシステムで保存された共有ライブラリとカーネルモジュールをmnt
インストールは一時ファイルシステムを指します- Uディスクは、外部デバイスをマウント
opt
追加オプションのインストールアプリケーションパッケージは場所に位置しています- 通常、サードパーティ製のソフトウェアパッケージとデータファイルを保存
proc
仮想ファイルシステム、保存されている現在のメモリマッピング、- 自身のディスク領域を占有しない、可視化インタフェースのデータ構造カーネル
- 保存処理情報(名前空間など)および(等のシステムメモリ、ディスクIO、デバイス情報とハードウェア構成情報をマウントなど)いくつかの「実行時」情報
- PROCディレクトリのコンテンツデータソースがで多くのツールであります
- 例えば、lsmodコマンドは
cat /proc/modules
別名、lspciのコマンドは、コマンドでcat /proc/pci
aliasコマンドは、
- 例えば、lsmodコマンドは
/proc
基本的なファイルの下に加えて、読み取り専用され/proc/sys
、ディレクトリ書き込み可能です- 表示および動作パラメータのカーネルを変更
tmp
すべての種類の格納に使用される一時ファイルを- ファイルシステムの再起動は保持されません。
usr
格納するために使用されるシステム・アプリケーションを/usr/local
ローカル管理ソフトウェアのインストールディレクトリ/usr/bin
実行可能ファイル- たとえば、GCCの場合は、apt、gitの、など
/usr/inlcude
C ++ のヘッダファイル
var
これは、店舗に使用実行時に変更されるファイルのデータニーズ- などのログファイル、ロックファイル、など
sys
格納するために使用されるハードウェアデバイスドライバの情報を- ハードディスクの空き容量は、データ構造カーネルインターフェースの可視化を占領されていません
環境変数
一般的な環境変数
env
すべて表示するコマンドのグローバル環境変数をset
コマンドも見ることができますローカル環境変数を
# 当前用户主目录
$HOME
# 当前目录
$PWD
# 环境变量(查找输入的内置命令的路径集合)
$PATH
# 当前用户名
$USER
# 当前使用的shell
$SHELL
設定するシェル環境変数(力への暫定エントリー)
- 環境変数を追加することで
export
、環境変数がある削除しますunset
- シェルが終了障害で設定した環境変数への輸出を通じてシェルで
- 書き込みのみ/ etc / profileを長期的には、その他のドキュメントが有効になります
- 原則として起動する前に、指定されたファイルを読み込み、各シェルのことです
- 書き込みのみ/ etc / profileを長期的には、その他のドキュメントが有効になります
- シェル環境変数の設定は、そのすべての作成に使用できるサブシェルを
source xxx
このシェルでエグゼクティブプログラムの役割、無プロモーターシェル./xxx
実行すると、実行するために、ソースを使用する必要があるので、サブシェルの開始は、輸出のスクリプト変数のうち、この時点では、親シェル(すなわち、現在のシェル)で使用することはできません
- シェルスクリプト内の変数に割り当てられた私たちは、実際に設定されているローカル環境変数
- この環境変数は、キルトシェルが継承されていません
- あなたは、スクリプトにすることができ
export
、地球環境変数にエクスポートするローカル環境変数の前に
- 私たちは、スクリプトで変数を割り当てた場合ではありません
export
、スクリプトが開始したプログラムは、スクリプトで設定した環境変数を参照することはできません- 実際にプログラムを実行するためにサブシェルを起動するので
- 非EXECを使用して起動することはできません
export
環境変数を
# 1.sh
export a="hello"
b="world"
./2.sh
exec ./2.sh
# 输出 hello,没有world
# 2.sh
echo "$a $b"
セット、ENV、輸出、ソース、execの愚かなあなたは言うことができませんでしたか?
事前にロードされたシェルの環境変数ファイル(長期発効)
-
ログインシェル
- シーン
- ターミナル着陸、ssh接続をする場合
su --login <username>
、ユーザーを切り替えたとき
- ターミナル着陸、ssh接続をする場合
- bashのを着陸するときは、次の6つのファイルからコマンドを読み込みます。
- 全体的な状況
/etc/profile
- どちらが開始されます
/etc/bashrc
か/etc/bash.bashrc
- どちらが開始されます
- ユーザーレベル
- ほとんどのディストリビューションでは唯一でも、これらのファイルの1つまたは2つだけを作成し使用します
- シェルは、次の順序で検索します最初の三つのファイルと最初のファイルを実行しても無視され、発見されました
~/.bash_profile
~/.bashrc
それが起動します~/.bash_profile
見下ろしていましたされています
~/.bash_login
~/.profile
- 全体的な状況
- zshのを使用してロードされたログはzshrcで〜/ .zshrcと/ etcディレクトリのファイルである場合には/
- シーン
-
非対話型シェルが上陸したとき
- シーン
- 直接bashの実行すると、
su <username>
ユーザーを切り替えたとき(以前に--login追加されません)
- 直接bashの実行すると、
- 起動時にのみ読み取り
/etc/profile
と~/.bashrc
ファイル
- シーン
-
非対話型シェル
- シェルスクリプトを実行するときに、このシェルが使用されています
- 環境変数の場合
BASH_ENV
、指定したファイルを実行し、 - そうでなければ、変数はシェルスクリプトを持って、スタートアップ環境を使用
ユーザーとグループ
- 作成するときに、ユーザーの権限は、ユーザが割り当てられているUIDをを追跡します
- 環境変数
$UID
- 環境変数
- 500以下のUIDは、システムのユーザのために予約されています
- ではない実際のユーザーが、特別なユーザーでアクセスリソースへのサービス・プロセスの様々な
/etc/password
システムのユーザを含むすべてのユーザーにファイルストレージ、- 各行は上の情報が含まれています:
- ユーザー名:X(過去のパスワードです):UID:GID:説明またはコメント:HOMEディレクトリの場所:デフォルトのシェル
- パスワードは暗号化形式で保存され
/etc/shadow
たファイル
- 各行は上の情報が含まれています:
/etc/group
ファイルストレージ・グループ情報- 各行は上の情報が含まれています:
- グループ名:X(過去にグループパスワード):GID:グループのユーザーリストデータ
- 各行は上の情報が含まれています:
- ユーザーとグループ関連のコマンド
- ユーザーを追加します。
useradd
- ユーザーを削除します。
userdel
- ユーザー情報を変更します。
usermod
- また、グループにユーザーを追加するために使用することができます
- パスワードの変更:
passwd
- デフォルトのログインシェルを変更します。
chsh
- ユーザー・グループの作成:
groupadd
- グループ情報を変更します。
groupmod
- ユーザーを追加します。
ファイルのアクセス権
umask
ユーザーがファイルを作成するときに、ファイルのアクセス権を設定することができ、デフォルトを考えますchmod
あなたは、ファイルのパーミッションを変更することができますchown
ユーザーが属しているファイルを変更することができますchgrp
あなたは、ファイルがユーザー・グループに属して変更することができます- 変更ファイルのパーミッション
chmod +x file
等価にchmod a+x file
chmod 777 file
- -R再帰的にすべての内部文書のパラメータを変更