diff --git "a/34\347\277\237\347\216\211\351\224\237/Linux\344\275\234\344\270\232/2024.05.18 \344\275\234\344\270\232.md" "b/34\347\277\237\347\216\211\351\224\237/Linux\344\275\234\344\270\232/2024.05.18 \344\275\234\344\270\232.md" index 74bab66ce751d74729b2035b515b38450e0928da..20a6ac37979a0f4485211ce8ed6904f537408c46 100644 --- "a/34\347\277\237\347\216\211\351\224\237/Linux\344\275\234\344\270\232/2024.05.18 \344\275\234\344\270\232.md" +++ "b/34\347\277\237\347\216\211\351\224\237/Linux\344\275\234\344\270\232/2024.05.18 \344\275\234\344\270\232.md" @@ -1,3 +1,16 @@ # 遇到问题 -1. 连接不上主机:用户名错误 \ No newline at end of file +1. 连接不上主机:用户名错误 + +## 一些命令 + + + +```js +mkdir //创建 +mkdir -p /目录名/ +touch //创建文件 +pwd //查看所有目录 +vim 文件名 .txt //插入文本 +``` + diff --git "a/34\347\277\237\347\216\211\351\224\237/Linux\344\275\234\344\270\232/img/2024-05-22\344\275\234\344\270\2321-2.png" "b/34\347\277\237\347\216\211\351\224\237/Linux\344\275\234\344\270\232/img/2024-05-22\344\275\234\344\270\2321-2.png" new file mode 100644 index 0000000000000000000000000000000000000000..dbdec1be2462334defca6548df16fecc99db84bd Binary files /dev/null and "b/34\347\277\237\347\216\211\351\224\237/Linux\344\275\234\344\270\232/img/2024-05-22\344\275\234\344\270\2321-2.png" differ diff --git "a/34\347\277\237\347\216\211\351\224\237/Linux\344\275\234\344\270\232/img/2024-05-22\344\275\234\344\270\2323.png" "b/34\347\277\237\347\216\211\351\224\237/Linux\344\275\234\344\270\232/img/2024-05-22\344\275\234\344\270\2323.png" new file mode 100644 index 0000000000000000000000000000000000000000..812ada1493d580602afe61786e4154311feace30 Binary files /dev/null and "b/34\347\277\237\347\216\211\351\224\237/Linux\344\275\234\344\270\232/img/2024-05-22\344\275\234\344\270\2323.png" differ diff --git "a/34\347\277\237\347\216\211\351\224\237/Linux\344\275\234\344\270\232/\345\256\236\346\226\2753 0522 \344\275\234\344\270\232.md" "b/34\347\277\237\347\216\211\351\224\237/Linux\344\275\234\344\270\232/\345\256\236\346\226\2753 0522 \344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..dbec946e1e704726b536c0c2ba66fb38c6efdc78 --- /dev/null +++ "b/34\347\277\237\347\216\211\351\224\237/Linux\344\275\234\344\270\232/\345\256\236\346\226\2753 0522 \344\275\234\344\270\232.md" @@ -0,0 +1,45 @@ +假设您刚刚登录到一个Linux系统,并位于您的家目录(`~`)下。您需要完成以下一系列复杂的操作来组织和清理您的文件和目录。请按照顺序执行,并给出相应的命令。 + +1. **创建测试文件**:在家目录下创建三个文本文件,分别命名为`.hidden.txt`(隐藏文件)、`visible1.txt`和`visible2.txt`。 + + ```js + touch .hidden.txt visible1.txt visible2.tx //在家目录下创建三个文本文件,分别命名为`.hidden.txt`(隐藏文件)、`visible1.txt`和`visible2.txt` + + ``` + + + +2. **列出文件和目录**:列出家目录(`~`)下的所有文件和目录,包括隐藏文件,并查看其详细权限和属性。 + + ```js + ls -alhs //列出家目录(`~`)下的所有文件和目录,包括隐藏文件,并查看其详细权限和属性 + ``` + + + +3. **创建工作区**:创建一个新的目录`work_area`,并在其中创建三个子目录:`project_a`、`project_b`和`docs`。 + + ```js + mkdir work_area //创建一个新的目录`work_area` + cd work_area //切换到work_area + mkdir project_a project_b docs //创建三个子目录:`project_a`、`project_b`和`docs` + + ``` + + + +4. **移动文本文件**:将家目录下的所有`.txt`文件移动到`work_area/docs`目录中,并确保这些文件在移动后仍然是隐藏的(如果它们是隐藏的)。 + +5. **创建新文件**:在`work_area/project_a`目录下创建一个新的文本文件`notes.txt`,并添加一些内容(例如:`echo "Initial notes for project A" > work_area/project_a/notes.txt`)。 + +6. **复制目录**:递归地复制`work_area/project_a`目录到`work_area/project_b`,并命名为`project_a_backup`。 + +7. **列出文件并按大小排序**:列出`work_area/docs`目录下的所有文件,并按文件大小降序排列。 + +8. **删除所有文件**:删除`work_area/docs`目录下所有文件。 + +9. **删除目录**:假设您不再需要`work_area/project_b`目录及其所有内容,请递归地强制删除它。 + +10. **清理空目录**:清理`work_area`目录,删除其中所有的空目录(注意:不要删除非空的目录)。 + +11. **创建别名**:回到您的家目录,并创建一个别名`llh`,该别名能够列出当前目录下文件和目录的长格式列表,并以人类可读的格式显示文件大小(类似于`ls -lh`命令)。 \ No newline at end of file diff --git "a/34\347\277\237\347\216\211\351\224\237/Linux\344\275\234\344\270\232/\345\256\236\346\226\2753 0524 \344\275\234\344\270\232.md" "b/34\347\277\237\347\216\211\351\224\237/Linux\344\275\234\344\270\232/\345\256\236\346\226\2753 0524 \344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..0875e40ba4b6a449aa575815c3ba9424d7d0f5a4 --- /dev/null +++ "b/34\347\277\237\347\216\211\351\224\237/Linux\344\275\234\344\270\232/\345\256\236\346\226\2753 0524 \344\275\234\344\270\232.md" @@ -0,0 +1,96 @@ +相关和目录可自行创建后再操作 + +第一次全部使用绝对路径 + +第二次全部使用相对路径,要求将当前路径设置为/tmp + +1. 在家目录下建立文件exam.c,将文件exam.c拷贝到/tmp这个目录下,并改名为 shiyan.c + + ```js + touch exam.c + mkdir tmp + cp /root/exam.c /root/tmp + mv /root/tmp/exam.c shiyan.c + + ``` + + + +2. 在任何目录下回到用户主目录? + + ```js + cd /tmp + cd ~ + ``` + + + +3. 用长格式列出/tmp/test目录下所有的文件包括隐藏文件? + + ``` + root/tmp/tes ls -al + ``` + + + +4. /tmp/test2目录下,创建5个文件分别是 1.txt 2.txt 3.txt 4.txt 5.txt,压缩这5个文件,压缩包的名字是hailiang.tar + + ```js + /root/tmp/test2/ touch1.txt 2.txt 3.txt 4.txt 5.txt + /root/tmp/test2/tar -zcvf hailiang.tar *.txt + ``` + + + +5. 当前目录,建立文件 file1.txt 并更名为 file2.txt? + + ```js + /root/tmp/test2/touch file1.txt + /root/tmp/test2/mv file1.txt file2.txt + ``` + + + +6. 当前目录,用vim建立文件bbbb.txt 并将用户名的加入其中保存退出? + + ```js + /root/tmp/test2 vim bbbb.txt + /root/tmp/test2 cat bbbb.txt + root + ``` + + + +7. 将家目录中扩展名为txt、doc和bak的文件全部复制到/tmp/test目录中? + + + +8. 将文件file1.txt从当前目录移动到家目录的/docs中。 + +9. 复制文件file2.txt从当前目录到家目录/backup中。 + +10. 将家目录/docs中的所有文件和子目录移动到家目录/archive中。 + +11. 复制家目录/photos及其所有内容到家目录/backup中。 + +12. 将文件家目录/docs/report.doc移动到家目录/papers中,并将其重命名为final_report.doc。 + +13. 在家目录/docs中创建一个名为notes.txt的空文件,并将其复制到目录家目录/backup中。 + +14. 复制家目录/images中所有以.jpg结尾的文件到家目录/photos中。 + +15. 将文件家目录/docs/file1.txt和家目录/docs/file2.txt复制到家目录/backup中。 + +16. 将家目录/docs中的所有.txt文件复制到家目录/text_files中。 + +17. 将家目录/docs中的所有文件移动到家目录/temp中,并且如果文件已存在,则覆盖它们。 + +18. 将家目录/docs中的所有文件移动到家目录/archive中,并且在移动时显示详细的移动信息。 + +19. 复制家目录/docs中的所有子目录及其内容到家目录/backup中。 + +20. 将家目录/docs中的所有文件和子目录移动到家目录/backup中,但排除文件名以"temp_"开头的文件。 + +21. 将目录/docs/report.txt移动到家目录/archive中,但如果目标目录中已存在同名文件,则不直接覆盖,先备份同名文件为report.txt_bak。 + +22. 将家目录/docs中所有以.pdf结尾的文件复制到家目录/pdf_files中,并且如果目标目录中已存在同名文件,则忽略它们。 \ No newline at end of file diff --git "a/34\347\277\237\347\216\211\351\224\237/Linux\344\275\234\344\270\232/\345\256\236\346\226\2753 0524 \347\273\203\344\271\240.md" "b/34\347\277\237\347\216\211\351\224\237/Linux\344\275\234\344\270\232/\345\256\236\346\226\2753 0524 \347\273\203\344\271\240.md" new file mode 100644 index 0000000000000000000000000000000000000000..51c0c5205f3c4a8c92870fd45e25c28e1f74c489 --- /dev/null +++ "b/34\347\277\237\347\216\211\351\224\237/Linux\344\275\234\344\270\232/\345\256\236\346\226\2753 0524 \347\273\203\344\271\240.md" @@ -0,0 +1,39 @@ +相关和目录可自行创建后再操作 + +### 练习题 1:复制文件 + +假设你有两个目录:`/home/user/docs` 和 `/home/user/backup`。 + +1. 将`/home/user/docs`目录下的`file1.txt`复制到`/home/user/backup`目录下。 +2. 复制`/home/user/docs`目录下的所有`.txt`文件到`/home/user/backup`目录下。 + +### 练习题 2:复制文件夹及其内容 + +1. 假设`/home/user/photos`是一个包含多个图片文件夹的目录,请复制整个`/home/user/photos`目录及其所有内容到`/home/user/archive`目录下。 + +### 练习题 3:移动文件 + +1. 将`/home/user/docs`目录下的`file2.docx`移动到`/home/user/papers`目录下。 +2. 如果`/home/user/papers`目录下已经有一个名为`file2.docx`的文件,请确保移动操作会询问你是否要覆盖它。 + +### 练习题 4:重命名文件 + +1. 将`/home/user/docs`目录下的`oldname.pdf`重命名为`newname.pdf`。 + +### 练习题 5:结合使用 + +1. 复制`/home/user/docs`目录下的`report.md`到`/home/user/temp`,然后将复制过去的文件重命名为`temp_report.md`。 +2. 将`/home/user/docs`目录下所有以`.doc`结尾的文件移动到`/home/user/processed`,并且如果这些文件在目标目录中已经存在,则不覆盖它们。 + +### 练习题 6:使用通配符 + +1. 复制`/home/user/docs`目录下所有以`.jpg`或`.png`结尾的图片文件到`/home/user/images`目录。 + +### 练习题 7:详细输出 + +1. 使用`cp`命令复制文件时,显示详细的复制信息。 +2. 使用`mv`命令移动文件时,显示详细的移动信息。 + +### 练习题 8:更新文件 + +1. 如果`/home/user/backup`目录中已经有一个与`/home/user/docs`目录下的`file1.txt`同名的文件,并且`/home/user/docs/file1.txt`的内容是更新的,请使用`cp`命令将更新的文件复制到备份目录,并覆盖旧文件(假设你知道旧文件可以被安全地覆盖)。 \ No newline at end of file diff --git "a/34\347\277\237\347\216\211\351\224\237/Linux\347\254\224\350\256\260/2024.05.14 \347\254\254\344\270\200\350\257\276\345\210\251\347\224\250\350\207\252\345\267\261\345\206\231\345\245\275\347\232\204markdown\346\226\207\346\241\243\357\274\214\347\224\237\346\210\220\347\275\221\347\253\231.md" "b/34\347\277\237\347\216\211\351\224\237/Linux\347\254\224\350\256\260/2024.05.14 \347\254\254\344\270\200\350\257\276\345\210\251\347\224\250\350\207\252\345\267\261\345\206\231\345\245\275\347\232\204markdown\346\226\207\346\241\243\357\274\214\347\224\237\346\210\220\347\275\221\347\253\231.md" index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..965ac779ebddfbfee15632cc5798970e499d10c1 100644 --- "a/34\347\277\237\347\216\211\351\224\237/Linux\347\254\224\350\256\260/2024.05.14 \347\254\254\344\270\200\350\257\276\345\210\251\347\224\250\350\207\252\345\267\261\345\206\231\345\245\275\347\232\204markdown\346\226\207\346\241\243\357\274\214\347\224\237\346\210\220\347\275\221\347\253\231.md" +++ "b/34\347\277\237\347\216\211\351\224\237/Linux\347\254\224\350\256\260/2024.05.14 \347\254\254\344\270\200\350\257\276\345\210\251\347\224\250\350\207\252\345\267\261\345\206\231\345\245\275\347\232\204markdown\346\226\207\346\241\243\357\274\214\347\224\237\346\210\220\347\275\221\347\253\231.md" @@ -0,0 +1,65 @@ +以用vitepress为例: + +1. 在D盘创建一个目录,用vs code打开 + +2. 查看打开终端 + +3. npm add -D vitepress // 利用node来安装vitepress + +4. npx vitepress init // 启用vitepress的设置向导 + + 1. ```js + Welcome to VitePress! + │ + ◇ Where should VitePress initialize the config? + │ ./docs + │ + ◇ Site title: + │ 我的笔记我作主 + │ + ◇ Site description: + │ 这是一个用markdown生成的笔记网站 + │ + ◇ Theme: + │ Default Theme + │ + ◇ Use TypeScript for config and theme files? + │ Yes + │ + ◇ Add VitePress npm scripts to package.json? + │ Yes + │ + └ Done! Now run npm run docs:dev and start writing. + ``` + + + +5. npm run docs:dev // 本地预览生成的效果 + +6. 修改index.md可以修改首页的连接 + +7. 修改config可以修改右上角的导航,和左侧的导航 + +8. 将笔记的文档复制到docs目录下的对应子目录 + +9. 利用cmd的tree /F 命令得到所有笔记的文件名,再将 + + 1. ```js + items: [ + { text: 'Markdown Examples', link: '/markdown-examples' }, + { text: 'Runtime API Examples', link: '/api-examples' } + ] + 这种要配置的格式扔给AI,让它整合文件名到这种格式 + ``` + + + +10. 如果你要将笔记放在一个统一的子目录中访问,用在配置文件config中加入一行 + + 'base':'/books/', + +11. npm run docs:build // 将md文件生成html到\docs\.vitepress\dist 目录,想本地预览就执行npm run docs:preview + +12. 登录自己的服务器,使用SSH工具,将dist上传到自己网站的目录 + +13. mv dist books // 将dist改名为books \ No newline at end of file diff --git "a/34\347\277\237\347\216\211\351\224\237/Linux\347\254\224\350\256\260/2024.05.15 \347\254\254\344\272\214\350\257\276\344\275\277\347\224\250Vm .md" "b/34\347\277\237\347\216\211\351\224\237/Linux\347\254\224\350\256\260/2024.05.15 \347\254\254\344\272\214\350\257\276\344\275\277\347\224\250Vm .md" index 965ac779ebddfbfee15632cc5798970e499d10c1..932077442911b8bed88b428abdec9b32b69a6a61 100644 --- "a/34\347\277\237\347\216\211\351\224\237/Linux\347\254\224\350\256\260/2024.05.15 \347\254\254\344\272\214\350\257\276\344\275\277\347\224\250Vm .md" +++ "b/34\347\277\237\347\216\211\351\224\237/Linux\347\254\224\350\256\260/2024.05.15 \347\254\254\344\272\214\350\257\276\344\275\277\347\224\250Vm .md" @@ -1,65 +1,66 @@ -以用vitepress为例: +# Linux基础 -1. 在D盘创建一个目录,用vs code打开 +1. Linux是操作系统的内核,以其为基础会有很多发行版本 -2. 查看打开终端 + 1. RedHat 收费商业版本,Centos 是RedHat的社区版本 很流行 + 2. Debian 命令行为主,Ubantu 是以Debian+桌面皮肤的版本 + 3. 类似显卡的核心,N卡A卡相当于内核,不同商家出的具体的型号的显卡,相当于发行版本 -3. npm add -D vitepress // 利用node来安装vitepress +2. 学习Debian的两种方式 -4. npx vitepress init // 启用vitepress的设置向导 + 1. 安装虚拟机,再安装debian,快照 + 2. 利用阿里云、华为云、腾讯云,也利用快照功能。对服务器进行存档 - 1. ```js - Welcome to VitePress! - │ - ◇ Where should VitePress initialize the config? - │ ./docs - │ - ◇ Site title: - │ 我的笔记我作主 - │ - ◇ Site description: - │ 这是一个用markdown生成的笔记网站 - │ - ◇ Theme: - │ Default Theme - │ - ◇ Use TypeScript for config and theme files? - │ Yes - │ - ◇ Add VitePress npm scripts to package.json? - │ Yes - │ - └ Done! Now run npm run docs:dev and start writing. - ``` - - - -5. npm run docs:dev // 本地预览生成的效果 +3. 准备好 虚拟机VM 17版本+Debian 12.5 64位的ISO文件 -6. 修改index.md可以修改首页的连接 +4. 先安装VM,再创建一个新虚拟机 -7. 修改config可以修改右上角的导航,和左侧的导航 +5. 如何下载一个Debian的安装镜像 https://www.debian.org/ -8. 将笔记的文档复制到docs目录下的对应子目录 +6. 直接在虚拟机操作debian很麻烦,所以想办法,用SSH远程登录它 -9. 利用cmd的tree /F 命令得到所有笔记的文件名,再将 +7. 默认Debian没有安装SSH服务端,自己安装一个 1. ```js - items: [ - { text: 'Markdown Examples', link: '/markdown-examples' }, - { text: 'Runtime API Examples', link: '/api-examples' } - ] - 这种要配置的格式扔给AI,让它整合文件名到这种格式 + apt-get install ssh -y // 需要root权限,安装SSH服务端 + ip addr show // 查看IP地址 + ifconfig // 需要root权限,可以借权sudo + // 以上两步,就可以让我们用普通用户远程登录了,但是默认下root是不可以直接登录的。需对ssh做配置 + + // 为了方便我们编辑文件。安装一个vim编辑器,默认是vi ``` -10. 如果你要将笔记放在一个统一的子目录中访问,用在配置文件config中加入一行 +8. 修改ssh的服务端配置文件/etc/ssh/sshd_config文件 + + ```js + vim /etc/ssh/sshd_config + Port 22// 开启端口22 + PermitRootLogin yes // 允许root登录 + PasswordAuthentication yes // 采用密码验证模式 + PermitEmptyPasswords no // 禁用空密码 + + + // 重启ssh,让修改后的配置生效 + systemctl restart ssh + // /etc/init.d/ssh restart 同上的效果 + ``` - 'base':'/books/', + -11. npm run docs:build // 将md文件生成html到\docs\.vitepress\dist 目录,想本地预览就执行npm run docs:preview +9. 如何借用root权限 -12. 登录自己的服务器,使用SSH工具,将dist上传到自己网站的目录 + 1. ```js + 1. 安装sudo + apt-get install sudo -y + 2. 将普通用户名加入 + vim /etc/sudoers + ## + ## Allow root to run any commands anywhere + root ALL=(ALL) ALL + 用户名 ALL=(ALL) ALL + + ``` -13. mv dist books // 将dist改名为books \ No newline at end of file + 2. 重新登录普通用户,就可以使用sudo功能 \ No newline at end of file diff --git "a/34\347\277\237\347\216\211\351\224\237/Linux\347\254\224\350\256\260/2024.05.18 \347\254\254\344\270\211\350\257\276Linux\346\226\207\344\273\266\347\263\273\347\273\237\347\273\223\346\236\204 .md" "b/34\347\277\237\347\216\211\351\224\237/Linux\347\254\224\350\256\260/2024.05.18 \347\254\254\344\270\211\350\257\276Linux\346\226\207\344\273\266\347\263\273\347\273\237\347\273\223\346\236\204 .md" new file mode 100644 index 0000000000000000000000000000000000000000..06d47f339ff3fb3a7067d557ecf5ec48c2bd0732 --- /dev/null +++ "b/34\347\277\237\347\216\211\351\224\237/Linux\347\254\224\350\256\260/2024.05.18 \347\254\254\344\270\211\350\257\276Linux\346\226\207\344\273\266\347\263\273\347\273\237\347\273\223\346\236\204 .md" @@ -0,0 +1,25 @@ +Debian Linux采用了典型的Linux文件系统结构,以下是其主要目录结构: + +```csharp +/ # 这是文件系统的起点。所有的目录和文件都从这里开始。 +├── bin # 常规执行程序的存放位置,普通用户 +├── boot # 包含引导加载程序和内核文件 +├── dev # 包含设备文件 +├── etc # 存放系统配置文件 +├── home # 普通用户的家目录所在地 +├── lib # 存放系统库文件 +├── media # 用于挂载可移动介质的挂载点 +├── mnt # 用于手动挂载临时文件系统的挂载点 mount +├── opt # 可选的第三方软件包的安装目录 +├── proc # 虚拟文件系统,提供有关系统和运行进程的信息 +├── root # root用户的家目录 +├── run # 运行时临时文件目录 +├── sbin # 存放系统管理员需要的系统管理命令 +├── srv # 存放服务的数据目录 +├── sys # 包含虚拟文件系统,如文件系统相关的信息和统计数据 +├── tmp # 临时文件目录 a +├── usr # 包含大部分用户安装的程序和文件 +├── var # 包含经常变化的文件,如日志文件、缓存文件等 +└── lost+found# 文件系统检查程序将损坏的文件片段放置在此处 +``` + diff --git "a/34\347\277\237\347\216\211\351\224\237/Linux\347\254\224\350\256\260/2024.05.21 \347\254\254\345\233\233\350\257\27605.18 \344\275\234\344\270\232\350\257\246\350\247\243.md" "b/34\347\277\237\347\216\211\351\224\237/Linux\347\254\224\350\256\260/2024.05.21 \347\254\254\345\233\233\350\257\27605.18 \344\275\234\344\270\232\350\257\246\350\247\243.md" new file mode 100644 index 0000000000000000000000000000000000000000..6c713c3b24adafb87c7ba2edcfcdf2c00ff3728e --- /dev/null +++ "b/34\347\277\237\347\216\211\351\224\237/Linux\347\254\224\350\256\260/2024.05.21 \347\254\254\345\233\233\350\257\27605.18 \344\275\234\344\270\232\350\257\246\350\247\243.md" @@ -0,0 +1,56 @@ +1. 新建一个用户,密码设置 + 1. useradd 全程要用户指定对应的选项和参数 + 2. useradd 用户名 + 3. passwd 用户名 + 1. useradd 创建的用户,需要详细的选项来修正,默认缺少家目录,也没有bash的shell可用 + 2. 解决方法 + 1. -m 生成家目录 + 2. -s /bin/bash 设置bash为新用户的shell + 4. 另一个高级命令 adduser,自动创建家目录,及对话形式建立相关参数 +2. 以刚建的用户登录,操作以下 + 1. 单独新建一个客户端连接 + 2. 直接使用su命令切换到新用户:su 要切换的用户名 +3. 使用命令,在自己的家目录,以以下层次依次建立文件夹 + 1. 国家 + 1. 省份 + 1. 市 + 1. 县(区) + 1. 镇(街道) + 1. 村(小区) + 1. 姓名 + 2. mkdir 文件夹名,新建文件夹,如果要连同父级目录一起创建就加上-p这个选项 + 1. -p的效果是,有则忽略无则创建,而不报错 +4. 在姓名文件夹,建立一个自己的学号姓名文件 + 1. 直接创建一个空文件 + 1. 使用vim进行编辑 + 2. vim的三种模式 + 1. 普通模式:不能编辑,默认的模式,可直接接收按钮指令 + 2. 编辑模式:在普通指定下i,进行文字的相关编辑,按ESC退回到普通模式 + 3. 命令行模式:通过命令执行保存(write) ,退出(quit),强制执行(!) + 1. 在普通模式,在英文输入法的状态下,按下Shift+:号,进入命令行模式(末行模式) + 2. 如何退出命令行模式,也是ESC + 2. 打开一个编辑器,新建文件 + 1. vim + 2. 默认编辑器 nano + 3. 复制一个文件,改一改 + 4. 在bash中,按一次tab自动识别文件的唯一性,只有一个,就自动显示,或者将共同部分显示 + 5. 如果不太一样,不确定唯一性,就要按两次tab,会显示所有可选项 +5. 在这个文件中,写一篇不少于400字的日记 +6. 最后,将国家这个文件夹打包,同时练习怎么解压 + 1. 打包 tar -cvf 打包后的名 要打包的文件或目录(可以多个),显示过程 + 2. 解包 tar -xvf 要解包的文件名 + 3. 压缩 gzip 压缩文件 + 4. 解压 gunzip 解压缩 + 5. tar和gzip一起使用 : + 1. tar -cvzf 打包并压缩 + 2. tar -xzvf 解压并解包 + 6. && 可以连接多个命令的执行 +7. 使用命令将这个压缩包下载到本地电脑【不能用shell里自带的下载功能】 + 1. scp要在本地执行 + 1. 下载:scp 用户名@主机IP:/要下载的具体文件路径 本地电脑的目录 + 2. scp cxw01@172.16.90.73:/home/cxw01/big.tar.gz d:/ + 3. 上传:scp 本地电脑文件的路径 用户名@主机IP:/要上传到的文件目录 + 4. scp d:/补充说明.jpg cxw01@172.16.90.73:/home/cxw01/1314/ + 2. sftp 也可以实现 ,用法类似SSH + 1. 操作都要进入对应的目录,不管是远程还是本地 + 2. get是下载,put是上传,后面直接用文件名 \ No newline at end of file diff --git "a/34\347\277\237\347\216\211\351\224\237/Linux\347\254\224\350\256\260/2024.05.22 \347\254\254\344\272\224\350\257\276Linux\346\226\207\344\273\266\347\256\241\347\220\206\345\221\275\344\273\244.md" "b/34\347\277\237\347\216\211\351\224\237/Linux\347\254\224\350\256\260/2024.05.22 \347\254\254\344\272\224\350\257\276Linux\346\226\207\344\273\266\347\256\241\347\220\206\345\221\275\344\273\244.md" new file mode 100644 index 0000000000000000000000000000000000000000..ff6c202751a4feaa94f2d3662d08f037f99a9c6a --- /dev/null +++ "b/34\347\277\237\347\216\211\351\224\237/Linux\347\254\224\350\256\260/2024.05.22 \347\254\254\344\272\224\350\257\276Linux\346\226\207\344\273\266\347\256\241\347\220\206\345\221\275\344\273\244.md" @@ -0,0 +1,39 @@ +## Linux文件管理命令 l:lemon: + +1.**ls** 列出目录内容 + +```js +ls #列出当前目录下的文件和目录 + ls 文件夹A #列出指定目录文件夹A下的文件和目录 + ls -d 文件夹A # 列出文件夹A本身的信息,而不是其它下面的目录和内容 + ls -a # all 列出当前目录下的所有文件和目录,包括隐藏文件/目录 + ls -l #以长格式列出当前目录下的文件和目录,包括权限、所有者、组、大小、创建日期等信息 + ls -h # 以易读的方式列出当前目录下的文件和目录,将文件大小以KB、MB\GB等单位表示 + ls -t # t->time 根据修改时间排序列出当前目录下的文件和目录 .默认是大到小 + ls -r # r -> reverse 反向排序列出当前目录下的文件和目录 + ls -S # S -> Size 根据文件大小排序列出当前目录下的文件和目录 + ls -R # 递归列出当前目录及其子目录下的所有文件和目录 + ls --color # --color(英文全拼:colorize 给着色 ) + # 以不同颜色区分不同类型的文件,例如蓝色表示目录、绿色表示可执行文件等 +``` + +2.**rm** + +```js + rm -i 文件名 # 删除指定的文件,删除前会询问是否删除(y 确认,n 取消)。 + rm -f 文件名 # 强制删除指定的文件,不会进行询问。 + rm -f a.txt b.txt # 同时删除多个文件:可以在命令中添加多个文件名,用空格分隔,如 。 + # mkdir,touch等操作也支持一次性操作多个目标。都是用空格隔开 + rm -f a* # 删除所有以 a 开头的文件 ;删除以特定字符或模式开头的文件:使用通配符* 。 + rm -f .* # 删除隐藏文件:使用 .*,如 (但请注意,这可能会删除当前目录下的所有隐藏文件,包括 . 和 ..,所以请谨慎使用)。 + ## 扩展 + mv example.txt .example.txt # 隐藏文件 + mv mydir .mydir # 隐藏目录 + # ------------------- 删除目录 ------------------- + rmdir 目录名 # 仅删除空的目录。 + rm -r 目录名 # 递归地删除目录及其子目录和文件,删除前会询问是否删除。 + rm -rf 目录名 # 递归地强制删除目录及其子目录和文件,不会进行询问。 + rm -rfv 目录名 # 除了递归强制删除外,还会显示删除的详细步骤。 + rm -d 目录名 # 只删除空目录(与 rmdir 命令类似)。 +``` + diff --git "a/34\347\277\237\347\216\211\351\224\237/Linux\347\254\224\350\256\260/2024.05.24 \347\254\254\345\205\255\350\257\276Linux\346\226\207\344\273\266\347\256\241\347\220\206\345\221\275\344\273\2442.md" "b/34\347\277\237\347\216\211\351\224\237/Linux\347\254\224\350\256\260/2024.05.24 \347\254\254\345\205\255\350\257\276Linux\346\226\207\344\273\266\347\256\241\347\220\206\345\221\275\344\273\2442.md" new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git "a/34\347\277\237\347\216\211\351\224\237/Linux\347\254\224\350\256\260/2024.05.25 \347\254\254\344\270\203\350\257\276\347\233\270\345\257\271\350\267\257\345\276\204\345\222\214\347\273\235\345\257\271\350\267\257\345\276\204.md" "b/34\347\277\237\347\216\211\351\224\237/Linux\347\254\224\350\256\260/2024.05.25 \347\254\254\344\270\203\350\257\276\347\233\270\345\257\271\350\267\257\345\276\204\345\222\214\347\273\235\345\257\271\350\267\257\345\276\204.md" new file mode 100644 index 0000000000000000000000000000000000000000..aa9cb4ede79f2779495ee1f29da14ce492118701 --- /dev/null +++ "b/34\347\277\237\347\216\211\351\224\237/Linux\347\254\224\350\256\260/2024.05.25 \347\254\254\344\270\203\350\257\276\347\233\270\345\257\271\350\267\257\345\276\204\345\222\214\347\273\235\345\257\271\350\267\257\345\276\204.md" @@ -0,0 +1,41 @@ +## 绝对路径 + +1. 定义:从根目录 **/** 开始的完整路径,用于确定文件或目录位置 + +2. 特点: + + * 以 **/** 开头 + + * 与当前工作目录无关 + + ```js + 例如:/home/user/documents/file.txt` + /usr/local/bin` + ``` + + + +## 相对路径 + +1. 相对于当前工作目录的路径,用于在当前目录的基础上指向文件或目录 +2. 特点: + * 不以 **/** 开头 + * 依赖于当前工作目录 + +3. 特殊符号: + + * `.` 表示当前目录 ./ + + * **. .**表示上一级目录../ + + ``` js + 例如:documents/file.txt` (假设当前目录是 `/home/user`) + ../user/file.txt` (假设当前目录是 `/home/user/documents`) + ``` + + + +## 总结 + +- **绝对路径**始终从根目录开始,适合在需要唯一标识文件或目录位置时使用。 +- **相对路径**从当前工作目录出发,适合在命令行交互和项目内部文件操作时使用。 \ No newline at end of file