cp と mv に加えて、Linux ではファイルのコピーや名前変更を行うためのコマンドが多数あります。驚くかもしれないし、時間を節約できるかもしれないこれらのコマンドを試してください。
Linux ユーザーは何十年もの間、単純な cp および mv コマンドを使用してファイルをコピーし、名前を変更してきました。これらのコマンドは、ほとんどの人が最初に学ぶコマンドであり、おそらく何百万人もの人が毎日使用しています。ただし、他にもいくつかの独自のオプションを提供するテクニック、便利なメソッド、および追加のコマンドがあります。
まず、ファイルをコピーする理由を考えてみましょう。同じファイルを別の場所で使用する必要がある場合や、ファイルを編集するためコピーが必要になる場合があり、元のファイルを復元する必要がある場合に備えてバックアップを手元に用意しておきたい場合があります。これを行う明白な方法は、cp myfile myfile-orig のようなコマンドを使用することです。
ただし、大量のファイルをコピーする場合、この戦略は非常に古いものになる可能性があります。より良いオプションは次のとおりです。
tar を使用して、編集を開始する前にバックアップするすべてのファイルのアーカイブを作成します。
for ループを使用すると、バックアップ コピーが簡単になります。
tarの使い方はとても簡単です。現在のディレクトリ内のすべてのファイルに対して、次のコマンドを使用できます。
パターンによって識別できる一連のファイルの場合は、次のコマンドを使用できます。
いずれの場合も、最終結果は、ディレクトリ内のすべてのファイル、または .txt 拡張子を持つすべてのファイルを含む myfiles.tar ファイルになります。
単純なループにより、名前を変更したバックアップ コピーを作成できます。
単一のファイルをバックアップするときに、そのファイルの名前がたまたま長い場合は、ファイル名をタブ補完し (ファイルを一意に識別できる十分な文字を入力した後に Tab キーを押す)、ファイル名の後に -orig を追加します。コピーの名前。
これで、非常に長い名前のファイルと非常に長い名前のファイルが作成されます。
Linux でファイルの名前を変更する
ファイル名を変更する従来の方法は、mv コマンドを使用することです。このコマンドは、ファイルを別のディレクトリに移動するか、その場でその名前を変更する、あるいはその両方を行います。
ただし、名前を変更するための rename コマンドもあります。rename コマンドを使用するコツは、その構文に慣れることですが、Perl を少し知っていれば、難しいとは思わないかもしれません。
これは非常に役立つ例です。すべての大文字を小文字に置き換えて、ディレクトリ内のファイルの名前を変更するとします。一般に、Unix または Linux システムでは大文字が多く含まれるファイルは見つかりませんが、見つけることはできます。それぞれに mv コマンドを使用せずに名前を変更する簡単な方法を次に示します。/AZ/az/ は、名前変更コマンドに対して、AZ の範囲内の任意の文字を az の対応する文字に変更するように指示します。
名前変更を使用してファイル拡張子を削除することもできます。拡張子が .txt のテキスト ファイルにはうんざりしているかもしれません。1 つのコマンドでこれらの拡張機能を削除するだけです。
ここで、気が変わって、それらの拡張機能を元に戻したいと考えてみましょう。問題ない。コマンドを変更するだけです。コツは、最初のスラッシュの前の s が「代替」を意味することを理解することです。最初の 2 つのスラッシュの間の内容が変更する内容であり、2 番目と 3 番目のスラッシュの間の内容が変更される内容です。したがって、$ はファイル名の終わりを意味するので、それを .txt に変更します。
ファイル名の他の部分も変更できます。古いコンテンツ/新しいコンテンツ/ルールに留意してください。
上の例では、s/old/new/ で s を使用すると、名前の一部が別の名前に置き換えられることに注意してください。y を使用すると、変換 (文字をある範囲から別の範囲に置き換える) ことになります。
要約する
最近では、ファイルをコピーしたり名前を変更したりする方法がたくさんあります。これらのいくつかがあなたのコマンドラインライフをより楽しいものにすることを願っています。