サーバーのシンボリックリンクを SSH を使わずに削除する(2)

この記事は約5分で読めます。
記事内に広告が含まれています

こんにちは、さち です。

先日、サーバー上にある「シンボリックリンク」を「PHP」で削除する方法について書きました。

しかし、その後いろいろ試していたら FTPクライアント「FileZilla」 でも削除できることが判明。めちゃくちゃ簡単にできました。「PHP」なんて使う必要なかった……。

スポンサーリンク

「シンボリックリンク」とは?

以前の記事と内容がかぶりますが、一応こちらでも「シンボリックリンク」とは何なのかを、簡単に説明しておきます。

「シンボリックリンク」は、別の場所にある「ディレクトリ(フォルダー)」や「ファイル」を参照して、あたかもそこに「ディレクトリ」や「ファイル」があるかのように振る舞う機能です。

例えばサーバー上に、下図のように「BBB」を参照する「AAA」というシンボリックリンクを作ります。

ディレクトリの構造

この状態で「AAA」にアクセスすると、「BBB」とまったく同じ内容が表示されます。ただし、「AAA」にファイルの実物はありません。あくまで、「AAA」は「BBB」を参照しているだけです。

FileZilla を使って削除する

アプリのダウンロード

FileZilla はファイルをサーバーに高速伝送できる「FTPクライアント」アプリです。無料で使用できます。

持っていない場合は、こちらからダウンロードできます。「Windows」「Mac」「Linux」で使えます。

Download FileZilla Client for macOS (Intel)

削除の手順

ディレクトリの構造

上図のような状態を例にして、シンボリックリンク「AAA」を削除してみます。

  1. FileZilla を開きます。
    FIleZilla アプリ
  2. サーバーに接続して、「シンボリックリンク」があるディレクトリを表示。「AAA」がシンボリックリンクです。シンボリックリンクに矢印アイコンがない場合は、ファイルが消えてしまうので以降の手順は進めないで下さい。(PHPSSH を使って消して下さい)
  3. シンボリックリンクの上で「右クリック」→「削除と進みます。
  4. 確認ダイアログが出るので、「はい」をクリック。
  5. シンボリックリンクの削除について確認されます。今回はシンボリックリンクを削除したいだけなので、「シンボリックリンクの削除」にチェックをして、「OK」ボタンをクリック。
  6. シンボリックリンク「AAA」を削除できました。

【おまけ】 「SSH」で操作する方法

「SSH(Secure Shell)」は CUI で操作が難しそうだと敬遠していましたが、記事を書くための調査でシンボリックリンクの作成/削除を繰り返すうちに、時間短縮のために「SSH」を使うようになりました。

初心者なりに「SSH」について勉強したので、備忘録を残しておきます。今回の記事のメインではないので、詳しくは書きません。分からないことは検索して調べて下さい。

SSHクライアントの入手

SSH の接続には、「Tera Term」や「RLogin」などの SSHクライアント(ターミナル)アプリ を使います。(Windows 10 以降なら、標準搭載の OpenSSH も使用可能)

おすすめは、初心者でも使いやすい「RLogin」です。

SSH の接続方法はサーバーによって異なるので、各サーバーのマニュアルを確認して下さい。

SSH のコマンド

ディレクトリの構造

シンボリックリンクの管理に使いそうな SSH のコマンドを最低限だけ書いておきます。

#現在の階層にあるディレクトリとファイルを一覧表示
$ ls
#ディレクトリだけを一覧表示
$ ls -d */

#指定したディレクトリに移動
$ cd ディレクトリ名
#一つ上のディレクトリに移動
$ cd ..
#ホームディレクトリに移動
$ cd ~

#シンボリックリンクの作成
$ ln -s 参照する場所 シンボリックリンク名
#上図のように作成する場合の記述
$ ln -s BBB AAA

#シンボリックリンクの削除
$ unlink シンボリックリンク名
#上図のような状況で削除する記述
$ unlink AAA

#シンボリックリンクの参照先を確認
$ readlink シンボリックリンク名
#上図のような状況で確認する記述
$ readlink AAA

#シンボリックリンクを検索
$ find -type l
#指定ディレクトリを参照しているシンボリックリンクを検索
$ find -lname ディレクトリ名
#上図のような状況で検索する記述
$ find -lname BBB

#SSHの接続を終了
$ exit
「参照する場所」を存在しないディレクトリにしても、エラーは出ず、シンボリックンリンクが作成されてしまいます

日本語が文字化けする場合

日本語名のディレクトリ・ファイルが \数字 で表示される場合は、SSHクライアント の言語・フォント・文字コードを確認して、サーバーに合わせた日本語設定にして下さい。

それでも直らない場合は、サーバーのホームディレクトリにある「.bashrc」ファイルを編集して、末尾に次のように追記してみて下さい。(編集不可の場合は、「ダウンロード」→「追記・保存」→「上書きアップロード」)

export LANG=ja_JP.UTF-8

関連記事

「PHP」を使ってシンボリックリンクを削除する方法はこちら。

サーバーのシンボリックリンクを SSH を使わずに削除する(1)

コメント

タイトルとURLをコピーしました