Linuxの基礎コマンド

Linuxについて学習を行ったので、Linux及び基礎コマンドについてまとめました。

Linuxとは

歴史

リーナス・トーバルズが開発(のちにgitも開発)
Unixがベースとなっている。
Unixはもともと無料だったが、ライセンス契約が必要になった。
そこで、Unixを真似てLinuxを開発した。
Unixライクで無料、高機能なLinuxが全世界で普及した。

用途

サーバーや組み込み機等幅広く使用されている。

特徴

  • 誰でも自由に使える
  • 世界中で使われている
  • 自動化のしくみがあるため、サーバー運用がしやすい

欠点

  • MSOfficeが動作しない
  • マルチメディア系ファイル(画像、音楽等)を編集するのが苦手
  • 日本語対応されていない部分が多い

ディストリビューション

カーネルにいろんなソフトウェアを組み合わせて使いやすくしたもの
ディストリビューションは1000種類以上ある
それぞれ独自のコミュニティが開発している
Red Hat系、Debian系が主流

Red Hat

Linuxの基礎コマンド

cd

指定したディレクトリへ移動するコマンド
直接指定するほか、以下の書き方で移動先を指定することもできる

コマンド 操作
cd .. ディレクトリ(一つ上のディレクトリ)
cd ~ ホームディレクト
cd / ルートディレクト

pwd

カレントディレクトリ(現在自分がいるディレクトリ)を表示するコマンド

ls

ファイルやディレクトリの一覧を表示するコマンド 複数のディレクトリを指定することもできる

ワイルドカードによるパス名展開が可能

コマンド 操作
ls *.html 拡張子がhtmlのファイル一覧を表示
ls a???.html aから始まり、4文字で終わる拡張子がhtmlのファイル一覧を表示

オプション

オプション 操作
-l ファイルの詳細情報を表示する
-a 隠しファイルも含め、すべてのファイルを表示する
-F ファイル種別を表示する

mkdir

ディレクトリを作成する

オプション

オプション 操作
-p 深いディレクトリを一度に作成する

例 mkdir -p test/2023/06
test、2023を事前に作成していなくても一気に作成できる

rmdir

空のディレクトリを削除する
空でないディレクトリを削除しようとするとエラーになる(隠しファイルがある場合もエラー)

cat

ファイルの中身を表示するコマンド

オプション

オプション 操作
-n 行番号を表示する

less

ファイルの中身を表示するコマンド スクロールできる点がcatと異なる

キー 操作
space、f 一番下へ
b 一番上へ
j 一行上へ
k 一行上へ
q lessコマンドを終了
/文字列 下方向に向かって検索
?文字列 上方向に向かって検索
n 次の検索結果
N 前の検索結果

tail

ファイルの末尾10行を表示するコマンド

touch

空のファイルを作成するコマンド 存在するファイルの場合、上書きをしない

rm

ファイルを削除するコマンド ディレクトリを削除する場合は、-rをつける
ディレクトリを削除した場合、中身すべて削除される

オプション 操作
-r ディレクトリを削除する
-f 警告を表示しない
-f 削除前に確認する

mv

ファイルの移動、ファイル名を変更するコマンド

使い方

mv 移動元 移動先

移動先がファイル名

ファイル名を変更

移動先がディレクト

移動先にファイルを移動

cp

ファイルをコピーするコマンド コピー先のファイルが存在すると、上書きされる |オプション|操作| |---||---| |-i|上書き前に確認| |-r|ディレクトリをコピーする|

ln

ファイルにリンクをつけるコマンド
オプションを指定しない場合、ハードリンクになる。
-sをつけることで、シンボリックリンクになる。

ハードリンク

1つのファイルの実態に複数の名前を付ける
元ファイルを削除しても消えない

シンボリックリンク

リンク先のパス名が書かれた特殊なファイル
リンク先がファイルの実体
元ファイルを削除するとエラーになる(リンクが壊れる)

使用例

  • パスを省略したいとき
  • 複数バージョンを共存させ、最新を区別したいとき

find

ファイルを検索するコマンド

オプション 操作
-name ファイル名を指定して検索(ファイルの大文字、小文字を区別する)
-iname ファイル名を指定して検索(ファイルの大文字、小文字を区別しない)
-type f 通常ファイルで検索
-type l シンボリックリンクで検索
-type d ディレクトリで検索

chmod

ファイルやディレクトリのパーミッションを設定する
chmod[ugoa] [+-=] [rwx] ファイル名

指定 操作
u 所有者の権限を設定
g グループの権限を設定
o その他ユーザーの権限を設定
a 全ユーザーの権限を設定
+ 権限の追加
- 権限の削除
= 記述した権限に変更
r 読み取り権限
w 書き込み権限
x 実行権限

使用例

chmod u+r file
chmod 755 file
オーナー、グループ、その他の順で8進数での指定も可

chown

ファイル、ディレクトリの所有者を変更するコマンド

ps

実行中のプロセスを表示するコマンド

オプション 操作
aux 全ユーザーのプロセスを詳細情報を合わせて表示(-をつけない)

kill

ジョブやプロセスを終了させるコマンド

オプション 操作
-SIGKILL、-9 強制終了(最終手段)

使用例

ps auxでCPU、メモリの状態を確認する
重い処理をkillコマンドで終了する

終わりに

業務でLinuxを触った経験がなかったので良い勉強になりました。 Udemyの講座も非常にわかりやすかったので、初心者の方にお勧めです。

参考にしたUdemy講座 https://www.udemy.com/course/unscared_linux/