声明:所有文章只作为学习笔记用,转载非原创
https://www.cnblogs.com/jokerbj/p/9117384.html
https://www.cnblogs.com/iiiiher/p/8075996.html
停全的包括各种 初始化配置
https://www.cnblogs.com/jokerbj/p/9133093.html
#tomcat 多版本
[https://zhuanlan.zhihu.com/p/51893378](https://zhuanlan.zhihu.com/p/51893378)
[https://blog.csdn.net/ljj2312/article/details/70744131](https://blog.csdn.net/ljj2312/article/details/70744131)
[https://zhuanlan.zhihu.com/p/51893378](https://zhuanlan.zhihu.com/p/51893378)
# 网络命令
https://www.cnblogs.com/liangshaoye/p/5464601.html
[https://www.cnblogs.com/andrew3/p/12812933.html](https://www.cnblogs.com/andrew3/p/12812933.html)
pty(虚拟终端):
但是如果我们远程telnet到主机或使用xterm时不也需要一个终端交互么?是的,这就是虚拟终端pty(pseudo-tty)
pts/ptmx(pts/ptmx结合使用,进而实现pty):
pts(pseudo-terminal slave)是pty的实现方法,与ptmx(pseudo-terminal master)配合使用实现pty。
https://blog.csdn.net/mn_forever/article/details/12861411
#file-nr file-max
[https://www.cnblogs.com/ermazi/p/7843632.html](https://www.cnblogs.com/ermazi/p/7843632.html)
man 5 proc
[https://www.jianshu.com/p/8fb056e7b9f8](https://www.jianshu.com/p/8fb056e7b9f8)
file-max是内核可分配的最大文件数,nr_open是单个进程可分配的最大文件数,所以在我们使用ulimit或limits.conf来设置时,
如果要超过默认的1048576值时需要先增大nr_open值
但是ulimit其实就是对单一程序的限制,进程级别的
https://www.cnblogs.com/dantes91/p/5007778.html
file-nr /proc/sys/fs/file-nr
第一个代表全局已经分配的文件描述符数量,第二个代表自由的文件描述符(待重新分配的),第三个代表总的文件描述符的数量。
查看当前系统打开的文件数量: lsof | wc -l
查看当前进程的打开文件数量:lsof -p pid | wc -l (lsof -p 1234 | wc -l )
查看当前进程的最大可以打开的文件数:cat /proc/PID/limits (如果通过ulimit -n 设置或者修改/etc/security/limits.conf,看看进程是否生效)
#linux ip addr ifconfig
https://www.cnblogs.com/ginvip/p/6367803.html](https://www.cnblogs.com/ginvip/p/6367803.html
https://blog.csdn.net/deeplake_csdn/article/details/89979612
#linux 处理包的过程
[https://www.jianshu.com/p/e6162bc984c8](https://www.jianshu.com/p/e6162bc984c8)
#连接
[https://www.ibm.com/support/pages/tuning-and-debugging-maximum-connections-accepted-messagesight-v20](https://www.ibm.com/support/pages/tuning-and-debugging-maximum-connections-accepted-messagesight-v20)
[https://www.cnblogs.com/Solstice/archive/2011/07/01/2095411.html](https://www.cnblogs.com/Solstice/archive/2011/07/01/2095411.html)
#交互式,非交互式
[https://wenku.baidu.com/view/f9f12f3658fafab068dc0242.html](https://wenku.baidu.com/view/f9f12f3658fafab068dc0242.html)
#ulimit sysctl
[https://www.jianshu.com/p/30c8f5ba7557](https://www.jianshu.com/p/30c8f5ba7557)
[https://blog.csdn.net/weixin_34409703/article/details/91778446](https://blog.csdn.net/weixin_34409703/article/details/91778446)
[https://blog.51cto.com/13908858/2432324](https://blog.51cto.com/13908858/2432324)
#vsftp
所以简单总结就是:ftpusers和user_list没有任何关系,ftpusers文件总是生效,user_list则取决于userlist_enable和userlist_deny两项配置。
当且仅当userlist_enable=YES时:userlist_deny项的配置才有效
[https://www.cnblogs.com/panwenbin-logs/articles/9962086.html](https://www.cnblogs.com/panwenbin-logs/articles/9962086.html)
主动 被动模式
https://blog.csdn.net/chengqiuming/article/details/70139671 #权限
[ https://www.cnblogs.com/kevingrace/p/8671964.html
[https://www.cnblogs.com/linuxMA/p/11526928.html](https://www.cnblogs.com/linuxMA/p/11526928.html)
两个文件
ftpusers 黑名单,ftpusers不受任何配制项的影响,它总是有效,它是一个黑名单!
#管道和mkfifo
https://www.cnblogs.com/old-path-white-cloud/p/11685558.html
#ncat nc 命令使用 重点
https://www.cnblogs.com/ECJTUACM-873284962/p/9712882.html
网络常用探测命令:nmap / netcat / tcpdump
https://blog.csdn.net/weixin_44983653/article/details/97631435
需要创建一个双向管道。 使用下面命令可以做到这点
mkfifo 2way
ncat -l 8080 0<2way | ncat 192.168.1.200 80 1>2way
现在你可以通过 nc 代理来收发数据了
https://blog.csdn.net/butterfly5211314/article/details/94126145
$ nc -zvn -w 5 10.25.3.26 8086
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connected to 10.25.3.26:8086.
Ncat: 0 bytes sent, 0 bytes received in 0.15 seconds.
$ date;nc -zvn -w 5 10.25.3.26 8087;date
Fri Jun 28 06:20:16 CST 2019
Ncat: Version 7.50 ( https://nmap.org/ncat )
Ncat: Connection timed out.
Fri Jun 28 06:20:21 CST 2019
#man 日常使用
看懂Linux man 手册
https://blog.csdn.net/foreverzili/article/details/81501408
man man manual 简写 http://www.360doc.com/content/16/0925/10/7991404_593464364.shtml
[root@zabbix3 rpm-gpg]# man -aw passwd -- -a查看所有帮助文件地址
/usr/share/man/man1/passwd.1.gz
/usr/share/man/man1/sslpasswd.1ssl.gz
/usr/share/man/zh_CN/man5/passwd.5.gz
/usr/share/man/man5/passwd.5.gz
[root@zabbix3 rpm-gpg]# man -aw ls
https://www.cnblogs.com/zhangmingcheng/p/5757269.html
这里的section可以理解为类别,例如:man 1 passwd 和 man 5 passwd是不一样的类别(详细见表一)。通常我们使用man passwd,这个时候man就按照预先设置的搜索路径和顺序去搜索passwd,当搜索到一个就停止继续搜索并将结果显示出来,如果我们指定了section,那么man只会在指定的section里去查找man帮助页。
结构名称 代表意义
NAME 命令的名称
SYNOPSYS 参数的大致使用方法
DESCRIPTION 介绍说明
EXAMPLES 演示(附带简单说明)
OVERVIEW 概述
DEFAULTS 默认的功能
OPTIONS 具体的可用选项(带介绍)
ENVIRONMENT 环境变量
FILES 用到的文件
SEE ALSO 相关的资料
HISTORY 维护历史与联系方式
• [] 可选内容
• <> 必选内容
• a|b 二选一
• { } 分组
• ... 同一内容可出现多次
DESCRIPTION 详细说明
OPTIONS 选项说明
EXAMPLES 示例
FILES 相关文件
AUTHOR 作者
COPYRIGHT 版本信息
REPORTING BUGS bug信息
SEE ALSO 其它帮助参考
## [RPM-GPG-KEY详解](https://www.cnblogs.com/zhaogaojian/p/8253995.html)
/etc/pki/rpm-gpg/
GPG在Linux上的应用主要是实现官方发布的包的签名机制。
GPG分为公钥及私钥。
公钥:顾名思意,即可共享的密钥,主要用于验证私钥加密的数据及签名要发送给私钥方的数据。
私钥:由本地保留的密钥,用于签名本地数据及验证用公钥签名的数据。
#内核启动顺序
cat /boot/grub2/grub.cfg|grep menuentry
查看当前默认的启动项
grub2-editenv list
grub2-set-default “CentosLinux 7 (core), with Linux 3.10.0-229.el7.x86_64”
#find rm
# [xargs rm -rf 与 -exec rm](https://www.cnblogs.com/fjping0606/p/5670661.html)
# find ./ -exec rm {} \;
# find ./ | xargs rm -rf
两者都可以把find命令查找到的结果删除,其区别简单的说是前者是把find发现的结果一次性传给exec选项,这样当文件数量较多的时候,就可能会出现“参数太多”之类的错误,相比较而言,后者就可以避免这个错误,因为xargs命令会分批次的处理结果。这样看来,“find ./| xargs rm -rf”是更通用的方法,推荐使用!
rm不接受标准输入,所以不能用find / -name "*.txt" |rm
-exec 必须由一个 ; 结束,而因为通常 shell 都会对 ; 进行处理,所以用 \; 防止这种情况。
{} 可能需要写做 '{}',也是为了避免被 shell 过滤
find ./ -type f -exec grep txt {} /dev/null \;
./表示从当前目录找
-type f,表示只找file,文件类型的,目录和其他字节啥的不要
-exec 把find到的文件名作为参数传递给后面的命令行,代替{}的部分
-exec后便跟的命令行,必须用“ \;”结束
# find ./ -type f -name "*.txt"|xargs grep "test" -n
# find . -name "*.txt" -exec grep "test" {} \; -print
securecrt 颜色配置
https://jingyan.baidu.com/article/a681b0dec6c0783b1943467e.html
lscpu cat /proc/cpuinfo
[https://www.cnblogs.com/taoshihan/p/11782862.html](https://www.cnblogs.com/taoshihan/p/11782862.html)
CPU(s): 4 //cpu数量
On-line CPU(s) list: 0-3 //在线的cpu数量 有些时候为了省电或者过热的时候,某些CPU会停止运行
Thread(s) per core: 1 //每个核心的线程数
Core(s) per socket: 4 //每个插槽上有几个核心
# 重点
http://bbs.chinaunix.net/thread-1947424-1-1.html
[root@ktsjk ~]# cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
4
[root@ktsjk ~]# cat /proc/cpuinfo | grep "siblings" | uniq
siblings : 4
[root@ktsjk ~]# cat /proc/cpuinfo | grep "processor" | wc -l
16
[root@ktsjk ~]# cat /proc/cpuinfo | grep "core id" | sort | uniq | wc -l
16
可以看出该机器有4个物理处理器,16个逻辑处理器,16个核(此处同样无法确定是逻辑还是物理核)。每个物理处理器中有4个超线程。
CPU(s): #逻辑cpu颗数
Thread(s) per core: #每个核心线程
Core(s) per socket: #每个cpu插槽核数/每颗物理cpu核数
CPU socket(s): #cpu插槽数
#网卡连接和流量
[https://blog.csdn.net/gavin5033/article/details/84989463](https://blog.csdn.net/gavin5033/article/details/84989463)
sar -n DEV 1 2 tx是发送(transport),rx是接收(receive)
rxcmp/s:每秒钟接收的压缩数据包
txcmp/s:每秒钟发送的压缩数据包
cat /proc/net/tcp
[https://blog.csdn.net/justlinux2010/article/details/21028797](https://blog.csdn.net/justlinux2010/article/details/21028797)
ps -elf与ps aux是一样的bai意思, 显示所有在运行的du进程, 一个是用标准格式zhi输出, 一个是用bsd的格式输出.
标准格式: USER , PID , %CPU , %MEM , VSZ , RSS , TTY , STAT , START , TIME , COMMAND
bsd格式: UID , PID , PPID , C , STIME , TTY , TIME , CMD
set env export
[https://www.cnblogs.com/insane-Mr-Li/p/9096920.html](https://www.cnblogs.com/insane-Mr-Li/p/9096920.html)
[root@linux ~]# aaa=bbb
[root@linux ~]# echo $aaa
bbb
[root@linux ~]# set|grep aaa
aaa=bbb
[root@linux ~]# env|grep aaa
[root@linux ~]# export aaa
[root@linux ~]# env|grep aaa
aaa=bbb
dns
https://blog.csdn.net/DD_orz/article/details/100034049
1.A记录
A记录,即Address记录,它并不是一个IP或者一个域名
CNAME
CNAME记录,也叫别名记录,相当于给A记录中的域名起个小名儿
性能查看
https://cloud.tencent.com/developer/article/1522135
tcpdump使用
https://www.cnblogs.com/daynote/p/9172090.html
#iptables
https://blog.csdn.net/lee244868149/article/details/45147551
https://www.cnblogs.com/whych/p/9147900.html
在任何一个IP数据包中,都会有Source IP Address与Destination IP Address这两个字段,数据包所经过的路由器也是根据这两个字段判定数据包是由什么地方发过来的,它要将数据包发到什么地方去。而iptables的DNAT与SNAT就是根据这个原理,对Source IP Address与Destination IP Address进行修改。
DNAT要在进入这个菱形转发区域之前,也就是在PREROUTING链中做
SNAT自然是要在数据包流出这台机器之前的最后一个链也就是POSTROUTING链来进行操作
#字符集的更改 https://www.cnblogs.com/badboy200800/p/11215981.html
https://blog.csdn.net/weixin_33935777/article/details/89770577
export LANG=C 的作用
Note:
For sh, ksh:
# LANG=C; export LANG
# LC_ALL=C; export LC_ALL
For csh:
# setenv LANG C
# setenv LC_ALL C
locale
LC_CTYPE="en_US.UTF-8" #语言符号及其分类
LC_NUMERIC="en_US.UTF-8" #数字
LC_TIME="en_US.UTF-8" #时间显示格式
LC_COLLATE="en_US.UTF-8" #比较和排序习惯
LC_MONETARY="en_US.UTF-8" #货币单位
LC_MESSAGES="en_US.UTF-8" #信息主要是提示信息,错误信息,状态信息,标题,标签,按钮和菜单等
LC_PAPER="en_US.UTF-8" #默认纸张尺寸大小
LC_NAME="en_US.UTF-8" #姓名书写方式
LC_ADDRESS="en_US.UTF-8" #地址书写方式
LC_TELEPHONE="en_US.UTF-8" #电话号码书写方式
LC_MEASUREMENT="en_US.UTF-8" #度量衡表达方式
LC_IDENTIFICATION="en_US.UTF-8" #对locale自身包含信息的概述
LC_ALL=en_US.UTF-8
#centos7 的日志管理
https://www.cnblogs.com/zuokun/p/10996044.html
#pam 模块
在Linux中进行身份或是状态的验证程序是由PAM来进行的,PAM(Pluggable Authentication Modules)可动态加载验证模块,
Linux 系统 /var/log/journal/ 垃圾日志清理
默认情况下并不会持久化保存日志,只会保留一个月的日志。另外,一些rsyslog无法收集的日志也会被journal记录到。
rsyslog作为传统的系统日志服务,把所有收集到的日志都记录到/var/log/目录下的各个日志文件中。
常见的日志文件如下:
/var/log/messages 绝大多数的系统日志都记录到该文件
/var/log/secure 所有跟安全和认证授权等日志都会记录到此文件
/var/log/maillog 邮件服务的日志
/var/log/cron crond计划任务的日志
/var/log/boot.log 系统启动的相关日志
#查看垃圾文件的方法
未清理前发现硬盘根分区空间告急,用 du -t 100M /var 或 journalctl --disk-usage 命令查看,发现/var/log/journal日志文件占用了近3G空间,每个日志文件体积高达8-128M,这些日志文件记录了很长时间以来的systemd情况,毫无价值,用journalctl --vacuum-size=10M命令将其清理之后,腾出了2.7G的空间。用df命令一查,/根分区果然宽敞了很多。
#bash 配置
https://www.jianshu.com/p/fc7b299669ac
stty -a
# Linux中的虚拟设备/dev/null、/dev/zero、/dev/random和/dev/urandom https://www.cnblogs.com/bulh/articles/11653521.html
https://blog.csdn.net/weixin_30660027/article/details/98740163?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
#权限s T
https://blog.csdn.net/l_liangkk/article/details/82016617
#setsid set session id
http://www.tang-lei.com/2019/03/04/linux-nohup-setsid-%E4%BD%BF%E7%94%A8%E5%8C%BA%E5%88%AB/
#ping
ping -b 192.168.1.255 这个命令是什么意思?为什么要加-b 参数?
IP 地址 192.168.1.255 是这个网段上的广播地址(broadcast),要ping广播地址,必须要加上“b”这个参数。
这个参数就是允许ping命令ping广播地址。
-b :allow pinging abroadcast address
#查看一些系统硬件的配置信息
https://cloud.tencent.com/developer/article/1491223
dmidecode -q
如果要更详细的信息:lspci -v 或者 lspci -vv 如果要看设备树:lscpi -t
ethtool eth0
使用 :http://xukaizijian.blog.163.com/blog/static/1704331192011662137528
案例 :https://cloud.tencent.com/developer/article/1432998
#“100BaseTx-FD”意为100M Full Duplex。 1000baseTx-HD half duplex
100/1000 为传输速率;
base 表示使用的频率是基带;
T 表示传输介质是同轴电缆,TX 表示传输介质为双绞线,X 和 FX 表示传输介质为光纤;
ip link show
centos 7 ip 命令详解
#### 重点关注一下https://cloud.tencent.com/developer/article/1384675
/etc/udev/rules.d/70-persistent-net.rules
lspci | grep -i 'eth'
fdisk -l
lsblk
dmidecode -t memory 查看内存硬件信息
cat /proc/meminfo
lscpu
限制用户
sshd_config pam.so两种方式
[https://www.cnblogs.com/voswin/articles/1497318.html](https://www.cnblogs.com/voswin/articles/1497318.html)
dns 正向解析和反向解析
域名解析中的记录类型:
A:直接解析到空间IP地址
CNAME:解析到别名
MX:电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器,是设置企业邮箱的
NS:指DNS,用默认的就行,一般不用修改
TXT:一般指为某个主机名或域名设置的说明,是企业邮箱的辅助设置。
TTL值:Time To Live生存时间:DNS记录在DNS服务器上缓存的时间。
正向解析&反向解析:
DNS服务器里面有两个区域,即“正向查找区域”和“反向查找区域”,
正向查找区域就是通常所说的域名解析,
反向查找区域即是IP反向解析,它得到作用是通过查找IP地址的PTR记录来得到该IP地址指向的域名。要成功得到域名就必须有该IP地址的PTR记录。PTR及记录
是邮件交换记录的一种,邮件交换记录中有A记录和PTR记录,A记录解析名字到地址,PTR记录解析地址到名字。
反向域名解析系统(Reverse DNS)的功能确保适当的邮件交换记录是生效的。反向域名解析与通常的正向域名解析下相反,提供IP地址到域名的对应。
#启动的配置文件
配置文件:
/usr/lib/systemd/system:每个服务最主要的启动脚本设置,类似于之前的/etc/init.d/ 【存放了不同类型的unit单元】
/run/systemd/system:系统执行过程中所产生的服务脚本,比上面目录优先运行
/etc/systemd/system:管理员建立的执行脚本,类似于/etc/rc.d/rcN.d/Sxx类的功能,比上面目录优先运行
#ifconfig中lo、eth0、br0、wlan0接口的用途
https://blog.csdn.net/dxt16888/article/details/80741175
#由修改centos 7 中网卡名称的扩展
https://www.cnblogs.com/zyd112/p/8143464.html
biosdevname和net.ifnames两种命名规范
一致性网络设备命名(Consistent Network Device Naming)
udev 手册 http://www.jinbuguo.com/systemd/udev.html
udev具有如下几个作用:
1. 内核设备事件管理
udev 是Linux kernel 2.6系列的设备管理器,它主要的功能是管理/dev目录底下的设备节点
* 启动初始化时, /dev目录使用tmpfs挂载,然后, Udev拷贝/lib/udev/devices 的静态设备节点到 /dev 目录.
* Udev守护进程开始运行,为所有连接到系统的设备收集来自内核的uevents.
* Udev守护进程解析uevent数据,并且对/etc/udev/rules.d中指定的规则进行匹配.
* 根据指定的规则为设备创建设备节点和符号链接.
* Udev守护进程读取/etc/udev/rules.d/*.rules 中的规则并且保存到内存里面.
* Udev接收接收inotify事件,如果某个规则发生了改变,读取这些改变并更新内存副本.
#Linux内核之vmlinux与vmlinuz
https://blog.csdn.net/fjb2080/article/details/26240907
总结起来就是如下的几句话:
vmlinux 是ELF文件,即编译出来的最原始的文件。
vmlinuz应该是由ELF文件vmlinux经过OBJCOPY后,并经过压缩后的文件
zImage是vmlinuz经过gzip压缩后的文件,适用于小内核
bzImage是vmlinuz经过gzip压缩后的文件,适用于大内核
#centos6 etc/sysconfig 目录
https://blog.51cto.com/19940919/2088225
Linux centos6 /boot/grub/grub.conf http://c.biancheng.net/view/1032.html
centos7 /boot/grub2/grub.cfg
#手动修复grub
https://blog.csdn.net/xj178926426/article/details/78742449
Linux系统启动时使用initramfs (initram file system), initramfs可以在启动早期提供一个用户态环境,借助它可以完成一些内核在启动阶段不易完成的工作。当然initramfs是可选的,Linux中的内核编译选项默认开启initrd。在下面的示例情况中你可能要考虑用initramfs。
https://www.cnblogs.com/xkus/p/7783587.html
#与内核的关系
https://cloud.tencent.com/developer/article/1434201
ramdisk是一个简装版的根文件系统。CentOS 5,6,7中的ramdisk:
CentOS 5:/boot/initrd-VERSION-release.img
CentOS 6,7:/boot/initramfs-VERSION-release.img
网友评论