【Rental Server / SSH】レンタルサーバーSSHでよく使われるLinuxコマンド

1 はじめに

共用型レンタルサーバーのSSHで、使用できるコマンドをまとめてみました。

レンタルサーバーにアクセス利用するのは、ほとんどがファイルやディレクトリの操作です。
これらは、ほとんどがFTPからの操作で済んでしまいます。

ですが、次のようなケースでは、SSHからの操作の方が簡単になるでしょう。

・ アップロード済みのディレクトリ階層のあるファイル群のアーカイブ化
・ アップロード済みアーカイブの展開
・ ディレクトリを含んだ階層のあるファイル群パーミッションの一括変更
・ バッチファイル(シェルスクリプト)の簡単な編集

本記事では、その際に使うであろうコマンドを中心に挙げています。

cronの新規登録ができるのだから、シェルスクリプトは使えるっぽい?

本記事で挙げたコマンドが、全てではありません。
どのような類のコマンドがあるのか、本記事の内容を基に
そして利用できるコマンドの当たりを付けるための土台として
本記事を利用していただければと思います。

# インターネットが流行る以前は、紙の書籍が主でしたから、
# この手の記事なんか不要だったと思うのですが。。。はてさて?

なお、各コマンドは、オプション・パラメータがある場合がほとんどです。
本記事では、これらについて全く触れていません。
実際に使用される場合は、
他のドキュメント等で詳細を確認してから使用するようお願いいたします。

2 アプリケーション管理コマンド

ここでは、アプリケーションや実行ファイルを操作する際のコマンドを挙げます。

2.1 which

which <command>

サーバーのファイルシステムにおけるアプリケーションの場所を表示します。

アプリケーションがインストールされていないか、
その親ディレクトリが$PATHに含まれていない場合、エラーが報告されます。

【Example】

3 コンソールと出力管理コマンド

ここでは、標準出力に送られるデータ、
または端末画面に表示されるデータを扱うコマンドを挙げていきます。

3.1 cat

cat <file path>

<file path>の内容を標準出力に出力します。

3.2 clear

clear

端末画面を消去します。

3.3 echo

echo <string>

<string>を標準出力に出力します。

【Example】
$ echo "Hello World" > data.txt
$ cat data.txt
Hello World

4 環境変数コマンド

ここでは、サーバーの環境変数を操作するコマンドを挙げます。

4.1 env

env

システム上で有効なすべての環境変数を表示します。

【Example】

4.2 export

export <env var name>=<env var value>

値を持つ環境変数を作成し、その環境変数と値のペアをシステムにエクスポートします。

【Example】
$ export MY_SITE=example.com
$ echo $MY_SITE
example.com

4.3 printenv

printenv <environment_variable_name>

特定の環境変数の値を、コンソールに表示します。

【Example】
$ printenv HOSTNAME
localhost.localdomain

4.4 source

source <filepath>

現在のシェル内からファイルに保存されたコマンドを実行し、
環境変数をリフレッシュするために使用します。

デフォルトでは、スクリプトを実行するために新しいシェルが起動されます。
そのため、環境変数の変更は現在のシェルでは表示されません。

【Example】
$ cat <<EOF > new_vars.sh
> #!/bin/bash
> export ALT_USER=foo
> EOF
$ source ./new_vars.sh
$ echo $ALT_USER
foo

5 ファイルとディレクトリの管理

ここでは、サーバー上でファイルやディレクトリを操作するコマンドを挙げていきます。

5.1 pwd

pwd

現在の作業ディレクトリ名を表示します。

5.2 cd

cd <to_directory>

指定のディレクトリに移動し、カレントディレクトリとします。

5.3 ls

ls [options] <directory>

ディレクトリの内容を一覧表示します。
デフォルトのディレクトリは、カレントディレクトリです。

【Example】

5.4 find

find <starting directory> -name <:file or directory name>

指定された名前のファイルやディレクトリを検索します。

【Example】

5.5 cp

cp [options] <source_path> <target_path>

コピー元のファイルmvまたはディレクトリの内容を、
コピー先のファイルまたはディレクトリにコピーします。

【Example】
$ echo "Hello World" > data.txt
$ cp data.txt data.bak
$ cat data.bak
Hello World

5.6 mv

mv [options] <source_path> <target_path>

ファイルまたはディレクトリを移動します。
移動元のファイルやディレクトリの内容をすべて移動先に転送します。

【Example】
$ mv ./Documents ./Docs-bak

5.7 rm

rm [options] <file or directory>

ファイル、またはディレクトリを削除します。

【Example】
$ rm -rf ./Docs-bak

5.8 chmod

chmod [options] MODE[,MODE] <filepath>

ファイル、またはディレクトリのパーミッションを変更します。
ユーザー区分ごとにパーミッションを設定できます。

【Example】
$ chmod 404 readme.txt

5.9 more

more [options] <filepath>

ファイルの内容を見たり、追跡したりできるようにします。
このコマンドは、別のコマンドの出力先パイプとして使われることが多いです。

【Example】
$ more -4 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
--More--(5%)

5.10 grep

grep <search_expression> <filepath>

正規表現を使った文字列を、ファイルから検索し表示します。

【Example】
$ mkdir work
$ echo -e 'Apple\n123\n.git' > work/test01.dat
$ echo -e 'Orange\n230\n.dat' > work/test02.dat
$ echo -e 'Grape\n450\n.cnf' > work/test03.dat
$ grep a work/*
work/test02.dat:Orange
work/test02.dat:.dat
work/test03.dat:Grape

5.11 mkdir

mkdir <directory_name>

ディレクトリを作成します。

5.12 tar

tar [options] <archive filename> <file or directory to be archived>

ファイルやディレクトリをまとめて書庫化します。
あるいは、書庫を開きます。

【Example】
$ tar cvzf docs.tar.gz documents/
documents/
documents/1.txt
documents/2.txt
documents/3.txt
documents/4.txt
$ ls
docs.tar.gz documents

6 ヘルプコマンド

6.1 man

man <command>

コマンドのヘルプ・ドキュメントを表示します。

【Example】
$ man cp

7 ネットワークコマンド

ここでは、サーバー上で、またはサーバーからネットワークを操作するコマンドを挙げます。

7.1 curl

curl [options] <url>

指定されたURLのインターネットからファイルを取得したり、 インターネットへファイルを投稿したりすることができます。

【Example】
$ curl -X POST -H "Content-Type: text/plain" -d "data.txt" https://example.com/api/data

7.2 wget

wget [options] <url>

インターネットからファイルをダウンロードします。
HTTP、HTTPS、FTPのプロトコルをサポートしています。
wgetは、curlの代替として使用できます。

【Example】
$ wget https://developers.redhat.com/articles/2022/01/11/5- design- principles-microservices -o article.html

8 ユーザー管理コマンド

8.1 whoami

whoami

現在ログインしているユーザー名を表示します。

【Example】
$ whoami
hogehoge

以上

HTMLだと、
思うように編集することは難しく、やろうすればとっても時間が掛かります。
ですので、本記事の元となっているWordで作成したPDFを
ページ最後に貼り付けました。

少しでも役に立てていただければ、うれしく思います。

このPDFファイルは、自由に配布されてもかまいません。
ただし、再配布の際には、
入手元著者名は明らかにしてください

なお、上のPDFファイルの内容、また本文中の記述に、
誤字や脱字、誤った内容の記述など見つかりましたら、
下に示すフォームでご連絡いただければ幸いです。

お問い合わせ