0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

最低限のLinuxコマンド

Posted at

自分のアウトプット用です。

Linuxってなんだ?

コンピュータにおける人格(OS)の1つ。
Windows、Mac、Androidなどと同じ括りです。
オープンウェアなので誰でも使用可能。

カーネル、ディストリビューション

カーネルはOSの中核(心臓)となるソフトウェア。

  • サッカーでいうボランチ
  • 野球でいうピッチャー

ディストリビューション
カーネルだけだとOSとしては不便すぎるので
他のアプリを追加して使いやすくしたもの。

  • サッカーはボランチだけじゃなくて、FW・SH・SB・CB・GKを揃えた方が圧倒的に戦いやすい
  • 野球はピッチャーだけじゃなくて、キャッチャー含めた内野5人・外野3人いた方が圧倒的に戦いやすい

シェル

カーネルとやり取りする仲介役で
Linuxを管理しているプログラムの1つです。
イメージは役所の受付ですね。

スクリーンショット 2024-11-11 0.44.55.png

シェルの仕組み

例として「date」とコマンドで入力してEnterを押した時の流れを考えよう

  1. シェルがdateという文字列を解釈
  2. 「dateという文字列を入力されたから、今現在の時刻を表示するdateコマンドだ」と理解
  3. Linuxカーネルの方に「dateコマンド実行して」と伝える
  4. するとLinuxカーネルがdateコマンドを実行する
  5. その実行結果をシェルが受け取って画面に表示

ディレクトリ

ファイルが保存されている場所
WindowsやMacのフォルダと同じこと

※以下の画像はイメージにすぎない

OS 現実世界
ディレクトリ 部屋
ファイル もの

スクリーンショット 2024-11-11 0.12.20.png

このような構造かつ「/」ルートディレクトリを初めとした
階層構造となっている
これをディレクトリツリーと呼ぶ

スクリーンショット 2024-11-10 23.45.54.png

最低限のLinuxコマンド

cdコマンド(change directory)

  • ディレクトリの移動
$ cd [ディレクトリ名]

# 例
$ cd /etc/hosts
ディレクトリ 意味 方法
カレントディレクトリ 自分が現在いるディレクトリ cd .
親ディレクトリ 1つ上の階層のディレクトリ cd ..
ホームディレクトリ 「/home/ユーザ名」ディレクトリ cd ~
ルートディレクトリ 「/」ディレクトリ cd /

pwdコマンド(print working directory)

  • 現在のディレクトリを確認
  • 今どこにいるか知りたい時に使う
$ pwd

# 例
$ pwd
$ /home/yuya

lsコマンド(list)

  • ディレクトリの一覧確認
$ ls [オプション][ファイル名・ディレクトリ]

