Linux的cp与mv
目录
1 cp
1.1 复制目录下所有文件
用于测试的目录树如下:
.
├── folder-1
│ └── file
└── folder-2cp folder-1/* folder-2
等效于
cp folder-1/* folder-2/.
├── folder-1
│ └── file
└── folder-2
└── file1.2 cp -r
cp -r递归复制。
1.2.1 例1
用于测试的目录树如下:
.
├── folder-1
│ └── file
└── folder-2cp -r folder-1 folder-2
# 等效于
cp -r folder-1/ folder-2
# 等效于
cp -r folder-1 folder-2/
# 等效于
cp -r folder-1/ folder-2/.
├── folder-1
│ └── file
└── folder-2
└── folder-1
└── file1.2.2 例2
用于测试的目录树如下:
.
└── folder-1
└── file注意, folder-2是不存在的目录。
cp -r folder-1 folder-2
# 等效于
cp folder-1 folder-2.
├── folder-1
│ └── file
└── folder-2
└── file1.2.3 例3
用于测试的目录树如下:
.
├── folder-1
│ └── file
└── folder-2注意, folder-3是不存在的目录。
cp -r folder-1 folder-2/folder-3.
├── folder-1
│ └── file
└── folder-2
└── folder-3
└── file1.3 cp –parents
1.3.1 目标目录存在
用于测试的目录树如下:
.
├── folder-1
└── folder-a
└── folder-b
└── filecp --parents folder-a/folder-b/file folder-1.
├── folder-1
│ └── folder-a
│ └── folder-b
│ └── file
└── folder-a
└── folder-b
└── file效果不同于cp -r
cp -r folder-a/folder-b/file folder-1.
├── folder-1
│ └── file
└── folder-a
└── folder-b
└── file1.3.2 目标目录不存在
用于测试的目录树如下:
.
├── folder-1
└── folder-a
└── folder-b
└── file注意, folder-2是不存在的目录。
cp --parents folder-a/folder-b/file folder-1/folder-2结果是, 并不会自动创建不存在的目标目录, 所以目标目录必须存在才能进行复制过程。
2 mv
2.1 移动目录
用于测试的目录树如下:
.
├── folder-1
│ └── file
└── folder-2mv folder-1 folder-2
等效于
mv folder-1/ folder-2
等效于
mv folder-1 folder-2/
等效于
mv folder-1/ folder-2/.
└── folder-2
└── folder-1
└── file2.2 移动目录下所有文件
用于测试的目录树如下:
.
├── folder-1
│ └── file
└── folder-2mv folder-1/* folder-2
等效于
mv folder-1/* folder-2/.
├── folder-1
└── folder-2
└── file