LoginSignup
0
0

Linux基礎(重要コマンド一覧)(2)

Last updated at Posted at 2024-03-26

引き続きLinuxの重要コマンドをまとめています。

解説コマンド一覧

  • ln
  • find
  • chmod
  • chown
  • ps
  • kill

ln -ファイル/フォルダへのリンク作成-

ファイルやフォルダに対してリンクを作成します。

「リンク」と上記で記載をしましたが、具体的にはファイル名に新しく別名をつけることができます。例えば、ファイル名が非常に長い場合、省略した名前をつけて管理しやすくすることができて便利です。

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

  • シンボリックリンク

こちらはwindowsOSの「ショートカット」に似ています。
ファイルは別のフォルダにありますが、ショートカットだけ別のフォルダに作っておいて、そのショートカットを使用してファイルにアクセスできますよね。

シンボリックリンクも同じ考え方になります。
そのため、元になるファイルが削除された場合、シンボリックリンクは参照するファイルがないためうまく機能しなくなります。

スクリーンショット 0006-03-24 15.20.58.png

ln -s シンボリックリンクにしたい元ファイル名 新規作成するシンボリックリンクの名前
  • ハードリンク

こちらは、純粋にファイルに対して2つの名前をつけるイメージです。

以下の図のファイル名①を削除しても、まだファイル名②の名前でファイルが存在するため、実際のファイルは削除されません。最終的にファイル名②が削除されると同時に実際のファイルも削除されることになります。

スクリーンショット 0006-03-24 15.24.39.png

ln ハードリンクにしたい元ファイル名 新規作成するハードリンクの名前

以下ではハードリンクとシンボリックリンクの2つを作成して挙動の違いの確認を行います。

「hello-world」という内容のsample.txtというファイルが存在します。
ln1.png

以下でハードリンクを作成します。
ln2.png

以下でシンボリックリンクを作成します。

sample_hardというハードリンク, sample.txtを参照するsample_symbolicというシンボリックリンクが存在します。
ln3.png

どちらのリンクにもcatコマンドを使用して内容を見てみます。
しっかりとhello-worldが表示されます。
ln4.png

ここでハードリンクとシンボリックリンクの挙動の違いを確認します。
シンボリックリンクの参照元のsample.txtを削除します。
ln5.png

ハードリンクに対してcatを実施して問題なくhello-worldが表示されます。

ln6.png

一方、シンボリックリンクに対してcatを実施するとファイルが存在しないというエラーが表示されます。

ln7.png

find -対象ファイルの検索-

対象のファイルを検索します。

実務でLinuxを使用する場合、非常に膨大なファイルを使用することになるため、対象のファイルを見つけ出して、特定の処理をするといったコマンドが用意されています。

文法は以下になります。

find 検索対象のディレクトリ名 - 検索条件 ファイル名 - 検索後の実行方法

今回は以下のコマンドを実行します。
LinuxPracticeというディレクトリの中でtest.txtという名前(name)のファイルを探して
存在した場合にはそのパスを表示する(print)という意味になります。

find LinuxPractice -name test.txt -print

find1.png

パスが表示されます。
find2.png

上記ではファイル名の検索を実施しましたがディレクトリ名も検索することができます。その場合は-type -dという文字を追加します。

find3.png

find4.png

chmod -権限変更-

指定したファイルやフォルダの権限を変更します。

Linuxの中で作成されるファイルでは
Read(読込-r)/Write(書込-w)/Execute(実行-x)の権限を細かく設定することができます。

以下のコマンドを使用してファイルの権限を確認します。

ls -l     

以下ではtest.txtというファイルの権限を表示しています。
今回は、naoyukiumedaというユーザーは読込(r), 書込(w)の権限はありますが、実行(x)の権限はないことがわかります。
chmod1.png

これをchomdコマンドを使用してnaoyukiumedaが実行(x)もできるようにします。

文法は少し複雑になります。

chmod 変更対象 変更方法 変更内容 対象ファイル
chmod u+x test.txt

※ユーザー(今回はnaoykiumeda)に対して、実行(x)という権限を、追加(+)しています。

確認すると、実行(x)の権限が付与されていることがわかります。
chmod2.png

今回の「u+x」という箇所について、ユーザー、実行、追加だけでなく、細かく指定をすることができます。以下が一覧になります。

変更対象 意味
u ユーザー
g グループ
o その他
a すべて
変更対象 意味
= 指定した権限にする
+ 権限付与
- 権限の削除
変更対象 意味
r 読み取り
w 書き込み
x 実行

chown -所有者情報変更-

指定したファイルやフォルダの所有者情報を変更します。

Linuxの中で作成されるファイルではファイルの所有者の権限を細かく設定することができます。

以下のコマンドを使用してファイルの所有者を確認します。

ls -l     

以下ではtest.txtというファイルの所有者を表示しています。

ユーザーはnaoyukiumeda, グループはeveryoneになります。
chown1.png

このグループをeveryoneからstaffに変更します。

chown : グループ名 ファイル名
chown :staff test.txt

グループ名がeveryoneからstaffに変更になっていることがわかります。

chown2.png

ps -起動中プロセス一覧表示-

Linux上で現在 起動中のプロセスの一覧を表示する

ps.png

kill -プロセス終了-

現在 動いているプロセスを終了させることができます。

サーバーの中で処理が重くなってしまっているようなプロセスをkillすることで
メモリやCPUを開放することができます。

kill %(バックグラウンドのプロセスの場合必須) プロセス番号

以下では、sleep 100, sleep200, sleep 300という3つの処理がバックグラウンドで行われています。

スクリーンショット 0006-03-24 15.59.19.png

この中でsleep 300という処理だけをkillします。
スクリーンショット 0006-03-24 15.59.28.png

sleep 300がkillされて sleep100, sleep200 だけが動いていることがわかります。
スクリーンショット 0006-03-24 15.59.32.png

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