51
56

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用語特集

Last updated at Posted at 2025-01-22

はじめに

生成AIを使ってプログラミングやアプリ開発に挑戦している人が増えています。
v0やReplit Agent、Cursorなどアプリ開発に役立つサービスの登場でプログラミング未経験でもアプリをローンチする猛者も登場しています。

しかし、全くのゼロ知識で生成AIを使ってアプリ開発を進めるのは正直しんどいです。
例えばインフラやセキュリティが分からなくて脆弱なアプリになってしまうのは容易に起こり得ます。

今回の記事では、生成AIでアプリ開発を始めたプログラミング初心者や、開発の知識を深めたい人向けにコマンドラインでよく使用するLinuxコマンドに絞って用語と使い方を解説します。

「これだけ知っておけばとりあえず大丈夫!」というものを整理し、具体的な実行例まで付けて解説しているので手元でいつでも見返せるようにしておくと良いと思います。

対象読者

  • 生成AIを使ってアプリ開発に取り組んでいる人
  • Linuxコマンドの使い方を学びたい人
  • 意外と忘れがちなコマンドを確認し直したい人

先に今回の記事で紹介するコマンド一覧を一覧で紹介します。気になるところから見るスタイルでも問題ないです。

記事の構成

本記事では下記のコマンドについて紹介と使用方法について具体例を交えながら解説しています。

コマンド名 使用用途
ls ディレクトリ内容を一覧表示する
pwd 現在のディレクトリ位置を確認する
cd ディレクトリを移動する
cp ファイルやディレクトリをコピーする
mv ファイルやディレクトリを移動/名前変更する
rm ファイルやディレクトリを削除する
mkdir 新しいディレクトリを作成する
rmdir 空のディレクトリを削除する
touch 空ファイルを作成/更新日付を変更する
cat ファイル内容を一度に表示する
more/less ファイル内容をスクロールしながら表示する
head/tail ファイルの先頭/末尾の行を表示する
find 条件を指定してファイルを検索する
locate データベースから高速にファイルを検索する
chmod ファイルやディレクトリのアクセス権限を変更する
chown ファイルやディレクトリの所有者やグループを変更する

Xアカウントではビジネスマンが生成AIを使いこなすヒントを発信しています。AIを使いこなせるようになりたい方はフォローをお願いします!
また、マンツーマンの生成AIコーチングを行っているので、専門家の直接学習サポートに興味がある方はDMお待ちしています。

それでは順番にそれぞれ解説していきます!

Linux基本コマンド解説

使用するサンプルディレクトリ

今回は、以下のようなサンプルディレクトリを用いて、各コマンドの使用例も併せて紹介しています。

/sample_dir
├── file1.txt (内容: "Hello World")
├── file2.txt (内容: "Linux Command")
├── hidden_file (隠しファイル)
├── sub_dir
│   └── nested_file.txt

それでは各種コマンドを解説していきます。

lsコマンド

説明

カレントディレクトリにある通常のファイルとサブディレクトリを表示する。

使い方

ls [ディレクトリ]

使用例

$ ls
file1.txt  file2.txt  sub_dir

カレントディレクトリにあるファイルとサブディレクトリが表示されます。

補足

lsコマンドをはじめ多くのlinuxコマンドは、-で始まる追加の引数を指定することができ、これをオプションといいます。
各コマンドの代表的なオプションを補足として紹介します。

  • -a
    隠しファイルも含めてすべて表示されます。
$ ls -a
.  ..  file1.txt  file2.txt  hidden_file  sub_dir

...はそれぞれカレントディレクトリと親ディレクトリを指します。

  • -l
    詳細情報も併せて表示します。
$ ls -l
total 8
-rw-r--r--  1 user user  1234 Jan  1 10:00 file1.txt
-rw-r--r--  1 user user  5678 Jan  1 11:00 file2.txt
drwxr-xr-x  2 user user  4096 Jan  1 09:00 sub_dir

totalはブロック数を表します。
各列の情報

  1. ファイルタイプとパーミッション
  2. ハードリンクの数
  3. 所有者
  4. グループ
  5. サイズ(バイト単位)
  6. 最終更新日時
  7. ファイル名

pwdコマンド

説明

カレントディレクトリのパスを表示する。

