- 投稿日:2020-10-15T22:42:04+09:00
sedの備忘録
sedを使ってデータの一括置き換えをしたい時のための備忘録。随時追加予定。
削除
まず、偶数行・奇数行をそれぞれ削除したい時。
準備として偶数行と奇数行に異なる文字列を出力したファイルを準備。$ for i in {1..10}; do if [ $(($i % 2)) = 0 ]; then echo '偶数行です' else echo '奇数行です' fi done > number.txt $ cat number.txt 奇数行です 偶数行です 奇数行です 偶数行です 奇数行です 偶数行です 奇数行です 偶数行です 奇数行です 偶数行です偶数行を削除したい
$ sed -i -e 'n; d' number.txt $ cat number.txt 奇数行です 奇数行です 奇数行です 奇数行です 奇数行です奇数行を削除したい
$ sed -i -e '1d; n; d' number.txt $ cat number.txt 偶数行です 偶数行です 偶数行です 偶数行です 偶数行です置換
特定の文字列を、空白を含む文字列へ一括置き換えしたい
スペースをエスケープすればいいだけだった。
# 準備 $ pen='これはペンです。\n' $ printf $pen"%.s" {1..10} > pen.txt $ cat pen.txt これはペンです。 これはペンです。 これはペンです。 これはペンです。 これはペンです。 これはペンです。 これはペンです。 これはペンです。 これはペンです。 これはペンです。 # 置換 $ sed -i -e "s/これはペンです。/This\ is\ a\ pen\./g" pen.txt $ cat pen.txt This is a pen. This is a pen. This is a pen. This is a pen. This is a pen. This is a pen. This is a pen. This is a pen. This is a pen.
- 投稿日:2020-10-15T22:16:26+09:00
Linux ユーザー系コマンド
ユーザーを変更したり、権限系のコマンド
rootユーザーに切り替え(カレントディレクトリはそのまま)sudo surootユーザーに切り替え(rootユーザーのホームディレクトリへ移動)sudo su -対象ファイルの扱える権限を変更するchmod 権限 ファイル名権限の表示方は2通り
パターン1 数字で表現
権限表現1 実行権限のみ 2 書込権限のみ 3 実行+書込権限 4 読込権限のみ 5 読込+実行 6 読込+書込 7 読込+書込+実行例chmod 654 testfile.txt ls -l total 0 -rw-r-xr-- 1 user group 0 10 15 21:04 testfile.txt※上記は権限は所持ユーザーが読込と書込できて、グループが読込と実行できて、その他は読込だけという権限に変更した場合。
パターン2 文字で表現
ユーザー表現u → ユーザー g → グループ o → その他 a → 全ユーザー権限表現r 読込 w 書込 x 実行変更表現+ 現状から追加する - 現状から削除する = 直接結果を指定例__全ユーザーを読込、実行権限有に変更する# chmod a=rx testfile.txt # ls -l total 0 -r-xr-xr-x 1 user group 0 10 15 21:10 testfile.txt対象フィルの所有権を変更するchown 変更ユーザー名 対象ファイル # グループ名も変更する場合 chown 変更ユーザー名:変更グループ名 対象ファイル # ディレクトリの所有権を変更する場合 chown -R 変更ユーザー名 対象ディレクトリパスワードを設定、更新するpasswd ユーザー名 #ユーザー名を省略すると自身のパスワードを変更
- 投稿日:2020-10-15T20:51:21+09:00
Dockerの概要(初学者向け)
はじめに
Dockerは多くのIT開発企業で導入されている技術です。
エンジニアを目指す方の多くは今後使用することとなるため、学習した内容を簡単にまとめようと思います。Dockerとは?
一言で言うと、環境構築を楽にさせるものです。
通常、アプリケーションを開発する際は、環境構築から始まります。
環境構築をする時はいくつものパッケージをダウンロードします。
その際、エラーが出て、トラブルシュートしたりと大変な作業となり、
これをチームメンバー全員が行うことになります。
また、開発環境、テスト環境、本番環境でも環境構築を気に掛ける必要があります。
Dockerではコンテナを起動するだけで環境構築が完了するため、環境構築が非常に楽になります。コンテナとは?
通常、コンテナと言うものは内部にものを入れることができる容器のことです。
Dockerでのコンテナは、自身のPCやサーバーに多数作成でき、開発環境や実行環境、パッケージ、ライブラリをインストールすることができる箱のようなものです。
コンテナの中で作業したり、コンテナを使ってスクリプトを動かすことができます。
一つコンテナを作れば、それを誰かに渡したり、テスト環境や本番環境に渡したりすることができます。コンテナの作り方
Docker file => Docker image => コンテナ
Docker fileを作成し、そこからDocker imageを作成します。
このDocker imageからコンテナを作成することができます。Docker Hub
多くのパッケージはDocker Hubの中に用意されています。
Gitで言うGit Hubのようなものです。
Docker imageをpublicで管理する時にDocker Hubを使い、
Docker imageをpullすることで、コンテナを作成することができます。参考
Udemy
かめれおん講師 「米国AI開発者がゼロから教えるDocker講座」
有料ですが、初学者の私にも非常に理解しやすかったです。
最後に
本投稿が初学者の復習の一助となればと幸いです。
- 投稿日:2020-10-15T12:26:37+09:00
よく使うLinuxコマンド(初学者向け)
はじめに
Linuxは世界中で使われているOSです。MacでもLinuxコマンドは使われますので、よく使うコマンドを一度まとめたいと思います。
今回紹介する Linuxコマンド
- cd
- pwd
- mkdir
- touch
- ls
- rm
- rm -r
詳細
cd
ディレクトリを移動する。(current directory)
ターミナル% cd / => /(ルートディレクトリ)へ移動 % cd => ~(ホームディレクトリ)へ移動 % cd appfolder => カレントディレクトリ内にappfolderというディレクトリがある場合はappfolderへ移動 % cd .. => 親ディレクトリ(カレントディレクトリの一段上のディレクトリ)へ移動pwd
今いるディレクトリを表示する。(pringt working directory)
ターミナル例) Desktopにいる時 % pwd => /Users/ユーザー名/Desktopmkdir
ディレクトリを作成する。(make directory)
ターミナル例)Desktopにいる時 % mkdir newfolder => Desktopにnewfolderというディレクトリが作成されるtouch
新しいファイルを作成する。
ターミナル例)Desktopにいる時 % touch newfile => Desktopにnewfileというファイルが作成されるls
カレントディレクトリ内のファイルやディレクトリを一覧表示する
ターミナル例)ルートディレクトリにいる時 % ls => Applications Systems Volumes cores...以下省略rm
カレントディレクトリ内のファイルを削除する
ターミナル例)Desktopにいて、Desktopにnewfileというファイルが存在する時 % rm newfile => Desktop上のnewfileが削除されるrm -r
カレントディレクトリ内のディレクトリを削除する。
ターミナル例)Desktopにいて、Desktopにnewfolderというディレクトリが存在する時 % rm -r newfolder => Desktop上のnewfolderが削除される最後に
本投稿が初学者の復習の一助となればと幸いです。
- 投稿日:2020-10-15T11:51:55+09:00
LinuxよりSQL ServerにODBCでアクセスする
はじめに
ニッチだなぁ。。と思いつつLinuxよりMicrosoft SQL ServerにODBC経由で接続する方法を説明してみます。テストはPythonで実施してみます。
Linux環境にDataDirect SQL Server ODBC ドライバをインストール
1、WebサイトからLinux用のSQL Server ODBCドライバの試用版をダウンロードします。
2、ダウンロード後、以下のLinuxコマンドを実行してパッケージを新しいフォルダに移動します。
mkdir datadirect mv PROGRESS_DATADIRECT_ODBC_SQLSERVER_LINUX_XX.tar.Z datadirect/ cd datadirect/
3、次のコマンドでパッケージを展開します。
tar -xvf PROGRESS_DATADIRECT_ODBC_SQLSERVER_LINUX_64.tar.Z
4、ターミナルで以下のコマンドを実行し、KSHインタプリタをインストールします。
Debian の場合
sudo apt-get install ksh
CentOS/RHELの場合
sudo yum install ksh
5、ターミナルで以下のスクリプトを実行し、インストールを実行します。
./unixmi.ksh
6、プロンプトが表示されたら、Enterまたは「Y」を入力し、OSを確認してください。
8、プロンプトに名前や会社名などを入力します。シリアル番号とキーに EVAL と入力します。
9、付属するすべてのドライバーをインストールするか、1 つのドライバーを選択してインストールするかを選択する画面が表示されますが、ここではオプション 2 を選択します。
10、インストールするドライバのリストが表示されます。オプション11の'SQL Server Wire Protocol'を選択します。
11、パスを確認します。確認できなかった場合はパスを入力してください。
12、インストールが終了するまでお茶でも飲んで待ちます。別の Linux ドライバをインストールしたい場合は「Y」で色々試せますが、今回は「N」でインストーラーを終了させます。
SQL Server ODBCドライバの設定
1、インストレーションパス
/Progress/DataDirect/Connect_64_for_ODBC_71
(バージョンにより末尾が異なります)
に移動し、ターミナルで以下のコマンドを実行。環境変数ODBCINI、ODBCINST、LD_LIBRARY_PATHを追加します。sudo chmod +x odbc.sh ./odbc.sh
2、以下のコマンドで変数ODBCINI、ODBCINST、LD_LIBRARY_PATHが正常にインストールされているかどうかを確認します。ファイル odbc.ini のパスが表示されているはずです。
echo $ODBCINI ./odbc.sh3、環境変数が正しく追加されていない場合は、これらの値を ~/.bashrc に追加してください。
export LD_LIBRARY_PATH=/install_path/Progress/DataDirect/Connect64_for_ODBC_71/lib export ODBCINI=/ install_path/Progress/DataDirect/Connect64_for_ODBC_71/odbc.ini export ODBCINST=/ install_path/Progress/DataDirect/Connect64_for_ODBC_71/odbcinst.ini
4、以下のコマンドでターミナルの設定をリフレッシュします。
source ~/.bashrc
5、パス /install_path/Progress/DataDirect/Connect64_for_ODBC_71/odbc.ini
にある odbc.ini ファイルを開き、次のサンプル odbc.ini に示すように SQL Server 接続の詳細を設定します。[ODBC Data Sources] SQL Server Legacy Wire Protocol=DataDirect 7.1 SQL Server Legacy Wire Protocol
[ODBC] IANAAppCodePage=4 InstallDir=/home/progress/Progress/DataDirect/Connect64_for_ODBC_71 Trace=0 TraceFile=odbctrace.out TraceDll=/home/progress/Progress/DataDirect/Connect64_for_ODBC_71/lib/ddtrc27.so
[SQL Server Wire Protocol] Driver=/home/progress/Progress/DataDirect/Connect64_for_ODBC_71/lib/ddsqls27.so Description=DataDirect 7.1 SQL Server Wire Protocol AlternateServers= AlwaysReportTriggerResults=0 AnsiNPW=1 ApplicationName= ApplicationUsingThreads=1 AuthenticationMethod=1 BulkBinaryThreshold=32 BulkCharacterThreshold=-1 BulkLoadBatchSize=1024 BulkLoadFieldDelimiter= BulkLoadOptions=2 BulkLoadRecordDelimiter= ConnectionReset=0 ConnectionRetryCount=0 ConnectionRetryDelay=3 Database=<database_name> EnableBulkLoad=0 EnableQuotedIdentifiers=0 EncryptionMethod=0 FailoverGranularity=0 FailoverMode=0 FailoverPreconnect=0 FetchTSWTZasTimestamp=0 FetchTWFSasTime=1 GSSClient=native HostName=<server_name> HostNameInCertificate= InitializationString= Language= LoadBalanceTimeout=0 LoadBalancing=0 LoginTimeout=15 LogonID=<logon id> (optional) MaxPoolSize=100 MinPoolSize=0 PacketSize=-1 Password=<password> (optional) Pooling=0 PortNumber=1433 QueryTimeout=0 ReportCodePageConversionErrors=0 SnapshotSerializable=0 TrustStore= TrustStorePassword= ValidateServerCertificate=1 WorkStationID= XMLDescribeType=-106、odbc.iniファイルを保存して終了します。
SQL Server ODBC 接続のテスト
1、ODBCドライバをテストしてみます。今回、簡単なPythonスクリプトで実施してみます。以下のコマンドを実行してpyodbcパッケージをインストールします。
pip install pyodbc
ライブラリが見つからないという例外が発生した場合は、unixODBC パッケージをインストールする必要があるかもしれません。以下のコマンドを実行することでインストールできます。
Debain:
sudo apt-get install unixodbc unixodbc-dev
CentOS/Redhat:
sudo apt-get install unixODBC unixODBC-devel
2、以下のスクリプトをpythonファイルに保存して実行。SQL Serverに正常に接続できるかどうかを確認します。
import pyodbc ##connecting to your database through ODBC cnxn = pyodbc.connect('DSN=SQL Server Wire Protocol;UID=sa;PWD=pass', autocommit=True) cursor = cnxn.cursor()3、SQL Serverへの接続に成功したら、上記のファイルに以下のスクリプトを追加して、データベース内のテーブルを出力できます。
##Print TableNames for row in cursor.tables(): if row.table_type == "TABLE": print (row.table_name) print (row)4、また、以下のスクリプトを追加してスクリプトを実行してみることもできます。クエリを実行しようとしているNorthwindデータベースが存在することに注意してください。
##Executing a simple query and printing the records cursor.execute("SELECT EmployeeID, LastName, FirstName, Address, City, Region from Northwind.dbo.Employees") for row in cursor.fetchall(): print (row)この記事ではSQL Server 認証モードを使用していますが、DataDirect SQL Server ODBC および JDBC ドライバは、Windows 認証および Kerberos もサポートしていますので、そちらは別の機会に。
- 投稿日:2020-10-15T11:51:55+09:00
LinuxよりSQL ServerにPythonでODBCアクセスする
はじめに
機械学習以外でこんな用途あるのかなぁ。。。
ニッチだなぁ。。と思いつつLinuxよりMicrosoft SQL ServerにODBC経由で接続する方法を説明してみます。テストはPythonで実施してみます。Linux環境にDataDirect SQL Server ODBC ドライバをインストール
1、WebサイトからLinux用のSQL Server ODBCドライバの試用版をダウンロードします。
2、ダウンロード後、以下のLinuxコマンドを実行してパッケージを新しいフォルダに移動します。
mkdir datadirect mv PROGRESS_DATADIRECT_ODBC_SQLSERVER_LINUX_XX.tar.Z datadirect/ cd datadirect/
3、次のコマンドでパッケージを展開します。
tar -xvf PROGRESS_DATADIRECT_ODBC_SQLSERVER_LINUX_64.tar.Z
4、ターミナルで以下のコマンドを実行し、KSHインタプリタをインストールします。
Debian の場合
sudo apt-get install ksh
CentOS/RHELの場合
sudo yum install ksh
5、ターミナルで以下のスクリプトを実行し、インストールを実行します。
./unixmi.ksh
6、プロンプトが表示されたら、Enterまたは「Y」を入力し、OSを確認してください。
8、プロンプトに名前や会社名などを入力します。シリアル番号とキーに EVAL と入力します。
9、付属するすべてのドライバーをインストールするか、1 つのドライバーを選択してインストールするかを選択する画面が表示されますが、ここではオプション 2 を選択します。
10、インストールするドライバのリストが表示されます。オプション11の'SQL Server Wire Protocol'を選択します。
11、パスを確認します。確認できなかった場合はパスを入力してください。
12、インストールが終了するまでお茶でも飲んで待ちます。別の Linux ドライバをインストールしたい場合は「Y」で色々試せますが、今回は「N」でインストーラーを終了させます。
SQL Server ODBCドライバの設定
1、インストレーションパス
/Progress/DataDirect/Connect_64_for_ODBC_71
(バージョンにより末尾が異なります)
に移動し、ターミナルで以下のコマンドを実行。環境変数ODBCINI、ODBCINST、LD_LIBRARY_PATHを追加します。sudo chmod +x odbc.sh ./odbc.sh
2、以下のコマンドで変数ODBCINI、ODBCINST、LD_LIBRARY_PATHが正常にインストールされているかどうかを確認します。ファイル odbc.ini のパスが表示されているはずです。
echo $ODBCINI ./odbc.sh3、環境変数が正しく追加されていない場合は、これらの値を ~/.bashrc に追加してください。
export LD_LIBRARY_PATH=/install_path/Progress/DataDirect/Connect64_for_ODBC_71/lib export ODBCINI=/ install_path/Progress/DataDirect/Connect64_for_ODBC_71/odbc.ini export ODBCINST=/ install_path/Progress/DataDirect/Connect64_for_ODBC_71/odbcinst.ini
4、以下のコマンドでターミナルの設定をリフレッシュします。
source ~/.bashrc
5、パス /install_path/Progress/DataDirect/Connect64_for_ODBC_71/odbc.ini
にある odbc.ini ファイルを開き、次のサンプル odbc.ini に示すように SQL Server 接続の詳細を設定します。[ODBC Data Sources] SQL Server Legacy Wire Protocol=DataDirect 7.1 SQL Server Legacy Wire Protocol
[ODBC] IANAAppCodePage=4 InstallDir=/home/progress/Progress/DataDirect/Connect64_for_ODBC_71 Trace=0 TraceFile=odbctrace.out TraceDll=/home/progress/Progress/DataDirect/Connect64_for_ODBC_71/lib/ddtrc27.so
[SQL Server Wire Protocol] Driver=/home/progress/Progress/DataDirect/Connect64_for_ODBC_71/lib/ddsqls27.so Description=DataDirect 7.1 SQL Server Wire Protocol AlternateServers= AlwaysReportTriggerResults=0 AnsiNPW=1 ApplicationName= ApplicationUsingThreads=1 AuthenticationMethod=1 BulkBinaryThreshold=32 BulkCharacterThreshold=-1 BulkLoadBatchSize=1024 BulkLoadFieldDelimiter= BulkLoadOptions=2 BulkLoadRecordDelimiter= ConnectionReset=0 ConnectionRetryCount=0 ConnectionRetryDelay=3 Database=<database_name> EnableBulkLoad=0 EnableQuotedIdentifiers=0 EncryptionMethod=0 FailoverGranularity=0 FailoverMode=0 FailoverPreconnect=0 FetchTSWTZasTimestamp=0 FetchTWFSasTime=1 GSSClient=native HostName=<server_name> HostNameInCertificate= InitializationString= Language= LoadBalanceTimeout=0 LoadBalancing=0 LoginTimeout=15 LogonID=<logon id> (optional) MaxPoolSize=100 MinPoolSize=0 PacketSize=-1 Password=<password> (optional) Pooling=0 PortNumber=1433 QueryTimeout=0 ReportCodePageConversionErrors=0 SnapshotSerializable=0 TrustStore= TrustStorePassword= ValidateServerCertificate=1 WorkStationID= XMLDescribeType=-106、odbc.iniファイルを保存して終了します。
SQL Server ODBC 接続のテスト
1、ODBCドライバをテストしてみます。今回、簡単なPythonスクリプトで実施してみます。以下のコマンドを実行してpyodbcパッケージをインストールします。
pip install pyodbc
ライブラリが見つからないという例外が発生した場合は、unixODBC パッケージをインストールする必要があるかもしれません。以下のコマンドを実行することでインストールできます。
Debain:
sudo apt-get install unixodbc unixodbc-dev
CentOS/Redhat:
sudo apt-get install unixODBC unixODBC-devel
2、以下のスクリプトをpythonファイルに保存して実行。SQL Serverに正常に接続できるかどうかを確認します。
import pyodbc ##connecting to your database through ODBC cnxn = pyodbc.connect('DSN=SQL Server Wire Protocol;UID=sa;PWD=pass', autocommit=True) cursor = cnxn.cursor()3、SQL Serverへの接続に成功したら、上記のファイルに以下のスクリプトを追加して、データベース内のテーブルを出力できます。
##Print TableNames for row in cursor.tables(): if row.table_type == "TABLE": print (row.table_name) print (row)4、また、以下のスクリプトを追加してスクリプトを実行してみることもできます。クエリを実行しようとしているNorthwindデータベースが存在することに注意してください。
##Executing a simple query and printing the records cursor.execute("SELECT EmployeeID, LastName, FirstName, Address, City, Region from Northwind.dbo.Employees") for row in cursor.fetchall(): print (row)この記事ではSQL Server 認証モードを使用していますが、DataDirect SQL Server ODBC および JDBC ドライバは、Windows 認証および Kerberos もサポートしていますので、そちらは別の機会に。
- 投稿日:2020-10-15T03:27:44+09:00
Beagle Bone BlackでRemote Developmentを使うためにDebian 10をインストール
目的
最大の目的はVSCodeのRemote SSHが使えるようにすること。リモート側の必要条件としては以下のようになっている1。
requires kernel >= 3.10
glibc >=2.17
libstdc++ >= 3.4.18配布時にもらった個体には2013年ぐらいのÅngströmが入っていて上記のライブラリを入れるのがめんどくさかった。
ちまちま更新してもいいけど競合してもめんどくさいしこの際OSごと更新してしまうことにした。使用機材
- Beagle Bone Black Rev.C
方法
1.BBB用のイメージのダウンロード
BeagleBoneにLinuxをインストールする - memorandum
こちらの記事をもとにありがたくインストールさせていただく。BeagleBoard.org Latest Firmware Images
ここからAM3358 Debian 10.3 2020-04-06 4GB SD IoT
を選択してダウンロードする。2.SDカードにイメージを焼きこむ
Raspberry Piなどでも使われているEtcherが使える。Electronを使ったリッチなUIですごい。容量も書き込みツールのわりにすごい。
左端でダウンロードしてきたイメージを選択し、中央で書き込み先、右端が書き込み開始ボタン。
3.BBBのeMMC上にDebianを書き込み
BBBにSDカードを差し込み、SDカード付近にあるボタンを押しながら起動する。
LANポート近くの4つのLEDが点灯するまで押し続けること。適当な時間放置したあと(LEDのちかちかが控えめになったら)SSHでBBBに接続する。
ユーザー名はdebian, パスワードはtemppwd。ログインしたら1.で紹介したありがたい記事に
/boot/uEnv.txt
を以下のように修正して保存します。
##enable BBB: eMMC Flasher: cmdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.shとあるように修正しておく。
その後SDカードを抜かず
sudo reboot sudo shutdown -h now
を実行して、再起動する。
eMMCの書き込みには20分ぐらいかかるのでしばらく放置する。
LEDのちかちかが控えめになったらSSHでアクセスしてみるとうまくいった。4.環境作成
ここからはbeagle bone black上にC/C++コンパイル環境を作成する。
ここまでやっておいてあれだがクロスコンパイルのほうが効率いいかもまた、今回BBBは完全にネットワークから切り離された組み込みボードとして使用するので常にrootユーザでログインしておいても問題ないはずだ。というわけでrootユーザにパスワードを設定して使用できるようにしておく。パスを設定しないとrootユーザは使用可能にならない模様。なぜでしょうね?Linuxのユーザー関係についてよく理解していない。
これは必須ではないが楽をするためにやっている。
sudo passwd root
でパスワードを設定する。次にrootでsshログインできるようにする。初期設定ではできないためだ。
/etc/ssh/sshd_config
の
#PermitRootLogin without-password
のようになっているのを
#PermitRootLogin yes
とする。
そしてsudo service sshd restart
を実行してsshdを再起動する。sshでrootログインできるようになった。
次に各種ライブラリ・ツールをインストールする。
apt install build-essential
apt install gdb
ここまでやればあとは手前みその記事にあるようにすればVSCodeを用いてデバッグ・コンパイルできる。
感想
特に詰まらずにデバッグできるようになったのには軽く感動を覚えた。
今後は多数ファイルのプロジェクトをCMakeとNinjaでビルドできるようになりたい。参考文献
BeagleBoneにLinuxをインストールする - memorandum
Developing on Remote Machines using SSH and Visual Studio Code - Visual Studio Code ↩
- 投稿日:2020-10-15T00:14:54+09:00
ポートフォワードした際のSCPがわからなくなった時
セキュリティの関係などで、ポートフォワードして踏み台サーバ経由で通信した際のファイルのやりとりがいつもしくじるので備忘録を書きました。
実行コマンド
まずはポートフォワードします。
1234:1.2.3.4
がSSH接続に使用するポートと接続先のIPアドレス、user@5.6.7.8
が踏み台サーバにログインするユーザ名と踏み台サーバのIPアドレスです。/.ssh/id_rsa
は秘密鍵のパスです。ssh -A -L 1234:1.2.3.4 -i /.ssh/id_rsa user@5.6.7.8scp接続します。
scp -r -i /.ssh/id_rsa -P 10022 user@localhost:/etc/path/to/file /file/ /local/pc/pathサーバ上の
/etc/path/to/file
のディレクトリの中身をローカルPC上の/local/pc/path
に転送するというコマンドです。
転送元の場所 転送先の場所
の並びとなります。