diff --git a/README.en.md b/README.en.md deleted file mode 100644 index 7ecb642315b1305938427e7c7924cb8aa64f86f2..0000000000000000000000000000000000000000 --- a/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# Linux基础 - -#### Description -{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**} - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md deleted file mode 100644 index cda094fa37a081f0932af0bd52dc12718d684b00..0000000000000000000000000000000000000000 --- a/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# Linux基础 - -#### 介绍 -{**以下是 Gitee 平台说明,您可以替换此简介** -Gitee 是 OSCHINA 推出的基于 Git 的代码托管平台(同时支持 SVN)。专为开发者提供稳定、高效、安全的云端软件开发协作平台 -无论是个人、团队、或是企业,都能够用 Gitee 实现代码托管、项目管理、协作开发。企业项目请看 [https://gitee.com/enterprises](https://gitee.com/enterprises)} - -#### 软件架构 -软件架构说明 - - -#### 安装教程 - -1. xxxx -2. xxxx -3. xxxx - -#### 使用说明 - -1. xxxx -2. xxxx -3. xxxx - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - - -#### 特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 -5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git "a/\347\254\224\350\256\260/Linux\347\233\256\345\275\225\347\273\223\346\236\204.md" "b/\347\254\224\350\256\260/Linux\347\233\256\345\275\225\347\273\223\346\236\204.md" new file mode 100644 index 0000000000000000000000000000000000000000..6186c16082a50eaeecc0c4c6556ab77a64eafd04 --- /dev/null +++ "b/\347\254\224\350\256\260/Linux\347\233\256\345\275\225\347\273\223\346\236\204.md" @@ -0,0 +1,290 @@ +# Linux目录结构 + +```html + Linux的几个原则 +1.严格区分大小写 +2.一切根源就是/ +3.写命令等,不要漏掉空格 +4.有严格的权限之分,安全性好 +5.Linux里一切皆文件 +``` + +```html +1.bin:#常规执行程序的存放位置,普通用户 +2.dev:#包含设备文件 +3.etc:#存放系统配置文件 +4.root:#root用户的家目录 +5.var:#包含经常变化的文件,如日志文件、缓存文件 +6.home:#普通用户的家目录 +``` + +```html +1.目录是Linux文件系统的根目录,包含了整个文件系统的基础结构 +2.bas 环境变量 +``` + +```html +1.echo命令在Linux中用于标准输出设备上显示一行文本。这个命令不仅用来显示文本,还可以插入环境变量的值,echo是向终端输出文本的工具 +2.语法:echo[选项][字符串] +``` + +```html +1.环境变量:定义系统 shell 会话和程序行为的键值对。它们使系统管理员可以轻松地在应用程序和用户之间共享和区分配置。 +2.Linux常用的环境变量:path,home,user,shell,lang,term,pwd +3.变量分为环境变量和shell变量 +``` + + + +````html +## Debian Linux 目录结构简介 + +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# 文件系统检查程序将损坏的文件片段放置在此处 +``` + +现在我们来逐一解释每个目录的作用,并给出相应的示例。 + +# Linux文件系统目录结构 + +## / + +`/` 目录是Linux文件系统的根目录,包含了整个文件系统的基础结构。 + +### /bin + +`/bin` 目录是“binary”的缩写,存放着系统启动时需要的最基本的命令。这些命令通常是所有用户都需要的,因此放在这个目录下。它包含一些最常用的命令,如 `ls`、`cp`、`mv` 等,用于列出目录内容、复制文件、移动文件等常见操作。程序的成品目录。===》源码--》编译得到二进制的成品 + +#### 示例 + +```bash +/bin/ls # 列出当前目录内容 +/bin/cp # 复制文件 +/bin/mv # 移动文件 +``` + +------ + +### /boot + +`/boot` 目录包含了引导加载程序以及内核文件。在系统启动时,计算机首先加载引导加载程序,然后引导加载程序再加载内核文件,从而启动操作系统。 + +#### 示例 + +```bash +/boot/grub/ # 存放 GRUB 引导加载程序相关文件 +/boot/vmlinuz-5.10.0-10-amd64 # Linux 内核文件 +``` + +### /dev + +`/dev` 目录包含了设备文件,这些文件用于与系统中的硬件设备进行通信。在Linux中,一切皆文件,因此硬件设备也被抽象为文件的形式存在于 `/dev` 目录中。 + +#### 示例 + +```bash +/dev/sda # 硬盘设备文件 +/dev/ttyUSB0 # USB 串行设备文件 +``` + +### /etc + +`/etc` 目录存放系统的配置文件。这些配置文件包括各种应用程序、服务以及系统本身的配置信息,如网络配置、软件包管理器配置等。 + +#### 示例 + +```bash +/etc/network/interfaces # 网络接口配置文件 +/etc/apt/sources.list # APT 软件源配置文件 +/etc/nginx/nginx.conf # nginx软件配置文件 +/etc/ssh/sshd_config # sshd服务端配置文件 +``` + +### /home + +`/home` 用户的家目录,每个用户都有一个以其用户名命名的目录。每个用户都有一个独立的家目录,用于存放其个人文件和设置。 + +#### 示例 + +```bash +/home/user1/ # 用户1的家目录 +/home/user2/ # 用户2的家目录 +``` + +### /lib + +`/lib` 目录存放着系统所需的共享库文件,这些库文件为系统运行时所必需的。在系统启动过程中,引导加载程序会加载这些共享库,以便其他程序能够正常运行。 + +#### 示例 + +```bash +/lib/x86_64-linux-gnu/libc.so.6 # C标准库 +/lib/x86_64-linux-gnu/libm.so.6 # 数学库 +``` + +### /media + +`/media` 目录是用于挂载可移动介质的挂载点。当插入可移动介质(如USB闪存驱动器、光盘等)时,系统会将其挂载到此目录下,用户可以通过该目录访问其内容。 + +#### 示例 + +```bash +/media/usb/ # 挂载 USB 闪存驱动器 +/media/cdrom/ # 挂载光盘 +``` + +### /mnt + +`/mnt` 目录是用于手动挂载临时文件系统的挂载点。通常情况下,可移动介质等临时挂载的文件系统会被挂载到 `/media` 目录下,而 `/mnt` 目录则用于手动挂载其他临时文件系统,如远程文件系统等。 + +#### 示例 + +```bash +/mnt/remote_fs/ # 手动挂载远程文件系统 +``` + +### /opt + +`/opt` 目录是可选的第三方软件包的安装目录。一些软件包可能选择将其安装到 `/opt` 目录下,而不是 `/usr` 目录下,以便更好地管理。 + +#### 示例 + +```bash +/opt/google/chrome/ # Google Chrome 浏览器安装目录 +``` + +### /proc + +`/proc` 目录是一个虚拟文件系统,它提供了有关系统和运行进程的信息。在 `/proc` 目录下,每个运行的进程都有一个对应的子目录,其中包含了有关该进程的详细信息。 + +#### 示例 + +```bash +/proc/cpuinfo # CPU 信息 +/proc/meminfo # 内存信息 +``` + +### /root + +`/root` 目录是root用户的家目录。与普通用户的家目录类似,root用户也有一个独立的家目录,用于存放其个人文件和设置。 + +#### 示例 + +```bash +/root/ # root 用户的家目录 +``` + +### /run + +`/run` 目录是一个运行时临时文件目录,用于存放系统启动过程中产生的临时文件以及运行时需要的其他临时文件。 + +#### 示例 + +```bash +/run/user/1000/ # 用户1000的运行时临时文件目录 +``` + +### /sbin + +`/sbin` 目录存放着系统管理员需要的系统管理命令。与 `/bin` 目录类似,但 `/sbin` 目录中的命令通常只能由系统管理员或具有管理员权限的用户执行。 + +#### 示例 + +```bash +/sbin/reboot # 重启系统命令 +/sbin/ifconfig # 配置网络接口命令 +``` + +### /srv + +`/srv` 目录存放着服务的数据目录。一些服务可能会将其数据文件存放在 `/srv` 目录下,以便更好地管理和组织。 + +#### 示例 + +```bash +/srv/www/ # Web 服务器数据目录 +``` + +### /sys + +`/sys` 目录包含了一个虚拟文件系统,用于提供关于系统硬件设备的信息以及与这些设备的交互接口。与 `/proc` 目录类似,但 `/sys` 目录提供的信息更加详细和底层。 + +#### 示例 + +```bash +/sys/class/net/eth0/ # 网络接口 eth0 的相关信息 +``` + +### /tmp + +`/tmp` 目录是一个临时文件目录,用于存放临时文件。该目录中的文件通常在系统重启后会被删除,因此适合存放一些临时性的数据。 + +#### 示例 + +```bash +/tmp/tmpfile.txt # 临时文件 +``` + +### /usr + +`/usr` 目录包含了大部分用户安装的程序和文件。该目录下包含了各种应用程序、库文件、帮助文档等,是系统中最常用的目录之一。 + +#### 示例 + +```bash +/usr/bin/ # 用户可执行文件目录 +/usr/lib/ # 库文件目录 +/usr/share/doc/ # 文档目录 +``` + +### /var + +`/var` 目录包含了经常变化的文件,如日志文件、缓存文件、临时文件等。这些文件通常是由系统或运行中的服务产生的,因此需要定期清理和管理。 + +#### 示例 + +```bash +/var/log/syslog # 系统日志文件 +/var/cache/apt/archives/ # APT 软件包缓存目录 +``` + +------ + +### /lost+found + +- 当文件系统被fsck(文件系统一致性检查工具)修复时,找到的孤立的文件片段会被存放在这里。 + +总的来说,Debian Linux的目录结构与通用的Linux文件系统目录结构基本相同,但可能会有一些特定于Debian的细微差异。 + +**例如:** + +```bash +/etc/apt/ # Debian软件包管理工具APT的配置文件目录。 +/var/log/ # Debian系统的日志文件目录。 +/var/cache/apt/ # APT软件包缓存目录。 +/usr/share/doc/ # Debian安装的软件包的文档目录。 +``` + + +```` \ No newline at end of file diff --git "a/\347\254\224\350\256\260/\345\246\202\344\275\225\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/\347\254\224\350\256\260/\345\246\202\344\275\225\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" new file mode 100644 index 0000000000000000000000000000000000000000..031974bdef82f515b81e655aebb7f46a576ba4cb --- /dev/null +++ "b/\347\254\224\350\256\260/\345\246\202\344\275\225\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,74 @@ +# 如何利用自己写好的markdown文档,生成网站 + +准备工作: + +1. 有md格式文档,(你们的笔记) +2. 需要一些可以用md文件生成静态html文档的工具,vitepress,或markdownpro + + + +以用vitepress为例: + +1. 在D盘创建一个目录,用vs code打开 + +2. 查看打开终端 + +5. npm add -D vitepress // 利用node来安装vitepress + +7. 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. + ``` + + + +8. npm run docs:dev // 本地预览生成的效果 + +9. 修改index.md可以修改首页的连接 + +10. 修改config可以修改右上角的导航,和左侧的导航 + +11. 将笔记的文档复制到docs目录下的对应子目录 + +12. 利用cmd的tree /F 命令得到所有笔记的文件名,再将 + + 1. ```js + items: [ + { text: 'Markdown Examples', link: '/markdown-examples' }, + { text: 'Runtime API Examples', link: '/api-examples' } + ] + 这种要配置的格式扔给AI,让它整合文件名到这种格式 + ``` + + + +13. 如果你要将笔记放在一个统一的子目录中访问,用在配置文件config中加入一行 + + 'base':'/books/', + +14. npm run docs:build // 将md文件生成html到\docs\.vitepress\dist 目录,想本地预览就执行npm run docs:preview + +15. 登录自己的服务器,使用SSH工具,将dist上传到自己网站的目录 + +16. mv dist books // 将dist改名为books \ No newline at end of file diff --git "a/\347\254\224\350\256\260/\346\234\254\345\234\260 \344\273\245\345\217\212\346\226\207\344\273\266\345\244\271 \347\256\241\347\220\206 \345\222\214 \346\226\207\344\273\266\344\270\213\350\275\275\345\210\260\346\234\254\345\234\260.md" "b/\347\254\224\350\256\260/\346\234\254\345\234\260 \344\273\245\345\217\212\346\226\207\344\273\266\345\244\271 \347\256\241\347\220\206 \345\222\214 \346\226\207\344\273\266\344\270\213\350\275\275\345\210\260\346\234\254\345\234\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..fc4d46c79d0e66123cdd6ab1f10d09e43bd8eb3c --- /dev/null +++ "b/\347\254\224\350\256\260/\346\234\254\345\234\260 \344\273\245\345\217\212\346\226\207\344\273\266\345\244\271 \347\256\241\347\220\206 \345\222\214 \346\226\207\344\273\266\344\270\213\350\275\275\345\210\260\346\234\254\345\234\260.md" @@ -0,0 +1,167 @@ +## 本地 以及文件夹 管理 和 文件保存传输 + +**scp(安全复制)**: + +- 上传文件到远程服务器 + + : + + - 命令格式:`scp [本地文件路径] [用户名]@[远程服务器IP]:[目标路径]` + - 示例:`scp /home/user/document.txt user@example.com:/home/backup/` + +- 从远程服务器下载文件到本地 + + : + + - 命令格式:`scp [用户名]@[远程服务器IP]:[目标文件路径] [本地文件路径]` + - 示例:`scp user@example.com:/home/backup/document.txt /home/user/downloads/` + +- 递归复制目录 + + :使用 + + + + ``` + -r + ``` + + + + 选项来复制目录及其内容。 + + - 命令格式:`scp -r [本地目录路径] [用户名]@[远程服务器IP]:[目标路径]` + - 示例:`scp -r /home/user/my_folder user@example.com:/home/backup/` + +**sftp(安全文件传输协议)**: + +- 启动 sftp 会话 + + : + + - 命令格式:`sftp [用户名]@[远程服务器IP]` + - 示例:`sftp user@example.com` + +- 上传文件到远程服务器 + + : + + - 命令格式:`put [本地文件路径] [目标路径]` + - 示例:`put /home/user/document.txt /home/backup/` + +- 从远程服务器下载文件到本地 + + : + + - 命令格式:`get [目标文件路径] [本地文件路径]` + - 示例:`get /home/backup/document.txt /home/user/downloads/` + +- 递归复制目录 + + :使用 + + + + ``` + put -r + ``` + + + + 或 + + + + ``` + get -r + ``` + + + + 来复制目录及其内容。 + + - 命令格式:`put -r [本地目录路径] [目标路径]` 或 `get -r [目标目录路径] [本地目录路径]` + - 示例:`put -r /home/user/my_folder /home/backup/` 或 `get -r /home/backup/my_folder /home/user/downloads/` + +需要注意的是,在使用这两个命令时,需要确保远程服务器上的SSH服务是开启的,并且你有权限访问该服务器 此外,这些命令都是基于 SSH 的身份验证,因此在使用过程中会要求输入远程服务器的密码或者使用密钥进行身份验证 + +## 基本命令 + +1. 创建文件夹(目录):`mkdir` + - 用法:`mkdir [文件夹名称]` + - 示例:`mkdir my_folder`(创建一个名为my_folder的文件夹) +2. 删除文件夹:`rmdir` + - 用法:`rmdir [文件夹名称]` + - 示例:`rmdir my_folder`(删除名为my_folder的文件夹) +3. 列出文件夹内容:`ls` + - 用法:`ls [文件夹路径]` + - 示例:`ls /home/user/my_folder`(列出my_folder文件夹的内容) +4. 更改当前工作目录:`cd` + - 用法:`cd [目标文件夹路径]` + - 示例:`cd /home/user/my_folder`(切换到my_folder文件夹) +5. 下载文件:`wget` + - 用法:`wget [文件URL]` + - 示例:`wget http://example.com/file.txt`(从example.com下载file.txt文件到当前工作目录) +6. 移动文件或文件夹:`mv` + - 用法:`mv [源文件或文件夹路径] [目标文件或文件夹路径]` + - 示例:`mv /home/user/my_folder /home/user/new_folder`(将my_folder文件夹移动到new_folder文件夹) +7. 复制文件或文件夹:`cp` + - 用法:`cp [源文件或文件夹路径] [目标文件或文件夹路径]` + - 示例:`cp /home/user/my_folder /home/user/new_folder`(复制my_folder文件夹到new_folder文件夹) +8. 重命名文件或文件夹:`mv` + - 用法:`mv [原文件或文件夹名] [新文件或文件夹名]` + - 示例:`mv my_folder new_folder`(将my_folder文件夹重命名为new_folder) +9. 查看文件内容:`cat`、`more`、`less` + - 用法:`cat [文件路径]`、`more [文件路径]`、`less [文件路径]` + - 示例:`cat /home/user/file.txt`(查看file.txt文件的内容) +10. 编辑文件:`vi`、`nano`、`gedit`等 + - 用法:`vi [文件路径]`、`nano [文件路径]`、`gedit [文件路径]`等 + - 示例:`vi /home/user/file.txt`(使用vi编辑器打开file.txt文件进行编辑) +11. 查找文件:`find` + - 用法:`find [搜索路径] -name [文件名]` + - 示例:`find /home/user -name file.txt`(在/home/user目录下查找名为file.txt的文件) +12. 统计文件大小:`du` + - 用法:`du [文件或文件夹路径]` + - 示例:`du /home/user/my_folder`(查看my_folder文件夹的大小) +13. 查看磁盘空间:`df` + - 用法:`df -h` + - 示例:`df -h`(以人类可读的格式显示磁盘空间信息) +14. 挂载U盘或其他设备:`mount` + - 用法:`mount [设备路径] [挂载点]` + - 示例:`mount /dev/sdb1 /mnt/usb`(将U盘挂载到/mnt/usb目录下) +15. 卸载U盘或其他设备:`umount` + - 用法:`umount [挂载点]` + - 示例:`umount /mnt/usb`(卸载挂载在/mnt/usb目录下的设备) + + + +## 拓展 wget + +1. 下载文件:`wget` + - 用法:`wget [文件URL]` + - 示例:`wget http://example.com/file.txt`(从example.com下载file.txt文件到当前工作目录) +2. 下载并覆盖已存在的同名文件:`-O` + - 用法:`wget -O [目标文件名] [文件URL]` + - 示例:`wget -O local_file.txt http://example.com/file.txt`(将example.com上的file.txt文件下载并保存为local_file.txt) +3. 指定下载文件的保存路径:`-P` + - 用法:`wget -P [文件夹路径] [文件URL]` + - 示例:`wget -P /home/user/downloads http://example.com/file.txt`(将example.com上的file.txt文件下载到/home/user/downloads文件夹) +4. 断点续传:`-c` + - 用法:`wget -c [文件URL]` + - 示例:`wget -c http://example.com/large_file.zip`(从example.com下载large_file.zip文件,支持断点续传) +5. 显示下载进度:`-v` + - 用法:`wget -v [文件URL]` + - 示例:`wget -v http://example.com/file.txt`(从example.com下载file.txt文件,并在终端显示详细的下载进度信息) +6. 后台下载:`-b` + - 用法:`wget -b [文件URL]` + - 示例:`wget -b http://example.com/large_file.zip`(在后台下载example.com上的large_file.zip文件) +7. 限制下载速度:`--limit-rate=<速率>` + - 用法:`wget --limit-rate=<速率> [文件URL]` + - 示例:`wget --limit-rate=100k http://example.com/file.txt`(以100KB/s的速度下载example.com上的file.txt文件) +8. 下载整个网站:`-m` 或 `--mirror` + - 用法:`wget -m [网站URL]` 或 `wget --mirror [网站URL]` + - 示例:`wget -m http://example.com` 或 `wget --mirror http://example.com`(下载整个example.com网站的内容) +9. 递归下载深度:`-r` 或 `--recursive` + - 用法:`wget -r [网站URL]` 或 `wget --recursive [网站URL]` + - 示例:`wget -r http://example.com` 或 `wget --recursive http://example.com`(递归下载example.com网站上的所有资源) + diff --git "a/\347\254\224\350\256\260/\347\224\250\346\210\267 \345\222\214\346\226\207\344\273\266\347\233\256\345\275\225 \346\226\207\344\273\266\345\244\271.md" "b/\347\254\224\350\256\260/\347\224\250\346\210\267 \345\222\214\346\226\207\344\273\266\347\233\256\345\275\225 \346\226\207\344\273\266\345\244\271.md" new file mode 100644 index 0000000000000000000000000000000000000000..8fe2f56cc43656b0db6ab9839b7a6f4e5626b73e --- /dev/null +++ "b/\347\254\224\350\256\260/\347\224\250\346\210\267 \345\222\214\346\226\207\344\273\266\347\233\256\345\275\225 \346\226\207\344\273\266\345\244\271.md" @@ -0,0 +1,105 @@ +## 用户 和文件目录 文件夹 + +1. **创建新的空文件(touch)** + - 用法:`touch 文件名` + - 示例:`touch document.txt` +2. **创建新目录(mkdir)** + - 用法:`mkdir [选项] 目录名` + - 示例:`mkdir new_folder` + - 递归创建多级目录:`mkdir -p folder/subfolder` +3. **创建并切换到新目录(mkdir & cd)** + - 用法:`mkdir 目录名 && cd 目录名` + - 示例:`mkdir project && cd project` +4. **在当前目录下创建新文件(vi/vim)** + - 用法:`vi 文件名` 或 `vim 文件名` + - 开始编辑后,按 `i` 进入插入模式,输入内容后按 `ESC`,然后输入 `:wq` 保存并退出。 + +### 管理文件和目录 + +1. **列出目录内容(ls)** + - 用法:`ls [选项] 目录` + - 示例:`ls -l` 显示详细列表;`ls -a` 显示隐藏文件。 +2. **复制文件或目录(cp)** + - 用法:`cp [选项] 源路径 目标路径` + - 示例:`cp file1.txt file2.txt` 复制文件;`cp -r folder1 folder2` 复制文件夹。 +3. **移动或重命名文件/目录(mv)** + - 用法:`mv [选项] 源路径 目标路径` + - 示例:`mv oldname.txt newname.txt` 重命名文件;`mv folder1 new_folder1` 移动或重命名文件夹。 +4. **删除文件(rm)** + - 用法:`rm [选项] 文件...` + - 示例:`rm document.txt` 删除文件;`rm -r folder` 删除文件夹及其内容。 +5. **删除空目录(rmdir)** + - 用法:`rmdir 目录名` + - 示例:`rmdir empty_folder` + +### 创建新用户 + +1. **创建新用户(useradd)** + + - 用法:`sudo useradd -m -s /bin/bash 用户名` + - 示例:`sudo useradd -m -s /bin/bash newuser` + - 说明:`-m` 创建用户的家目录;`-s /bin/bash` 指定默认shell。 + +2. **设置用户密码(passwd)** + + - 用法:`sudo passwd 用户名` + - 示例:`sudo passwd newuser` + - 说明:为用户设置密码。 + +3. **删除用户(userdel)** + + - 用法:`sudo userdel -r 用户名` + + - 示例:`sudo userdel -r newuser` + + - 说明:`-r` 删除用户的家目录。 + + + + + + ## 基础命令 + + + + + + 1. **切换目录(cd)**:用于改变当前工作目录到指定目录。 + + - `cd /` 切换到根目录。 + - `cd ~` 切换到用户的主目录。 + - `cd ..` 切换到当前目录的上级目录。 + + 1. **查看目录内容(ls)**:列出指定目录的内容,包括文件和子目录。 + + - `ls` 默认查看当前所处文件夹内容。 + - `ls -l` 以长格式列出详细信息。 + - `ls -a` 包括隐藏文件在内的所有文件。 + + 1. **创建链接文件(ln)**:创建硬链接或符号链接到现有文件或目录。 + + - `ln [选项] 源文件 目标文件` 创建指向源文件的链接文件。 + + 1. **显示当前目录路径(pwd)**:打印当前工作目录的全路径名称。 + + - `pwd` 显示当前目录的绝对路径。 + + 1. **目录操作(mkdir, rmdir)**:用于创建和删除目录。 + + - `mkdir [选项] 目录...` 创建目录。 + - `rmdir [选项] 目录...` 删除空目录。 + + 1. **文件操作(touch, rm, cat等)**:用于创建、删除和查看文件内容。 + + - `touch [选项] 文件...` 创建新的空文件或更新已有文件的时间戳。 + - `rm [选项] 文件...` 删除文件或目录。 + - `cat [选项] 文件...` 查看文件内容。 + + 1. **复制和移动文件(cp, mv)**:用于复制文件或目录以及移动(重命名)文件或目录。 + + - `cp [选项] 源文件 目标文件` 复制文件或目录。 + - `mv [选项] 源文件... 目标文件` 移动或重命名文件或目录。 + + 1. **查找文件(find)**:在目录树中递归地搜索匹配的文件,并执行指定的操作。 + + - `find [路径] [表达式]` 搜索指定路径下满足表达式的文件。 \ No newline at end of file