使い方

pwd

使用例

$ pwd
/home/user/sample_dir

cdコマンド

説明

ディレクトリを移動する。

使い方

cd [移動先ディレクトリ]

使用例

$ cd sub_dir
$ pwd
/home/user/sample_dir/sub_dir

補足

  • 特殊な使用法
  1. cd ..:親ディレクトリに移動
  2. cd ~:ホームディレクトリに移動
  3. cd -:直前のディレクトリの戻る
# 現在の作業ディレクトリを確認
$ pwd
/home/user/sample_dir

# sub_dirディレクトリに移動
$ cd sub_dir

# 現在の作業ディレクトリを確認
$ pwd
/home/user/sample_dir/sub_dir

# 親ディレクトリに戻る
$ cd ..

# 現在の作業ディレクトリを確認
$ pwd
/home/user/sample_dir

# ホームディレクトリに移動
$ cd ~

# 現在の作業ディレクトリを確認
$ pwd
/home/user

cpコマンド

説明

ファイルやディレクトリをコピーする。

使い方

cp [コピー元] [コピー先]

使用例

$ cp file1.txt copy_of_file1.txt
$ ls
copy_of_file1.txt  file1.txt  file2.txt  sub_dir

補足

  • -r
    ディレクトリを再帰的にコピー
$ ls
copy_of_file1.txt  file1.txt  file2.txt  sub_dir
$ cp -r sub_dir new_sub_dir
$ ls
copy_of_file1.txt  file1.txt  file2.txt  sub_dir  new_sub_dir

# ディレクトリの中身も保持されていることを確認
$ ls new_sub_dir
nested_file.txt

mvコマンド

説明

ファイルを移動または名前を変更する。(cpとは異なり、元のファイルは削除される)

使い方

mv [移動元] [移動先]

使用例

# ファイルを移動
$ mv file1.txt sub_dir/
$ ls
file2.txt  sub_dir
$ ls sub_dir
file1.txt  nested_file.txt

# ファイル名を変更
$ mv file2.txt renamed_file.txt
$ ls
renamed_file.txt  sub_dir

# ディレクトリ名を変更
$ mv sub_dir new_dir
$ ls
new_dir  renamed_file.txt

rmコマンド

説明

ファイルやディレクトリを削除する。

使い方

rm [削除対象]

使用例

# 単一ファイルの削除
$ rm file1.txt
$ ls
file2.txt  sub_dir

# 複数ファイルの削除
$ rm file2.txt sub_dir/nested_file.txt
$ ls sub_dir

補足

  • -r
    ディレクトリを再帰的に削除
$ ls
sub_dir
$ rm -r sub_dir
$ ls
  • -i
    削除時に確認を求める
$ rm -i file2.txt
rm: remove regular file 'file2.txt'? y

mkdirコマンド

説明

新しいディレクトリを作成する。

使い方

mkdir [ディレクトリ名]

使用例

$ mkdir new_dir
$ ls
file1.txt  file2.txt  sub_dir  new_dir

補足

  • -p
    階層ディレクトリを一括作成
$ mkdir -p parent_dir/child_dir
$ tree
.
├── file1.txt
├── file2.txt
├── sub_dir
│   └── nested_file.txt
├── new_dir
└── parent_dir
    └── child_dir

parent_dirが存在しない場合でも、-pオプションをつけることで親ディレクトリも一緒に作成されます。

rmdirコマンド

説明

空のディレクトリを削除する。

使い方

rmdir [ディレクトリ名]

使用例

# ディレクトリが空でない場合、削除は失敗
$ rmdir sub_dir
rmdir: failed to remove 'sub_dir': Directory not empty

# ディレクトリの中身を空にする
$ rm sub_dir/nested_file.txt

# 空になったディレクトリを削除
$ rmdir sub_dir
$ ls
file1.txt  file2.txt

補足

  • -p
    親ディレクトリも一緒に削除
$ mkdir -p parent_dir/child_dir
$ rmdir -p parent_dir/child_dir
$ ls
file1.txt  file2.txt  sub_dir

touchコマンド

説明

新しい空のファイルを作成または既存ファイルのタイムスタンプを更新する。

使い方

touch [ファイル名]

使用例

