diff --git "a/\345\247\234\344\274\237\345\261\261/20240514 Linux.md" "b/\345\247\234\344\274\237\345\261\261/20240514 Linux.md" new file mode 100644 index 0000000000000000000000000000000000000000..92ab509ffe89fdf730a019e1ea423446e7387d0f --- /dev/null +++ "b/\345\247\234\344\274\237\345\261\261/20240514 Linux.md" @@ -0,0 +1,43 @@ +# Linux + +Linux是一套免费使用和自由传播的类Unix操作系统,是一个多用户、多任务、支持多线程和多CPU的操作系统 + +有centos,debian,redhat等 + +``` +查看IP +ip addr show // 默认的查看命令 +ifconfig // net-tools组件包的命令,这个组件要自己安装 +// 更新软件库 +apt-get update +apt-get install net-tools +// 安装vim编辑器,默认的是vi编辑器 +apt-get install vim // vi 文件名,变成vim 文件名 +开22端口: +prot 22 +允许root登录为 +yes:PermitRootLogin yes +启用密码验证功能 : +PasswordAuthentication yes +不允许空密码登录: +PermitEmptyPassword no +// 用sudo 命令,但这个默认是没安装。自己安装 apt-get isntall sudo +su root 更换给root模式 +sudo vim /etc/sudoers +``` + +安装ssh + +``` +apt-get install ssh // 安装ssh,默认情况下,只有普通用户才可以登录这个服务器 +// 如何开启root用户登录这个服务器 +vim /etc/ssh/sshd_cofnig //修改/etc/ssh/sshd.config 文件 +// 三件事,开22端口,允许root登录为yes,启用密码验证功能 +// 修改完一定要重启ssh服务 +/etc/init.d/ssh restart + +// 普通用户的权限是很低的。有时候普通用户也需要安装和配置软件,就需要临时借root的权限 +// 用sudo 命令,但这个默认是没安装。自己安装 +apt-get isntall sudo +``` + diff --git "a/\345\247\234\344\274\237\345\261\261/20240518 Linux\347\233\256\345\275\225.md" "b/\345\247\234\344\274\237\345\261\261/20240518 Linux\347\233\256\345\275\225.md" new file mode 100644 index 0000000000000000000000000000000000000000..29a160cad6f9e6de7837677878f2ff1f6237345f --- /dev/null +++ "b/\345\247\234\344\274\237\345\261\261/20240518 Linux\347\233\256\345\275\225.md" @@ -0,0 +1,113 @@ +# Linux目录 + +1. **/ (根目录)**: + - Linux文件系统的根目录,所有其他目录和文件都位于此处。 + - 类似于Windows中的C:盘。 +2. **/bin (二进制目录)**: + - 存放系统所需的基本命令(二进制文件),如ls、cp、mv等。 + - 这些命令在系统启动时就可以使用,不依赖于其他文件系统。 +3. **/boot (引导目录)**: + - 存放系统引导相关的文件,包括内核镜像和引导加载程序(如GRUB)配置文件。 +4. **/dev (设备目录)**: + - 包含系统中的设备文件,如硬盘、键盘、鼠标等。 + - Linux将设备抽象为文件,在/dev目录下以文件形式表示。 +5. **/etc (配置文件目录)**: + - 存放系统的配置文件,如网络配置、软件配置等。 + - 全局配置文件通常存放在此处。 +6. **/home (用户目录)**: + - 包含所有用户的主目录。 + - 每个用户通常都有自己的子目录,以用户名命名。 +7. **/lib 和 /lib64 (库目录)**: + - 存放系统所需的共享库文件,用于程序运行时的链接。 +8. **/media 和 /mnt (挂载目录)**: + - 用于挂载可移动介质(如光盘、USB设备)和其他文件系统。 +9. **/opt (可选目录)**: + - 用于存放第三方软件包的安装目录。 + - 一些大型软件可能会安装到此目录。 +10. **/proc (进程目录)**: + - 包含系统运行时的进程信息。 + - 以文件的形式呈现系统状态和进程信息。 +11. **/root (根用户目录)**: + - 超级用户(root)的主目录。 + - root用户的主目录,类似于普通用户的/home/username目录。 +12. **/sbin (系统二进制目录)**: + - 存放系统管理员使用的系统管理命令,如ifconfig、fdisk等。 + - 这些命令通常只有root用户才能执行。 +13. **/srv (服务目录)**: + - 存放服务相关的数据或文件,如Web服务器的文件。 +14. **/sys (系统目录)**: + - 提供了与内核相关的信息,可以用于动态地配置内核参数。 +15. **/tmp (临时目录)**: + - 用于存放临时文件,重启后会清空。 + - 所有用户都可以在此目录下创建临时文件。 +16. **/usr (用户软件资源目录)**: + - 包含用户级软件资源,如应用程序、库、文档等。 + - 类似于Windows的Program Files目录。 +17. **/var (可变目录)**: + - 包含经常变化的文件,如日志文件、缓存文件等。 + - 存放着系统运行过程中产生的数据。 + +# man + +在Linux系统中,"man"是一个用于查看系统手册页(manual pages)的命令。它是"manual"的缩写,用于查阅系统上安装的各种命令、函数和配置文件的文档。 + +当你想要了解某个命令的使用方法、参数选项、示例等详细信息时,可以使用"man"命令来查看相应的手册页。例如,要查看"ls"命令的手册页,只需在终端中输入: + +``` +man ls +``` + +运行后会看到: + +name 简要描述了命令或函数。 + +synopsis 展示了命令的基本用法和语法。 + +description 详细描述了命令或函数的功能。 + +option 列出了命令或函数的可用选项。 + +examples 给出使用的示例。 + +see also 列出其他。 + +## 快捷键 + +- **Ctrl + A**: 将光标移动到行首。 +- **Ctrl + E**: 将光标移动到行尾。 +- **Ctrl + U**: 删除光标到行首的所有字符。 +- **Ctrl + K**: 删除光标到行尾的所有字符。 +- **Ctrl + W**: 删除光标前的一个单词。 +- **Alt + B**: 光标向后移动一个单词。 +- **Alt + F**: 光标向前移动一个单词。 +- **Ctrl + L**: 清屏(相当于执行`clear`命令)。 +- **Ctrl + Y**: 粘贴最近删除的文本。 +- **Ctrl + _** 或 **Ctrl + X, Ctrl + U**: 撤销上一个操作。 + +#### 命令历史记录 + +- **Ctrl + R**: 搜索命令历史记录。输入搜索词可实时查找以前输入的命令。 +- **Ctrl + P**: 显示上一条命令。 +- **Ctrl + N**: 显示下一条命令。 + +### 常用文本编辑器快捷键 + +#### Vim + +- **i**: 切换到插入模式。 +- **Esc**: 退出插入模式。 +- **:w**: 保存文件。 +- **:q**: 退出Vim。 +- **:wq**: 保存并退出。 +- **dd**: 删除当前行。 +- **yy**: 复制当前行。 +- **p**: 粘贴复制或剪切的内容。 + +#### Nano + +- **Ctrl + O**: 保存文件。 +- **Ctrl + X**: 退出Nano。 +- **Ctrl + K**: 剪切当前行。 +- **Ctrl + U**: 粘贴剪切内容。 +- **Ctrl + W**: 搜索文本。 +- **Ctrl + G**: 显示帮助。 \ No newline at end of file diff --git "a/\345\247\234\344\274\237\345\261\261/20240520 \347\224\250linux\346\223\215\344\275\234\347\263\273\347\273\237\346\226\260\345\273\272\344\270\200\344\270\252\347\224\250\346\210\267.md" "b/\345\247\234\344\274\237\345\261\261/20240520 \347\224\250linux\346\223\215\344\275\234\347\263\273\347\273\237\346\226\260\345\273\272\344\270\200\344\270\252\347\224\250\346\210\267.md" new file mode 100644 index 0000000000000000000000000000000000000000..1e30f7a3f8927ef09571fb24af3b944a5c077777 --- /dev/null +++ "b/\345\247\234\344\274\237\345\261\261/20240520 \347\224\250linux\346\223\215\344\275\234\347\263\273\347\273\237\346\226\260\345\273\272\344\270\200\344\270\252\347\224\250\346\210\267.md" @@ -0,0 +1,219 @@ +## 一.用linux操作系统新建一个用户,密码设置以刚建的用户登录 + +### 1. 新建一个用户 + +首先,您需要以root用户或具有sudo权限的用户登录系统。然后,使用`useradd`命令来创建新用户。假设新用户的用户名为`newuser`。 + +```bash +sudo useradd newuser +``` + +### 2. 设置密码 + +使用`passwd`命令为新用户设置密码。 + +```bash +sudo passwd newuser +``` + +系统会提示您输入并确认新密码。 + +### 3. 以新建的用户登录 + +在完成上述步骤后,您可以使用以下方法之一切换到新用户: + +#### 方法1:使用`su`命令 + +使用`su`命令切换到新用户。您需要输入新用户的密码。 + +```bash +su - newuser +``` + +#### 方法2:使用`ssh`命令 + +如果您通过SSH远程登录服务器,可以使用以下命令: + +```bash +ssh newuser@hostname +``` + +其中`hostname`是您要登录的主机名或IP地址。 + +### 4. 验证新用户的登录 + +无论使用哪种方法,成功登录后,您可以使用`whoami`命令来确认当前用户。 + +```bash +whoami +``` + +如果显示`newuser`,则表示您已成功以新用户登录。 + +### 示例操作过程 + +下面是一个完整的操作示例: + +```bash +# 以具有sudo权限的用户登录 +sudo useradd newuser # 创建新用户 +sudo passwd newuser # 设置新用户密码 +# 输入新密码并确认 +su - newuser # 切换到新用户 +# 输入新用户密码 +whoami # 验证当前用户 +# 显示 newuser +``` + +## 二.使用命令,在自己的家目录,以以下层次依次建立文件夹 + +假设我们要在新建的用户`newuser`的主目录下创建以下层次的文件夹结构: + +```bash +国家 +└── 省份 + └── 市 + └── 县(区) + └── 镇(街道) + └── 村(小区) + └── 姓名 +``` + +以下是具体步骤: + +### 1. 切换到新建的用户 + +如果你还未切换到新建的用户,可以使用以下命令: + +```bash +su - newuser +``` + +### 2. 创建文件夹结构 + +使用`mkdir`命令和`-p`选项来创建嵌套目录。`-p`选项会自动创建必要的父目录。 + +```bash +mkdir -p ~/国家/省份/市/县(区)/镇(街道)/村(小区)/姓名 +``` + +### 3. 验证文件夹结构 + +可以使用`tree`命令来查看目录结构。如果系统中没有`tree`命令,可以安装它。以Ubuntu为例,安装命令如下: + +```bash +sudo apt-get install tree +``` + +然后查看目录结构: + +```bash +tree ~/国家 +``` + +完整操作示例: + +```bash +# 切换到新用户 +su - newuser + +# 创建文件夹结构 +mkdir -p ~/国家/省份/市/县(区)/镇(街道)/村(小区)/姓名 + +# 验证文件夹结构 +tree ~/国家 +``` + +### 示例输出 + +如果文件夹结构创建成功,`tree`命令会显示类似以下的输出: + +```bash +home/newuser/国家 +└── 省份 + └── 市 + └── 县(区) + └── 镇(街道) + └── 村(小区) + └── 姓名 +``` + +通过这些步骤,您可以在新建用户的主目录下创建指定的文件夹层次结构。 + +在姓名文件夹,建立一个自己的学号文件 + +假设你的学号是`12345678`。以下是如何在`姓名`文件夹中创建一个包含你学号的文件: + +### 1. 切换到新建的用户 + +如果你还未切换到新建的用户,可以使用以下命令: + +```bash +su - newuser +``` + +## 三.创建学号文件 + +使用`touch`命令来创建一个名为`学号.txt`的文件,并将学号写入其中。可以使用`echo`命令将学号写入文件。 + +```bash +# 切换到姓名文件夹 +cd ~/国家/省份/市/县(区)/镇(街道)/村(小区)/姓名 + +# 创建学号文件并写入学号 +echo "20240001" > ~/姓名/学号.txt +``` + +### 3. 验证文件内容 + +使用`cat`命令查看文件内容,确保学号已正确写入文件。 + +```bash +cat 学号.txt +``` + +完整操作示例: + +```bash +# 切换到新用户 +su - newuser + +# 切换到姓名文件夹 +cd ~/国家/省份/市/县(区)/镇(街道)/村(小区)/姓名 + +# 创建学号文件并写入学号 +echo "20240001" > ~/姓名/学号.txt + +# 验证文件内容 +cat 学号.txt +``` + +### 示例输出 + +如果文件内容正确,`cat`命令会显示学号: + +```bash +12345678 +``` + +通过这些步骤,您可以在`姓名`文件夹中创建一个包含你学号的文件 + +在这个文件中,写一篇不少于400字的日记 + +```bash +sudo vim 12345678.txt +``` + +## 四.最后,将国家这个文件夹打包,同时练习怎么解压 + +要将名为“国家”的文件夹打包,你可以使用`tar`命令。在终端中执行以下命令: + +```bash +tar -czvf 国家.tar.gz 国家 +``` + +这将创建一个名为“国家.tar.gz”的压缩文件,其中包含了名为“国家”的文件夹及其内容。 + +参考:https://openai.com/chatgpt/ + +GPT-4o \ No newline at end of file