📘

Linuxの基本(ディレクトリ・ショートカット・コマンド)

2022/04/10に公開

概要

linuxを操作するにあたっての基本の内容。
※世の中にはいくらでもLinuxの情報があるので、自分用のメモ的な…。

どのディストリビューションでも大体同じだとおもうけど、想定している環境としてはCentOSとbash。

目次

1. 基本のディレクトリ

Linuxでは大体お決まりのディレクトリがある。それぞれ下表のような用途になっている。

ディレクトリ 説明
bin ユーザーが共通で使うコマンドの実行ファイルがあるよう。
Linuxの動作に必要な重要度の高いコマンドの実行ファイル。
dev デバイスファイル
etc 設定ファイル
Linux自体の設定だったり、Linux上で動くアプリの設定だったり
home ユーザーごとに割り当てられるホームディレクトリ
sbin 管理者ユーザー向けのコマンドの実行ファイル
tmp 一時的なファイル
usr 各種アプリケーションと付随するファイル
var 変化するデータ。なんやねん、ログとかか。

2. ショートカット

GUI付きでインストールしたLinuxであれば普通にWindowsのような感覚で使えるが、業務用途では大体CUIのみのインストールのはず。
その場合はショートカットキーを多用するので、下記のショートカットを覚えておいたほうが良い。

2.1. カーソル移動

キー 説明
Ctrl + f 右に移動
Ctrl + b 左に移動
Ctrl + a 行の先頭に移動
Ctrl + e 行の最後に移動
Meta → f (ESC → f) 1単語次へ移動
Meta → b (ESC → b) 1単語前へ移動

※ Metaキー(ESC)は、押しながらではなく1回押して話してから次のキー

2.2. 文字の編集

キー 説明
Ctrl + h カーソルの左1文字削除(Backspace)
Ctrl + d カーソル部分を削除(Delete)
Ctrl + w カーソル位置の単語を削除(カーソルの前部分)
Ctrl + u カーソルの位置から行頭まで削除
Ctrl + k カーソルの位置から行末まで削除
Ctrl + y 最後に削除した内容を挿入

2.3. コマンド関連

キー 説明
Tab コマンドとかパスの補完
Ctrl + p 1つ前の履歴
Ctrl + n 1つ後の履歴
Ctrl + r コマンド履歴のインクリメント検索
Ctrl + r:1つ前の検索結果
Enter:検索結果を実行
ESC:検索結果を表示したままコマンドラインに戻る
Ctrl + g:検索結果を破棄してコマンドラインに戻る

2.4. その他

キー 説明
Ctrl + c 実行中のコマンドを強制終了
Ctrl + l
(アイじゃなくてエルね)
画面の消去。まあ消去っていうかスクロールして画面消去したみたいな感じになる

3. コマンド

基本的なコマンド。これ以外にもたくさんあるが、ひとまずここにあるのを覚えておけばなんとかなると思う。

3.1. ファイル・ディレクトリ操作

コマンド 説明
cd change directory
ディレクトリを変更する。
~:ホームディレクトリ
pwd print name of working directory
今いるディレクトリを表示する
ls list
ファイル・ディレクトリの一覧を表示する。複数のディレクトリを指定可能
-l:ファイルの詳細表情
-a:隠しファイルも含めて表示
-t:タイムスタンプが新しいもの順でソートして表示
mkdir make directory
ディレクトリを作る
-p:複数階層ディレクトリ一気に作れる。つけないと1ディレクトリしか作れない。
rmdir remove directory
空のディレクトリを削除。ファイルが残ってるとエラー。
cat concatenate
ファイルの内容を表示する。複数のファイルを指定するとつなげて表示してくれる
-n:行番号を表示
less less - opposite of more
長いファイルの中身を別画面的なもので表示する
スペースキー・f:1画面下にスクロール
b:1画面上にスクロール
j:1行下にスクロール
k:1行上にスクロール
q:lessコマンド終了
/<文字列>:下方向に向かって検索
?<文字列>:上方向に向かって検索
n:次の検索結果に移動
N:前の検索結果に移動
tail ファイルなどの末尾を表示する。でかいログファイルを見る時などに。
-c:表示する量を文字数?byte?で指定できる。-c 1Gで末尾1Gbyteとか?
cp copy
ファイルをコピーする。
cp コピー元 コピー先
-r:recursive。ディレクトリをコピーするときはオプションで-r
-p:preserve。コピー先にファイルがあって上書きすると、通常はその上書きされたファイルの所有者・権限を維持する。
しかしこの-pオプションをつけるとコピー元の所有者・権限を保持したままコピーする。
rm remove
ファイルを削除する。
rm 削除ファイル
-r:ディレクトリを削除する。中身があっても削除できる。
mv move
ファイルやディレクトリの移動と名前変更ができる。
移動時:mv 移動元 移動先ディレクトリ名
名前変更時:mv 変更元 変更後の名前

