挂载
概念
为什么需要挂载,因为文件系统不能被用户直接使用。需要有一个特定的入口,windows系统中的入口被称之为盘符,linux系统中的入口被称为目录。
将文件系统和目录(盘符)结合的动作,叫做挂载。
挂载的意义就是为了读取系统文件中的内容
命令
#挂载
mount [文件系统] [目录]
#例
mount /dev/cdrom /cd-rom
#卸载(卸载命令后面跟着的目录时已经被文件系统使用的目录)
umount [目录]
远程拷贝
从本地拷贝数据到远程的服务器:
scp [-r] {path}/file | dir {userName}@Host_ip:/{path}
案例:
scp -r /A/a1/a.txt root@127.0.0.1:/B/
远程登录
ssh {userName}@Host_IP
免密登录
在公司里面,绝大部分都在使用linux操作系统。
非对称加密算法-rsa
在生成的时候,会产生两个证书-秘钥对。
生成证书的命令:
ssh-keygen
第一次回车,进入证书生成程序
第二次回车,确认证书的存放位置
第三次回车,要求对私钥证书文件设置密码。
第四次回车,确认密码
注:证书生成之后,配对的公、私钥是唯一的,如果其中一个丢失,不可能再找回。
公钥 | id_rsa.pub | 负责加密内容 |
---|---|---|
私钥 | id_rsa | 负责解密内容 |
known_hosts | 用来记录本机曾访问过的主机地址 |
---|---|
authorized_keys | 文件内容中记录了来访服务器的公钥证书文件内容 |
使用证书进行注册(加密)
注册的过程是将本机中的公钥证书文件内容发送给远程服务器,远程服务器接收证书内容后,会将内容记录在authorized_keys文件中,此后,任意一台具有配对生成的私钥证书文件者,都可以免密登录该服务器。
关于私钥证书的加密
加密证书的方式,通常是为了用证书通过xchell类型的工具管理服务器。
不加密证书的方式,通常是为了集群之间进行免密登录的。
wget
linux系统自带的一个下载工具,功能较强-具备断点下载,后台下载,限速下载等功能。
进程
进程是程序执行执行过程,也是具体的实现
在windows中可以通过任务管理器来结束某一个进程。
当操作系统开始启动时就已经产生了进程。
不同的操作系统的进程也会有差异。
如linux,启动的第一个进程就是init。
当系统启动完毕之后,在系统中的任意操作都会启动一个进程。只不过有些进程在执行完成后立即结束。
进程分为两种
- 临时进程:部分程序执行之后立即结束,如ls。
- 持久进程:vi编辑器,此类程序,需要人为的关闭才会停止。
在linux系统中,并没有像window系统的中任务管理器那么方便。所以当需要linux系统查询进程时,需要学习以下的命令。
查看进程
- 静态
ps [选项]
-aux | 查看所有进程状态 |
---|---|
ef | 以树形结构查询进程状态 |
进程相关的名词解释
名称 | 解释 |
---|---|
USER | 该process属于哪个使用者 |
PID | 该process的程序标识符(进程ID) |
%CPU | 该process使用掉的cpu资源百分比 |
%MEM | 该process所占用的物理内存百分比 |
VSZ | 该process使用掉的虚拟内存量(kbytes) |
RSS | 该process占用的物理内存量(kbytes) |
TTY | 该process是在哪个终端机上运行,若于终端机无关则显示?,另外,tty1-tty6是本机上面登入者程序,若为pts/0等等的,则表示为由连接进主机的程序。(pts表示虚拟终端,例如pts/1 pts/2) |
STAT | 该进程目前的状态,状态显示与ps -l的S旗标相同(R/S/D/T/Z) |
START | 该process被触发启动的时间 |
TIME | 该process实际使用CPU运作的时间 |
COMMAND | 该程序的实际命令是什么,或理解为该进程是哪一个程序/命令启动的 |
进程状态
R | 正在运行,或在队列中的进程 |
---|---|
S | 处于休眠状态 |
< | 高优先级 |
N | 底优先级 |
s | 包含子进程 |
+ | 位于后台的进程组 |
进程树
pstree
Uup | UTF8 |
---|---|
AUP | ASCII |
-
动态
top
以动态的方式来观察服务器的进程状态,默认3秒更新一次
-d 数字 | 表示每多少秒更新一次画面 |
---|---|
-b | 表示以批次的方式运行 |
-n 数字 | 通常结合-b来一起使用,将画面按照n次的方式输出 |
-p pid | 可以使用top按照某一个pid持续进行观察 |
退出top的方式:ctrl+c
top的交互式按键
P | 以CPU的使用资源排序显示 |
---|---|
M | 以Memory的使用资源排序显示 |
N | 以pid来排序 |
T | 由该Process使用的CPU时间累计(TIME+)排序 |
进程管理
单进程管理
kill 命令可以用来将某个进程结束掉
语法:kill [信号量] PID
缺省值:15
信号量:
信号量 | 解释 |
---|---|
1 | 终止进程,如果是守护进程,则重新读取进程的参数配置 |
2 | 类似于键盘ctrl+c的组合键 |
9 | 强制结束 |
15 | 以正常方式关闭进程。 |
多进程管理
killall 命令可以用来结束以某个程序运行的相关进程
语法:killall [信号量] 程序名
缺省值:15
信号量:
信号量 | 解释 |
---|---|
1 | 终止进程,如果是守护进程,则重新读取进程的参数配置 |
2 | 类似于键盘ctrl+c的组合键 |
9 | 强制结束 |
15 | 以正常方式关闭进程。 |
sshd是一个守护进程,默认使用的端口号是22,可通过修改/etc/ssh/sshd_config配置文件来达到端口的修改。
修改过端口之后,需要重启一次sshd服务,否则新端口不生效。
系统自带监控
free | 观察内存使用情况 |
---|---|
uname | 查阅系统与核心相关信息 |
uptime | 观察系统启动时间与工作负载 |
nestat 网络监控
选项:
选项 | 解释 |
---|---|
-a | 将目前系统上所有已经连接、监听、Socket数据都列出来 |
-t | 列出tcp网络包信息 |
-u | 列出udp网路包信息 |
-n | 以端口(port number)方式来显示(不以程序的服务名称) |
-l | 列出目前正在监听(listen)服务 |
-p | 列出该网络服务的进程id(PID) |
常用组合
- lntp
- antp
- lnt
- aunp
任务管理
前台任务
与用户进行交互的任务,不能独立运行的任务就称之为前台任务,例如:vi。
后台任务
脱离了用户的的操作,能够在系统中产生独立的进程,并且持续的运行。例如:sshd
如何将前台任务放置后台:
-
暂停
linux系统中,如果想将一个前台任务放置后台,可以通过ctrl+z的组合键将任务放置后台,但状态为暂停
-
运行
linux系统中,如果想将一个任务放置后台并运行,可以通过命令的结尾处加上一个&(符号)
查看后台的任务
查看后台运行的
jobs -r
查看后台暂停的
jobs -s
查看后台任务
jobs
查看后台任务,并查看PID
jobs -l
将后台的任务调至前台
fg命令可以将后台的任务调至前台
fg+%jobnumber
当fg命令运行时,并没有加任务ID的话,那么默认调用的话就是后台具有+号的任务
带有+号任务表示优先级
最后一次放置后台的任务就是具有+的任务。
改变后台任务的运行状态
bg命令可以将后台暂停的任务状态修改为运行状态。
bg+%jobnumber
当bg命令运行时,并没有加任务ID的话,那么默认调用的就是后台具有+号的任务。
bg虽然能够改变后台任务的状态,但是不能修改交互式的程序状态为运行,例如vi命令。