黑马程序员Linux笔记

视频地址

https://www.bilibili.com/video/BV1DW411G7VB

比较各种远程连接工具

FileZilla是ftp用的,WinSCP是连接Windows和Linux的,VNC是Windows以图形界面访问Linux或者mac的,putty是Windows连接Linux命令行的,mstsc(Microsoft Terminal Service Client)是Windows连接Windows的远程桌面。

VNC的用户端和服务端也可以包括手机,VNC一般来说要求服务端和用户端都有用户界面

比较SSH和SSL

SSH 是security shell,位于应用层,它使联网的计算机1能够访问联网计算机2上的shell,以计算机1的身份登录主机,并对他进行操作。
SSL 是security socket layer,只是一个单纯的加密功能。

比较SSH和telnet

来自这篇博客

2.1 Telnet
Telnet取名自Telecommunications和Networks的联合缩写,这是一种在UNIX平台上最为人所熟知的网络协议。
Telnet使用端口23,它是专门为局域网设计的。
Telnet不是一种安全通信协议,因为它并不使用任何安全机制,通过网络/互联网传输明文格式的数据,包括密码,所以谁都能嗅探数据包。
Telnet中没有使用任何验证策略及数据加密方法,因而带来了巨大的安全威胁,这就是为什么telnet不再用于通过公共网络访问网络设备和服务器。
2.2 SSH
SSH取名自安全外壳(Secure Shell),它现在是通过互联网访问网络设备和服务器的唯一的主要协议。
SSH默认情况下通过端口22运行,该端口号可以更改。
SSH是一种非常安全的协议,因为它共享并发送经过加密的信息,从而为通过互联网等不安全的网络访问的数据提供了机密性和安全性。
一旦通讯的数据使用SSH经过加密,就极难解压和读取该数据,所以我们的密码在公共网络上传输也变得很安全。
SSH还使用公钥用于对访问服务器的用户验证身份,这是一种很好的做法,为我们提供了极高的安全性。
3. 协议对比
(1) SSH 和 Telnet 应用领域基本重合。
(2) SSH 比 Telnet 更加安全。
(3) 在发送数据时,SSH会对数据加密,而Telnet不会(它会直接发送明文,包括密码)。
(4) SSH使用公钥授权,而Telnet不使用任何授权。
(5) 在带宽上,SSH 会比Telnet多一点点开销。
(6) SSH 几乎在所有场合代替了Telnet。

Linux命令练习题

reboot 重启Linux系统
ctrl u 删除光标左侧内容
ctrl k 删除光标右侧内容
rm -r /tmp/A* 删除/tmp文件夹下所有A开头的文件名的文件
cp /etc/passwd /tmp/ 备份/etc/passwd到/tmp/目录下
tail -3 /etc/passwd 查看系统最后创建的3个用户
wc -l /etc/passwd 统计当前系统中一共有多少用户
cat /etc/passwd | wc -l 统计当前系统中一共有多少用户(利用了管道)
touch /tmp/test.conf 创建 /tmp/test.conf 文件
vim /tmp/test.conf vim打开/tmp/test.conf 文件
head -3 /tmp/test.conf 查看头3行
tail -3 /tmp/test.conf 查看尾3行
cd ~ 回到当前账户的家目录 cd
du -sh /etc 查看/etc占用的磁盘空间
rm -rf /tmp/* 删除/tmp下所有文件(tmp文件夹保留)
service httpd start 尝试启动Apache的服务
ps -ef|grep httpd 检查服务是否启动成功
killall httpd 杀死Apache的进程

sudo和su之类的问题

出现 su: 鉴定故障 是因为没有给root设置密码,具体参考这篇博客

/etc/sudoers是sudo的规则配置文件
su后用户切换为root,之后
vim /etc/sudoers 打开sudo配置文件 ,只读
visudo 打开sudo配置文件,可读可编辑


root 表示用户名 %sys 表示sys用户组
ALL 表示允许登录的主机(地址白名单)
(ALL) 表示以谁的身份执行,ALL表示root身份
ALL 表示当前用户可以执行的命令 ,英文逗号分割

项目上线流程

1、服务器选购购买
项目上线服务器必须是公网服务器
一般服务器有2种情况:购买真实服务器和购买云服务器
购买真实服务器一次性成本过高

云服务的厂商:阿里云,腾讯云,知道创宇(加速乐),华为云,盛大云,新浪云(sae),AWS(亚马逊云)

进入云服务器ECS
点击“立即购买”

计费方式
地域
其他配置

网络
公网带宽
安全组,类似防火墙,用于设备网络控制

授权对象0.0.0.0/0表示任何人访问
vnc服务需要开通一下,尽管可以创建安全组规则实例
如需域名备案请购买3个月以上时长

服务器集群需要相互通信时,走内网IP更快

2、 域名购买

wanwang(万网)已经被阿里云收购
全球都是这样,一个域名最长有限期是10年,到期可以续费
过期了续费可能会“坐地起价”

购买后可以在后台控制面板查看

3、 域名备案
当申请域名的主体想要在国内使用域名,则需要向当地的通信管理局(省级)备案

在管理后台点击“ICP备案系统”

备案服务号可以在后台控制台查看

下载网站真实性核验单,打印,填写,扫描,上传

初审时间一般一天

申请备案幕布,拍照(不要p),上传

等待管局审核(一般15个工作日)

审核通过收到工信部的审核通过邮件,邮件中有备案号和备案密码

4、 域名解析

点击“解析”按钮

添加解析

记录类型

主机记录 www,mail,dc.console等等
解析线路
记录值 填公网ipv4地址
TTL值 默认10min

http://ping.chinaz.com/ 全国各地ping某网站的查询网站

5、 配置生产环境

6、 上传代码
上传工具有 pscp ,filezilla

filezilla
主机 sftp://{公网ip}
用户名
密码
端口22

shell基础

shell 用c语言编写的程序
shell既是一种命令语言,也是一种程序设计语言

Linux中默认的shell是/bin/bash
bash是shell的一种,“兄弟姐妹”有ash,ksh,csh,tcsh,zsh,nologin.不同的shell有自己的特点以及用途

sh已被/bin/bash 取代

usermod -s /sbin/nologin aop
用户aop不能允许到登录计算机

shell脚本编写规范

代码规范
# 第一行注释指定脚本所用解释器的路径
#!/bin/bash

文件命名规范
文件名.sh

touch vim 来新建shell文件
脚本必须有执行权限 chmod +x hello.sh

/dir1/dir2/hello.sh 运行脚本而不是 hello.sh
如果你的hello.sh不在$PATH下

posted @ 2021-05-29 16:22  yhm138  阅读(596)  评论(0)    收藏  举报