Linuxシステムのディレクトリ、環境変数、ユーザー、ファイルのパーミッション

デフォルトのディレクトリを意味

  • bin バイナリ実行可能ファイルを保存します
    • LS、猫、mkdirコマンドシステム
  • sbinバイナリ実行可能ファイルを保存し、唯一のルート缶アクセス
  • boot システムのブートに使用される様々なファイルを格納します
  • dev 機器は、ファイルを格納するために使用されます
    • /dev/nullNULLデバイス
      • これは、(書き込み操作が成功したが、レポート)、その中にすべての書き込みデータを破棄します
      • それはすぐに読書を取得しますEOF
    • 標準出力、標準入力も/dev内部
  • etcストレージシステムの構成ファイル
  • homeすべての保管rootユーザーファイルを
  • rootストレージのルートディレクトリのスーパーユーザーファイル
  • lib必要に実行するためのファイルシステムで保存された共有ライブラリとカーネルモジュールを
  • mnt インストールは一時ファイルシステムを指します
    • Uディスクは、外部デバイスをマウント
  • opt追加オプションのインストールアプリケーションパッケージは場所に位置しています
    • 通常、サードパーティ製のソフトウェアパッケージとデータファイルを保存
  • proc仮想ファイルシステム、保存されている現在のメモリマッピング
    • 自身のディスク領域を占有しない、可視化インタフェースのデータ構造カーネル
    • 保存処理情報(名前空間など)および(等のシステムメモリ、ディスクIO、デバイス情報とハードウェア構成情報をマウントなど)いくつかの「実行時」情報
    • PROCディレクトリのコンテンツデータソースがで多くのツールであります
      • 例えば、lsmodコマンドはcat /proc/modules別名、lspciのコマンドは、コマンドでcat /proc/pcialiasコマンドは、
    • /proc基本的なファイルの下に加えて、読み取り専用され/proc/sys、ディレクトリ書き込み可能です
      • 表示および動作パラメータのカーネルを変更
  • tmpすべての種類の格納に使用される一時ファイルを
    • ファイルシステムの再起動は保持されません。
  • usr格納するために使用されるシステム・アプリケーションを
    • /usr/localローカル管理ソフトウェアのインストールディレクトリ
    • /usr/bin 実行可能ファイル
      • たとえば、GCCの場合は、apt、gitの、など
    • /usr/inlcudeC ++ のヘッダファイル
  • varこれは、店舗に使用実行時に変更されるファイルのデータニーズ
    • などのログファイル、ロックファイル、など
  • sys格納するために使用されるハードウェアデバイスドライバの情報を
    • ハードディスクの空き容量は、データ構造カーネルインターフェースの可視化を占領されていません

環境変数

一般的な環境変数

  • envすべて表示するコマンドのグローバル環境変数を
  • setコマンドも見ることができますローカル環境変数を
# 当前用户主目录
$HOME
# 当前目录
$PWD
# 环境变量(查找输入的内置命令的路径集合)
$PATH
# 当前用户名
$USER
# 当前使用的shell
$SHELL

設定するシェル環境変数(力への暫定エントリー)

  • 環境変数を追加することでexport、環境変数がある削除しますunset
  • シェルが終了障害で設定した環境変数への輸出を通じてシェルで
    • 書き込みのみ/ 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>、ユーザーを切り替えたとき
    • 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追加されません)
    • 起動時にのみ読み取り/etc/profile~/.bashrcファイル
  • 非対話型シェル

    • シェルスクリプトを実行するときに、このシェルが使用されています
    • 環境変数の場合BASH_ENV、指定したファイルを実行し、
    • そうでなければ、変数はシェルスクリプトを持って、スタートアップ環境を使用

混同しないbashのを行い、zshの4つの動作モード

ユーザーとグループ

  • 作成するときに、ユーザーの権限は、ユーザが割り当てられている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再帰的にすべての内部文書のパラメータを変更
      書き込み絵は、ここで説明しました
公開された161元の記事 ウォン称賛19 ビュー50000 +

おすすめ

転載: blog.csdn.net/winter_wu_1998/article/details/101704999