一.SSH协议
1. 什么是SSH协议
是一种建立在应用层基础之上的,可以有效防止远程管理过程中信息泄露的安全性问题的协议.
2. 原理
服务器启动的时候自己产生一个秘钥,本地的SSH客户端发送连接请求到ssh服务器,服务器检查连接点客户端发送的数据和ip地址,确认合法后发送秘钥给客户端,此时客户端将本地私钥和服务器的公钥结合成秘钥对key,发送给服务器端,建立连接后通过key-pair数据传输
3. 注意点
- ssh是安全的加密协议,用于远程连接linux服务器
- 默认端口是22,安全协议版本是ssh2
- 服务器端主要包含2个服务功能ssh和sftp
- ssh客户端包含ssh连接命令和远程拷贝scp命令等
4.远程连接
ssh -p 22 用户名@ip
打开终端的快捷键:Ctri+alt+t
二.linux的常用操作命令
1.apt命令
- apt-get install 安装包的名字 安装
- apt-get remove 安装包的名字 卸载
- apt-get purge 安装包的名字 移除安装包和配置文件
- apt-get upgrade 安装包的名字 安装包的升级
- apt-get autoremove 自动删除不需要的包
安装ssh
sudo apt-get install openssh-server
查看服务是否启动
ps -aux | grep ssh
启动服务
sudo service ssh start
关闭服务
sudo service ssh stop
重启服务
sudo service ssh restart
2.snap命令
- snap是一款新的软件打包格式,彻底解决linux软件的依赖性问题,也就是说如果你卸载了linux系统上的一个软件,它是100%不会影响另一软件的运行的.
- 常用操作命令
snap list 列出所有已经安装的snap软件包
snap find 按照keyword来寻找可以安装的snap软件包
sudo snap install 安装软件
sudo snap refresh 软件更新
sudo snap refresh all 更新所有软件
sudo snap remove 卸载软件
sudo snap revert 将软件还原到之前的版本
3.linux目录
bin:存放最经常使用的命令
sbin:存放系统管理员使用的程序命令
home:存放普通用户的主目录
root:系统管理员,也就是超级用户的主目录
boot:存放启动linux时使用的核心文件,包括连接文件和镜像文件
dev:类似于windows中的设备管理器
mdia:系统会自动识别一些设备:鼠标,键盘等
mnt:临时挂载别的文件系统
opt:给主机额外安装的软件所摆放的目录,oracle数据库就可以存放在里面
4.常用的命令
cd ~:当前用户的加目录
cd -:切换到上一次的目录
cd / 切换到根目录
cd …回到上一级
pwd:查看当前所在位置
whoami:查看当前用户
which 命令==whereis 命令:查看该命令所在位置
ls -alh:表示已列表的形式列出当前文件夹下所有的文件或者文件夹,以及其详细信息
5.帮助命令
man 命令:列出命令的详细信息和使用
history :可以将其当做一种日志,用来查看用过的命令
命令 --help
6.绝对路径和相对路径
绝对路径:相对于根目录而言的一种路径
相对路径:相对于当前路径而言
7.目录
- 创建目录
mkdir -p a/b/c 递归创建多级目录 - 删除目录
rmdir -p a/b/c 递归删除目录
8.文件
-
文件的创建
touch 文件名 -
文件的查看
cat>文件名 将键盘上的内容输入到文件中
cat 文件名 查看文件
tac 文件名 查看文件(倒序)
cat -n 查看文件 :实现行号
more 文件名:分页查看,空格键翻页q表示退出
less 文件名:查看文件"/要搜索的内容"
tail -n 行数 文件名:获取文件后[行数]行
head -n 行数 文件名:获取文件前[行数行] -
文件的编辑
vim 文件名:打开文件 -
文件的删除
rm -i 文件名:删除时提醒
rm -f 文件名
rm -rf 文件夹 递归删除文件夹和里面的内容 -
文件的赋值
cp -r 源文件 目标目录 -
文件的移动
mv 源文件路径 目标文件路径
-f 覆盖前不询问
-i 覆盖前询问
-n 不覆盖已经存在的文件 -
文件的重命名
mv 路径1/源文件名 路径1/修改后的文件名
9.文件的查找
find 路径 -name 文件名 在该路径下文件名是该文件名的文件
find 路径 -size +100M 该路径下文件大于100M的文件
find 路径 -mtime -3 该路径下文件修改在三天之内的文件
find 路径 -atime -3 访问
find 路径 -ctime -3 修改状态
10grep命令
-
常用参数
-i 不区分大小写
-c 只显示匹配行的数量
-r 递归查找子目录
-l 列出文件内容符合指定的范本样式的文件名称。
-n 显示行号
-w 只匹配单词,不是匹配单词一部分
-E 按正则表达式搜索 -
实例
grep ‘hello’ * --color 在当前目录下进行搜索,所有文件中包含hello文件
grep -n -c ‘time’ a.txt
grep 名称 往往可以结合管道符使用。
ll | grep system
ps -aux | grep 名称 -
注意
. :任意一个字符。
[abc] :表示匹配一个字符,这个字符必须是abc中的一个。
[a-zA-Z] :表示匹配一个字符,这个字符必须是a-z或A-Z这52个字母中的一个。
[^123] :匹配一个字符,这个字符是除了1、2、3以外的所有字符。
对于一些常用的字符集,系统做了定义:
[A-Za-z] 等价于 [[:alpha:]]
[0-9] 等价于 [[:digit:]]
[A-Za-z0-9] 等价于 [[:alnum:]]
tab,space 等空白字符 [[:space:]]
[A-Z] 等价于 [[:upper:]]
[a-z] 等价于 [[:lower:]]
标点符号 [[:punct:]]
. :任意一个字符。
[abc] :表示匹配一个字符,这个字符必须是abc中的一个。
[a-zA-Z] :表示匹配一个字符,这个字符必须是a-z或A-Z这52个字母中的一个。
[^123] :匹配一个字符,这个字符是除了1、2、3以外的所有字符。
对于一些常用的字符集,系统做了定义:
[A-Za-z] 等价于 [[:alpha:]]
[0-9] 等价于 [[:digit:]]
[A-Za-z0-9] 等价于 [[:alnum:]]
tab,space 等空白字符 [[:space:]]
[A-Z] 等价于 [[:upper:]]
[a-z] 等价于 [[:lower:]]
标点符号 [[:punct:]]
匹配次数:
\{m,n\} :匹配其前面出现的字符至少m次,至多n次。
\? :匹配其前面出现的内容0次或1次,等价于\{0,1\}。
* :匹配其前面出现的内容任意次,等价于\{0,\},所以 ".*" 表述任意字符任意次,即无论什么内容全部匹配。
位置锚定:
^ :锚定行首
$ :锚定行尾。技巧:"^$"用于匹配空白行。
\b或\<:锚定单词的词首。如"\blike"不会匹配alike,但是会匹配liker
\b或\>:锚定单词的词尾。如"\blike\b"不会匹配alike和liker,只会匹配like
\B :与\b作用相反。
11.软链接与硬链接
ln 文件名 硬链接名
ln -s 文件名 软链接名
软链接链接的是链接文件的地址
硬链接链接的是源文件的地址