进程管理:
程序被触发后 , 执行者的权限与属性、程序的程序码与所需数据等都会被载入内存中 , 操作系统并给予这个内存内的单元
一个识别码 (PID), 可以说 , 进程就是一个正在运行中的程序。
进程状态:
1)R (Running): 该程序正在运行中 ;
2)S (Sleep): 该程序目前正在睡眠状态 (idle), 但可以被唤醒 (signal) 。
3)D :不可被唤醒的睡眠状态 , 通常进程可能在等待 I/O 的情况。
4)T(stop) :停止状态 , 可能是在工作控制 ( 背景暂停 ) 或除错(traced) 状态 ;
5)Z (Zombie): 僵尸状态 , 程序已经终止但却无法被移除至内存外
进程相关的命令:
1 查看进程: ps : 静态查看进程的相关信息
-A : 所有的 process 均显示出来 , 与 -e 具有同样的效用 ;
-a : 不与 terminal 有关的所有 process ;
-u : 有效使用者 (effective user) 相关的 process ;
-x : 通常与 a 这个参数一起使用 , 可列出较完整信息
-l : 较长、较详细的将该 PID 的的信息列出 ;
-f : 做一个更为完整的输出。
2 top : 动态监控进行,查看实时进程信息
s: 修改进程刷新间隔时间
m: 根据内存占有率进行排序
c: 根据 cpu 占有率进行排序
u: 后面输入用户名 , 用来查看该用户发起的所有进程
k: 后面跟要作用的进程 pid, 和发起的信号 (eg:9,15,20) 用来给某个进程发起一信号
q: 退出进程查看界面
h: 显示 top 命令的帮助
工作管理:
用在 bash 环境下的 , 当我们登陆系统取得 bash shell 之后 , 在单一终端机接口下同时进行多个工作的行为管理。例如 我们在登陆 bash 后 , 想要一边进行数据搜寻、一边打开浏览器 , 还可以一边进行 vim 程序撰写 ! 这个就牵扯到工作的前后台管理
工作管理相关命令:
1 命令 & : 将该 job 在后台运行
2 Ctrl + z : 将该job 打入后台,并且不运行
3 fg : 将后台job 调到前台运行
若有多个,则 fg + job名
4 bg : 使后台不运行的进程运行起来
5 jobs : 查看当前的工作空间里的 job
jobs -l : 查看当前工作空间的job ,并显示该 job 的 PID
进程信号:
1 在程序不重启的情况下重新加载配置
2 清除指定程序在内存中的数据
3 清除鼠标在内存中的数据
9 强行结束某个进程,不会被阻塞
15 正常关闭某个进程,可能会被阻塞
18 继续运行暂停的进程
19 暂停指定进程,不会被阻塞
20 暂停指定进程,会被阻塞
发启进程信号:
kill : 杀死进程
kill (信号) 进程pid : 对指定pid的进程进行操作
killall (信号) 进程名称: 对指定的进程进行操作
pkill 信号 条件: 直接杀死运行中的进程
SSHD服务管理:
SSH 为 Secure Shell 的缩写 , 是应用层的安全协议。 SSH是目前较可靠 , 专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题
基于口令的安全验证:
ssh remoteuser@remotehost : 前提只要你知道自己帐号和口令 , 就可以登录到远程主机。但会出“中间人”攻击
ssh use@192.168.71.129 需要输入密码
基于密钥的安全认证:
你必须为自己创建一对密匙 , 把公匙放在需要访问的服务器上。如果你要连接到 SSH 服务器上 , 客户端软件就会向服务器发出请求 , 请求用你的密匙进行安全验证。服务器收到请求之后 , 先在该服务器上你的主目录下寻找你的公匙 , 然后把它和你发送过来的公匙进行比较。如果两个密匙一致 , 服务器就用公用密匙加密“质询” (challenge) 并把它发送给客户端软件。客户端软件收到“质询”之后就可以用你的私人密匙解密再把它发送给服务器
免密操作:
1)先生成 ssh-keygen 公钥和私钥
ssh-keygen
2) 将生成的公钥拷贝到你要登录的另一个用户中
id_rsa : 私钥 id_rsa_pub : 公钥
ssh-copy-id user@192.168.71.129
3) 现在可以进行免密操作,不需要输入登录密码
服务管理: systemctl
1) 查看服务: systemctl status 服务名
2) 启动服务:systemctl start 服务名
3) 停止服务:systemctl stop 服务名
4) 重启服务:systemctl restart 服务名
5) 设定 sshd 服务开机启动 : systemctl enable 服务名
6) 设定 sshd 服务开机关闭 : systemctl disable 服务名
7) 列出当前系统服务的状态 systemctl list-units
8) 列出服务的开机状态 systemctl list-unit-files
9) 锁定服务 , 不能启动服务 ,除非解锁 systemctl mask 服务名
10) 解锁服务 systemctl unmask 服务名
11) 开机不开启图形(多用户模式,命令框模式,没有图形化界面) systemctl set-default multi-user.target
12) 开机启动图形 systemctl set-default graphical.target
文件传输: 在两个主机之间进行文件的传输
文件上传: scp 本地文件 远程主机用户 @ 远程主机 IP: 远程主机目录
将 file 文件复制到另一个主机上 : scp file user@192.168.71.129:~/test
文件下载: scp 远程主机用户 @ 远程主机 IP: 远程主机目录 本地目录
同步两个主机的同名文件:rsyn
-r 复制目录
-l 不忽略链接
-p 不忽略权限
-t 不忽略时间戳
-g 不忽略用户
-o 不忽略组
-D 不忽略快设备
打包文件: 将文件进行打包 (tar)
将 test 文件夹 打包: tar cf test.tar test
-c : 建立一个压缩文件的参数指令 (create 的意思 );
-x : 解开一个压缩文件的参数指令。
-t : 查看 tarfile 里面的文件。
-z : 是否同时具有 gzip 的属性 ? 亦即是否需要用 gzip 压缩 ?
-j : 是否同时具有 bzip2 的属性 ? 亦即是否需要用 bzip2 压缩 ?
-v : 压缩的过程中显示文件。
-f : 指定打包文件名名。
-p : 使用原文件的原来属性。
-P : 可以使用绝对路径来压缩zcf : 按照 gzip 方式进行打包压缩
jcf: 按照 bzip2 方式进行打包压缩
zxf: 将一个 xxx.tar.gz 的压缩包按照 gzip 解压
jxf :讲一个 xxx.tar.bz 的压缩包按照 bzip2 进行解压
压缩文件:
将打包好的文件进行压缩;压缩是一种通过特定的算法来减小计算机文件大小的机制。这种机制是一种很方便的发明 , 尤其是对网络用户 , 因为它可以减小文件的字节总数 , 使文件能够通过较慢的互联网连接实现更快传输 , 此外还可以减少文件的磁盘占用空间。
压缩方式:
gzip : 按照 gzip 格式进行压缩 (gunzip: 解压文件)
bzip2: 按照 bzip2 方式进行压缩 (bunzip:解压文件)
xz : 按照 xz 方式进行压缩 (unxz:解压文件)
zip : 按照 unzip 方式进行压缩 (unzip:解压文件)