はじめに
Linuxに関する知識をまとめます。「新しいLinuxの教科書」の内容を、ほぼ自分のメモ的な感じで使っています🙇
Linuxのディレクトリ構造
Linuxのディレクトリ構造は、ルートディレクトリを頂点とした階層構造となっている。
※参考
(主な)各ディレクトリの役割
-
/bin
システムの基本的なコマンドやプログラムが格納されている場所
〜/binディレクトリの具体的な例〜- ls:ディレクトリ内のファイルやサブディレクトリの一覧を表示するコマンド
- cp:ファイルやディレクトリのコピーを行うコマンド
- mv:ファイルやディレクトリの移動、または名前の変更を行うコマンド
- rm:ファイルやディレクトリを削除するコマンド
- bash:Bashシェル自体の実行ファイルも/binに含まれています。これはユーザーがコマンドを入力し、システムと対話するためのプログラムです。
-
/dev
「デバイスファイル」のための特別なディレクトリ。Linuxシステムがデバイスとのやり取りを行うための基本的な仕組みを提供している。 -
/etc
システム全体の設定ファイルを保持する場所。Linuxシステムの運用やトラブルシューティングにおいて重要。 -
/home
ユーザごとに割り当てられる、ホームディレクトリが配置されるディレクトリ。ホームディレクトリとは、Linuxのユーザごとにそれぞれ割り当てられる個人用ディレクトリのことで、ユーザ名がそのままディレクトリ名となっている。
ユーザーが自分の文書、画像、設定ファイルなどを保存するためのパーソナルスペースとして機能する。 -
/usr
システムの標準的なアプリケーションやプログラム、ライブラリなどを格納するための重要なディレクトリ。
サブディレクトリとして、bin, sbin, etcなどを持つ。 -
/opt
追加のソフトウェアやアプリケーションをインストールするための場所。特に、標準のシステムパッケージ管理システムに含まれていないサードパーティ製のソフトウェアや商用ソフトウェアがここに配置されることが多い。
自分の場合、homebrewはここにインストールされていた。
% ls ../../opt
homebrew
/binと/usr/binの違いは?
/binがOSの働きの根幹に関わるような役割をもつコマンドがはいっているのにたいして、/usr/binにはそれよりももっと一般的に使われるようなコマンドが主に入っている。
参考記事
コマンドを探す
Linuxのコマンドはディレクトリツリーのどこかにファイルとして存在している。例えば、cat
コマンドは/bin/catというファイルがある。
% ls -lF /bin/cat
-rwxr-xr-x 1 root wheel 135408 1 14 2023 /bin/cat*
しかし、cat
コマンドは、毎回/bin/cat
と打たなくても実行できる。(homeディレクトリにいても実行できるとか)
これは、$PATH
という環境変数に設定された場所から自動的にコマンドを探してくれるから。(いわゆる、パスが通っているっていうやつか?)
個人的に便利だなと思ったコマンド(オプション含む)
-
mkdir -p
深いディレクトリを一気に作成できる。
mkdir -p report/2014/01
-
rm -r
ディレクトリの削除。逆にrm
コマンドだけだと、ディレクトリは削除できない。ちなみにrmdir
コマンドは、からのディレクトリを削除するコマンドである。
rm -r dir1
-
find
ファイルを探すコマンド
% find . -name dir1
./dir1
-
mv
ファイルを移動させつコマンド
mv [オプション] <移動元> <移動先>