ディレクトリの移動、ファイルの参照などLinuxの基本的な操作まとめ

Linux

Linuxの基本的な操作方法をまとめました。

LinuxはTeraTermを使ってSSH(通信プロトコル)でリモート接続して使うことが一般的です。TeraTermの使い方の詳細は以下の記事でまとめています。

なお、TeraTermはMacでは使えないため、Macの場合はデフォルトでインストールされているターミナルなどを使用します。

テラターム(Tera Term)とLinuxの違いは、Linuxはサーバーで使われることの多いOSでTeraTermはそのLinuxを操作するツールです。

  1. ファイル名の指定はTabキーを利用する
  2. 書きかけのコマンドを取り消す(Ctrl+U)
  3. 実行中のコマンドを中断する(Ctrl+C)
  4. 実行中のコマンドを停止する(Ctrl+Z)
  5. rootユーザー(管理者権限をもったユーザー)に切り替える
  6. ユーザーを切り替える
  7. 現在のユーザーからログアウトする
  8. OSのシャットダウンと再起動
  9. ディレクトリの移動
  10. 現在のディレクトリの調べ方
  11. ディレクトリの作成
  12. ディレクトリを削除する
  13. ディレクトリの中に置かれているファイルを確認する(lsコマンド)
  14. ファイルの中身を確認する(cat, more)
  15. ファイルの中に書かれている文字列を検索する
  16. ファイルを作成する(touch, vi)
  17. ファイルの中を編集する(viコマンド)
  18. ファイルのコピー
  19. ファイルの移動・ファイル名の変更(mvコマンド)
  20. ファイルの削除
  21. ファイルの所有者を変更する
  22. ファイルのパーミッションを変更する
  23. ファイルの検索
  24. プロセスの状況を調べる
  25. マウント状態の確認
  26. yum/dnfコマンド(Red Hat系ディストリビューション)でソフトウェアをインストールする
  27. インストールされているrpmパッケージの確認
  28. ルーティングテーブルを確認するコマンド
  29. 通信の疎通を確認するコマンド
  30. コマンドや設定ファイルのマニュアルをmanコマンドで確認する
  31. その他の詳細なLinuxの操作方法について
  32. まとめ

ファイル名の指定はTabキーを利用する

コマンド実行時に、ファイル名を記載することがありますが、存在しないファイルを指定しないよう、コマンド実行時にファイル名を指定する場合はTabキーを押してファイル名を表示するようにします。

例えば、cat /etc/fstabを実行して/etc/fstabファイルの中身を確認する際にTabキーを使ってみます。

上記まで入力したらTabキーを押します。

自動でfs以降の文字が入力されました。これで入力が間違っていないことが確認できます。

書きかけのコマンドを取り消す(Ctrl+U)

書きかけたコマンドで誤字脱字が見つかった際はCtrl+Uで書きかけのコマンドを取り消すことができます。

例えばpingコマンドを書いてみて、それを取り消す場合は以下のようになります。

上記の状態でCtrl+Uを入力します。

実行中のコマンドを中断する(Ctrl+C)

実行したコマンドがなかなか完了しない場合などはCtrl+Cでコマンドの実行を中断します。

Tera TermでLinuxに接続している場合、「^C」と表記されます。

[root@loalhost ~]# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 バイト応答 送信元 8.8.8.8: icmp_seq=1 ttl=128 時間=30.9ミリ秒
64 バイト応答 送信元 8.8.8.8: icmp_seq=2 ttl=128 時間=46.4ミリ秒
64 バイト応答 送信元 8.8.8.8: icmp_seq=3 ttl=128 時間=52.7ミリ秒
^C
--- 8.8.8.8 ping 統計 ---
送信パケット数 3, 受信パケット数 3, 0% packet loss, time 2004ms
rtt min/avg/max/mdev = 30.946/43.349/52.692/9.137 ms

コマンド実行中でなくとも、Ctrl+Cは使えます。

Tera Termのログをきれいに出力させるためにCtrl+Cを使うことがあります。

実行中のコマンドを停止する(Ctrl+Z)

実行中のコマンドはCtrl+Zで停止します。

実行例は以下です。

[root@loalhost]# ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 バイト応答 送信元 8.8.8.8: icmp_seq=1 ttl=128 時間=48.8ミリ秒
64 バイト応答 送信元 8.8.8.8: icmp_seq=2 ttl=128 時間=58.5ミリ秒
64 バイト応答 送信元 8.8.8.8: icmp_seq=3 ttl=128 時間=42.6ミリ秒
64 バイト応答 送信元 8.8.8.8: icmp_seq=4 ttl=128 時間=64.5ミリ秒
^Z
[1]+  停止