# 新しい空のファイルを作成
$ touch new_file.txt
$ ls
file1.txt  file2.txt  sub_dir  new_file.txt

# 既存ファイルのタイムスタンプを変更
$ touch file1.txt
$ ls -l
total 10
-rw-r--r--  1 user user  1234 Jan  14 10:00 file1.txt
-rw-r--r--  1 user user  5678 Jan  1 11:00 file2.txt
drwxr-xr-x  2 user user  4096 Jan  1 09:00 sub_dir
-rw-r--r-- 1 user user 0 Jan 14 10:00 new_file.txt

補足

  • -t
    タイムスタンプを特定の日時に設定
$ touch -t 202401020800 file1.txt
$ ls -l
total 10
-rw-r--r-- 1 user user 1234 Jan  2 08:00 file1.txt
-rw-r--r--  1 user user  5678 Jan  1 11:00 file2.txt
drwxr-xr-x  2 user user  4096 Jan  1 09:00 sub_dir
-rw-r--r-- 1 user user 0 Jan 14 10:00 new_file.txt

catコマンド

説明

ファイルの内容を表示する。また、新しいファイルを作成したり、複数のファイルを結合したりすることにも用いられる。

使い方

cat [ファイル名]

使用例

# 単一ファイルの内容を表示
$ cat file1.txt
Hello World

# 複数ファイルを結合して表示
$ cat file1.txt file2.txt
Hello World
Linux Command

補足

  • ファイルを新規作成/上書き
$ cat > new_file.txt
This is a new file.
Ctrl+D
$ cat new_file.txt
This is a new file.

cat >を使用すると標準入力からファイルを作成または上書きできます。入力を終了するにはCtrl+Dを押します。

  • 複数ファイルを結合
$ cat file1.txt file2.txt > combined.txt
$ cat combined.txt
Hello World
Linux Command

moreコマンド/lessコマンド

説明

  • more
    テキストファイルをページ単位で表示する。ファイルの一方向のみ移動可能。
  • less
    moreコマンドの機能を拡張したもので、上下自由にスクロールできる。

使い方

more [ファイル名]/less[ファイル名]

使用例

$ cat > new_file.txt
Line 1
Line 2
Line 3
Line 4
Line 5
Ctrl+D

$ more new_file.txt
Line 1
Line 2
...
--More--(続行するにはスペースキーを押してください)
# 内容が画面に収まりきらない場合、--More--が表示される
# スペースキーを押すごとに次のページが表示される

$ less file1.txt
Line 1
Line 2
...
# 上下矢印キーでスクロール可能

補足

  • lessコマンドの検索機能
    lessコマンド実行後に、以下のコマンドを実行することで検索キーワードに一致する箇所がハイライトされます。
/[検索キーワード]
  • 比較
特徴 more less
スクロール 順方向のみ 両方向可能
検索機能 なし あり
大きなファイルの対応 比較的遅い 高速で効率的

headコマンド/tailコマンド

説明

  • head
    ファイルの先頭部分(デフォルトでは最初の10行)を表示する。
  • tail
    ファイルの末尾部分(デフォルトでは最後の10行)を表示する。

使い方

head [ファイル名]/tail [ファイル名]

使用例

$ cat > new_file.txt
Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
Line 10
Line 11
Line 12
Line 13
Line 14
Line 15
Ctrl+D

$ head new_file.txt
Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
Line 10

$ tail new_file.txt
Line 6
Line 7
Line 8
Line 9
Line 10
Line 11
Line 12
Line 13
Line 14
Line 15

補足

  • -n
    行数を指定
$ head -n 5 new_file.txt
Line 1
Line 2
Line 3
Line 4
Line 5

$ tail -n 5 new_file.txt
Line 11
Line 12
Line 13
Line 14
Line 15

findコマンド

説明

ディレクトリツリー内のファイルやディレクトリを検索する。

使い方

find [検索開始ディレクトリ] [検索条件]

使用例

# 名前で検索
$ find . -name "file1.txt"
./file1.txt

# 特定の種類を検索
$ find . -type d
.
./sub_dir

# 特定の拡張子で検索
$ find . -name "*.txt"
./file1.txt
./file2.txt

