スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
以後の更新内容の改善のために、是非ともご評価のほどよろしくお願いします!→

UNIX端末のcpコマンドでスペースを含むファイルを扱うとき。

UNIXのターミナル(端末)でファイルをコピーするコマンドとしてcpコマンドというものがあります。このコマンドは、

 cp filename1 filename2

「cp」と入力してから半角スペースを入力し、コピー元のファイルを指定してやります。さらに、半角スペースを入力した後にコピー先ディレクトリ(及び保存ファイル名)を指定してやります。

例えば、カレントディレクトリ上にある「sample.txt」を、一階層下のディレクトリ「test」の中に保存したいとします。その場合は次のように命令します。

 cp ./sample.txt ./test/

これでコピーすることができます(※)。
(※「test」フォルダはあらかじめ作成されているものとします。あと、例文の「./sample.txt」は「sample.txt」と表記しても構いませんし、「./test/」も「test」で構いません。)



ファイル名を「半角スペース」で区切る・・・ということですが、そこで「ん?」と疑問に思いました。

もしファイル名に半角スペースが含まれていたらどうするんだ?


もし、ファイル名に半角スペースを含む「sample text.txt」というファイルをtestディレクトリにコピーする時はどうするのでしょうか。上の例に従って命令を書くと、

 cp ./sample text.txt ./test/

こんな風になりますね。しかし、コレでは次のようなエラーが出てしまいます。
 cp: ./sample: No such file or directory
 cp: text.txt: No such file or directory
私は「そんなファイル/ディレクトリは無いよ!」って怒られてしまいました。
ファイル名に使われている半角スペースなのか、ファイル名を区切る半角スペースなのかはターミナルは判別できないようです。(そりゃそうですよね・・・)

なら、どうすれば・・・    実はとても簡単なんです。


次の文を見てください。
 cp "./sample text.txt" ./test/

スペース(空白)を含むファイル名を「"」(ダブルクォーテーション)で囲んでやれば良いのです。これで正常にコピーされました。
おそらくこれはmvコマンド(ファイル移動)やらなんやらで使えると思うので是非覚えておきたいものです。

(知っている人には当たり前のことですが知らない人は疑問を持つものですよね^^;)
スポンサーサイト
以後の更新内容の改善のために、是非ともご評価のほどよろしくお願いします!→

テーマ : UNIX /  ジャンル : コンピュータ

カテゴリー
ようこそ!
Author: Torasuke
Profile: 地元大学の情報系学部に息をひそめる二回生。
   SA SW


ブログ内検索
最近のコメント
オススメ
京都の大学生のラボブログ
Python,Java,Objective-C,GAE,Macなど
Python独習中の大学生のブログ


ltzz.info
ここの管理者さんには謁見済み!(えっ

 Use OpenOffice.org
無補償でも良いなら、MSOfficeよりOpenOfficeで十分です。

Mozilla Firefox ブラウザ無料ダウンロード
当サイトは、Firefoxというブラウザで動作確認しています。私は以前、IE派でしたが、一度乗り換えて慣れてしまうと、Firefoxのほうが便利だということを実感しました。

是非よろしくお願いします。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。