diff --git "a/07 \347\216\213\345\217\221\346\247\220/.keep" "b/07 \347\216\213\345\217\221\346\247\220/.keep" new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git "a/07 \347\216\213\345\217\221\346\247\220/2024-5-14 \345\210\235\350\257\206Linux.md" "b/07 \347\216\213\345\217\221\346\247\220/2024-5-14 \345\210\235\350\257\206Linux.md" new file mode 100644 index 0000000000000000000000000000000000000000..a2af484350292faceafe326e485291bceb52d6f8 --- /dev/null +++ "b/07 \347\216\213\345\217\221\346\247\220/2024-5-14 \345\210\235\350\257\206Linux.md" @@ -0,0 +1,83 @@ +``` +## 初识Linux系统 + +一、基本概念 + +​ Linux操作系统内核,一般指GNU/Linux(单独的Linux内核并不可直接使用,一般搭配GNU套件,故得此称呼),是一种免费使用和自由传播的类UNIX操作系统,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。 + +它支持32位和64位硬件,能运行主要的Unix工具软件、应用程序和网络协议。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 + +Linux有上百种不同的发行版,如基于社区开发的debian、archlinux,和基于商业开发的Red Hat Enterprise Linux、SUSE、Oracle Linux等。 + +Ubuntu是一个以桌面应用为主的Linux发行版操作系统,Ubuntu基于Debian发行版和GNOME桌面环境。 + +广义的Debian是指一个致力于创建自由操作系统的合作组织及其作品,由于Debian项目众多内核分支中以Linux宏内核为主,而且Debian开发者所创建的操作系统中绝大部分基础工具来自于GNU工程,因此“Debian”常指DebianGNU/Linux。 + +CentOS(Community Enterprise Operating System,中文意思是社区企业操作系统)是Linux发行版之一,是免费的、开源的、可以重新分发的开源操作系统 。 + +二、Linux的安装 + +- 安装VMware pro 17 虚拟机 + + +- 安装Debian 12.5(下载源) + + +1. 查看IP地址 + + ```js + ip addr show // 默认的查看命令 + ``` + +2. 显示或设置网络设备 + + ```js + ifconfig // net-tools组件包 + ``` + +3. 更新软件库 + + ```js + apt-get update // 更新软件库 + ``` + +4. 安装net-tools组件包 + + ```js + apt-get install net-tools //安装net-tools组件包 + ``` + +5. 安装vim编辑器 + + ```js + apt-get install vim // 安装vim编辑器,默认的是vi编辑器 + ``` + +6. 安装SSH服务器 + + ```js + apt-get install ssh // 安装SSH服务器 + //默认情况下,仅普通用户登录 + vim /etc/ssh/sshd_cofnig //修改SSH权限 + ----- + Port:修改端口号(22) + PermitRootLogin:启用/禁用以Root身份进行登录(yes) + PasswordAuthentication:启用/禁用用密码进行身份验证(yes) + ------ + /etc/init.d/ssh restart //重启SSH服务器,使命令生效 + ``` + +7. 安装sudo管理指令 + +```js +su root //切换root管理员模式 +apt-get install sudo //安装sudo管理指令 +sudo vim /etc/sudoers //修改用户权限 +----- + root ALL=(ALL:ALL) ALL + 用户名 ALL=(ALL:ALL) ALL //为用户添加权限 + :wq! //强制保存并退出 +----- +sudo ls //测试sudo命令是否生效 +``` + diff --git "a/07 \347\216\213\345\217\221\346\247\220/2024-5-16linux\347\233\256\345\275\225\345\217\212\345\221\275\344\273\244\346\240\274\345\274\217\344\270\200.md" "b/07 \347\216\213\345\217\221\346\247\220/2024-5-16linux\347\233\256\345\275\225\345\217\212\345\221\275\344\273\244\346\240\274\345\274\217\344\270\200.md" new file mode 100644 index 0000000000000000000000000000000000000000..7a4915793d75f65e8b98df73dbc28c5b419a5ad2 --- /dev/null +++ "b/07 \347\216\213\345\217\221\346\247\220/2024-5-16linux\347\233\256\345\275\225\345\217\212\345\221\275\344\273\244\346\240\274\345\274\217\344\270\200.md" @@ -0,0 +1,66 @@ +```` +## Linux目录及命令格式 + +一、Linux目录 + +- / 根目录 d:dir 目录 l:link 链接 +- bin 常规文件存放位置 ls 查看当前目录文件 cp 复制文件 mv 移动文件 +- boot 引导加载程序和内核文件 grub 存放GRUB引导加载程序相关文件 +- dev 设备文件 sda 硬件设备文件 ttyUSB USB串行设备文件 +- etc 存放配置文件,如网络配置、软件包管理配置等 network/interfaces 网络接口配置信息 +- home 普通用户的目录 +- lib 存放系统库文件 +- media 挂载可移动介质 usb 闪存 cdcom 光驱 +- mnt 手动挂载临时文件系统 +- opt 第三方软件包的安装目录 +- proc 虚拟文件系统,提供系统和运行进程的信息 cpuinfo CPU信息 +- root Root用户的目录 +- run 运行时的文件目录 +- sbin 存放系统管理员的管理命令 reboot 重启系统 inconfig 网络配置 +- srv 存放服务的数据目录 www Web服务器数据目录 +- sys 硬件设备的驱动程序信息 +- tmp 临时文件目录 +- usr 大部分用户安装的程序和文件 +- var 系统运行时产生的日志文件、临时文件、缓存文件等 +- lost+found 恢复丢失文件及查找文件 + +二、命令格式 + +```js +command [options] [arguments] +//命令名称 [命令选项] [命令参数] +//长格式(全称):--help 短格式(缩写):-h +``` + +1. 查看当前目录 ls -l + +2. 复制文件 cp 源文件 目标文件 + +3. 查找文件 find 目录 -name(查找模式) '*.txt' + +4. 安装软件包 sudo apt-get install vim + +5. ls -列出目录内容 文件名 + + - -a 显示当前目录中的文件名(含隐藏文件) + - -A 不显示当前目录和父目录 + - -d 显示目录自身的属性信息 + - -l 显示文件名及其属性的详细信息 + - -h 显示以k为单位的文件内存信息(!!!不写则以字节为单位显示) + +6. man命令 + + 在Debian系统中,man命令可以用来查看Unix和Linux的手册页 + + | / | 从上往下 | ? | 从下往上 | j | 下一行 | k | 上一行 | + | :---: | :------: | :---: | :------: | :---: | :----: | :---: | :----: | + | **g** | 第一行 | **G** | 最后一行 | **f** | 下翻页 | **b** | 上翻页 | + +7. 快捷键/组合键 + + - Tab 双击Tab可列出命令选项 + - Ctrl+C 终止当前运行的命令 + - Ctrl+D 取消键盘输入状态 + - Ctrl+L 清空当前终端已有内容(清屏) +```` + diff --git "a/07 \347\216\213\345\217\221\346\247\220/2024-5-20\345\210\233\345\273\272\346\226\260\347\224\250\346\210\267.md" "b/07 \347\216\213\345\217\221\346\247\220/2024-5-20\345\210\233\345\273\272\346\226\260\347\224\250\346\210\267.md" new file mode 100644 index 0000000000000000000000000000000000000000..23fae3e2a13840ee8e09d53e8caeb54664d57b11 --- /dev/null +++ "b/07 \347\216\213\345\217\221\346\247\220/2024-5-20\345\210\233\345\273\272\346\226\260\347\224\250\346\210\267.md" @@ -0,0 +1,119 @@ +```` +创建新用户 +root@hecs-288034:~# adduser aaa // 创建用户 +New password: // 设置密码 + +root@hecs-288034:~# su aaa // 从root用户跳转为普通用户 + New password: // 设置密码 + Retype new password: + passwd: password updated successfully + + +aaa@hecs-288034:/home$ mkdir 中国/福建省/龙岩市/新罗区/曹溪路/团结里 -p // 创建一个从国到门牌号码的文件夹 + +创建文件夹 +创建单个文件:mkdir 文件夹名称 +创建多个文件:mkdir text1.txt text2.txt + +vim text1.txt 创建文件 + + + + + + + +``` + + + +## 创建用户 + +```js +创建新用户 +root@hecs-288034:~# adduser aaa // 创建用户 + New password: // 设置密码 + Retype new password: + passwd: password updated successfully + + +root@hecs-288034:~# su aaa // 从root用户跳转为普通用户 + + + +``` + +## 创建文件夹 + +```js +创建文件夹 +创建单个文件:mkdir 文件夹名称 +创建多个文件:mkdir text1.txt text2.txt + +vim text1.txt 创建文件 +vi text1.txt 创建文件 + +echo "学号: 123456 姓名: 张三" > text.txt 创建文件 + +nano text.txt 你可以使用文本编辑器(如 nano 或 vim)来编辑这个文件并添加你的日记内容 + +> >> +> text.ini 创建空文件 + +使用 cat创建文件 + +cat > text.ini 可以直接进入编辑模式 +ctrl+z 退出编辑模式自动保存 + +touch 文件名 +touch 命令是标准的 UNIX/Linux 命令,用于创建、更改和修改文件的时间戳。它只能创建空文件。如果文件已经存在,该命令将改变文件的时间戳 + + + + + +``` + + + + + +## 压缩和解压 + +```js +文件压缩 + +tar 参数 -zcvf +-z:表示压缩类型是.tar.gz +-c:表示当前行为是打包 +-x:表示当前行为是解压文件包 +-v:显示命令执行过程 +-f:指定打包后文件名 +-C:解压到指定路径 + + +压缩命令:tar -zcvf xx.tar.gz 目录 +解压命令:tar -zxvf xxx.tar.gz -C 目录 + + +zip压缩 +zip 压缩文件名.zip -r 完整目录 +zip解压 +unzip 压缩文件名.zip -d 目标目录 +``` + + + +## 上传和下载 + +```js +远程下载: +使用电脑黑窗口 + +sftp root@ip //输入目标ip +root@ip password //输入密码 +sftp> get / 文件路径/压缩文件 目标路径 + +sz 文件 +```` + diff --git "a/07 \347\216\213\345\217\221\346\247\220/2024-5-21\346\226\207\344\273\266\345\244\271\345\217\212\346\226\207\344\273\266\347\256\241\347\220\206\347\232\204\351\242\204\344\271\240\344\275\234\344\270\232.md" "b/07 \347\216\213\345\217\221\346\247\220/2024-5-21\346\226\207\344\273\266\345\244\271\345\217\212\346\226\207\344\273\266\347\256\241\347\220\206\347\232\204\351\242\204\344\271\240\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..839f4795417c9e7a6bc3a4a63725d23f9a45fdbd --- /dev/null +++ "b/07 \347\216\213\345\217\221\346\247\220/2024-5-21\346\226\207\344\273\266\345\244\271\345\217\212\346\226\207\344\273\266\347\256\241\347\220\206\347\232\204\351\242\204\344\271\240\344\275\234\344\270\232.md" @@ -0,0 +1,129 @@ +1. ### 综合练习题:大学生生活场景中的文件夹和文件管理 + + 假设你是一名大学生,现在面临着整理学习资料和课程作业的任务。请按照以下要求完成相关的文件夹和文件管理操作: + + 1. 在你的个人文档目录下创建一个名为`学习资料`的文件夹,并进入该文件夹。 + + ```JS + wmm@hecs-16993:~$ mkdir 学习资料 + wmm@hecs-16993:~$ cd 学习资料 + + ``` + + + + 2. 在`学习资料`文件夹中创建一个名为`计算机科学`的文件夹。 + + ``` + wmm@hecs-16993:~/学习资料$ mkdir 计算机科学 + + ``` + + + + 3. 在`计算机科学`文件夹中创建两个子文件夹,分别命名为`课程资料`和`编程项目`。 + + ``` + wmm@hecs-16993:~/学习资料/计算机科学$ mkdir 课程资料 编程项目 + + ``` + + + + 4. 将,你最近的一门计算机科学课程的课件文件(假设文件名为`CS101_第一讲.pdf`)放入`课程资料`文件夹。 + + ```js + C:\Users\28749>scp D:杂交版v2.0指南.pdf wmm@123.60.67.73:/home/wmm/学习资料/计算机科学/课程资料 + The authenticity of host '123.60.67.73 (123.60.67.73)' can't be established. + ED25519 key fingerprint is SHA256:nQec85UQs1P9Xf3ANuMSc5PkLUS2JANtHBpG6qYJSEM. + This key is not known by any other names + Are you sure you want to continue connecting (yes/no/[fingerprint])? + Warning: Permanently added '123.60.67.73' (ED25519) to the list of known hosts. + wmm@123.60.67.73's password: + D:杂交版v2.0指南.pdf 100% 2074KB 5.4MB/s 00:00 + + C:\Users\28749> + ``` + + + + 5. 在`编程项目`文件夹中创建一个名为`Java项目`的文件夹。 + + ``` + wmm@hecs-16993:~/学习资料/计算机科学/编程项目$ mkdir java + ``` + + + + 6. 在`Java项目`文件夹中创建两个空文件,分别命名为`主程序.java`和`工具类.java`。 + + ``` + wmm@hecs-16993:~/学习资料/计算机科学/编程项目/java$ touch 主程序.java 工具类.java + + ``` + + + + 7. 复制`主程序.java`并命名为`备份_主程序.java`。 + + ```js + wmm@hecs-16993:~/学习资料/计算机科学/编程项目/java$ cp 主程序.java 备份_主程序.java + + + ``` + + + + 8. 创建一个名为`Python项目`的文件夹,并将`工具类.java`移动到`Python项目`文件夹中。 + + 9. 列出`计算机科学`文件夹中所有文件和文件夹的内容。 + + ```js + wmm@hecs-16993:~/学习资料/计算机科学$ find + . + ./python + ./课程资料 + ./编程项目 + ./编程项目/java + ./编程项目/java/主程序.java + ./编程项目/java/备份_主程序.java + ./编程项目/java/工具类.java + + ``` + + + + 10. 删除`编程项目`文件夹及其包含的所有内容。 + + ```js + wmm@hecs-16993:~/学习资料/计算机科学$ rm 编程项目 -fr + + ``` + + + + 11. 重命名`Python项目`为`数据分析项目`。 + + ```js + wmm@hecs-16993:~/学习资料/计算机科学$ mv python 数据分析项目 + + ``` + + + + 12. 最后,列出当前所在目录的路径。 + + ```js + wmm@hecs-16993:~/学习资料/计算机科学$ find + . + ./python + ./python/工具类.java + ./课程资料 + ./编程项目 + ./编程项目/java + ./编程项目/java/主程序.java + ./编程项目/java/备份_主程序.java + + ``` + + \ No newline at end of file