diff --git "a/44 \351\231\206\346\200\235\345\251\267/2024.05.15-Linux\345\237\272\347\241\200.md" "b/44 \351\231\206\346\200\235\345\251\267/2024.05.15-Linux\345\237\272\347\241\200.md" index 498c45b2fd6c441b81bb4e6e8029ed1eddf2d892..7c10e1e63d0677447baa88f9421cdb879d3986c9 100644 --- "a/44 \351\231\206\346\200\235\345\251\267/2024.05.15-Linux\345\237\272\347\241\200.md" +++ "b/44 \351\231\206\346\200\235\345\251\267/2024.05.15-Linux\345\237\272\347\241\200.md" @@ -29,8 +29,9 @@ 3. 进行硬件的微调 1. 处理器:可以加两个内核,总数4个,虚拟化引擎(三个都不需要) 2. CD/DVD:连接—使用ISO映像文件(就是Debian的镜像文件) - 4. 保存 + 4. 开启虚拟机,Debian 12 选择 install + 4. 语言选择中文,位置选择中国,配置键盘用汉语,设置主机名, 6. 直接在虚拟机操作debian很麻烦,所以想办法,用SSH远程登录它 diff --git "a/44 \351\231\206\346\200\235\345\251\267/2024.05.18-Linux\350\257\255\346\263\225\345\221\275\344\273\244\347\232\204\344\275\277\347\224\250.md" "b/44 \351\231\206\346\200\235\345\251\267/2024.05.18-Linux\350\257\255\346\263\225\345\221\275\344\273\244\347\232\204\344\275\277\347\224\250.md" index c5daff01ee7a4e993b9ed1fde0e7a81b18b3bf78..490c3bb2662b1368e841deb60ea19e37fb90970b 100644 --- "a/44 \351\231\206\346\200\235\345\251\267/2024.05.18-Linux\350\257\255\346\263\225\345\221\275\344\273\244\347\232\204\344\275\277\347\224\250.md" +++ "b/44 \351\231\206\346\200\235\345\251\267/2024.05.18-Linux\350\257\255\346\263\225\345\221\275\344\273\244\347\232\204\344\275\277\347\224\250.md" @@ -6,6 +6,12 @@ `/` 目录是Linux文件系统的根目录,包含了整个文件系统的基础结构。 +```js +/ 根目录 +./ 当前目录 +../ 父级目录 +``` + ### /etc `/etc` 目录存放系统的配置文件。这些配置文件包括各种应用程序、服务以及系统本身的配置信息,如网络配置、软件包管理器配置等。 @@ -87,9 +93,21 @@ ```js root@lst:~# useradd 用户名 //useradd 用户名 - //[注:这个命令会创建一个新的用户账户,但默认情况下不会设置密码,也不会在 /home 目录下为新用户创建家目录] + //[注:这个命令会创建一个新的用户账户,但默认情况下不会设置密码,也不会在 /home 目录下为新用户创建家目录,也没有bash的shell可用] root@lst:~# useradd -m 用户名 //如果希望同时为新用户创建家目录,可以使用 -m 选项 + //-m:生成家目录 + //-s /bin/bash:设置bash为新用户的shell + + 另一个高级命令:adduser 用户名 //自动创建家目录,及对话形式建立相关参数 + + 常用相关命令 + 1. cat /etc/passwd——查看所有用户 + 2. cat /etc/group——查看所有用户组 + 3. groupadd group_name——添加用户组 + 4. groupdel group_name——删除用户组 + 5. gpasswd -a user group_name——添加组成员 + 6. gpasswd -d user group_name——删除组成员 *知识来源:课本P113、https://www.cnblogs.com/huangjiabobk/p/18156986 ``` @@ -110,27 +128,42 @@ root@lst:~# su 用户名 //切换到普通用户 或者 重新登陆新用户:用户名+密码 $ mkdir -p 国家/省份/市/县(区)/镇(街道)/村(小区)/姓名 + //-p:有则忽略无则创建,而不报错 *知识来源:课上、课本P64 和 https://www.linuxcool.com/ ``` - + 4. vim 文件名.txt ```js $ cd 国家/省份/市/县(区)/镇(街道)/村(小区)/姓名 //切换到想要保存的目录 + //cd: + // 在bash中,按一次tab自动识别文件的唯一性吗,只有一个就自动显示或者将共同部分显示 + // 如果不太一样,不确定唯一性,就要按两次tab,会显示所有可选项 + $ vim 学号姓名.txt //创建编辑文档 + //1. 创建一个空文件——touch 文件名.txt——>vim进行编辑 + //2. vim 文件名.txt + //3. 新建文件——vim——>保存:wq 文件名 - 在 vim 编辑器中,按下 i 键以进入编辑模式,然后开始编辑。 - 编辑结束后,按下 ESC 键以退出编辑模式,然后按住 shift+:输入 wq 命令以保存并退出 vim 编辑器,文件就将会被保存在指定的路径中。 + 编辑器: + nano(默认) + vim: + 1. 普通模式:不能编辑 + 2. 编辑模式:进行文字的相关编辑 + 3. 命令行模式:进行,命令执行 保存(write) 退出(quit) 强制执行(!) + 普通模式下按 i ——>编辑模式 | 编辑模式下按 esc ——>普通模式 + 在 vim 编辑器中,按下 i 键以进入编辑模式,然后开始编辑。 + 编辑结束后,按下 ESC 键以退出编辑模式,然后按住 shift+:输入 wq 命令以保存并退出 vim 编辑器,文件就将会被保存在指定的路径中。 *知识来源:课本P83 和 https://www.linuxcool.com/ ``` -5. tar czvf 文件名.tar.gz /etc(路径) | tar xvf 文件名.tar.gz +5. tar czvf 压缩之后的文件名.tar.gz /etc(路径) | tar xvf 文件名.tar.gz ```js //c:创建新的压缩 @@ -139,6 +172,14 @@ //f:指定压缩包文件 //x:从压缩包内提取文件 + 打包:tar -cvf 打包后的文件名 要打包的文件或目录(可以多个)[f之后要接文件] + 解包:tar -xvf 要解包的文件名 + 压缩:gzip 文件名 + 解压:gunzip 文件名 + //$$:可以连接多个命令执行 + *打包并压缩:tar -cvzf 压缩之后的文件名.tar.gz /etc(路径) + *解压并解包:tar -xzvf 文件名(例如:中国.tar.gz) + $ cd ~ // $ tar czvf 中国.tar.gz 中国 @@ -150,14 +191,24 @@ 6. 在客户端使用命令 ```js - //这里我用的是 scp——基于SSH协议远程复制文件 - 这里得搞清楚客户端和服务器 服务器对外提供服务,有公网ip,而笔记本没有公网ip,笔记本能主动连接服务器,但服务器无法主动连接笔记本 要在电脑上用scp主动连接服务器来下载文件,而不是在服务器上用scp连接电脑下载文件 - - scp 用户名@主机(公网IP/域名):源文件路径 文件目的路径 - + //这里我用的是 scp——基于SSH协议远程复制文件 + 下载:scp 用户名@主机(公网IP/域名):源文件路径(要下载的具体文件路径) 目的路径(本地电脑的路径) + 上传:scp 本地电脑的路径 用户名@主机(公网IP/域名):上传的目的路径(就是要放在哪里) + //sftp + sftp类似于ssh + 先登录服务器:sftp 用户名@主机IP + 查看: + 1. 本地:lls + 2. 服务器:ls + 切换路径: + 1. 本地:lcd + 2. 服务器:cd + 3. 操作都要进入相对的目录,不管是本地还是服务器 + 上传:get 文件名 + 下载:put 文件名 *知识来源:外援(高中同学) 和 https://www.linuxcool.com/scp ``` diff --git "a/44 \351\231\206\346\200\235\345\251\267/2024.05.21-Linux\346\226\207\344\273\266\345\244\271\345\217\212\346\226\207\344\273\266\347\256\241\347\220\206.md" "b/44 \351\231\206\346\200\235\345\251\267/2024.05.21-Linux\346\226\207\344\273\266\345\244\271\345\217\212\346\226\207\344\273\266\347\256\241\347\220\206.md" new file mode 100644 index 0000000000000000000000000000000000000000..06be132b4b3e1c676018355c4e9109a8c784fabb --- /dev/null +++ "b/44 \351\231\206\346\200\235\345\251\267/2024.05.21-Linux\346\226\207\344\273\266\345\244\271\345\217\212\346\226\207\344\273\266\347\256\241\347\220\206.md" @@ -0,0 +1,128 @@ +# 知识 + +## cd + +`cd ..` :返回上一级目录 + +`cd ../..`:返回上两级目录 + +`cd或cd ~`:返回home目录 + +`cd /`: 返回根目录 + +`cd - `:返回刚才的目录 + +`cd - 目录名`:返回指定目 + +——————————————————————————— + +## mv + +`mv a.txt home`:将 文件 a.txt 移动到 目录home下 + +`mv cl home`:将 目录cl 移动到 目录home下 + +`mv a.txt b.txt`:将 a.txt 重命名为 b.txt + +`mv cl cl2`:将 目录cl 重命名为 目录cl2 + +——————————————————————————— + +## cp + +`cp a.txt home `:复制 文件a.txt 到 目录home下 + +`cp -r cl home`:复制 目录cl 到 目录home下(-r选项用于递归复制,复制整个目录树) + +——————————————————————————— + +## rm + +`rm -rf a.txt rm -rf cl`:删除文件a.txt或目录cl + +`-r`:递归删除目录及其内全部子文件 + +`-f `:强制删除文件而不询问 + +——————————————————————————— + +## ls + +`-l`:长数据列出文件信息,包括文件的属性与权限等信息。 + +`-R`:递归列出所有子目录 + +`-h`:以人类可阅读的方式显示 + +——————————————————————————— + +``: + +# 应用 + +1. 在你的个人文档目录下创建一个名为`学习资料`的文件夹,并进入该文件夹。 + + ```js + lsting@lst:~$ mkdir -p 学习资料 && cd 学习资料 + ``` + +2. 在`学习资料`文件夹中创建一个名为`计算机科学`的文件夹。 + + ```js + lsting@lst:~/学习资料$ mkdir -p 计算机科学 && cd 计算机科学 + ``` +3. 在`计算机科学`文件夹中创建两个子文件夹,分别命名为`课程资料`和`编程项目`。 + + ```js + lsting@lst:~/学习资料/计算机科学$ mkdir -p 课程资料 && mkdir 编程项目 + ``` +4. 将你最近的一门计算机科学课程的课件文件(假设文件名为`CS101_第一讲.pdf`)放入`课程资料`文件夹。 + + ```js + lsting@lst:~/学习资料/计算机科学$ touch cs101_第一讲.pdf + lsting@lst:~/学习资料/计算机科学$ mv cs101_第一讲.pdf 课程资料 + ``` +5. 在`编程项目`文件夹中创建一个名为`Java项目`的文件夹。 + + ```js + lsting@lst:~/学习资料/计算机科学$ cd 编程项目 && mkdir -p Java项目 + ``` +6. 在`Java项目`文件夹中创建两个空文件,分别命名为`主程序.java`和`工具类.java`。 + + ```js + lsting@lst:~/学习资料/计算机科学/编程项目$ cd Java项目 && touch 主程序.java && touch 工具类.java + ``` +7. 复制`主程序.java`并命名为`备份_主程序.java`。 + + ```js + lsting@lst:~/学习资料/计算机科学/编程项目/Java项目$ cp -p 主程序.java 备份_主程序.java + ``` +8. 创建一个名为`Python项目`的文件夹,并将`工具类.java`移动到`Python项目`文件夹中。 + + ```js + lsting@lst:~/学习资料/计算机科学/编程项目/Java项目$ cd ../.. && mkdir -p Python项目 && mv 编程项目/Java项目/工具类.java Python项目 + ``` +9. 列出`计算机科学`文件夹中所有文件和文件夹的内容。 + + ```js + lsting@lst:~$ cd 学习资料/计算机科学 && ls -R + ``` +10. 删除`编程项目`文件夹及其包含的所有内容。 + + ```js + lsting@lst:~/学习资料/计算机科学$ rm -r 编程项目 + ``` +11. 重命名`Python项目`为`数据分析项目`。 + + ```js + lsting@lst:~/学习资料/计算机科学$ mv Python项目 数据分析项目 + ``` +12. 最后,列出当前所在目录的路径。 + + ```js + lsting@lst:~/学习资料/计算机科学$ pwd + /home/lsting/学习资料/计算机科学 + ``` + + + 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/)