2
2

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基礎コマンドについて解説をしていきます。

Linuxとは

Windowsやmacと同じように、OS(オペレーティングシステム)の一種です。
Linuxの特徴として、オープンソースが挙げられます。オープンソースのため誰でもLinuxの開発を行うことができます。

cd

カレントディレクトリ(現在のディレクトリ)の変更をするコマンド

# cd [オプション]<遷移したいディレクトリ>
$ cd /home/testuser/

# 何も指定しない場合はホームディレクトリ(~)に遷移
$ cd 

特別なディレクトリの指定

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

ディレクトリの内容の説明は下記の記事が分かりやすいです。

pwd

カレントディレクトリを表示するコマンド

# pwd [オプション]
$ pwd
/home/testuser

今どのディレクトリにいるの?となった場合はpwdコマンドで確認しましょう

ls

ファイルのディレクトリの一覧を表示するコマンド

# ls [オプション]<ディレクトリ・ファイル名>
$ ls /
bin dev Users home ・・・・

#複数のディレクトリを指定することも可能
$ ls / /Users
/: 
bin dev Users home ・・・・

/Users:
Shared testuser

よく使うオプション

  • -l
    ファイルの詳細情報を表示する
$ ls -l
drwx------@   7 testuser  staff    224  9 28 22:30 Applications
  • -a
    隠しファイルの含めた全てのファイルを表示する
    「.」で始まるファイルは隠しファイルとみなされて通常は表示されない
$ ls -a
.bash_history
.bash_profile
.bundle

mkdir

ディレクトリを作成するコマンド

# mkdir [オプション]<作成するディレクトリ>
# testディレクトリを作成
$ mkdir test

オプション

  • -p
    深いディレクトリを一度に作成する
# test/2024/01ディレクトリを作成
$ mkdir -p test/2024/01

rmdir

のディレクトリを削除するコマンド

# rmdir <ディレクトリ名>
$ rmdir test

空でないディレクトリを削除しようとすると、
rmdir: [ディレクトリ名]: Directory not emptyとエラーが出ます。

cat

ファイルの中身を確認するコマンド

# cat [オプション]<ファイル名>
$ cat /etc/hosts
127.0.0.1	localhost
::1             localhost

$ cat ~/test/test.txt
テキストの内容が表示される

オプション

  • -n
    行番号を表示するオプション。
    文字列のみより分かりやすくなりますね。
$ cat -n /etc/hosts
1 127.0.0.1	localhost
2 ::1             localhost

less

ファイルの中身をスクロールするコマンド

# less [オプション]<ファイル名>
$ less ~/test/test.txt
longtext ・・・
・・・・
・・・・

スクロールの操作方法

コマンド 内容
スペースキー、f 1画面下にスクロール
b 1画面上にスクロール
j 1行下にスクロール
k 1行上にスクロール
q lessコマンドを終了する

検索の操作方法

コマンド 内容
/<文字列> 下方向に向かって検索
?<文字列> 上方向に向かって検索
n 次の検索結果に移動
N 前の検索結果に移動

/<文字列>で検索をして、nNで検索結果を確認していきます。

tail

ファイルの中身を行数を絞って表示するコマンド

# tail [オプション]<ファイル名>
$ tail test.txt
# test.txtファイルの末尾10行を出力する ※何もオプション指定なければ既定は末尾10行

オプション

-n 行数
表示する行数を指定する。指定しない場合は末尾10行を表示。

$ tail -n 3 test.txt

touch

のファイルを作成するコマンド

# touch <ファイル名>
$ touch test.txt

# 複数ファイル作成も可能
# touch <ファイル名1> <ファイル名2>
$ touch test1.txt test2.txt

ファイルが存在していない場合は、空のファイルを作成します。
ファイルがすでに存在している場合は、タイムスタンプを更新します。
(何もせずに上書きと同じです)

rm

ディレクトリ・ファイルを削除するコマンド

# rm [オプション]<削除するファイル名>
$ rm test.txt

rm単体で実行するとゴミ箱に行くのではなく、本当に削除されるので注意して操作しましょう。

オプション

-r
ディレクトリ・ディレクトリの中のファイルを一括削除する。

# rm -r <ディレクトリ名>
$ rm -r test_202401

・ -f
ファイルを削除する際に警告文を表示しない

# rm -f <ファイル名>
$ rm -f test.txt

・ -i
ファイルの削除前に確認する

# rm -i <ファイル名>
$ rm -i test.txt
remove test.txt? <y/nを入力>

mv

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

# mv [オプション] <移動元> <移動先>

# ファイル名変更
# mv <ファイル名1> <ファイル名2>
# file1.txtをfile2.txtに変更
$ mv file1.txt file2.txt


# ファイルを移動
# mv <ファイル名> <移動先>
# file1.txtをdirディレクトリ直下に移動
$ mv file1.txt dir/

# ディレクトリごと移動
# mv <ディレクトリ名> <ディレクトリ名>
# TEST_2024ディレクトリをTESTディレクトリ直下に移動
$ mv TEST_2024 TEST

オプション

-i
上書きする前に確認する

