diff --git "a/50 \347\216\213\346\231\264/20240514\345\210\235\345\247\213Linux.md" "b/50 \347\216\213\346\231\264/20240514\345\210\235\345\247\213Linux.md" new file mode 100644 index 0000000000000000000000000000000000000000..5e283567ddbd9e113a7fea95af9b48a59c99365d --- /dev/null +++ "b/50 \347\216\213\346\231\264/20240514\345\210\235\345\247\213Linux.md" @@ -0,0 +1,51 @@ +### Linux + +是一种免费使用和自由传播的类UNIX操作系统。 + +( Centos 社区版本(免费) , Debian,RedHat )发行版本 + +优点 + +1. 免费 +2. 很多软件原生是在Linux下运行的,庞大的社区支持,生态环境好。 +3. 开源,可被定制,开放,多用户的网络操作系统。 +4. 相对安全稳定。 + +VM pro 17 虚拟机 + +Debian 12.5 + +查看ip + +```js +ip addr show //默认查看命令 +infconfig//net-tools组件包的命令,这个组件要自己安装 + +apt-get update // 更新软件库 +apt-get install net-tools + +// 安装vim编辑器,默认的是vi编辑器 +apt-get install vim // vi 文件名,变成vim 文件名 +``` + +安装ssh + +```js +apt-get install ssh // 安装ssh,默认只有普通用户才可登录这个服务器 +vim /etc/ssh/sshd_cofnig //修改/etc/ssh/sshd.config 文件 ,开启root用户登录这个服务器 +// 三件事,开22端口,允许root登录为yes,启用密码验证功能 +// 修改完一定要重启ssh服务 +/etc/init.d/ssh restart + +// 普通用户的权限是很低的。有时候普通用户也需要安装和配置软件,就需要临时借root的权限 +// 用sudo 命令,但这个默认是没安装。自己安装 +apt-get isntall sudo + //https://blog.csdn.net/jasonzhoujx/article/details/80468885 +adduser xx(用户名) sudo +vi/etc/sudoers +在vi命令模式中,输入 /%sudo 搜索定位到 %sudo ALL = (ALL:ALL) ALL +在vi插入模式中(按一下 i 键),在 %sudo ALL = (ALL:ALL) ALL 下面键入 xx(用户名) ALL = (ALL:ALL) ALL +输入:x 退出保存文件 + +``` + diff --git "a/50 \347\216\213\346\231\264/20240516\347\233\256\345\275\225\345\221\275\344\273\244\350\257\255\346\263\225.md" "b/50 \347\216\213\346\231\264/20240516\347\233\256\345\275\225\345\221\275\344\273\244\350\257\255\346\263\225.md" new file mode 100644 index 0000000000000000000000000000000000000000..77df77b6cbd727eea85fe0876a383bf0e121a4c7 --- /dev/null +++ "b/50 \347\216\213\346\231\264/20240516\347\233\256\345\275\225\345\221\275\344\273\244\350\257\255\346\263\225.md" @@ -0,0 +1,156 @@ +### 目录命令语法 + +/bin 常会执行程序的存放位置 + +```bash +/bin/ls #列出当前目录内容 +/bin/cp #复制文件 +/bin/mv #移动文件 +``` + +/dev 包含设备文件,用于与系统中的硬件设备进行通信 + +```bash +/dev/sda0 #硬盘设备文件 +/dev/sda1 #硬盘设备文件 +/dev/sdb0 #硬盘设备文件 +/dev/ttyUSB0 #USB 串行设备文件 +``` + + + +/etc 存放系统配置文件 + +```bash +/etc/network/interfaces #网络接口配置文件 +/etc/nginx/nginx.conf #nginx软件配置文件 +/etc/ssh/sshd_config #sshd服务端配置文件 +``` + + + +lib 存放系统库文件 + +home 普通用户的家目录所在地 + +root root用户的家目录 + +run 运行时临时文件目录 + +/srv 存放着服务的数据目录 + +```bash +/srv/www/ #Web 服务器数据目录 +``` + + + +/sys 包含虚拟文件系统,如文件系统相关的信息和统计数据 + +```bash +/sys/class/net/eth0 #网络接口 eth0的相关信息 +``` + + + +/tmp 临时文件目录 该目录中的文件通常在系统重启后会被删除。 + +```bash +/tmp/tmpfile.txt #临时文件 +``` + + + +/var 包含经常变化的文件,如日志文件、缓存文件等 + +```bash +/var/log/syslog #系统日志文件 +/var/cache/apt/archives/ # APT 软件包缓存目录 +``` + +系统内核:一台完整的计算机是由运算器、控制器、存储器,输入/输出等多种硬件设备共同组成的,而能让各种硬件设备各司其职且又能协同运行的东西就是系统内核。 + +Linux系统的内核负责完成对硬件资源的分配、调度等管理任务,对系统的正常运行起着十分重要的作用。 + +##### 执行命令的必备知识 + +格式:命令名称 【命令参数】 命令对象 + +Linux命令参数的长格式与短格式 + +长格式 man--help + +短格式 man -h + +1.列出目录内容 + +```bash +ls -l /home/user +``` + +ls 命令 -l选项 /home/user 参数 + +2.复制文件 + +```bash +cp source.txt destination.text +``` + +cp 命令 source.txt 和destination.text 参数 + +3.查找文件 + +```bash +find /home/user -name "*.txt" +``` + +find 命令 /home/user 参数 -name "*.txt" 选项+参数 + +4.安装软件包 + +``` +sudo apt-get install vim +``` + +这里,`sudo` 是一个命令(用于执行超级用户权限的命令),apt-get 是另一个命令(用于处理软件包),install 是apt-get命令的选项,vim 是参数(要安装的软件包名称)。 + +5.更改用户密码 + +```bash +passwd username +``` + +#### man命令 + +在`Debian`系统中, man命令是用来访问Unix/Linux手册页的。手册页(man pages)是系统命令、函数、库调用等的参考文档,它们为用户提供了关于如何使用这些命令和功能的详细信息。 + +- NAME:简要描述了命令或函数。 +- SYNOPSIS (或 SYNOPSIS/DESCRIPTION):展示了命令的基本用法和语法。 +- DESCRIPTION:详细描述了命令或函数的功能。 +- OPTIONS:列出了命令或函数的可用选项。 +- EXAMPLES(如果有的话):给出了使用命令或函数的示例。 +- SEE ALSO: 列出了其他相关的手册页。 + +在手册页中,你可以使用以下按键来导航: + +- 空格键:向下滚动一页。 +- Enter 键:向下滚动一行。 +- b 键:向上滚动一页。 +- f 或 空格键(再次按下):向前滚动一页(即回到你之前看过的内容)。 +- q键:退出手册页 +- / :搜索手册页中的文本。输入你要搜索的文本,然后按找下一个匹配项,使用N 键查找上一个匹配项。Enter使用键查 + +注意: + +1. `Linux` 严格区分大小写 +2. 注意前后顺序 +3. /等结构 +4. 有空格不要漏掉了 + +Tab:对命令、参数或文件的内容补全。 + +Ctrl+D:键盘输入结束 + +Ctrl+C:终止当前进程的运行 + +Ctrl+L:清屏 \ No newline at end of file diff --git "a/50 \347\216\213\346\231\264/20240521Linux\345\221\275\344\273\244\344\275\234\344\270\232.md" "b/50 \347\216\213\346\231\264/20240521Linux\345\221\275\344\273\244\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..b67309af88501921841bdcfc5531deb6113d6be7 --- /dev/null +++ "b/50 \347\216\213\346\231\264/20240521Linux\345\221\275\344\273\244\344\275\234\344\270\232.md" @@ -0,0 +1,67 @@ +1. 新建一个用户,密码设置 + +```bash +apt-get install vim 创建vim编辑器 +adduser wq 创建用户 +new password 1234 +``` + + 2.以刚建的用户登录,操作以下 + +```bash +apt-get install sudo 安装sudo +apt-get install net-tools +vim /etc/ssh/sshd_config +/etc/init.d/ssh restart +vim /etc/sudoers +root ALL=(ALL:ALL) ALL +lala ALL=(ALL:ALL) ALL +``` + +3.使用命令,在自己的家目录,以以下层次依次建立文件夹 + +1. 国家 + 1. 省份 + 1. 市 + 1. 县(区) + 1. 镇(街道) + 1. 村(小区) + 1. 姓名 + +```bash +cd /home +ls +sudo mkdir -p 中国/云南省/昆明市/官渡区/环湖东路/艺术家园c区/王晴 + +mkdir: cannot create directory ‘**’: Permission denied +解决:用sudo临时借用root权限 +``` + + + +4.在姓名文件夹,建立一个自己的学号姓名文件 + +```bash +cd /home/中国/云南省/昆明市/官渡区/环湖东路/艺术家园c区/王晴 +sudo touch 2244310337.txt +``` + +5.在这个文件中,写一篇不少于400字的日记 + +```bash +sudo vim 2244310337.txt +``` + +6.最后,将国家这个文件夹打包,同时练习怎么解压 + +```bash +tar -cvf 中国.tar 中国/ +``` + +7.使用命令将这个压缩包下载到本地电脑【不能用shell里自带的下载功能】 + +```bash +sudo apt-get install lrzsz +sz 中国.tar (将压缩包下载到本地电脑) +``` + diff --git "a/50 \347\216\213\346\231\264/20240521\347\254\224\350\256\260&\346\226\207\344\273\266\347\256\241\347\220\206\344\275\234\344\270\232.md" "b/50 \347\216\213\346\231\264/20240521\347\254\224\350\256\260&\346\226\207\344\273\266\347\256\241\347\220\206\344\275\234\344\270\232.md" new file mode 100644 index 0000000000000000000000000000000000000000..1e3671ef5054bdb4562478dae835ca505406e2d4 --- /dev/null +++ "b/50 \347\216\213\346\231\264/20240521\347\254\224\350\256\260&\346\226\207\344\273\266\347\256\241\347\220\206\344\275\234\344\270\232.md" @@ -0,0 +1,133 @@ +#### useradd和adduser的区别: + +- useradd:是一种底层命令,需要配合各种选项和参数来自定义。 +- adduser:但是高级命令,带有对话的形式。 + +当没有显示用户名时: useradd xxx -m -s /bin/bash + +#### su和sudo: + +- su:substitute 代替 +- sudo: superuser do 超级管理员 +- su 用户A:从当前用户切换到用户A +- 如何从用户A切换回当前用户:exit ,logout(su里不用这个) +- 切换到root: 1.su root 2. su (1和2只切换了身份,权限不完整) 3.su - (权限一起过来了) + +mkdir -p:当目录存在则忽略创建的操作,无则创建,不报错 + +#### vim三种模式 + +- 普通:默认的,直接通过按钮接受命令,按i,切换到编辑 +- 编辑:可进行文本编辑,按ESC,回退到普通 +- 命令:普通 —命令:shift+: 末行出现冒号,等待我们输入命令:(保存:write,退出:quit,强制:! 组合使用:wq! ,放弃修改内容:q!) + +备份: cp test.txt.bak test.txt + +#### echo命令: + +- echo > :将输入的内容覆盖到文件中 +- echo >> :将输入的内容追加到文件末尾 + +#### 打包 + +- tar -create file xx.tar 缩写:tar -cf xx.tar +- -cvf:将打包过程可视化 +- -xvf 要被打开的包 -c 要放置的目录 +- && 用来连接多个命令,让命令依次执行 + +#### 上传 + +- scp:下载、上传 scp 源文件 目标目录 +- sftp: sftp 主机名 +- rsync 第三方 + +(以上命令都在本地执行) + +### 作业 + +假设你是一名大学生,现在面临着整理学习资料和课程作业的任务。请按照以下要求完成相关的文件夹和文件管理操作: + +1.在你的个人文档目录下创建一个名为`学习资料`的文件夹,并进入该文件夹。 + +```bash +cd /home +ls +sudo mkdir 学习资料 +``` + + + +2.在`学习资料`文件夹中创建一个名为`计算机科学`的文件夹。 + +```bash + sudo mkdir 学习资料/计算机科学 +``` + +3.在`计算机科学`文件夹中创建两个子文件夹,分别命名为`课程资料`和`编程项目`。 + +```bash +sudo mkdir 学习资料/计算机科学/课程资料 +sudo mkdir 学习资料/计算机科学/编程项目 +``` + +4.将你最近的一门计算机科学课程的课件文件(假设文件名为`CS101_第一讲.pdf`)放入`课程资料`文件夹。 + +```bash +cd /home/学习资料/计算机科学/课程资料 +/home/学习资料/计算机科学/课程资料$ sudo touch CS101_第一讲.pdf +``` + +5.在`编程项目`文件夹中创建一个名为`Java项目`的文件夹。 + +```bash +sudo mkdir 学习资料/计算机科学/编程项目/java项目 +``` + +6.在`Java项目`文件夹中创建两个空文件,分别命名为`主程序.java`和`工具类.java`。 + +```bash +sudo mkdir 学习资料/计算机科学/编程项目/java项目/主程序.java +sudo mkdir 学习资料/计算机科学/编程项目/java项目/工具类.java +``` + +7.复制`主程序.java`并命名为`备份_主程序.java`。 + +```bash +sudo cp -pdr 主程序.java 备份_主程序.java +``` + +8.创建一个名为`Python项目`的文件夹,并将`工具类.java`移动到`Python项目`文件夹中。 + +```bash +cd /home/学习资料/计算机科学/编程项目 +sudo mkdir Python项目 +sudo mv 工具类.java /home/学习资料/计算机科学/编程项目/Python项目 +``` + +9.列出`计算机科学`文件夹中所有文件和文件夹的内容。 + +```bash +cd /home/学习资料/计算机科学 +ls +``` + +10.删除`编程项目`文件夹及其包含的所有内容。 + +```bash +cd /home/学习资料/计算机科学 +sudo rm -rf 编程项目 +``` + +11.重命名`Python项目`为`数据分析项目`。 + +```bash +cd /home/学习资料/计算机科学 +sudo mv Python项目 数据分析项目 +``` + +12.最后,列出当前所在目录的路径。 + +```bash +pwd +``` +