# 例
$ ls /etc
$ [		dd		launchctl	pwd		tcsh
bash		df		link		realpath	test

オプションとは
つけることでコマンドの動作を変更することができる

オプション 内容
-a 隠しファイルまで表示
-l ファイルの詳細情報を表示
-F ファイル種別を表示
*html 拡張子がhtmlのファイル一覧を表示
(htmlは例でjs,phpなども可能)
/bin/b??? bから始まり4文字で終わるファイルを表示

mkdirコマンド(make directory)

  • ディレクトリ作成
$ mkdir [オプション] [ディレクトリ名]

# 例
$ mkdir movie

# 例2 深いディレクトリまで一度に作成
$ mkdir -p movie/2024/11
オプション 内容
-p 深いディレクトリまで作成

rmdirコマンド(remove directory)

  • 空のディレクトリ削除
$ rmdir [オプション] [ディレクトリ名]

# 例
$ rmdir /test

catコマンド(concatenate)

  • ファイルの中身確認
    ※全部出てくる
$ cat [オプション] [ファイル名]

# 例
$ cat /etc/hosts
オプション 内容
-n 行数まで表示

lessコマンド(less - opposite of more)

  • ファイルの中身をスクロール表示で確認
  • 長いファイルの中身を見たい時に使用
  • ファイル内の操作はvimの操作と同じ
$ less [ファイル名]

# 例
$ less /etc/syslog.conf
コマンド 操作方法
q lessコマンドを終了
スペースキー、f 1画面下にスクロール
b 1画面上にスクロール
j 1行下にスクロール
k 1行上にスクロール

tailコマンド

ファイルの終わりの部分の表示
デフォルトは10行表示

$ tail [オプション] [ファイル名]

# 例
$ tail /opt/homebrew/var/README.md
コマンド 操作方法
-n 行数を指定

touchコマンド

  • 空のファイルを作成。同じファイル名があった場合は、ファイルの更新時間を最新にする

$ touch [ファイル名]

# 例
$ touch /etc/hosts

rmコマンド(remove)

  • ファイル、ディレクトリを削除
  • オプションなしで実行する際はディレクトリ内に何もない場合のみ実行可能
$ rm [ファイル名]

# 例
$ rm README.md
オプション 内容
-i 本当に削除していいか警告文を出す
-f 警告文を出さずに削除する
-r ディレクトリの中のファイルや
ディレクトリもまとめて削除
* ディレクトリ内の全てのファイル削除

mvコマンド(move)

  • ファイルの移動、ファイル名の変更
$ mv [オプション] <移動元> <移動先>

# 例1 ファイルの移動
$ mv test1 files/

# 例2 ファイル名を変更
$ mv test1 test2
オプション 内容
-i ファイル名を変更する前に警告で確認

cpコマンド(copy)

  • ファイル、ディレクトリをコピー
$ cp [コピー元] [コピー先]

# 例1 test1ファイルをtest2にコピー
$ cp test1 test2

# 例2 test1ファイルをtestsディレクトリ内にコピー
$ cp test1 tests

# 例3 test1ディレクトリを2024ディレクトリ内にコピー
$ cp -r test1 2024
オプション 内容
-i 上書きする前に警告文で確認
-r ディレクトリのコピー

lnコマンド(link)

  • リンクを貼るコマンド
  • 長いパス名を省略したい時に使用
  • 複数バージョンを共存させ最新を区別したい時

ハードリンクとは
1つのファイルの実体に複数の名前を付ける機能。
元のファイルを削除しても消えないファイル。

  • 単細胞生物の無性分裂のイメージ

シンボリックリンクとは
リンク先のパス名が書かれた特殊ファイル。

リンク先がファイルの実体であり、シンボリックリンクを残したままファイルの実体を削除したり、ファイルを移動するとファイルを参照できなくなってしまう。

  • 発電所が壊れると電気が使えなくなるイメージ
  • 住民票を移動させると前に住んでいた近くの役所に住民票の発行をお願いしても確認できないイメージ
$ ln [オプション] [リンク元のファイル] [リンク名]

# 例1 ハードリンク
$ ln file1 file2

# 例2 シンボリックリンク
$ ln -s baseball favorite_sports
オプション 内容
-s シンボリックリンクを貼る

findコマンド

  • ファイル検索
$ find [検索開始ディレクトリ名] [検索条件] [アクション]

# 例 
$ find . -name output.txt
オプション 内容
-name ファイル名を指定してファイル検索
ファイル名の大文字小文字は区別
-iname ファイル名を指定してファイル検索
ファイル名の大文字小文字は区別しない
-type ファイルの種類を検索

chmodコマンド(change mode)

  • ファイルやディレクトリのパーミッションを設定
$ chmod [u,g,o,a] [+-=] [ファイル名]

# 例1 相対指定 sportsファイルに読み取り権限追加
$ chmod u+r sports

# 例2 絶対指定 test2ファイルの権限を読み取りと実行だけ付与する際
$ chmod 755 test2
記号 意味
u 所有者の権限
g グループの権限
o その他ユーザーの権限
a 全てのユーザーの権限
+ 権限の追加
- 権限の削除
= 記述した権限に変更
パーミッション 数値
r(読み取り) 4
w(書き込み) 2
x(実行) 1

chownコマンド(change owner)

ファイル、ディレクトリのユーザーやグループの所有権の変更

$ chown [オプション] [ファイルorディレクトリ] [ファイルorディレクトリ]

# 例1 sport.txtのユーザー所有権の変更
$ chown root sports.txt

# 例2 sport.txtのユーザー、グループの所有権の変更
$ chown root:root sports.txt

psコマンド(process status)

  • 実行中のプロセス表示
$ ps [ディレクトリ名]

# 例 バックグラウンドでsleepコマンドを実行していることを表示
$ sleep 100 &
$ ps
$ PID TTY           TIME CMD
$ 84381 ttys000    0:00.01 sleep 100

killコマンド(kill process)

  • ジョブやプロセスを終了させる
$ kill [オプション] [プロセスID]

# 例 バックグラウンドで実行中のsleepコマンドを終了
$ sleep 100 &
$ ps
$ PID TTY           TIME CMD
$ 84381 ttys000    0:00.01 sleep 100
$ kill 84381
$ [1]  + terminated  sleep 100
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?