Written by Manabu Bannai

FTPだと重たいファイルを『爆速でDL/アップロードする方法』

PROGRAMMING

重たいファイルをFTPソフトでDLすると、かなりの時間がかかります。
しかし、ちょっとしたユニックスコマンドを使うだけで、重たいファイルを爆速でDLすることができます。
今回はその方法をまとめていきます。

サーバー上にある重たいファイルをDLする場合

まずはサーバーにSSH ログインします

$ ssh USER@HOST_NAME -pPORT

// エックスサーバーの場合は以下
cd ~/.ssh
ssh -l [アカウント名] -p 10022 [アカウント名].xsrv.jp

次に、データを圧縮します

$ tar zcvf backupfile.tar.gz [バックアップフォルダ名]

以上です。
あとは、圧縮したファイルをFTPでDLして、ローカルで解凍するだけです。
ターミナルから解凍したい場合は、以下のコマンドが使えます。

// ※hoge = 解凍したいファイル名
$ tar zxvf hoge.tar.gz

サーバー上に重たいファイルをアップロードする場合

まずはファイルを圧縮します。

Macなら右クリックして『圧縮』を選択するだけです。
その後、FTPを使って圧縮されたファイルをアップロードします。
ターミナルからアップロードしたい場合は,以下のコマンドが使えます。

$ scp [オプション] [ファイル名] [ユーザ名]@[ホスト名]:[リモートパス]

その後、サーバーへSSH接続し、zip解凍をします

$ unzip ファイル名

※追記

以下のPHPスクリプトを実行することで、zip解凍をすることができます。

open('laravel_cms.zip');
if ($res === TRUE) {
$zip->extractTo('./');
$zip->close();
echo 'success';
} else {
echo 'failed';
}
?>

以上となります。
重たいファイルを操作する場合は、ぜひ活用してみてください。

おまけとして、その他の便利なユニックスコマンドを以下にまとめておきます。

ファイル名変更

$ mv hoge.php new-hoge.php

ファイル削除

$ rm ファイル名.拡張子

フォルダ削除

$ rm -r フォルダ名

ファイルの移動

$ mv 移動させたいファイル名 移動先ディレクトリ

logの下部のみを表示

$ tail -F /var/log/httpd/error_log

インストールコマンド表示

$ brew

ファイルタイプの表示

$ nkf --guess Downloads/config.php 

パーミッション変更

$ chmod パーミッション ファイル名
$ chmod -R パーミッション ファイル名
// -Rをつけると下層のフォルダ,ファイルにも適用される

ルートユーザに変更

$ su -

今いるディレクトリ配下、全てのtxtファイルを文字列検索

$ find . -type f -name "*.txt" | xargs grep "hoge"

以上となります。

photo credit: elhombredenegro via photopin cc

※P.S:無料メルマガで発信中:過去の僕は「ブログ発信で5億円」を稼ぎました。次は「30億円」を目指します。挑戦しつつ、裏側の思考を「メルマガ」から発信します。不満足なら1秒で解約できます。無料登録は「こちら」です。