Linux における mv コマンドの高度な使用例

Linux における mv コマンドの高度な使用例

序文

mv コマンドは、move の略語で、ファイルを移動したり、ファイル名を変更したり (ファイルの移動 (名前の変更)) するために使用できます。これは Linux システムでよく使用されるコマンドで、ファイルやディレクトリのバックアップによく使用されます。

コマンド形式:

mv [オプション] ソースファイルまたはディレクトリ ターゲットファイルまたはディレクトリ

mv も Linux で非常に頻繁に使用されるコマンドですが、基本的な使用方法に加えて、他にどのような高度な使用方法をご存知ですか?

1. 基本的な使い方

  • 1 つ以上のファイルを移動します。
  • 1 つ以上のディレクトリを移動します。
  • ファイル/ディレクトリの名前を変更します。

これらは非常に基本的な使用法であり、詳しく説明する必要はありません。より高度な使用方法をいくつか紹介します。

2. 操作情報を印刷する

1 つ、2 つ、または少数のファイル/ディレクトリのみを移動する場合でも、ターゲットの場所に移動して、ファイルが正常に移動されたかどうかを確認できます。しかし、ファイルが何千個もある場合はどうなるでしょうか?対象場所に行って確認せずに、操作が成功したかどうかをどうやって知ることができるでしょうか? -v オプションを追加できます。

[alvin@VM_0_16_centos mv_test]$ mv -v *.txt /home/alvin/test/mv_test/des/
'file1.txt' -> '/home/alvin/test/mv_test/des/file1.txt'
'file2.txt' -> '/home/alvin/test/mv_test/des/file2.txt'
'file3.txt' -> '/home/alvin/test/mv_test/des/file3.txt'
'file4.txt' -> '/home/alvin/test/mv_test/des/file4.txt'
'file5.txt' -> '/home/alvin/test/mv_test/des/file5.txt'

もちろん、この方法はモバイル ディレクトリにも適用されます。

3. インタラクティブモードを使用する

デフォルトでは、ファイル/ディレクトリを移動するときにプロンプ​​トは表示されません。ターゲットの場所に同じ名前のファイル/ディレクトリがある場合、mv コマンドはプロンプトを表示せず、元のファイルを直接置き換えます。このような操作は、時には悲惨な結果につながる可能性があります。

この場合、-i オプションを追加できます。このオプションは、ターゲットの場所に同じ名前のファイルがある場合にプロンプ​​トを表示します。対象ファイルを上書きしてもよい場合は、y と入力します。

[alvin@VM_0_16_centos mv_test]$ mv -i file1.txt /home/alvin/test/mv_test/des/
mv: '/home/alvin/test/mv_test/des/file1.txt' を上書きしますか? y

4. 同じ名前のファイルを上書きしない

ターゲットの場所に同じ名前のファイルがあり、それを上書きしたくない場合は、-n オプションを追加できます。

