共计 13529 个字符,预计需要花费 34 分钟才能阅读完成。
二、系统管理
1. 零碎信息、硬件资源
(1).CPU
CPU 是操作系统稳固运行的基本,CPU 的速度与性能在很大水平上决定了零碎整体的性能,因而,CPU 数量越多、主频越高,服务器性能也就绝对越好
# 1, 查看物理 CPU 个数
$ cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
# 2, 查看逻辑 cpu 个数
$ cat /proc/cpuinfo |grep "processor"|wc -l
# 3, 查看 CPU 多少核
$ cat /proc/cpuinfo
# 4, 动静查看 cpu 等信息(输出 top 命令之后再按数字 1)
$ top
(2). 内存
Linux 零碎采纳了 物理内存 和虚拟内存(SWAP 内存)两种形式,虚拟内存尽管能够缓解物理内存的有余,然而占用过多的虚拟内存,应用程序的性能将显著降落,要保障应用程序的高性能运行,物理内存肯定要足够大;所以咱们在搭建大数据集群的时候个别会禁用 SWAP 内存分区。
(3). 磁盘
1). 磁盘信息和网络信息的查看
# 检测磁盘空间(通过 - h 参数转成带单位的显示方式:):
$ df -h
# 显示所有文件系统的磁盘应用状况:$ df -a
# 显示各指定文件系统的磁盘空间应用状况:
$ df -t
# du 命令用于统计目录或文件所占磁盘空间的大小:$ du -h /root
# 查看以后网络信息:
$ ifconfig
# 测试近程主机的连通性:
$ ping 10.30.59.130
# 查问指定目录中文件大小超过 500M 的
find / -type f -size +500M
2). 磁盘 I / O 性能
磁盘的 I / O 性能会间接影响应用程序的性能,尤其是在一个频繁读写的利用中,如磁盘 I / O 得不到满足,就会导致利用停滞。常见的进步磁盘 I / O 的形式是应用磁盘 RAID 技术(便宜磁盘冗余阵列):
- RAID 0 : 通过把多块硬盘粘合成一个容量更大的硬盘组,进步了磁盘的性能和吞吐量。这种形式成本低,要求至多两个磁盘,然而没有容错和数据修复性能,因此只能用在对数据安全性要求不高的环境中。
- RAID 1 : 也就是磁盘镜像,通过把一个磁盘的数据镜像到另一个磁盘上,最大限度地保障磁盘数据的可靠性和可修复性,具备很高的数据冗余能力,但 磁盘利用率只有 50%,因此,老本最高,多用在保留重要数据的场合。
- RAID 5 : 采纳了磁盘分段加奇偶校验技术,从而进步了系统可靠性,RAID 5 读出效率很高,写入效率个别,至多须要 3 块盘。容许一块磁盘故障,而不影响数据的可用性。
(4), 查看 GPU 的版本
# 实用于英伟达的 gpu 显卡
nvidia-smi
(5), 查看 Linux 的版本信息
# 办法 1:登陆 Linux,在终端输出
cat /etc/redhat-release
# 办法 2:登陆 Linux,在终端输出
cat /etc/issue
# 办法 3:登陆 Linux,在终端输出
## 此时须要 yum 装置
yum install redhat-lsb -y
## 查看版本等信息
lsb_release -a
2. 过程信息、主机治理
1. 查看过程信息(3 种):
(1), 查看过程的具体情况:ps
(2), 显示终端上所有的过程,包含其余用户的过程:ps -a
(3), 显示过程的具体状态:ps -u
(4), 查看过程(查看 redis 的过程):ps -ef | grep redis
(5), 动态显示过程(top 命令用来动态显示运行中的过程。top 命令可能在运行后,在指定的工夫距离更新显示信息。能够在应用 top 命令时加上 -d 来指定显示信息更新的工夫距离。):top
(6), 在 kali 中没有体现, 然而也能够查看过程的详细信息:ntop
(7).netstat -anp | grep 过程号 # 查看该过程网络信息
(8).netstat -nlp | grep 端口号 # 查看网络端口号占用状况
2. 杀死过程 (依据查看的过程信息中的 pid 号(数字) 进行删除):
一般杀:kill 232
强制杀:kill -9 232
3. 关机:
立即关机:shutdown -h now
指定在某个工夫 (20:20) 点关机:shutdown -h 20:20
4. 重启: reboot
ps 选项 | 含意 |
---|---|
-a | 显示终端上的所有过程,包含其余用户的过程 |
-u | 显示过程的具体状态 |
-x | 显示没有管制终端的过程 |
-w | 显示加宽,以便显示更多的信息 |
-r | 只显示正在运行的过程 |
top 命令执行后对应的按键 | 含意 |
---|---|
M | 依据内存使用量来排序 |
P | 依据 CPU 占有率来排序 |
T | 依据过程运行工夫的长短来排序 |
U | 能够依据前面输出的用户名来筛选过程 |
K | 能够依据前面输出的 PID 来杀死过程。 |
q | 退出 |
h | 取得帮忙 |
3,yum 源治理
(1),Centos 换源(在线)
wget 的包
# 0. 须要先应用曾经筹备好的 prm 包装置好 wget
$ rpm -ivh wget-1.14-18.el7_6.1.x86_64.rpm
# 1. 首先备份零碎自带 yum 源配置文件 /etc/yum.repos.d/CentOS-Base.repo
$ mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
# 2. 下载 ailiyun 的 yum 源配置文件到 /etc/yum.repos.d/
$ wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 3. 运行 yum makecache 生成缓存
$ yum makecache
# 4. 这时候再更新零碎就会看到以下 mirrors.aliyun.com 信息
$ yum -y update
------------------------- 分割线 ------------------------------
# 5. 有些时候失败的话:# (1). 新增加配置 CentOS 的 DNS:$ vi /etc/resolv.conf
$ nameserver 8.8.8.8
# (2). 从新执行 wget 命令,而后另外在生成缓存的时候能够先革除缓存
$ yum clean all
# (3), 附另外的参考连贯
https://blog.csdn.net/qingfenggege/article/details/80394564
(2),[[6- 配置本地镜像源]]
- 配置本地文件源(单机)
- 批改本地文件源为局域网拜访 http 源(联机)
(3), 查看 yum 命令装置的包的门路
# 例如查看应用 yum 源装置 XXX 的装置目录,此时会将所所有与 XXX 相干的 rpm 包显示进去
$ rpm -ql XXX
4,rpm 包治理
次要介绍 rpm 的相干命令。
# 1. 查看曾经装置的 rpm 包, 能够指定只看其中的一个为 XXX 的
$ rpm -qa | grep xxx
# 2. 装置 rpm 包, 例如装置 xxx.rpm
$ rpm -ivh xxx.rpm
# 3. 删除 rpm 包
$ rpm -e xxx.rpm
# 4. 在删除包时不查看依赖
$ rpm -e --nodeps XXX.rpm
5. 网络配置管理
(1), 设置动态 ip
该笔记在整顿的时候都是以虚拟机主动获取 ip 地址的形式去获取的,所以在这独自整顿手动更改 ip 的步骤。
# 1,关上网络配置文件(网卡名称不惟一,在其余机器中可能不是这个,个别是在那个目录下的第一个文件名称)
$ vim /etc/sysconfig/network-scripts/ifcfg-ens33
# 2,批改其中的两个选项和增加几个选项
# (1). 批改的选项
BOOTPROTO=static
ONBOOT=yes
# (2). 追加的选项(ip, 子网掩码, 网关(在虚构网络编辑器可中能够查看),DNS)
IPADDR=192.168.52.100
NETMASK=255.255.255.0
GATEWAY=192.168.52.1
DNS1=8.8.8.8
# 3,配置实现之后,重启网卡
service network restart
# 或者应用如下的命令重启
systemctl restart network
ZONE=public
(2).CentosMini 班装置之后没有 ifconfig★
最小化装置后,能够用 ip addr 命令查看网络信息。
那么习惯 ifconfig 的用户,则须要 yum -y install net-tools 即可
6. 工夫治理
(1), 日期工夫操作
1. 查看以后日历:
查看以后月份的日历: cal
查看指定年份的日历: cal -y 2018
2. 显示以后工夫: date
# date [MMDDhhmm[[CC]YY][.ss]] +format
CC 为年前两位 yy 为年的后两位,前两位的 mm 为月,后两位的 mm 为分钟,dd 为天,hh 为小时,ss 为秒。如:date 010203042016.55。显示工夫格局(date '+%y,%m,%d,%H,%M,%S'):3.Linux hwclock 命令用于显示与设定硬件时钟
# 参数:
hwclock # 间接敲命令显示的以后工夫
–hctosys # 将零碎时钟调整为与目前的硬件时钟统一。–set –date=< 日期与工夫 > # 设定硬件时钟。–show # 显示硬件时钟的工夫与日期。–version # 显示版本信息。
format 格局 | 含意 |
---|---|
%Y,%y | 年 |
%m | 月 |
%d | 日 |
%H | 时 |
%M | 分 |
%S | 秒 |
(2), 工夫同步
通过网络连接外网进行时钟同步, 必须保障虚拟机连上外网
三台机器都装置 ntpdate
yum -y install ntpdate
阿里云时钟同步服务器
ntpdate ntp4.aliyun.com
三台机器定时工作
crontab -e
增加如下内容
*/1 * * * * /usr/sbin/ntpdate ntp4.aliyun.com;
7. 防火墙治理
(1),firewall-cmd
1), 根本命令格局
- 通用选项
-h, --help # 显示帮忙信息;-V, --version # 显示版本信息.(这个选项不能与其余选项组合);-q, --quiet # 不打印状态音讯;
- 状态选项
--state # 显示 firewalld 的状态;--reload # 不中断服务的从新加载;--complete-reload # 中断所有连贯的从新加载;--runtime-to-permanent # 将以后防火墙的规定永恒保留;--check-config # 查看配置正确性;
- 日志选项
--get-log-denied # 获取记录被回绝的日志;--set-log-denied=<value> # 设置记录被回绝的日志,只能为 'all','unicast','broadcast','multicast','off' 其中的一个;
2), 实例
A, 装开启和敞开防火墙
# 装置 firewalld
yum install firewalld firewall-config
systemctl start firewalld # 启动
systemctl stop firewalld # 进行
systemctl enable firewalld # 启用主动启动
systemctl disable firewalld # 禁用主动启动
systemctl status firewalld # 或者 firewall-cmd --state 查看状态
# 敞开服务的办法
# 你也能够敞开目前还不相熟的 FirewallD 防火墙,而应用 iptables,命令如下:systemctl stop firewalld
systemctl disable firewalld
yum install iptables-services
systemctl start iptables
systemctl enable iptables
B, 开发端口示例
# 查看防火墙详细信息(只有从新加载防火墙之后才会失效)
firewall-cmd --list-all
# 设置凋谢端口号(ES): 9200
# 指定将以后防火墙的规定永恒保留
# 默认是是对所有 ip 放行的
firewall-cmd --add-port=9200/tcp --permanent
# 敞开某个端口的拜访权限
firewall-cmd --remove-port=3000/tcp --permanent
# 设置开发端口号(MySQL): 3306
# --zone 指定失效的区域,默认是 public
firewall-cmd --zone=public --add-port=3306/tcp --permanent
# 从新加载防火墙
firewall-cmd --reload
# 验证端口, 只查问防火墙凋谢端口,两头应用空格隔开
firewall-cmd --zone=public --list-port
# 查看以后区域信息
firewall-cmd --get-active-zones
# 查看以后放行的服务
# 独自测试是否含有 ssh
firewall-cmd --get-services | grep ssh
C, 管制端口 / 服务 (小结)
能够通过两种形式管制端口的凋谢,一种是指定端口号另一种是指定服务名。尽管凋谢 http 服务就是凋谢了 80 端口,然而还是不能通过端口号来敞开,也就是说通过指定服务名凋谢的就要通过指定服务名敞开;通过指定端口号凋谢的就要通过指定端口号敞开。还有一个要留神的就是指定端口的时候肯定要指定是什么协定,tcp 还是 udp。晓得这个之后当前就不必每次先关防火墙了,能够让防火墙真正的失效。
firewall-cmd --add-service=mysql # 凋谢 mysql 端口
firewall-cmd --remove-service=http # 阻止 http 端口
firewall-cmd --list-services # 查看凋谢的服务
firewall-cmd --add-port=3306/tcp # 凋谢通过 tcp 拜访 3306
firewall-cmd --remove-port=80tcp # 阻止通过 tcp 拜访 3306
firewall-cmd --add-port=233/udp # 凋谢通过 udp 拜访 233
firewall-cmd --list-ports # 查看凋谢的端口
D, 假装 IP
firewall-cmd --query-masquerade # 查看是否容许假装 IP
firewall-cmd --add-masquerade # 容许防火墙假装 IP
firewall-cmd --remove-masquerade # 禁止防火墙假装 IP
E, 端口转发
端口转发能够将指定地址拜访指定的端口时,将流量转发至指定地址的指定端口。转发的目标如果不指定 ip 的话就默认为本机,如果指定了 ip 却没指定端口,则默认应用起源端口。如果配置好端口转发之后不能用,能够查看上面两个问题:
- 比方我将 80 端口转发至 8080 端口,首先查看本地的 80 端口和指标的 8080 端口是否凋谢监听了
- 其次查看是否容许假装 IP,没容许的话要开启假装 IP
firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080 # 将 80 端口的流量转发至 8080
firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.0.1 # 将 80 端口的流量转发至 192.168.0.1
firewall-cmd --add-forward-port=port=80:proto=tcp:toaddr=192.168.0.1:toport=8080 # 将 80 端口的流量转发至 192.168.0.1 的 8080 端口
F: 补充
source: 依据源地址过滤(优先级最高)interface: 依据网卡过滤(优先级次高)service: 依据服务名过滤
port: 依据端口过滤
icmp-block: icmp 报文过滤,依照 icmp 类型配置
masquerade: ip 地址假装
forward-port: 端口转发
rule: 自定义规定
# 查看是否开启
systemctl status firewalld.service
# 关上防火墙
systemctl start firewalld.service
# 停用防火墙
systemctl disable firewalld
# 禁用防火墙
systemctl stop firewalld.service
# 开机启动
systemctl enable firewalld
# 勾销开机启动
systemctl disable firewalld
# 查看运行状态
firewall-cmd --state
# 查看接口信息
firewall-cmd --list-all
# 更新防火墙规定办法 1: 无需断开连接,动静更改规定
firewall-cmd --reload
# 更新防火墙规定办法 2: 断开连接,以重启的形式更改规定
firewall-cmd --complete-reload
# 查看帮忙
firewall-cmd --help
--zone=NAME # 指定 Zone
--permanent # 为永恒失效
--timeout=seconds # 继续一段时间,到期后主动移除,常常用于调试,且不能与 --permanent 同时应用
# 追加一个 8181 端口,永恒无效
firewall-cmd --add-port=8181/tcp --permanent
# 追加一段端口范畴
firewall-cmd --add-port=6000-6600/tcp
# 凋谢 ftp 服务
firewall-cmd --add-service=ftp
# 增加 eth0 接口至 public 信赖等级,永恒无效
firewall-cmd --zone=public --add-interface=eth0 --permanent
# 配置 public zone 的端口转发
firewall-cmd --zone=public --add-masquerade
# 而后转发 tcp 22 端口至 9527
firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=9527
# 转发 22 端口数据至另一个 ip 的雷同端口上
firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toaddr=192.168.1.123
# 转发 22 端口数据至另一 ip 的 9527 端口上
firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=9527:toaddr=192.168.1.100
# IP 封禁
firewall-cmd --permanent --add-rich-rule="rule family='ipv4'source address='192.168.1.123'reject"
# IP 解除封禁
firewall-cmd --permanent --add-rich-rule="rule family='ipv4'source address='192.168.1.123'accept"
# 通过 ipset 来封禁 ip
firewall-cmd --permanent --zone=public --new-ipset=blacklist --type=hash:ip
firewall-cmd --permanent --zone=public --ipset=blacklist --add-entry=192.168.1.123
# 封禁网段
firewall-cmd --permanent --zone=public --new-ipset=blacklist --type=hash:net
firewall-cmd --permanent --zone=public --ipset=blacklist --add-entry=192.168.1.0/24
# 倒入 ipset 规定 blacklist,而后封禁 blacklist
firewall-cmd --permanent --zone=public --new-ipset-from-file=/path/blacklist.xml
firewall-cmd --permanent --zone=public --add-rich-rule='rule source ipset=blacklist drop'
(2),iptables
iptables 服务会把配置好的防火墙策略交由内核层面的 netfilter 网络过滤器来解决;
而 firewalld 服务则是把配置好的防火墙策略交由内核层面的 nftables 包过滤框架来解决。
换句话说,以后在 Linux 零碎中其实存在多个防火墙管理工具,旨在不便运维人员治理 Linux 零碎中的防火墙策略,咱们只须要配置得当其中的一个就足够了。尽管这些工具各有优劣,但它们在防火墙策略的配置思路上是保持一致的。
一般来说,从内网向外网发送的流量个别都是可控且良性的,因而咱们应用最多的就是 INPUT 规定链,该规定链能够增大黑客人员从外网入侵内网的难度。
然而,仅有策略规定还不能保障社区的平安,保安还应该晓得采纳什么样的动作来解决这些匹配的流量,比方“容许”、“回绝”、“注销”、“不理它”。这些动作对应到 iptables 服务的术语中别离是 ACCEPT(容许流量通过)、REJECT(回绝流量通过)、LOG(记录日志信息)、DROP(回绝流量通过)。
1,参考地址(1)–linux 零碎中查看己设置 iptables 规定
2,参考地址(2)– 第 8 章 Iptables 与 Firewalld 防火墙
3,参考地址(3)–Centos7 批改 iptables 规定并开机永恒失效两种形式
(1),iptables 中罕用的参数以及作用
参数 | 作用 |
---|---|
-P | 设置默认策略 |
-F | 清空规定链 |
-L | 查看规定链, 此时查问后果中会呈现 anywhere, 用来示意任意的 ip |
-n | 会以数字的形式显示 filter 表中的相应规定。如果没有-n ,规定中可能会呈现anywhere ,有了-n ,它会变成0.0.0.0/0 |
-A | 在规定链的开端退出新规定 |
-I num | 在规定链的头部退出新规定 |
-D num | 删除某一条规定 |
-s | 匹配起源地址 IP/MASK,加叹号“!”示意除这个 IP 外 |
-d | 匹配指标地址 |
-i 网卡名称 | 匹配从这块网卡流入的数据 |
-o 网卡名称 | 匹配从这块网卡流出的数据 |
-p | 匹配协定,如 TCP、UDP、ICMP |
–dport num | 匹配指标端口号 |
–sport num | 匹配起源端口号 |
(2), 通过删除规定敞开端口(如 22 端口)
## 查看默认表中的规定
# -n: 是数字的形式展现
# -L: 是指定查问时应用的规定规定链名称, 默认是查问所有的
# --line-number: 找出该规定的行号
[root@zhsq01 ~]# iptables -n -L --line-number
.....
# 此时省略一些输入内容
.....
## 1, 查看 进口规定链中 IN_public_allow 所有的规定
[root@zhsq01 ~]# iptables -n -L IN_public_allow --line-number
Chain IN_public_allow (1 references)
num target prot opt source destination
1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 ctstate NEW
2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:82 ctstate NEW
3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306 ctstate NEW
4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 ctstate NEW
5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:9000 ctstate NEW
6 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:19880 ctstate NEW
## 2, 删除 22 端口对应的 num 为 1
[root@zhsq01 ~]# iptables -D IN_public_allow 1
## 3, 再查看以后凋谢的端口
[root@zhsq01 ~]# iptables -n -L IN_public_allow --line-number
Chain IN_public_allow (1 references)
num target prot opt source destination
1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:82 ctstate NEW
2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:3306 ctstate NEW
3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 ctstate NEW
4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:9000 ctstate NEW
5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:19880 ctstate NEW
############# 留神:###################
## 4, 留神此时只是会长期失效,在重启之后会生效,所以须要咱们咱们执行以下操作,然而 Cetnos7 中默认是应用 firewalld-cmd 去治理,所以这个服务是没有开启的,还须要进一步操作,此时整顿笔记并没有深入研究。因为此时曾经能够满足客户的需要了。[root@k8s-master ~]# service iptables reload
(3), 更改 ssh 端口 22 为其余端口
1,有两种更改策略,一种是放弃 SeLinux 和防火墙开着的状况上来进一步做批改
2,另外一种是将 SeLinux 和防火墙间接敞开,而后去批改对应的端口即可,此时就在重启 sshd 服务的时候就不会报错了。
1), 备份 ssh 配置文件
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
2), 批改配置文件
sudo vi /etc/ssh/sshd_config
# If you want to change the port on a SELinux system, you have to tell
# SELinux about this change.
# semanage port -a -t ssh_port_t -p tcp #PORTNUMBER
#Port 22
Port 19880
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
3), 通过 SELinux 启用新创建的端口
默认状况下,SELinux 只容许端口 22 用于 SSH,当初须要做的是通过 SELinux 启用新创建的端口;
其实最简答的形式是间接将 SeLinux 敞开,而后去更换端口,从而实现不装置依赖的形式实现端口的转换。
## 先装置依赖
## 防止出现报错: 如果执行以上命令后报错:semanage command not found,执行这条命令来装置 semanage
sudo yum -y install policycoreutils-python
# 通过 SeLinux 放行 19880 端口
sudo semanage port -a -t ssh_port_t -p tcp 19880
4), 通过防火墙开启端口号
## 增加防火墙规定 -- 端口
sudo firewall-cmd --permanent --zone=public --add-port=19880/tcp
## 从新加载防火墙
sudo firewall-cmd --reload
## 查看以后凋谢的端口
firewall-cmd --list-ports
5), 重启 ssh 服务
sudo systemctl restart sshd.service
## 验证端口是否失效
systemctl status sshd.service
6), 验证服务是否在新端口上运行
ss -tnlp | grep ssh
7), 测试应用指定端口登录
ssh root@192.168.0.1 -p 19880
8), 补充:
此时是间接在配置文件中将 22 端口敞开了,也能够再独自配置敞开 22 端口;
其余参考地址:
1,更改 CentOS 7 默认的 SSH 端口
2,批改 Centos7 SSH 端口
8. 其余命令整顿
1.nohup 命令详解
nohup command > /dev/null 2>&1 &
- 1.nohup 命令:如果你正在运行一个过程,而且你感觉在退出帐户时该过程还不会完结,那么能够应用 nohup 命令。该命令能够在你退出帐户 / 敞开终端之后持续运行相应的过程。nohup 就是不挂起的意思(nohang up)。
- 2.”& 1″ 更精确的说应该是文件描述符 1, 而 1 个别代表的就是 STDOUT_FILENO, 实际上这个操作就是一个 dup2(2)调用. 他规范输入到 all_result , 而后复制规范输入到文件描述符 2(STDERR_FILENO), 其结果就是文件描述符 1 和 2 指向同一个文件表项, 也能够说谬误的输入被合并了。
- 3.STDOUT_FILENO:对应的数字代表其中:0 示意键盘输入; 1 示意屏幕输入; 2 示意谬误输入.
- 4.”2>&1 &” 是将规范出错重定向到规范输入,这里的规范输入曾经重定向到了 /dev/null 文件(黑洞文件),行将规范出错也输入到 /dev/null 文件中。另外最初一个 &,是让该命令在后盾执行。
2.curl 的应用
curl 是罕用的命令行工具,用来申请 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。
#### 罕用参数的应用案例
# 1, 不带有任何参数时,curl 就是收回 GET 申请。curl https://www.example.com
# 2,- X 参数指定 HTTP 申请的办法, 比方此时能够发动 post 申请
# 留神此时的协定名是严格辨别大小写的
curl -X POST https://www.example.com
# 如果是 http 协定,能够间接应用 curl www.example.com 发动 GET 申请
9.linux 的零拷贝
具体参考链接:
总结:(kafka 面试中常问)
“零拷贝”形容的是 CPU 不执行拷贝数据从一块内存区域到另一块区域的工作的计算机操作。它通常用于在网络上传输文件时节俭 CPU 周期和内存带宽。简略来说,零拷贝就是一种防止 CPU 将数据从一块存储拷贝到另外一块存储的技术。
“零拷贝”正是通过打消这些多余的拷贝来晋升性能的 。 在数据传输的过程中,防止数据在内核空间缓冲区和用户空间缓冲区之间进行拷贝 , 以及数据在内核空间缓冲区内的 CPU 拷贝。
10. 装置字体
- 查看已装置的中文字体
[root@test_basic-jietiao ~]# fc-list :lang=zh
[root@test_basic-jietiao ~]#
- 在 /usr/fonts 目录下新建文件夹,寄存字体文件
[root@test_basic-jietiao fonts]# cd /usr/share/fonts
[root@test_basic-jietiao fonts]# ls
default dejavu
[root@test_basic-jietiao fonts]# mkdir chinese
[root@test_basic-jietiao fonts]# ls
chinese default dejavu
- 拷贝相干字体到以后新建的目录中
[root@test_basic-jietiao fonts]# ls chinese
arial unicode ms.ttf arialuni.ttf CG Times.ttf simkai.ttf simsun.ttc
- 再次查看
[root@test_basic-jietiao fonts]# fc-list :lang=zh
KaiTi_GB2312, 楷体_GB2312:style=Regular
NSimSun, 新宋体:style=Regular
SimSun, 宋体:style=Regular
Arial Unicode MS:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,Arrunta
- 扫描字体目录并生成字体信息的缓存
[root@test_basic-jietiao fonts]# fc-cache
[root@test_basic-jietiao fonts]#
11. 帮忙文档
(1).–help
# 个别是 linux 命令自带的帮忙信息
如:ls --help
(2)man(有问题找男人,manual)
# man 是 linux 提供的一个手册,蕴含了绝大部分的命令、函数应用阐明
# 该手册分成很多章节(section),应用 man 时能够指定不同的章节来浏览, 也能够间接应用 "man ➕ 命令" 的模式
例:man ls ; man 2 printf
# man 中各个 section 意义如下:Standard commands(规范命令)System calls(零碎调用,如 open,write)Library functions(库函数,如 printf,fopen)Special devices(设施文件的阐明,/dev 下各种设施)File formats(文件格式,如 passwd)Games and toys(游戏和娱乐)Miscellaneous(杂项、常规与协定等,例如 Linux 档案零碎、网络协定、ASCII 码;environ 全局变量)Administrative Commands(管理员命令,如 ifconfig)man 是依照手册的章节号的程序进行搜寻的。# man 设置了如下的功能键:
功能键 | 性能 |
---|---|
空格键 | 显示手册页的下一屏 |
Enter 键 | 一次滚动手册页的一行 |
b | 回滚一屏 |
f | 前滚一屏 |
q | 退出 man 命令 |
h | 列出所有功能键 |
/word | 搜寻 word 字符串 |