3.2. 権限系

3.2.1. 権限の説明

  • ファイル・ディレクトリには「所有者」「所有グループ」が存在する。
    • 更に、ファイル・ディレクトリに対して指定するものではないが「その他のユーザー」という概念もある。
  • ファイル・ディレクトリには、「所有者」「所有グループ」「その他のユーザー」に対して、それぞれ下記3つの権限を割り当てる。
    • r:読み取り可能、w:書き込み可能、x:実行可能
  • 上記3つのグループに対してのアクセス権はls -lの左端欄で確認できる。
    3つのグループに対して3つの権限が表示されており、それぞれが全部の権限を持っているばrwxrwxrwxと表示される。逆に全部の権限無しの場合は---------

ファイルとディレクトリに対するアクセス権は扱いがちょっと違う。

アクセス権 ファイル ディレクトリ
r:読み取り可能 ファイルの内容をcatコマンドなどで読める ディレクトリ内のファイル名一覧を読める。ディレクトリ内のファイルにアクセスしたりcdコマンドで移動したりはできない。
w:書き込み可能 ファイルの内容を変更できる ディレクトリ内でファイルを作成したり削除したりできる。
x:実行可能 プログラムとして実行可能 ディレクトリ内のファイルにアクセスしたりcdコマンドで移動できる。

3.2.2. 権限のコマンド

コマンド 説明
chown change owner
ファイルやディレクトリの所有者を変更できる。ついでに所有グループも変更できる。
chown 所有者:所有グループ ファイルやディレクトリ
(所有者だけのときは「:所有グループ」の部分は不要)
-R:ディレクトリ内も含めて丸ごと変更する際は-Rオプション
chgrp chenge group
所有グループだけの変更もできる。
chmod アクセス権を設定できる。
chmod アクセス権 ファイルorディレクトリ
アクセス権の部分はr・w・xで表すか、下記のように数字で表すこともできる。

r:4、w:2、x:1、と数字が割り当てられており、この足し算によってグループに対して権限を割り当てられる。
例えば755だったら、所有者にrwx(4+2+1)、所有グループにr-x(4+1)、その他のユーザーにr-x(4+1)という感じ。
-R:chownと同じで、ディレクトリ内も含めてまるごと権限を変更するかどうかのオプション。

3.3. その他

コマンド 説明
<コマンド> --help コマンドの概要
man <コマンド> コマンドのマニュアル。--helpより詳しい
-k:引数に指定したコマンドの候補を検索できる
nano Vimより操作が簡単なエディタ。ディストリビューションによって入っていないこともある。
su Substitute User。Super Userではない。su ユーザー名とすると、そのユーザーに変更することができる。しかしそのユーザーのパスワードが必要になる。
ユーザー名無しでsuとだけ入力すると、rootユーザーへ変更することになる。
sudo こっちはSuper User do。sudo コマンドとすることで、rootユーザーとしてコマンドを実行できる。suと違ってrootユーザーのパスワードは必要ない、今のユーザーのパスワードが聞かれる。でもこの辺は設定とかにもよったりする。
history 過去に実行したコマンドを表示する、多分デフォルトでは記憶数は500。
また、!履歴番号と実行することで、その履歴番号のコマンドを実行することができる。
id 今のユーザーのID・所属グループを確認できる。

Discussion