[alvin@VM_0_16_centos mv_test]$ ll *.txt des/*.txt
-rw-rw-r-- 1 アルビン アルビン 0 2月8日 17:26 file2.txt
-rw-rw-r-- 1 アルビン アルビン 0 2月8日 17:35 file3.txt
-rw-rw-r-- 1 アルビン アルビン 0 2月8日 17:26 des/file1.txt
-rw-rw-r-- 1 アルビン アルビン 0 2月8日 17:27 des/file2.txt
[alvin@VM_0_16_centos mv_test]$ mv -nv *.txt /home/alvin/test/mv_test/des/
'file3.txt' -> '/home/alvin/test/mv_test/des/file3.txt' # ターゲットの場所に file3.txt ファイルがないため、正常に移動されました [alvin@VM_0_16_centos mv_test]$ ls
des ファイル2.txt

5. 更新オプションを使用する

ターゲットの場所に同じ名前のファイル/ディレクトリがある場合、タイムスタンプがターゲット ファイルのタイムスタンプよりも新しい場合にのみソース ファイルを上書きし、それ以外の場合は実行されません。この場合、 -u オプションを使用できます。

[alvin@VM_0_16_centos mv_test]$ ll *.txt des/*.txt
-rw-rw-r-- 1 alvin alvin 0 Feb 8 17:26 file1.txt #ソースファイルのタイムスタンプはターゲットファイルより新しいです -rw-rw-r-- 1 alvin alvin 0 Feb 8 17:26 file2.txt #ソースファイルのタイムスタンプはターゲットファイルより古いです -rw-rw-r-- 1 alvin alvin 0 Feb 8 16:53 des/file1.txt
-rw-rw-r-- 1 アルビン アルビン 0 2月8日 17:27 des/file2.txt
[alvin@VM_0_16_centos mv_test]$ mv -uv *.txt /home/alvin/test/mv_test/des/
'file1.txt' -> '/home/alvin/test/mv_test/des/file1.txt' #更新されたタイムスタンプを持つファイルのみが置き換えられます [alvin@VM_0_16_centos mv_test]$ ls
des ファイル2.txt

6. 上書きする前にバックアップを作成する

対象の場所にすでに同じ名前のファイルがあります。そのまま上書きするのは少し不安です。今の判断が間違っていたらどうなりますか?上書きする前に対象ファイルをバックアップすることは可能ですか?答えは「はい」です。-b オプションを追加するだけです。

[alvin@VM_0_16_centos mv_test]$ mv -bv *.txt /home/alvin/test/mv_test/des/
'file1.txt' -> '/home/alvin/test/mv_test/des/file1.txt' (バックアップ: '/home/alvin/test/mv_test/des/file1.txt~')
'file2.txt' -> '/home/alvin/test/mv_test/des/file2.txt' (バックアップ: '/home/alvin/test/mv_test/des/file2.txt~')
[alvin@VM_0_16_centos mv_test]$ ll des/
合計 0
-rw-rw-r-- 1 アルビン アルビン 0 2月8日 17:41 file1.txt
-rw-rw-r-- 1 アルビン アルビン 0 2月8日 17:26 file1.txt~
-rw-rw-r-- 1 アルビン アルビン 0 2月8日 17:26 file2.txt
-rw-rw-r-- 1 アルビン アルビン 0 2月8日 17:27 file2.txt~
-rw-rw-r-- 1 アルビン アルビン 0 2月8日 17:35 file3.txt

上書きする前に、対象ファイルがチルダ ~ 付きのファイルとしてバックアップされることがわかります。同時に、注意深い読者は、上書きされたファイルのタイムスタンプがバックアップ ファイルのタイムスタンプと異なることにも気付くでしょう。

上記は、mv コマンドのより高度な使い方です。これらを柔軟に使用すれば、作業効率が向上し、同僚の前でより印象が良くなります。

要約する

以上がこの記事の全内容です。この記事の内容が皆様の勉強や仕事に何らかの参考学習価値をもたらすことを願います。123WORDPRESS.COM をご愛顧いただき、誠にありがとうございます。

以下もご興味があるかもしれません:
  • 高度な Linux システム コマンド (推奨)
  • Linuxで編集モードを終了するコマンドの詳細な説明
  • Linux で binlog ファイルの作成時間を表示するコマンド
  • 仕事でよく使うLinuxコマンドまとめ
  • Linux の mkdir コマンドの詳細な説明
  • 使用したコマンドを表示するLinuxコマンドメソッドの概要

<<:  JavaScriptはキャンバスを使用して座標と線を描画します

>>:  JavaScript コンソールのその他の機能

推薦する

Vue + OpenLayers クイックスタートチュートリアル

Openlayers は、WebGIS クライアント向けのモジュール式で高性能かつ機能豊富な Jav...

Mysqlは隣接リスト(隣接リスト)を通じてツリー構造を保存します。

以下の内容では、隣接リストを使用してツリー構造を保存する MYSQL のプロセスとソリューションを紹...

キーフリーログインプロセスを実現するためのLinux構成の分析

1.sshコマンドLinux では、ssh コマンドを使用して別のサーバーにログインできます。 2 ...

Linux でテキストから改行文字を削除する方法

復帰文字 ( Ctrl+M ) に不安を感じても心配しないでください。それらを排除する簡単な方法がい...

CSS3 で作成された背景グラデーションアニメーション効果

成果を達成する 実装コードhtml <h1 class="text-light&qu...

HTMLからReactを実装する方法を教えます

ReactとはReact は、効率的で高速なユーザー インターフェイスを構築するためのシンプルな J...

HTML 再利用テクニック

HTML の再利用は、あまり話題に上らない言葉です。今日は、この問題を次のようにまとめたいと思います...

Nginx 静的ファイル サービスの構成と最適化の詳細な説明

ルートディレクトリとインデックスファイルroot ディレクティブは、ファイルの検索に使用するルート ...

MySql インデックスの詳細な紹介と正しい使用方法

MySql インデックスの詳細な紹介と正しい使用方法1. はじめに:インデックスはクエリ速度に重大な...

MySQL における 10 進数型の使用法の簡単な紹介

MySQL でサポートされている浮動小数点型は、 FLOAT 、 DOUBLE 、およびDECIMA...

動的なデジタル時計を実装するJavaScript

この記事では、JavaScriptで動的なデジタル時計を実装するための具体的なコードを参考までに紹介...

MySQLスレーブのメンテナンスに関する経験の共有

序文: MySQL マスター/スレーブ アーキテクチャは、最も一般的に使用されるアーキテクチャ セッ...

Win2008 R2 mysql 5.5 zip 形式 mysql のインストールと設定

Win2008 R2 zip形式のMySQLのインストールと設定1. Baidu MySQL 5.6...

Vueは商品詳細ページの虫眼鏡機能を実装します

この記事では、商品詳細ページの虫眼鏡を実装するためのVueの具体的なコードを参考までに共有します。具...