diff --git "a/33 \346\236\227\347\247\200\346\270\205/\344\275\234\344\270\232/20240522-\346\226\207\344\273\266\345\217\212\346\226\207\344\273\266\345\244\271\346\223\215\344\275\234\350\277\207\347\250\213.md" "b/33 \346\236\227\347\247\200\346\270\205/\344\275\234\344\270\232/20240522-\346\226\207\344\273\266\345\217\212\346\226\207\344\273\266\345\244\271\346\223\215\344\275\234\350\277\207\347\250\213.md" index cf2ce32f5e4c748522a61a0129b459bc10d46313..800a86eed9d3d1ccc1589e54b5a790854ae573c6 100644 --- "a/33 \346\236\227\347\247\200\346\270\205/\344\275\234\344\270\232/20240522-\346\226\207\344\273\266\345\217\212\346\226\207\344\273\266\345\244\271\346\223\215\344\275\234\350\277\207\347\250\213.md" +++ "b/33 \346\236\227\347\247\200\346\270\205/\344\275\234\344\270\232/20240522-\346\226\207\344\273\266\345\217\212\346\226\207\344\273\266\345\244\271\346\223\215\344\275\234\350\277\207\347\250\213.md" @@ -110,10 +110,8 @@ 10. **创建别名**:回到您的家目录,并创建一个别名`llh`,该别名能够列出当前目录下文件和目录的长格式列表,并以人类可读的格式显示文件大小(类似于`ls -lh`命令)。 ```js - linxq@hecs-155764:~$ mkdir 11h//创建 - linxq@hecs-155764:~$ cd 11h - linxq@hecs-155764:~/11h$ ls -lh - total 0 + linxq@hecs-155764:~$ vim .bashrc + #some more ls aliases + alias lh='ls -lh' ``` - - \ No newline at end of file + diff --git "a/33 \346\236\227\347\247\200\346\270\205/\344\275\234\344\270\232/20240524-\346\226\207\344\273\266\345\217\212\346\226\207\344\273\266\345\244\271.md" "b/33 \346\236\227\347\247\200\346\270\205/\344\275\234\344\270\232/20240524-\346\226\207\344\273\266\345\217\212\346\226\207\344\273\266\345\244\271.md" new file mode 100644 index 0000000000000000000000000000000000000000..c2a68ec5c2b665ce4c18426720ac1173263fa5d0 --- /dev/null +++ "b/33 \346\236\227\347\247\200\346\270\205/\344\275\234\344\270\232/20240524-\346\226\207\344\273\266\345\217\212\346\226\207\344\273\266\345\244\271.md" @@ -0,0 +1,162 @@ +相关和目录可自行创建后再操作 + +### 练习题 1:复制文件 + +假设你有两个目录:`/home/user/docs` 和 `/home/user/backup`。 + +```js +linxq@hecs-155764:~$ mkdir docs backup//新建文件夹 +``` + + + +1. 将`/home/user/docs`目录下的`file1.txt`复制到`/home/user/backup`目录下。 + + ```js + linxq@hecs-155764:~/docs$ touch file1.txt//新建文件 + linxq@hecs-155764:~/docs$ cp file1.txt /home/linxq/backup//复制到该目录 + ``` + + + +2. 复制`/home/user/docs`目录下的所有`.txt`文件到`/home/user/backup`目录下。 + + ```js + linxq@hecs-155764:~/docs$ touch file2.txt file3.txt///新建.txt文件 + linxq@hecs-155764:~/docs$ ls//查看目录下的文件 + file1.txt file2.txt file3.txt + linxq@hecs-155764:~/docs$ cp *.txt ../backup //复制文件到该目录 + linxq@hecs-155764:~/docs$ ls + file1.txt file2.txt file3.txt + linxq@hecs-155764:~/backup$ ls + file1.txt file2.txt file3.txt + ``` + + + +### 练习题 2:复制文件夹及其内容 + +1. 假设`/home/user/photos`是一个包含多个图片文件夹的目录,请复制整个`/home/user/photos`目录及其所有内容到`/home/user/archive`目录下。 + + ```js + linxq@hecs-155764:~$ mkdir photos archive //创建文件夹 + linxq@hecs-155764:~/photos$ mkdir 图片1 图片2/ //创建文件夹 + linxq@hecs-155764:~/photos$ cp -r ../photos/ ../archive/ //复制目录 + linxq@hecs-155764:~/archive$ tree ///查看目录 + . + └── photos + ├── 图片1 + └── 图片2 + ``` + + + +### 练习题 3:移动文件 + +1. 将`/home/user/docs`目录下的`file2.docx`移动到`/home/user/papers`目录下。 + + ```js + linxq@hecs-155764:~/backup$ mkdir ../papers ../docs //新建文件夹 + linxq@hecs-155764:~/backup$ touch ../docs/file2.docx//新建文件 + linxq@hecs-155764:~/docs$ mv file2.docx ../papers///移动文件 + linxq@hecs-155764:~/docs$ cd + linxq@hecs-155764:~$ cd p + papers/ photos/ + ``` + + + +2. 如果`/home/user/papers`目录下已经有一个名为`file2.docx`的文件,请确保移动操作会询问你是否要覆盖它。 + + ```js + linxq@hecs-155764:~/docs$ mv -i file2.docx ../papers/ //-i操作时询问 + ``` + + + +### 练习题 4:重命名文件 + +1. 将`/home/user/docs`目录下的`oldname.pdf`重命名为`newname.pdf`。 + + ```js + linxq@hecs-155764:~/docs$ touch oldname.pdf//新建文件 + linxq@hecs-155764:~/docs$ ls ///查看文件 + file1.txt file2.txt file3.txt oldname.pdf + linxq@hecs-155764:~/docs$ mv oldname.pdf newname.pdf ///重命名文件 + linxq@hecs-155764:~/docs$ ls ///查看文件 + file1.txt file2.txt file3.txt newname.pdf + ``` + + + +### 练习题 5:结合使用 + +1. 复制`/home/user/docs`目录下的`report.md`到`/home/user/temp`,然后将复制过去的文件重命名为`temp_report.md`。 + + ```js + linxq@hecs-155764:~/docs$ touch report.md ///新建文件 + linxq@hecs-155764:~/docs$ mkdir ../temp //新建文件夹 + linxq@hecs-155764:~/docs$ cp report.md ../temp/ //复制文件 + linxq@hecs-155764:~/temp$ mv report.md temp_report.md ///重命名文件 + ``` + + + +2. 将`/home/user/docs`目录下所有以`.doc`结尾的文件移动到`/home/user/processed`,并且如果这些文件在目标目录中已经存在,则不覆盖它们。 + + ```js + linxq@hecs-155764:~/temp$ touch ../docs/1.doc ../docs/2.doc //新建文件 + linxq@hecs-155764:~/docs$ mkdir ../processed //新建文件夹 + linxq@hecs-155764:~/processed$ touch 1.doc 2.doc ///新建文件 + linxq@hecs-155764:~/docs$ mv -i *.doc ../processed/ //移动时并询问是否覆盖 + ``` + + + +### 练习题 6:使用通配符 + +1. 复制`/home/user/docs`目录下所有以`.jpg`或`.png`结尾的图片文件到`/home/user/images`目录。 + + ```js + linxq@hecs-155764:~/docs$ touch 1.jpg 2.png ///新建图片 + linxq@hecs-155764:~/docs$ mkdir ../images //新建文件夹 + linxq@hecs-155764:~/docs$ cp *.*g ../images //复制到文件夹 + linxq@hecs-155764:~/docs$ ls ///查看文件 + 1.doc 1.jpg 2.png file1.txt file2.txt file3.txt newname.pdf report.md + linxq@hecs-155764:~$ cd images/ //切换目录 + linxq@hecs-155764:~/images$ ls //查看文件 + 1.jpg 2.png + ``` + + + +### 练习题 7:详细输出 + +1. 使用`cp`命令复制文件时,显示详细的复制信息。 + + ```js + + linxq@hecs-155764:~/processed$ cp -rv 1.doc ../papers/ //复制并显示进度条 + '1.doc' -> '../papers/1.doc' + ``` + + + +2. 使用`mv`命令移动文件时,显示详细的移动信息。 + + ```js + linxq@hecs-155764:~/papers$ mv -v 1.doc ../processed/ //移动并显示进度条 + renamed '1.doc' -> '../processed/1.doc' + ``` + + + +### 练习题 8:更新文件 + +1. 如果`/home/user/backup`目录中已经有一个与`/home/user/docs`目录下的`file1.txt`同名的文件,并且`/home/user/docs/file1.txt`的内容是更新的,请使用`cp`命令将更新的文件复制到备份目录,并覆盖旧文件(假设你知道旧文件可以被安全地覆盖)。 + + ```js + linxq@hecs-155764:~/backup$ cp -u file1.txt ../docs //复制源文件比目标文件时间更新时才会被覆盖 + ``` + + \ No newline at end of file diff --git "a/33 \346\236\227\347\247\200\346\270\205/\347\254\224\350\256\260/20240524-\346\226\207\344\273\266\345\217\212\346\226\207\344\273\266\345\244\271\347\232\204\347\233\270\345\205\263\345\221\275\344\273\244.md" "b/33 \346\236\227\347\247\200\346\270\205/\347\254\224\350\256\260/20240524-\346\226\207\344\273\266\345\217\212\346\226\207\344\273\266\345\244\271\347\232\204\347\233\270\345\205\263\345\221\275\344\273\244.md" new file mode 100644 index 0000000000000000000000000000000000000000..f8ec30ec2d975d9d49b411d3ca2c09463859d238 --- /dev/null +++ "b/33 \346\236\227\347\247\200\346\270\205/\347\254\224\350\256\260/20240524-\346\226\207\344\273\266\345\217\212\346\226\207\344\273\266\345\244\271\347\232\204\347\233\270\345\205\263\345\221\275\344\273\244.md" @@ -0,0 +1,21 @@ +### 文件及文件夹相关命令2 + +1. **cp:复制** + + - 文件名 目录/文件1 :复制并重命名到该目录 + + - 文件名 文件名1:复制并重命名 + + - -r :复制目录 + - -f :强制复制 + - -b :复制前先备份(备份文件带~) + - -bS:自定义指定备份文件尾标(如果要备份的文件存在时) + - -i :交互式复制,如果已存在会询问是否覆盖 + - -p :复制并保留原有属性(时间、、、) + - -v :复制时显示进度 + - -u :只有源文件比要覆盖的时间新时才会被覆盖 + +2. **mv:移动、重命名** + - 只有目标文件不存在时是重命名 + - 文件1 文件2/重命名文件1 :把要移动的文件移动并重命名 + - 文件1/2/3...... 目录 :同时移动多个文件时最后一个一定要是目录 \ No newline at end of file