補足

  • 主な検索条件

    • -name:ファイル名を指定
    • -type:ファイルの種類を指定
      • f:通常のファイル
      • d:ディレクトリ
    • -size:ファイルサイズを指定
      • +で以上、-で以下を表す
    • -mtime:最終更新日時を指定
      • +nでn日前より古い、-nでn日以内を表す
    • -user:指定したユーザーが所有するファイル
  • 条件に一致したファイルにコマンドを実行

$ find . -name "file.txt" -exec cat {} \;
Hello World
This is nested file content.

locateコマンド

説明

インデックスデータベースを利用して、より高速にファイルを検索する。

使い方

locate [検索文字列]

使用例

$ locate file1.txt
/home/user/sample_dir/file1.txt
$ locate file
/home/user/sample_dir/file1.txt
/home/user/sample_dir/file2.txt
/home/user/sample_dir/sub_dir/nested_file.txt

補足

  • -i
    大文字小文字を無視して検索
$ locate -i FILE1.TXT
/home/user/sample_dir/file1.txt
  • -c
    マッチ件数の表示
$ locate -c file
3
  • 注意点
    locateコマンドはデフォルトでインデックスデータベースを使用するため、最近作成したファイルが検索結果に含まれない場合があります。その際は以下のコマンドでデータベースを更新してください(管理者権限が必要)。
$ sudo updatedb

chmodコマンド

説明

ファイルやディレクトリのアクセス権を変更する。

使い方

chmod [モード] [ファイル名]

  • モードの指定方法
    • シンボリックモード
      • u:所有者
      • g:グループ
      • o:その他
      • a:全体
    • 数値モード
      • 8進数の数値で指定(r:読み取り、w:書込み、x:実行)
        • 7:rwx
        • 6:rw-
        • 5:r-x
        • 4:r--
        • 3:-wx
        • 2:-w-
        • 1:--x
        • 0:---

使用例

# 数値モード
$ chmod 644 file1.txt
$ ls -l file1.txt
-rw-r--r-- 1 user user 1234 Jan 14 10:00 file1.txt

# シンボリックモード
# 所有者に実行権限を追加
$ chmod u+x file1.txt
$ ls -l file1.txt
-rwxr--r-- 1 user user 1234 Jan 14 10:00 file1.txt

補足

  • -R
    ディレクトリ内すべてのファイルの権限を変更
$ chmod -R 755 /sample_dir
$ ls -l
total 8
-rwxr-xr-x  1 user user  1234 Jan  1 10:00 file1.txt
-rwxr-xr-x  1 user user  5678 Jan  1 11:00 file2.txt
-rwxr-xr-x  2 user user  4096 Jan  1 09:00 sub_dir

chownコマンド

説明

ファイルやディレクトリの所有者やグループを変更する。

使い方

chown [新しい所有者]:[新しいグループ] [ファイル名]

使用例

# 所有者とグループを変更
$ sudo chown user2:group2 file1.txt
$ ls -l file2.txt
-rw-r--r-- 1 user2 group2 1234 Jan 14 10:00 file2.txt

# 所有者のみ変更
$ sudo chown user1 file1.txt
$ ls -l file1.txt
-rw-r--r-- 1 user1 group1 1234 Jan 14 10:00 file1.txt

補足

  • -R
    ディレクトリ全体を変更
$ sudo chown -R user2:group2 sub_dir
$ ls -lR sub_dir
sub_dir:
-rw-r--r-- 1 user2 group2 1234 Jan 14 10:00 nested_file.txt

おわりに

いかがだったでしょうか?
生成AIを使ってアプリ開発にチャレンジする方など初めてLinuxコマンドを経験する人もいたのではないでしょうか。

基本的なLinuxコマンドを中心にまとめたので、それぞれ何ができるのか?は知っておいてほしいです。
どれもエンジニアなら知っておかなければいけないものばかりです。
AI時代でも基礎部分の理解は重要なので、これを気に是非マスターしましょう!

Xアカウントではビジネスマンが生成AIを使いこなすヒントを発信しています。AIを使いこなせるようになりたい方はフォローをお願いします!
また、マンツーマンの生成AIコーチングを行っているので、専門家の直接学習サポートに興味がある方はDMお待ちしています。

※ 記事中に誤表記等あればご教示いただけますと幸いです。

51
56
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
51
56

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?