8.8.8.8はGoogleの管理するサーバーで、自分のパソコンがインターネットにつながっていることを確認する際などに例として使われます。

Ctrl+Zで停止した場合は、ジョブが停止しているがプロセスは起動したままになるので、今操作しているユーザーでログインしたままの状態で意図的にプロセスを停止したい場合はpsコマンドでプロセスを確認してkillコマンドでプロセスを終了します。

killコマンドだけだとプロセスを終了できない場合はオプションに-9をつけることで強制的にプロセスを終了できます。以下の例では3464がプロセスIDでそれをkillコマンドにオプション-9をつけて実行しています。プロセスIDは各プロセスごとに異なります。

Ctrl + Zで停止した場合はexitコマンドでログアウトする際に以下の表示が出ますが、2回続けてexitコマンドを入力すればそのままログアウトが可能です。ログアウトすると停止していたジョブのプロセスも終了します。

rootユーザー(管理者権限をもったユーザー)に切り替える

以下のコマンドでrootユーザーに切り替えます。

su -

「-」を入力せず、suコマンドだけを入力した場合、今いるディレクトリをrootユーザーに引き継ぎます。

たとえば、pwdコマンドで現在いる位置が/home/userでsuコマンドを実行してrootユーザーに切り替えた場合、以下のようになります。

[user@loalhost ~]$ pwd
/home/user
[user@loalhost ~]$ su
パスワード:
[root@loalhost user]# pwd
/home/user
[root@loalhost user]#

ユーザーを切り替える

以下のコマンドでユーザーを切り替えます。

su - username

現在のユーザーからログアウトする

以下のコマンドを実行すると現在のユーザーからログアウトできます。

exit

OSのシャットダウンと再起動

以下のコマンドでOSのシャットダウン、再起動を行うことが可能です。

OSのシャットダウン

shutdown -h now

OSの再起動

shutdown -r now

ディレクトリの移動

ディレクトリの移動コマンド。Windowsでいうとエクスプローラを操作する動作にあたります。

cd

以下は使用例

cd /home
cd /tmp
cd /

cdの引数に/をつけず、ディレクトリ名を指定する、相対パスでのディレクトリ移動も可能です。

今いるディレクトリが/home/userで、/home/user/dir1/dir2/dir3へ移動したい場合

パターン1
# pwd
/home/user
# cd dir1/dir2/dir3
※なお、cd /dir1/dir2/dir3とした場合、/home/user/dir1/dir2/dir3には移動せず、
/dir1/dir2/dir3へ移動しようとする挙動をとる。
cd以降のディレクトリを/で書き始めれば絶対パス、
/を書かずにファイルパスを書き始めれば相対パスとなる。

パターン2
# cd /home/user/dir1/dir2/dir3

現在のディレクトリより一段上の階層へ移動するには以下のコマンドを実行します。

cd ..  もしくは cd ../

cdコマンドにオプション引数をつけず、cdコマンドだけを実行するとホームディレクトリへ移動します。

cd

現在のディレクトリの調べ方

pwd

pwdとは、Print Working Directoryの頭文字です。

ディレクトリの作成

ディレクトリの作成は以下のコマンドで行います。

mkdir

以下はmkdirコマンドの実行例です。

パターン1
cd /home/user
mkdir directory

パターン2
mkdir /home/user/directory

オプションに-pをつけると、最後に指定したディレクトリだけでなく、親ディレクトリも一緒に作成されます。

mkdir -p parent-directory/child-directory

ディレクトリを削除する

以下のコマンドでディレクトリを削除します。

rmdir

サブディレクトリも含めて削除するには以下のようなコマンドを実行します。

mkdir -p dir1/dir2/dir3

ディレクトリの中に置かれているファイルを確認する(lsコマンド)

lsコマンドでディレクトリに置かれているファイルを確認します。

ls

lsコマンドのオプションは以下です。

-a先頭にピリオドがあるファイル(隠しファイル)を表示する
-l一覧化して詳細を表示する
-h読みやすい形式で表示する
-1縦に並べて表示する ※数字の1(半角)
-t更新日付順に表示する
-Xファイルの拡張子ごとに表示する
-pディレクトリに「/」をつけて表示する
-mファイルを,(カンマ)で区切って表示する

下記コマンドでディレクトリ配下のファイルについての詳細を確認できます。

ls -l

コマンドの実行結果によって得られる詳細は左から順に以下のようになります。

  • ファイルタイプ
  • パーミッション
  • ハードリンク数
  • オーナー名
  • グループ名
  • サイズ
  • タイムスタンプ
  • ファイル名

コマンドのオプションは組み合わせて使うことができます。以下はオプションを組み合わせた例です。

ls -la

