From 56b01775bbc95ab0be8497a195b8c0649599e71a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E6=99=B4?= <12077825+Wang-Qing-wq@user.noreply.gitee.com> Date: Sat, 25 May 2024 08:11:40 +0000 Subject: [PATCH] =?UTF-8?q?=E7=AC=94=E8=AE=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 王晴 <12077825+Wang-Qing-wq@user.noreply.gitee.com> --- ...73\345\212\250\344\275\234\344\270\232.md" | 198 ++++++++++++++++++ 1 file changed, 198 insertions(+) create mode 100644 "50 \347\216\213\346\231\264/20240524\345\244\215\345\210\266\347\247\273\345\212\250\344\275\234\344\270\232.md" diff --git "a/50 \347\216\213\346\231\264/20240524\345\244\215\345\210\266\347\247\273\345\212\250\344\275\234\344\270\232.md" "b/50 \347\216\213\346\231\264/20240524\345\244\215\345\210\266\347\247\273\345\212\250\344\275\234\344\270\232.md" new file mode 100644 index 0000000..6076d69 --- /dev/null +++ "b/50 \347\216\213\346\231\264/20240524\345\244\215\345\210\266\347\247\273\345\212\250\344\275\234\344\270\232.md" @@ -0,0 +1,198 @@ +### **cp**:复制文件或目录。 + + - 复制文件:`cp 源文件 目标文件` + - 复制文件到目录: cp 源文件 目标目录 + - 复制目录:`cp -r 源目录 目标目录` :没-r复制不了目录 + + ```bash + 递归复制并重命名 cp 源目录 目标目录/重命名 + cp -u 更新才覆盖 + cp -b 同名,把原来的备份一份,再复制过去 + cp -bS 自定义备份后缀 + #参数超过3个,最后一个(如第四个)必须是目录,且是已存在的目录。 + + ``` + +### **mv**:移动文件或目录,也可用于重命名文件或目录。 + + - 移动文件或目录:`mv 源目录/文件 目标目录` ,相当于剪切 + - 重命名文件或目录:`mv 原文件名 新文件名` + +原则: 目标不存在,一定重命名(不以后缀看是文件夹还是文件) + +##### 文件到文件: + +1. 目标文件存在:目标文件被替换掉,源文件不见 +2. 目标文件不存在:直接重命名 + +##### 文件到目录: + +1.目标目录存在: + +- 目标目录存在源文件同名:直接覆盖 +- 目标目录不存在源文件同名:直接移动 + +2.目标目录不存在:重命名 + +##### 目录到目录: + +1. 目标存在:移动到目标目录 +2. 目标不存在:重命名 + +##### 目录到文件: + +1. 目标存在:报错 +2. 目标不存在:重命名 + +移动多个文件:三个参数以上,最后一个默认是目录,且只会移动,不会重命名。 + +```bash +mv -bS 存在则备份,否则重命名。 +``` + +#### 作业 + +1. 在家目录下建立文件exam.c,将文件exam.c拷贝到/tmp这个目录下,并改名为 shiyan.c + +```bash +sudo touch exam.c +sudo mkdir tmp +sudo cp exam.c ./tmp/shiyan.c +``` + +2.在任何目录下回到用户主目录 + +```bash +cd /home +``` + +3.用长格式列出/tmp/test目录下所有的文件包括隐藏文件 + +```bash +sudo mkdir test +cd ./test +ls -al +``` + +4./tmp/test2目录下,创建5个文件分别是 1.txt 2.txt 3.txt 4.txt 5.txt,压缩这5个文件,压缩包的名字是hailiang.tar + +```bash +sudo mkdir test2 +sudo touch ./test2/1.txt ./test2/2.txt ./test2/3.txt ./test2/4.txt ./test2/5.txt +sudo tar -cvf hailiang.tar 1.txt 2.txt 3.txt 4.txt 5.txt +``` + +5.当前目录,建立文件 file1.txt 并更名为 file2.txt + +```bash +sudo touch file1.txt +sudo mv file1.txt file2.txt +``` + +6.当前目录,用vim建立文件bbbb.txt 并将用户名的加入其中保存退出 + +```bash +sudo touch bbbb.txt +sudo chmod a+w bbbb.txt +vim bbbb.txt +``` + +7.将家目录中扩展名为txt、doc和bak的文件全部复制到/tmp/test目录中 + +```bash +sudo cp ./*/*.txt ./*/*.doc ./*/*.bac ./tmp/test +``` + +8.将文件file1.txt从当前目录移动到家目录的/docs中。 + +```bash + sudo mkdir docs +wq@hecs-104052:/home/tmp/test$ sudo mv file1.txt ../../docs +``` + +9.复制文件file2.txt从当前目录到家目录/backup中。 + +```bash +sudo mkdir backup +wq@hecs-104052:/home/tmp/test2$ sudo cp file2.txt ../../backup/ +``` + +10.将家目录/docs中的所有文件和子目录移动到家目录/archive中。 + +```bash +sudo mv ./docs/* ./archive/ +``` + +11.复制家目录/photos及其所有内容到家目录/backup中。 + +```bash +sudo cp ./photos/* ./backup +``` + +12.将文件家目录/docs/report.doc移动到家目录/papers中,并将其重命名为final_report.doc。 + +```bash +wq@hecs-104052:/home/docs$ sudo mv ./report.doc ../papers/final_report.doc +``` + +13.在家目录/docs中创建一个名为notes.txt的空文件,并将其复制到目录家目录/backup中。 + +```bash +sudo touch notes.txt +sudo cp ./notes.txt ../backup +``` + +14.复制家目录/images中所有以.jpg结尾的文件到家目录/photos中。 + +```bash +sudo cp ./images/*.jpg ./photos +``` + +15.将文件家目录/docs/file1.txt和家目录/docs/file2.txt复制到家目录/backup中。 + +```bash +sudo cp ./docs/file1.txt ./docs/file2.txt ./backup +``` + +16.将家目录/docs中的所有.txt文件复制到家目录/text_files中。 + +```bash +sudo cp ./docs/*.txt ./text_files +``` + +17.将家目录/docs中的所有文件移动到家目录/temp中,并且如果文件已存在,则覆盖它们。 + +```bash +sudo mv ./docs/* ./temp +``` + +18.将家目录/docs中的所有文件移动到家目录/archive中,并且在移动时显示详细的移动信息。 + +```bash +sudo mv -v ./docs/* ./archive +``` + +19.复制家目录/docs中的所有子目录及其内容到家目录/backup中。 + +```bash +sudo cp ./docs/* ./backup +``` + +20.将家目录/docs中的所有文件和子目录移动到家目录/backup中,但排除文件名以"temp_"开头的文件。 + +```bash + sudo mv !(temp_*) ../backup +``` + +21.将目录/docs/report.txt移动到家目录/archive中,但如果目标目录中已存在同名文件,则不直接覆盖,先备份同名文件为report.txt_bak。 + +```bash +sudo mv -bS _bak ./docs/report.txt ./archive +``` + +22.将家目录/docs中所有以.pdf结尾的文件复制到家目录/pdf_files中,并且如果目标目录中已存在同名文件,则忽略它们。 + +```bash +sudo cp -f ./docs/*.pdf ./pdf_files +``` + -- Gitee