Linux

Linuxの基礎

UNIXとLinuxの違い(実はMacOSもUnix、AndoridはLinux)

https://eng-entrance.com/unix_linux


パス

パスを用いることでコマンド実行時のファイルやディレクトリの位置を指定できる。


パス指定の例

$ cat /usr/local/src/test.txt

# 絶対パスの指定例。
# 絶対的な位置というのはルートディレクトリから見たときの位置。絶対パスを指定する際は/からパスを記載する。


ディレクトリー

相対パスの指定例

1.ルートディレクトリ(ディレクトリの中でも頂点にあたるディレクトリを【/】で表す)

ex) cd /

ex) cd /user ルートディレクトリ配下にあるuserディレクトリに移動

2.カレントディレクトリ(現在作業を行なっているディレクトリを【.】で表す)

ex) cd ./src

3.親ディレクトリ(カレントディレクトリの1つ上の階層のディレクトリを【..】で表す)

ex) cd ../www

4.ホームディレクトリ(Linuxにログインした際のディレクトリを【~】で表す)

ex) cd ~ (cdとだけ入力してコマンドを実行しても同じ結果)


権限

Linuxでは全ての情報をファイルとして格納し、様々な制御を行う。

※ファイルは誰かの所有物として扱う。

Linuxは複数のユーザーが利用できる前提となっているため、で、ファイルへのアクセス権限を管理する必要がある。


現在のディレクトリーにあるファイルに付与されている権限を見るコマンド

$ ls -l



実行例

drwxr-xr-x  25 suzuki  staff  800  4 18 12:47 sample_app


|rwxr-xr-xは以下を許可している|

userに読み出し/書き出し/実行

groupに読み出し/実行

otherに読み出し/実行

あとに続く内容は、リンク数、ユーザー名、グループ名、ファイルサイズ(byte数)、更新日時、ファイル名を表している。

|実行ファイルの種類を示す記号|

「-」 →ノーマルファイル

「d」 →ディレクトリ (上記実行例はこれに当たる)

「l」→シンボリックリンク


  • chmod(チェンジモード):ファイルのアクセス権を変更するコマンド


実行対象のファイル例

-rw-r--r-- 1 app app         0  3月  3 20:24 test.txt



実行コマンド

# 600の説明は下記の対象表を見ると分かりやすい

chmod 600 test.txt


実行後(groupとotherの権限は排除した)

-rw------- 1 app app         0  3月  3 20:24 test.txt


|対象表|

スクリーンショット 2019-04-19 10.00.26.png


違う方法

# chmod 変更対象 変更方法 変更内容 対象ファイル

# このコマンドではユーザーに実行権限を与えている
$ chmod u+x test.txt


  • chown(チェンジオーナー):所有者を変更するコマンド


オーナーをsatoに変更

# スーパーユーザー権限が必要なため、sudoコマンドで実行する

$ sudo chown sato test.txt