サブディレクトリの中身も含めて確認するには以下のコマンドを実行します。

ls -l *

特定のディレクトリの中身を確認するには以下のコマンドを実行します。以下は一例です。

ls -l /home

ファイルの中身を確認する(cat, more)

下記コマンドでファイルの中身を確認します。

cat <ファイルパス>

/home/user 配下のファイルの中身を確認するコマンドは以下の2通りです。

パターン1
cd /home/user
cat Filename

パターン2
cat /home/user/Filename

moreコマンドは、ファイルの中身が長すぎる際に使用します。一定の行数で区切ってファイルの中身を表示することが可能です。Enterキーを1回押すごとに1行、Spaceキーを1回押すごとに1画面ずつ表示されます。

cat同様、以下2パターンでファイルの中身を確認します。

パターン1
cd /home/user
more Filename

パターン2
more /home/user/Filename

ファイルの中に書かれている文字列を検索する

ファイルの中に書かれている文字列から特定の文字を検索するにはcatコマンドやmoreコマンドに| grepを追記して実行します。

$ cat <ファイルパス> | grep <検索したい文字列>
$ cat <ファイルパス> | grep <検索したい文字列>

ファイルを作成する(touch, vi)

Linuxでは以下のいずれかのコマンドでファイルを作成します。

touch Filename
vi Filename

touch Filenameはpwdで確認できる現在のディレクトリ配下にFilenameという名前の中に何も書かれていないファイルを作成します。

vi Filenameはpwdで確認できる現在のディレクトリ配下に中身を記載した上でファイルを保存した場合にFilenameという名前のファイルを作成します。viコマンドの使い方は次の見出しでまとめました。

ファイルの中を編集する(viコマンド)

下記のコマンドでファイルの中身を確認・編集することが可能です。引数で指定したファイルが存在しない場合は、中身を記載して保存した際に引数で指定したファイルを作成します。

vi Filename

基本的な使い方は以下。

  • iキーを入力することで挿入モードになる(編集が可能になる)。
  • ESCキーを入力することでコマンドモードになる(コマンドを入力可能になる)。
  • vi Filenameでviエディタを起動した直後はコマンドモードになる(ESCキーが押された状態)。
  • ESCキーを押してコマンドモードの状態になっているときに:wと入力してEnterを押すとファイルが保存される。以下ESCキーを押したコマンドモードの操作についての説明。
  • :qでviエディタを終了する
  • :wqで保存と終了を同時に行うことが可能。
  • :q!で編集内容を保存せずにviエディタを強制終了

viエディタのその他のコマンドについては以下別記事で説明。

ファイルのコピー

以下のコマンドでファイルのコピーを行います。

cp <ファイル名> <コピー後のファイル名>

実際のコマンド入力例は以下。

パターン1
cd /home/user/
cp filename filename_cp

パターン2
cp /home/user/filename /home/user/filename_cp

オプションで-pをつけるとパーミッションごとコピーが可能です。

基本的には、パーミッションもコピーして使用します。

-iオプションをつけると、ファイルのコピー先にファイルがある際に上書きするかどうかを確認することができます。yを入力してEnterを押下すると上書きします。

ファイルの移動・ファイル名の変更(mvコマンド)

ファイルの移動・ファイル名の変更はどちらも同じmvコマンドで行います。

ファイルの移動を行うコマンドは以下。

mv <移動前のファイル> <移動後のファイル>

以下は実行例です。

パターン1
cd /home/user/
mv filename /home/user2/filename

パターン2
mv /home/user/filename /home/user2/filename

ファイル名を変更するコマンドは以下。

mv <変更前のファイル名> <変更後のファイル名>

以下実行例。

パターン1
cd /home/user
mv filename1 FILENAME2

パターン2
mv /home/user/filename1 /home/user/FILENAME2

cpコマンド同様に-iオプションをつけると、移動先にファイルがある場合上書きするかの確認をされます。

以下の例では、cdコマンドで/tmpに移動し、touchコマンドでテストファイルを作成し、cpコマンドでそれを複製したうえでmvコマンドに-iオプションをつけた際の動作を確認しています。

ファイルの削除

rmコマンドでファイルを削除します。

rm filename

ファイルの所有者を変更する

以下のコマンドで確認できる、ファイルの所有者を変更するコマンドについてまとめました。

ls -la

chownコマンドを以下のように入力することでファイルの所有者・所有グループを変更可能です。

chown username:usergroup filename

指定したフォルダ配下のファイル・ディレクトリについての所有者も変更する場合は-Rをオプションとして指定します。

chown -R username:usergroup filename

chownコマンドの「chown」は「Change(チェンジ、変更を意)」と「Owner(オーナー、持ち主を意)」を組み合わせた単語です。

