diff --git "a/\350\256\270\346\201\251\346\260\221/20240514Linuxssh\350\277\234\347\250\213\347\231\273\351\231\206.txt" "b/\350\256\270\346\201\251\346\260\221/20240514Linuxssh\350\277\234\347\250\213\347\231\273\351\231\206.txt" new file mode 100644 index 0000000000000000000000000000000000000000..aaccc590af406fc867a5f4c852278b22c678517c --- /dev/null +++ "b/\350\256\270\346\201\251\346\260\221/20240514Linuxssh\350\277\234\347\250\213\347\231\273\351\231\206.txt" @@ -0,0 +1,78 @@ +## 以下配置可以实现ssh远程登陆 + +1.在root模式下添加新用户 + +``` +root@hecs-148338:~# adduser 用户名 +``` + +2.删除用户 + +``` +root@hecs-148338:~# userdel -r 用户名 +``` + +3.显示以下内容显示删除成功 + +``` +userdel: ooo mail spool (/var/mail/ooo) not found +``` + +4.然后在root模式下查看当前用户数量 + +``` +cat /etc/passwd +``` + +5.新用户添加成功之后,在root模式下安装sudo,让用户临时具有管理员权限 + +https://blog.csdn.net/jasonzhoujx/article/details/80468885此网站有sudu详细配置 + +``` +root@hecs-148338:~# apt-get install sudo +``` + +6.安装成功之后,将用户添加到sudo,意思是:将我的用户名 yl 添加到sudo组内,大家根据实际将自己的用户名添加进sudo组内 + +``` +root@hecs-148338:~# adduser yl sudo +``` + +7.接下来是配置sudoers文件,这里通过vi编辑器来写 +-输入命令 vi /etc/sudoers 进入sudoers文件; +-在vi命令模式中,输入 /%sudo 搜索定位到 %sudo ALL = (ALL:ALL) ALL,或者手动定位 +-在vi插入模式中(按一下 i 键),在 %sudo ALL = (ALL:ALL) ALL 下面键入 username ALL = (ALL:ALL) ALL + +怎么退出,先按esc退出编辑模式,然后按住shift+:输入wq!即可保存并退出 + +8.然后重启虚拟机进入用户模式 + +9.安装vim编辑器,默认的是vi编辑器 + +``` +sudo apt-get install vim // vi 文件名,变成vim 文件名 +``` + +10.更新软件库 + +``` +sudo apt-get update // 更新软件库 +``` + +11.安装net-tools组件包 + +``` +sud apt-get install net-tools +``` + +12.安装ssh + +``` +sudo apt-get install ssh // 安装ssh,默认情况下,只有普通用户才可以登录这个服务器 +// 如何开启root用户登录这个服务器 +vim /etc/ssh/sshd_cofnig //修改/etc/ssh/sshd.config 文件 +// 三件事,开22端口,允许root登录为yes,启用密码验证功能 +// 修改完一定要重启ssh服务 +sudo /etc/init.d/ssh restart +``` + diff --git "a/\350\256\270\346\201\251\346\260\221/20240514Linux\345\210\235\345\255\246.txt" "b/\350\256\270\346\201\251\346\260\221/20240514Linux\345\210\235\345\255\246.txt" new file mode 100644 index 0000000000000000000000000000000000000000..d7090d6539094844530cdd77a26064a9ea540752 --- /dev/null +++ "b/\350\256\270\346\201\251\346\260\221/20240514Linux\345\210\235\345\255\246.txt" @@ -0,0 +1,74 @@ +# 笔记 + +## Liunx系统 + +```js +liunx操作系统内核 一般指GNU/Linux(单独的Linux内核并不可直接使用,一般搭配GNU套件,故得此称呼),是一种免费使用和自由传播的类UNIX操作系统,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。 + +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地址 + +``` + 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命令是否生效 \ No newline at end of file diff --git "a/\350\256\270\346\201\251\346\260\221/20240516Linux\347\233\256\345\275\225\350\256\244\350\257\206.txt" "b/\350\256\270\346\201\251\346\260\221/20240516Linux\347\233\256\345\275\225\350\256\244\350\257\206.txt" new file mode 100644 index 0000000000000000000000000000000000000000..58360fe30fd202a327f0e614d6d8ffe6b5207486 --- /dev/null +++ "b/\350\256\270\346\201\251\346\260\221/20240516Linux\347\233\256\345\275\225\350\256\244\350\257\206.txt" @@ -0,0 +1,78 @@ +```tcl +根目录 `/` +- 这是整个文件系统的顶层目录,所有的文件和目录都位于这个根目录下。 +- 在Linux中,根目录用 `/` 表示。 + +`/bin` +- 这是存放系统命令(binary)的目录,包括许多用户可以运行的命令。 +- 其中包括常见的命令,如 `ls`, `cp`, `mv` 等。 + +`/boot` +- 存放用于启动系统的文件,包括启动加载程序(boot loader)和内核(kernel)等。 + +`/dev` +- 包含设备文件(device files),Linux中一切皆文件,包括硬件设备。在这里可以找到像硬盘、键盘、鼠标等设备的文件表示。 + +`/etc` +- 存放系统配置文件,包括网络配置、软件包管理器配置、用户账户等。 + +`/home` +- 用户的家目录,每个用户通常有一个独立的子目录,用于存放个人文件、设置和配置等。 + +`/lib` 和 `/lib64` +- 存放系统和程序使用的共享库文件(libraries),包括程序运行时需要的库文件。 + +`/media` +- 用于挂载可移动媒体设备的目录,例如光盘、USB驱动器等。 + + `/mnt` +- 临时挂载目录(mount),通常用于手动挂载临时文件系统。 + + `/opt` +- 可选(optional)的应用程序软件包的安装目录。 + + `/proc` +- 虚拟文件系统,提供关于系统内核和进程的信息。许多信息都以文件形式存在于这里。 + +`/root` +- 超级用户 `root` 的家目录,与普通用户的家目录类似,但是用于系统管理员操作。 + +`/sbin` 和 `/usr/sbin` +- 存放系统管理命令的目录,通常只有管理员可以执行这些命令。 + + `/tmp` +- 临时文件目录,任何用户都可以写入这里的文件,但文件会在系统重启时被清除。 + + `/srv` +- 存放服务(services)相关的数据或文件,比如网站数据、FTP服务数据等。 + +`/sys` +- 也是一个虚拟文件系统,提供了关于系统硬件的信息。 + +`/var` +- 存放经常变化的文件,比如日志文件(`/var/log`)、缓存文件(`/var/cache`)、邮件(`/var/mail`)等。 +``` + +`这只是Linux系统中一些常见的目录,实际上,用户也可以自定义添加目录,或者根据特定的发行版(如Ubuntu、CentOS等)会有一些特有的目录。对于Linux,一切都是文件,需要时刻记住目录结构` + +`ctrl+D`:键盘结束 + +`ctrl+C:当前进程结束` + +`ctrl+L:结束并且清屏` + +`tab:自动补全,可以按两下` + +`实例中,**bin** 文件的第一个属性用 **d** 表示。**d** 在 Linux 中代表该文件是一个目录文件。在 Linux 中第一个字符代表这个文件是目录、文件或链接文件等等。` + +- ```tcl + - 当为 **d** 则是目录 + - 当为 **-** 则是文件; + - 若是 **l** 则表示为链接文档(link file); + - 若是 **b** 则表示为装置文件里面的可供储存的接口设备(可随机存取装置); + - 若是 **c** 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。 + ``` + + + +`接下来的字符中,以三个为一组,且均**rwx**的三个参数的组合。其中, **r** 代表可读(read)、 **w** 代表可写(write)、 **x** 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 **-** 而已。` \ No newline at end of file diff --git "a/\350\256\270\346\201\251\346\260\221/20240520Linu\346\226\207\344\273\266\345\244\271\345\216\213\347\274\251\347\233\270\345\205\263\346\223\215\344\275\234.md" "b/\350\256\270\346\201\251\346\260\221/20240520Linu\346\226\207\344\273\266\345\244\271\345\216\213\347\274\251\347\233\270\345\205\263\346\223\215\344\275\234.md" new file mode 100644 index 0000000000000000000000000000000000000000..69c974e73407bb56c64b3dc1f7b44db7d26ab7ad --- /dev/null +++ "b/\350\256\270\346\201\251\346\260\221/20240520Linu\346\226\207\344\273\266\345\244\271\345\216\213\347\274\251\347\233\270\345\205\263\346\223\215\344\275\234.md" @@ -0,0 +1,141 @@ +1. 新建一个用户,密码设置 + + 1.在root模式下添加新用户 + + ``` + root@hecs-148338:~# adduser 用户名 + ``` + + 2.删除用户 + + ``` + root@hecs-148338:~# userdel -r 用户名 + ``` + + 3.显示以下内容显示删除成功 + + ``` + userdel: ooo mail spool (/var/mail/ooo) not found + ``` + + 4.然后在root模式下查看当前用户数量 + + ``` + cat /etc/passwd + ``` + +2. 以刚建的用户登录,操作以下 + +3. 使用命令,在自己的家目录,以以下层次依次建立文件夹 + 1. 国家 + 1. 省份 + 1. 市 + 1. 县(区) + 1. 镇(街道) + 1. 村(小区) + 1. 姓名 + + ``` + cd /home + sudo mkdir china/龙岩市/新罗区/曹溪街道/闽西职业技术学院/许恩民 -p + ``` + + + +4. 在姓名文件夹,建立一个自己的学号姓名文件 + + ``` + touch 2244310330.txt + ``` + +5. 在这个文件中,写一篇不少于400字的日记 + + ``` + vim 文件.后缀 //进入编辑模式 ,进入后按i 开始编辑 按wq! 是保存 + cat 2244310330.txt //查看文本内容 + ``` + + + +6. 最后,将国家这个文件夹打包,同时练习怎么解压 + + ``` + tar -cvf 压缩的文件名.tar 压缩的文件夹/ + 解压缩 + tar -xvf 压缩的文件名.tar -C/指定的路径 + ``` + + + +7. 使用命令将这个压缩包下载到本地电脑【不能用shell里自带的下载功能】 + + ``` + 本地终端: scp 用户名@IP地址:文件夹/文件 下载的本地路径 + 例:scp yyy@192.120.110.30:/home/中国.tar D:/~ + ``` + + + +8. 相关命令百度预习 + +9. 命令参考 https://www.linuxcool.com/ + +10. 相关过程,做成笔记 + + 搜索主要是搜索关键词,建议使用AI + + ``` + chatgpt3.5 链接: em888.cn/share + ``` + + 12.怎么移除压缩包 + + ``` + rm 压缩name.后缀 + ``` + + 13.移除文件夹 + + ``` + 1. 删除空文件夹 + 如果要删除一个空的文件夹,非常简单。打开终端,执行以下命令: + + rmdir 文件夹名 + + 例如,如果要删除名为 “my_folder” 的空文件夹,命令如下: + + rmdir my_folder + + 2. 删除非空文件夹 + 要删除一个非空文件夹,我们需要使用 rm 命令,并结合一些选项来确保递归删除所有文件和子文件夹。 + + rm -r 文件夹名 + 请注意 -r 参数,它是 “recursive”(递归)的缩写。这将告诉系统删除文件夹及其所有内容。 + + 例如,如果要删除名为 “my_folder” 的非空文件夹,命令如下: + + rm -r my_folder + + 3. 确认删除 + 在执行删除命令之前,系统会要求你确认删除操作。如果要删除多个文件或文件夹,可以使用 -i 参数来逐一确认。如果你确认删除,请键入 “y”,然后按下 Enter。 + + rm -ri 文件夹名 + + 这样可以避免误删除,因为删除后无法恢复。 + + 4. 强制删除 + 如果你希望删除文件夹时不收到任何确认提示,并强制删除所有内容,可以使用 -f 参数。 + + rm -rf 文件夹名 + + 请小心使用 -f 参数,因为一旦删除,数据将不可恢复。 + + 5. 删除多个文件夹 + 如果你想一次删除多个文件夹,可以将它们放在同一个 rm 命令中,并用空格分隔。 + + rm -r 文件夹1 文件夹2 文件夹3 + + ``` + + + diff --git "a/\350\256\270\346\201\251\346\260\221/20240521Linux\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/\350\256\270\346\201\251\346\260\221/20240521Linux\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..dc6a24db6027353dfaf3f753b2727ab8b5c1af4b --- /dev/null +++ "b/\350\256\270\346\201\251\346\260\221/20240521Linux\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,120 @@ +1. ### 综合练习题:大学生生活场景中的文件夹和文件管理 + + 假设你是一名大学生,现在面临着整理学习资料和课程作业的任务。请按照以下要求完成相关的文件夹和文件管理操作: + + 1. 在你的个人文档目录下创建一个名为`学习资料`的文件夹,并进入该文件夹。 + + ``` + Time@hecs-148338:~$ mkdir 学习资料 + ``` + + + + 2. 在`学习资料`文件夹中创建一个名为`计算机科学`的文件夹。 + + ``` + Time@hecs-148338:~/学习资料$ mkdir 计算机科学 + ``` + + + + 3. 在`计算机科学`文件夹中创建两个子文件夹,分别命名为`课程资料`和`编程项目`。 + + ``` + Time@hecs-148338:~/学习资料/计算机科学$ mkdir 课程资料 编程项目 + ``` + + + + 4. 将你最近的一门计算机科学课程的课件文件(假设文件名为`CS101_第一讲.pdf`)放入`课程资料`文件夹。 + + ``` + Time@hecs-148338:~/学习资料/计算机科学 + Time@hecs-148338:~/学习资料/计算机科学$ mv /home/Time/学习资料/计算机科学/CS101_第一讲.pdf /home/Time/学习资料/计算机科学/课程资料 + + ``` + + + + 5. 在`编程项目`文件夹中创建一个名为`Java项目`的文件夹。 + + ``` + Time@hecs-148338:~/学习资料/计算机科学/编程项目$ mkdir java + + ``` + + + + 6. 在`Java项目`文件夹中创建两个空文件,分别命名为`主程序.java`和`工具类.java`。 + + ``` + Time@hecs-148338:~/学习资料/计算机科学/编程项目$ touch 主程序.java 工具类.java + ``` + + + + 7. 复制`主程序.java`并命名为`备份_主程序.java`。 + + ``` + Time@hecs-148338:~/学习资料/计算机科学/编程项目/java$ cp /home/Time/学习 资料/计算机科学/编程项目/备份_主程序.java /home/Time/学习资料/计算机科学/编程项目/java + ``` + + + + 8. 创建一个名为`Python项目`的文件夹,并将`工具类.java`移动到`Python项目`文件夹中。 + + ``` + Time@hecs-148338:~/学习资料/计算机科学$ mkdir python + Time@hecs-148338:~/学习资料/计算机科学/编程项目/java$ mv /home/Time/学习资料/计算机科学/编程项目/java/工具类.java /home/Time/学习资料/计算机科学/python + ``` + + + + 9. 列出`计算机科学`文件夹中所有文件和文件 + + ``` + ls -R + Time@hecs-148338:~/学习资料/计算机科学$ ls -R + .: + python 编程项目 课程资料 + + ./python: + 工具类.java + + ./编程项目: + java + + ./编程项目/java: + 主程序.java 备份_主程序.java + + ./课程资料: + CS101_第一讲.pdf + + ``` + + + + 10. 删除`编程项目`文件夹及其包含的所有内容。 + + ``` + Time@hecs-148338:~/学习资料/计算机科学$ rm -r 编程项 + ``` + + + + 11. 重命名`Python项目`为`数据分析项目`。 + + ``` + Time@hecs-148338:~/学习资料/计算机科学$ mv python 数据分析项目 + ``` + + + + 12. 最后,列出当前所在目录的路径。 + + ``` + Time@hecs-148338:~/学习资料/计算机科学$ pwd + /home/Time/学习资料/计算机科学 + ``` + + \ No newline at end of file