2
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Linuxの基礎コマンド

Last updated at Posted at 2023-07-24

はじめに

完全未経験からWebエンジニアを目指しています。
今回は枯れた技術(いい意味で)であるLinuxについて学習しました。本記事はアウトプットのためにまとめたものです。勉強中ですので間違いがあれば指摘していただければ幸いです。

Linux基礎コマンド

ブラウザ上で動くLinuxであるJSLinuxというものを使いました。

起動に少し時間がかかるかもです。

cd

ファイルシステム内を移動
構文 : cd [ディレクトリ]


主に使うディレクトリ

記号 説明
  /   ルートディレクトリ
 ~  ホームディレクトリ
 .   現在のディレクトリ(カレントディレクトリ)
 ..  一つ上の階層(親ディレクトリ)

ここでログインユーザがtaroの場合

  • cd
  • cd ~
  • cd ~taro

ホームディレクトリに移動するという意味になります

pwd

現在のパスの表示 (絶対パス←最初から最後までディレクトリが記述されている)
また、PWD変数には現在のディレクトリの絶対パスが格納されています。
故に
Screenshot 2023-07-23 at 9.10.02.png

という同じ結果が得られます。(PWDはシェル変数)
主要なシェル変数

変数名 説明
PATH コマンド検索パス
HOME ユーザーのホームディレクトリ
HISTFILE コマンド履歴を格納するファイルを定義
LANG 言語情報

ls

ファイルとディレクトリの一覧表示
構文: ls [オプション] [ディレクトリorファイル名]
主なオプション

オプション 説明
-l 詳細な情報を含めて表示
-i iノード番号を含めて表示
-a 隠しファイルの表示(.から始まるファイル)
-R サブディレクトリの中まで表示

Screenshot 2023-07-23 at 9.09.17.png

mkdir

ディレクトリ作成
構文: mkdir [オプション] ディレクトリ名
Screenshot 2023-07-23 at 9.14.21.png
上図では、test_dirを作成とオプションに-pを用いてhello_dir/subdirのような中間ディレクトリも同時に作成することができます。

rmdir

ディレクトリ削除
構文: rmkdir [オプション] ディレクトリ名
Screenshot 2023-07-23 at 9.28.15.png
rmdirはディレクトリ内にファイルが存在していると削除することができません。
上図ではファイルが存在していたためファイルを削除して、-pを指定することにより中間ディレクトリも同時に削除することができます。

cat

ファイルの中身を表示

Screenshot 2023-07-23 at 9.49.42.png
-nをつけると出力に行番号が表示されます。

less

ファイルの中身をスクロール表示
catと違って、とても大きなファイルの内容を閲覧したいときに使うコマンドです。
qで終了することができます。

tail

ファイルの末尾表示
構文: tail [オプション] ファイル名

オプション 説明
-n 行数を数字で指定
-f ファイルの内容が増え続けている条件下で、ファイルの末尾を常に読み取る(ログファイルのモニタに有効)

touch

テキストファイル作成
構文: touch ファイル名
空のファイルを作成します。ファイルの中身も記述したければ、viコマンドもしくはecho 〇〇 >> ファイル名 を使用しましょう。

rm

削除!
構文: rm [オプション] ファイル名

オプション 説明
-i 削除する前にユーザーへ知らせる
-f ユーザーへの確認なしに削除する
-r ディレクトリ内に何か存在していても、全て削除

mv

移動及び名前変更
構文: mv 前ファイル名(or dir) 後ファイル名(or dir)

Screenshot 2023-07-23 at 10.43.38.png
上図では、touchコマンドで空ファイルを作成。
mvコマンドでtest.txtsample.txtへ名前変更。
mvコマンドでsample.txttestディレクトリへ移動。
rmコマンドのオプション-rtestディレクトリの中身も共に削除。

cp

コピー
構文: cp ファイル名

オプション 説明
-i 同名ファイルが存在する場合ユーザーへ上書きするか知らせる
-f 強制上書き
-r 階層をそのままコピー

Screenshot 2023-07-23 at 10.51.21.png
上図ではrootディレクトリの中身全てをhomeディレクトリに強制コピーするという内容です。

ln

リンク作成
ハードリンクとシンボリックリンクがあります。イメージ的には、、

  • ハードリンク: コピーのようなもの。元ファイルが削除されても機能する。
  • シンボリックリンク: ショートカットのようなもの。元ファイルが削除されると機能しなくなる

あくまでイメージです

ハードリンクの作成
Screenshot 2023-07-23 at 11.06.41.png
iノード番号も権限も元ファイルと同じです。
元ファイルを削除してもハードリンクは機能します。

シンボリックリンクの作成
Screenshot 2023-07-23 at 11.11.31.png
オプションに-sを使います。元ファイルが削除されるとシンボリックリンクは機能しません。

find

ファイル検索
構文: find [path] [オプション] [式]

オプション 説明
-name 指定したファイル名で検索する
-type ファイルのタイプで検索する(d:ディレクトリ, f:通常ファイル,  l:シンボリックリンクファイル)

chmod

ファイル及びディレクトリのパーミッションを変更
Screenshot 2023-07-23 at 11.22.24.png
権限が読み込みのみだと
Screenshot 2023-07-23 at 11.21.29.png
もちろん書き込みは不可である。
Screenshot 2023-07-23 at 11.24.45.png
書き込み権限を付与するためchmodコマンドを行い権限を変更することができます。
画像では chmod 755ですがchmod u+w or chmod 6??でも問題ないです。

chown

ファイル及びディレクトリの所有者を変更
Screenshot 2023-07-23 at 11.29.43.png
画像はJSLinuxのユーザー一覧を表示しています。
この中のnobodyというユーザーを使って所有者変更を行います
Screenshot 2023-07-23 at 11.32.26.png
所有所変更を行いました。所有所変更を行うとパーミッションも考え直さなくてはなりません。
現在rootユーザーですので、sample.txtは書き込みができません。
書き込みをしたい場合はchmodで権限を付与しましょう。

ps

現在実行中のプロセス一覧表示
プロセスとは実行中のプログラムのことです。

JSLinux でオプションが期待通りの結果を返してくれなかったのでオプションに関しては以下の記事を参考にしてください。

kill

ジョブやプロセスを終了させる
構文: kill [シグナルID or シグナル名] PID

代表的なシグナル

シグナル番号 シグナル名 意味
1 HUP ハングアップ
2 INT 割り込み (Ctrl+C)
3 QUIT 強制停止
9 KILL 強制終了
15 TERM 終了。killコマンドのデフォルト

Screenshot 2023-07-24 at 22.10.00.png

上図ではsleepコマンドをバックグラウンド(&)で実行。
psコマンドでプロセスIDの確認を行った。

Screenshot 2023-07-24 at 22.11.10.png

下にスクロールするとsleepコマンドのpsIDは115と分かったので
kill psIDで終了した。

Screenshot 2023-07-24 at 22.13.16.png
シグナルIDは指定しなければデフォルトとして15が適用されます。
上図のように指定することも可能です。

終わりに

人に説明することは非常に難しいですね。ですが、非常に身になりましたしLinuxの技術の面白さがわかりました。ひき続き学習を続けていきます!
学習中の初学者が作成したので間違っている箇所があれば指摘していただければ幸いです。

参考文書

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?