ファイルのパーミッションを変更する

ファイルのパーミッションを変更するコマンドです。それぞれのファイル・ディレクトリには、読み取り権限、書き込み権限、実行権限の3種類があります。

  • r ・・・読み取り権限。4。
  • w ・・・書き込み権限。2。 
  • x ・・・実行権限。1。実行権限のあるファイルはlsコマンドで確認した際、ファイル名が緑色になる。
  • - ・・・権限なし。0。

以下のコマンドで特定のファイルのすべてのユーザーに対して読み取り権限(4)、書き込み権限(2)、実行権限(1)を与えます。

chmod 777 filename

chmodについての詳細は別記事でまとめました。

パーミッションの詳細は以下でまとめています。

ファイルの検索

Linuxに格納されているファイルを検索します。以下のコマンドの<filename>に検索したいファイル名を入力して使います。

findコマンドはファイルを検索するコマンドで、その後ろの/(スラッシュ)はLinuxの最上位のディレクトリで、-nameがファイル名を引数とするオプションです。

# find / -name <filename>

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

/ – findコマンドの引数。この場合は/配下を検索するということ。/home/userは以下を検索したい場合は以下のように書く。

-name – 検索したいファイル名を記載する。文字列に空白などを含む場合は””(ダブルクオーテーション)でくくる。

find / -name "<filename>"

例えば、fstabファイルを検索したい場合は以下のように使用します。

[root@RHEL95 ~]# find / -name fstab
find: ‘/run/user/1000/doc’: 許可がありません
find: ‘/run/user/1000/gvfs’: 許可がありません
/etc/fstab
[root@RHEL95 ~]#
find /home/user -name <filename>

プロセスの状況を調べる

以下のコマンドで現在実行中のコマンドを確認します。

ps -ef

特定のプロセスについての状況を調べるには以下のコマンドを実行します。

ps -ef | grep 検索したいワードを入力

マウント状態の確認

以下のいずれかのコマンドでLinuxにマウントされている状態を確認します。

df -Th
mount

mountコマンドを実行すると、/proc/self/mountsファイルの中身を参照して表示します。

yum/dnfコマンド(Red Hat系ディストリビューション)でソフトウェアをインストールする

Red Hat Enterprise LinuxなどのRed HatのLinuxのディストリビューションでは、yumやdnfコマンドを実行する形でrpmパッケージからソフトウェアをインストールします。

yum install <インストールしたいソフトウェアのサービス名>

インストールされているrpmパッケージの確認

Red Hat Enterprise Linuxでは、以下のコマンドでインストールされているrpmパッケージの一覧を確認できます。

rpm -qa

| sortを付け加えることでA-Z順でソートして確認できます。

rpm -qa | sort

ルーティングテーブルを確認するコマンド

以下のコマンドを実行してルーティングテーブルを確認できます。

ip show route
netstat -nr

netstat -nrは、/proc/net/routeに記載されている内容を参照します。

通信の疎通を確認するコマンド

pingコマンドを実行することで特定のサーバーやネットワーク機器との通信の疎通確認ができます。

ping <IPアドレスもしくはホスト名>

/etc/hostsにIPアドレスとホスト名を対応させて記載していればホスト名で名前解決させて疎通確認ができます。

ping以外にもnpingコマンドやtracerouteコマンドで通信の疎通確認ができますが、環境によってはnpingやtracerouteを使用するのにパッケージのインストールが必要です。

コマンドや設定ファイルのマニュアルをmanコマンドで確認する

manコマンドの引数にコマンドや設定ファイル等を指定して実行することで、Linux内に保存されているそのコマンドや設定ファイルのマニュアルを確認できます。

例えば、pingコマンドのマニュアルを確認するには以下のように実行します。

# man ping

/etc/fstabファイルのマニュアルを確認したい場合は以下のコマンドを実行します。

# man fstab

manコマンドの詳細は以下でまとめています。

その他の詳細なLinuxの操作方法について

その他詳細なLinuxの操作方法については「Linuxの操作方法」タグにて記事を管理しています。

Linuxの操作方法
「Linuxの操作方法」の記事一覧です。

まとめ

Linuxの操作方法についてまとめました。本記事で紹介した方法はLinuxの基本的な操作になるので、操作に慣れてくると調べずとも操作可能なぐらい暗記が進みます。

すべてのユーザーに不可欠な 20 の Linux コマンド
黒っぽいターミナルウィンドウにコマンドを入力するのは戸惑いを覚えるかもしれません。しかし、この作業は多くのコンピュータユーザーにとって、コンピュータ上のほぼすべてのタスクを実行するための最も効率的かつ最も分かりやすくてアクセスしやすい方法で...
タイトルとURLをコピーしました