项目,基本都在配置环境,刚好补充一下Linux体系知识。但内容比较杂乱。
两大板块知识:
- 环境变量
- apt下载
环境变量.bashrc
参考:https://blog.csdn.net/m0_46172703/article/details/134793642
目前感知最明显的差异就是环境变量,跟windows感觉完全不一样。
但这不一样的问题并不是说他们之间可能管理存在什么差异,而应该是Linux通常面对多用户,而windows多半面向单机用户
所以个人使用windows基本不需要考虑,需要配置环境变量直接添加就好了,出问题无脑删就完事。
但Linux比较用在服务器,多人使用,需要考虑多用户情况,所以大部分都是自己写自己环境变量,然后命令启动。缺点是每次都需要启动一下,好处是多用户情况下,基本对对方透明。
环境变量两个基本内容:
- 命令查找路径
- 变量设置
通过命令bash 直接启动默认当前用户home目录下的.bashrc,自定义的话就后面加上文件路径。然后可以通过exit退出
apt下载工具软件
因为我用的是ubuntu,所以用的是apt,如果是centos用的是yum.
但是具体原理应该是类似的
RSA加密
一种公钥私钥加密手段,目标是让内容不能够被别人知道。
一般是自身设置一个私钥,根据这个私钥发布公钥给别人,然后别人通过公钥加密,只有通过私钥才能够解密
但这个跟apt下载工具没什么关系
是公私钥可以有另外一个作用,signment(签名
简单一点理解就是,通过发布我自己的公钥,让大家都知道我正版公钥是什么,然后针对我的内容用私钥加密,因为大家都知道我的公钥是什么,大家可以用公钥解密获得结果
这样可以避免大家下到盗版软件
而这个也是为什么apt下载时候会看到有什么sha256 什么相关的hash
现在一般用gbg,这个好像比较复杂,也没去详细了解
apt 下载过程
会过来说apt下载过程
上面提及了加密算法,所以后续的软件下载模式就需要提前先知道这个公司密钥是什么。
所以有时候官网下载的时候有什么curl x x x x x gbg xx
这歌过程就是去获取官方发布的密钥
再通过apt命令,去添加具体的下载地址
然后apt update命令会将具体地址与具体软件名称关联起来
最后直接apt-get install xx软件名就可以下载了
而我们在配置apt 镜像的过程,只配置了一个地址
实际上apt update的时候,会遍历每一个mirror,将它下面所有的软件与具体名称关联起来,所以后续才能够直接apt install
而其中基本每一个mirror的每一个软件都弄好了密钥这个过程,所以很多时候感觉好像没有密钥这个东西
杂知识
用户添加
#添加用户
useradd -d {dir_path} -m {username}
#添加用户的密码
passed {username}
假设说这时候发现切换用户前面什么都没有,只有一个$。说明脚本软件用的不对,需要用root去改一个文件,改成bash启动,而不是sh
tee
追加文件内容命令
#追加文件,直到遇见EOF
tee -a {file_name} <<'EOF'
echo "{content}" | tee -a {file_name}