$ mv -i file1.txt file2.txt
overwrite file2.txt? <y/nを入力>

cp

ファイル・ディレクトリをコピーするコマンド

# cp [オプション] <コピー元> <コピー先>
# cp file1.txtの内容をfile10.txtにコピー
$ cp file1.txt file10.txt

オプション

-i
上書きする前に確認する

$ cp -i file1.txt file2.txt
overwrite file2.txt? <y/nを入力>

-r
ディレクトリをコピーする

# TESTディレクトリをTEST_NEWにコピー
$ cp -r TEST TEST_NEW

ln

リンクを貼るコマンド
リンク・・・ファイルに別名をつけること

リンクには以下の2種類があります。

リンク 説明
ハードリンク ・ファイルの実体に複数のファイル名をつける
 (あだ名のようなもの)
・元ファイルを削除しても消えない
シンボリックリンク ・リンク先のパス名が書かれたファイル
・ファイルの実体を削除したり、移動したりするとファイルが参照できなくなる。
# ln [オプション]<リンク元ファイル名><リンク名>
# ハードリンクを貼る
$ ln file1 file2

オプション

-s
シンボリックリンクを貼る

$ ln -s file1 file3

find

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

# find <検索開始ディレクトリ> <検索条件> <アクション>
# アクション:-print・・・見つけたファイルをフルパスで出力
$ find . -name file1.txt -print

検索条件

・ -name
ファイル名を指定してファイルを検索する。ファイルの大文字小文字は区別する。

$ find . -name file1.txt

# ワイルドカード使えます
$ find . -name '*file*' -print

-iname
ファイル名を指定してファイルを検索する。ファイルの大文字小文字は区別しない。

$ find . -iname FILE1.txt
./file1.txt

chmod

ファイルやディレクトリのパーミッションを設定するコマンド。
ファイルやディレクトリは扱う所有者、グループ、その他の人たちが、実行できるか・書き込みできるか・読み込みできるかを設定することができる。

# パーミッションの確認
$ ls -l file1.txt
-rw-r--r--  1 testuser  staff  0  1 13 12:17 file1.txt

スクリーンショット 2024-01-13 16.57.52.png

パーミッション 権限 数値
r 読み取り 4
w 書き込み 2
x 実行 1
#  パーミッションを設定
# chmod [ugoa][+-=][rxw]<ファイル名>
$ chmod u+r file
記号 内容
u 所有者の権限
g グループの権限
o その他ユーザーの権限
a 前ユーザーの権限

記号 内容
+ 権限を追加
- 権限を削除
= 記述した権限にする

chmodコマンドは数値でも指定が可能

※パーミッションの数値に関しては、パーミッションの確認記載箇所に記載しています。

# chmod <8新数の数値><ファイル名>
$ chmod 745 file

745の出し方について
スクリーンショット 2024-01-13 17.15.11.png

chown

ユーザーやグループの所有権を変更するコマンド

# ユーザー・グループの所有権を確認する
$ ls -l file1.txt
-rw-r--r--  1 testuser  staff  0  1 13 12:17 file1.txt
# ユーザー所有権→testuser グループ所有権→staff

# ユーザー所有権を管理者(root)にしたい
# chown <オプション> <ユーザーorグループ> <ファイルorディレクトリ>
$ chown root file1.txt
chown: file1.txt: Operation not permitted
# 操作権限がありませんとエラーが出てきましたね。

# sudoコマンドを使用してroot権限で実行すれば実行できます。
$ sudo chown root file1.txt
-rw-r--r--  1 root  staff  0  1 13 12:17 file1.txt

# グループの所有者も管理者(root)にしたい場合・・
$ chown root:root file1.txt

sudo

管理者権限を持つ特別なユーザー(スーパーユーザー)として操作を実行できるコマンド。
システムの根幹に関わる操作はスーパーユーザーだけが操作できるようになっている。

# sudo <コマンド>
$ sudo mkdir /storage

ps

実行中のプロセスを表示するコマンド
プロセス・・・実行中のプログラムのこと

# ps [オプション]
$ ps
  PID TTY           TIME CMD
16674 ttys001    0:00.35 -zsh
77193 ttys005    0:00.04 /opt/homebrew/bin/zsh -il

PID・・・プロセスID
CMD・・・実行中のコマンド

jobs

現在のジョブ一覧を表示するコマンド

$ jobs
[1]+ 実行中 sleep 100 %

kill

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

# ジョブを終了させる
# kill [オプション] %<ジョブID>
$ kill %1

# プロセスを終了させる
# kill [オプション] <プロセスID>
$ kill 4621

さいごに

今回はLinux基礎コマンドについて紹介しました。
LinuxについてはUdemyの「もう怖くないLinuxコマンド。手を動かしながらLinuxコマンドラインを5日間で身に付けよう」が分かりやすかったです。(この記事も上記動画を参考に作成しました。)
今後フロント技術部分が学び終わったあたりで少しLinuxは深掘りしてみたいと思います。

参考文献

Udemy 「もう怖くないLinuxコマンド。手を動かしながらLinuxコマンドラインを5日間で身に付けよう」 講師:山浦 清透

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?