Linux常用命令
1、自动生成随机密码
# 使用mkpasswd命令生成随机密码,如没有此命令请yum -y install expect安装 mkpasswd -l 10 -d 2 -c 2 -C 2 -s 2 # 参数说明: # -l (length of password, default = 7),指定密码的长度,默认是7位数 # -d (min of digits, default = 2),指定密码中数字最少位数,默认是2位 # -c (min of lowercase chars, default = 2),指定密码中小写字母最少位数,默认是2位 # -C (min of uppercase chars, default = 2),指定密码中大写字母最少位数,默认是2位 # -s (min of special chars, default = 1),指定密码中特殊字符最少位数,默认是1位 # -v (verbose, show passwd interaction),这个参数在实验的时候报错,具体不知道 # pwgen命令生成随机密码 yum/apt install pwgen # 生成10位随机密码,生成的密码包括大小字母,数字,特殊符号 echo $(tr -dc 'A-Za-z0-9!@#$%^&*()_+-=' </dev/urandom | head -c 10)
[root@localhost ~]# seq -s ' ' -w 1 05 # -s:指定分隔符,默认分割符为'\n',-w 1 05:从1到5 01 02 03 04 05 [root@localhost ~]# seq -s ' ' -f "test%03g" 1 5 # 数字位数为三位,不足补0 test001 test002 test003 test004 test005 [root@localhost ~]# cp test.sh{,_`date +%F_%T`.bak};ls # 备份文件并给文件加上时间戳 test.sh test.sh_2022-11-22_10:32:05.bak
2、tcpdump命令
tcpdump -nn -i eth0 src host 10.10.80.254 and dst 10.10.80.52 and dst port 22 tcpdump -nn -i eth0 src host 10.10.80.254 and src portrange 10-80 and dst 10.10.80.52 and dst port 22 tcpdump tcp -nn -i eth0 and src host 10.10.80.254 and dst 10.10.80.52 and dst port 22 tcpdump tcp -i eth0 and src host 10.10.80.254 and src portrange 10-80 and dst 10.10.80.52 and dst port 22 -nn -vv tcpdump tcp -i eth1 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.pcap
tcpdump -i any -y LINUX_SLL -nv -w captrue.pcap # 使用 "Linux Socket Layer"(SLL)数据链路层协议来解析捕获的数据 # 抓取LLDP数据包 tcpdump -i eth0 -nev -c 1 ether proto 0x88cc tcpdump -nn -v -i eth0 -s 1500 -XX -c 1 'ether proto 0x88cc' # 抓取CDP数据包 tcpdump -nn -v -i eth0 -s 1500 -c 1 'ether[20:2] == 0x2000' # 抓取LLDP或者CDP数据包 tcpdump -nn -v -i eth0 -s 1500 -c 1 'ether[12:2]=0x88cc or ether[20:2]=0x2000' # -i eth1 : 只抓经过接口eth1的数据包 # -t : 不显示时间戳 # -s0 : tcpdump默认只会截取前96字节的内容,要想截取所有的报文内容,可以使用-s number,number就是要截取的报文字节数,如果是0的话,表示截取报文全部内容 # -c 100 : 只抓取100个数据包 # -w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析 # -e : 列出链路层头部,查看mac(tcpdump icmp -i eth0 and host 10.47.39.15 -ne) # -v : 使用-v,-vv和-vvv来显示更多的详细信息,通常会显示更多与特定协议相关的信息。 # -nn : 单个n表示不解析域名,直接显示IP;两个n表示不解析域名和端口。这样不仅方便查看IP和端口号,而且在抓取大量数据时非常高效,因为域名解析会降低抓取速度。 # -p : 不让网络接口进入混杂模式。默认情况下使用tcpdump抓包时,会让网络接口进入混杂模式。一般计算机网卡都工作在非混杂模式下,此时网卡只接受目的地址指向自己的数据包。当网卡工作在混杂模式下时,网卡将来自接口的所有数据包都捕获并交给相应的驱动程序。如果设备接入的交换机开启了混杂模式,使用-p选项可以有效地过滤噪声。 # dst port ! 22 : 不抓取目标端口是22的数据包 # src net 192.168.1.0/24 : 数据包的源网络地址为192.168.1.0/24 # proto : 可省略。proto后面可以跟上协议号或协议名称,支持 icmp,igmp,igrp,pim,ah,esp,carp,vrrp,udp和tcp,省略协议关键字proto时,tcp、udp、icmp等都要放到第一个参数的位置
在表达式中一般如下几种类型的关键字:
第一种是关于类型的关键字,主要包括host,net,port,例如 host 210.27.48.2, 指明 一台主机,net 192.168.1.0/24指明网络,port 23 指明端口号23。如果没有指定类型,缺省的类型是host。
第二种是确定传输方向的关键字,主要包括src,dst,src port, dst port,src portrange 40000-60000,如果没有指明方向关键字,则缺省是src or dst关键字。
第三种是协议的关键字,主要包括fddi,ip,arp,rarp,tcp,udp等类型。Fddi指明是在FDDI (分布式光纤数据接口网络)上的特定的网络协议,实际上它是”ether”的别名,fddi和ether 具有类似的源地址和目的地址,所以可以将fddi协议包当作ether的包进行处理和分析。如果没有指定任何协议,则tcpdump 将会 监听所有协议的信息包。
除了这三种类型的关键字之外,其他重要的关键字如下:gateway, broadcast,less, greater, 还有三种逻辑运算,取非运算是`not ',`!`;与运算是`and`,`&&';或运算是`or`,`||`
3、MTR命令
一. 安装
yum install mtr #适用于centos
apt-get install mtr #适用于debian/ubuntu
二. MTR用法简介(mtr IP或域名)
第一列(Host):IP地址和域名,按n键可以切换IP和域名
第二列(Loss%):丢包率
第三列(Snt):设置每秒发送数据包的数量,默认值是10 可以通过参数-c来指定
第四列(Last):t表示最后一个数据包的返回时延
第五、六、七列(Avg、Best、Wrst):分别是PING的平均、最好、最差值
第八列(StDev):标准偏差
三. 其它用法
mtr -h # 提供帮助命令
mtr -v # 显示mtr的版本信息
mtr -r # 已报告模式显示
mtr -s # 用来指定ping数据包的大小
mtr --no-dns # 不对IP地址做域名解析
mtr -a # 来设置发送数据包的IP地址 这个对一个主机由多个IP地址是有用的
mtr -i # 使用这个参数来设置ICMP返回之间的要求默认是1秒
mtr -4 # IPv4
mtr -6 # IPv6
4、查看进程ps -ef和ps aux
pgrep httpd # 查询httpd服务的所有进程号 ps -ef # 是用标准的格式显示进程的、其格式如下 UID PID PPID C STIME TTY TIME CMD root 1474 1446 0 11:13 pts/0 00:00:00 ps -ef UID # 用户ID、但输出的是用户名 PID # 进程的ID PPID # 父进程ID C # 进程占用CPU的百分比 STIME # 进程启动到现在的时间 TTY # 该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。 CMD # 命令的名称和参数 ps aux # 是用BSD的格式来显示、其格式如下 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1477 0.0 0.0 155448 1860 pts/0 R+ 11:15 0:00 ps aux USER # 用户名 %CPU # 进程占用的CPU百分比 %MEM # 占用内存的百分比 VSZ # 该进程使用的虚拟內存量(KB) RSS # 该进程占用的固定內存量(KB)(驻留中页的数量) STAT # 进程的状态 START # 该进程被触发启动时间 TIME # 该进程实际使用CPU运行的时间 STAT状态位常见的状态字符有: D # 无法中断的休眠状态(通常 IO 的进程); R # 正在运行可中在队列中可过行的; S # 处于休眠状态; T # 停止或被追踪; W # 进入内存交换(从内核2.6开始无效); X # 死掉的进程(基本很少见); Z # 僵尸进程; < # 优先级高的进程 N # 优先级较低的进程 L # 有些页被锁进内存; s # 进程的领导者(在它之下有子进程); l # 多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads); + # 位于后台的进程组;
5、nmcli网卡管理命令(适用于通过NetworkManager服务器管理网卡,nmtui启动图形化管理)
[root@CentOS7 ~]# nmcli device status #查看网卡状态 [root@CentOS7 ~]# nmcli connection show #查看连接状态 [root@CentOS7 ~]# nmcli connection down|up eth0 #断开或启用网卡连接 [root@CentOS7 ~]# /usr/bin/nmcli device disconnect eth0 [root@CentOS7 ~]# /usr/bin/nmcli device connect eth0 [root@CentOS7 ~]# nmcli connection add con-name ens32 ifname ens32 autoconnect yes type ethernet ipv4.method auto #使用dhcp获取地址 [root@CentOS7 ~]# nmcli connection add con-name ens32 ifname ens32 autoconnect yes type ethernet ipv4.method manual ipv4.addresses 192.168.150.134/24 ipv4.gateway 192.168.150.2 ipv4.dns 114.114.114.114 +ipv4.dns 8.8.8.8 #生成网卡配置文件,手动配置IP地址 [root@CentOS7 ~]# nmcli connection add autoconnect yes con-name bond0 type bond ifname bond0 miimon 100 mode 0 ipv4.method manual ipv4.addresses 10.10.10.1/24 ipv4.gateway 10.10.10.254 ipv4.dns 114.114.114.114 +ipv4.dns 8.8.8.8 #生成一个bond配置文件 [root@CentOS7 ~]# nmcli connection add autoconnect yes con-name ens32 type bond-slave ifname ens32 master bond0 #把ens32网卡加入到bond0 [root@CentOS7 ~]# nmcli connection modify eth0 ipv4.method manual/auto #修改IP获取方式为手动/dhcp [root@CentOS7 ~]# nmcli connection modify eth0 ipv4.addresses 10.47.39.100/24 #设置网卡IP地址 [root@CentOS7 ~]# nmcli connection modify eth0 ipv4.gateway 10.47.39.254 ipv4.dns 223.5.5.5 +ipv4.dns 8.8.8.8 #设置网关和dns [root@CentOS7 ~]# systemctl restart network.service #设置完成后必需重启网络服务
6、iptraf、nethogs、nload
yum -y install iptraf #centos6安装;yum -y install iptraf-ng #centos7安装
yum -y install nethogs #查看进程流量大小
yum -y install nload #查看接口进出流量
yum install iperf # iperf带宽测试,需要epel源才能yum,yum -y install epel-release
7、Curl命令
在以下选项中,(H) 表示仅适用 HTTP/HTTPS ,(F) 表示仅适用于 FTP --anyauth 选择 "any" 认证方法 (H) -a, --append 添加要上传的文件 (F/SFTP) --basic 使用HTTP基础认证(Basic Authentication)(H) --cacert FILE CA 证书,用于每次请求认证 (SSL) --capath DIR CA 证书目录 (SSL) -E, --cert CERT[:PASSWD] 客户端证书文件及密码 (SSL) --cert-type TYPE 证书文件类型 (DER/PEM/ENG) (SSL) --ciphers LIST SSL 秘钥 (SSL) --compressed 请求压缩 (使用 deflate 或 gzip) -K, --config FILE 指定配置文件 --connect-timeout SECONDS 连接超时设置 -C, --continue-at OFFSET 断点续转 -b, --cookie STRING/FILE Cookies字符串或读取Cookies的文件位置 (H) -c, --cookie-jar FILE 操作结束后,要写入 Cookies 的文件位置 (H) --create-dirs 创建必要的本地目录层次结构 --crlf 在上传时将 LF 转写为 CRLF --crlfile FILE 从指定的文件获得PEM格式CRL列表 -d, --data DATA HTTP POST 数据 (H) --data-ascii DATA ASCII 编码 HTTP POST 数据 (H) --data-binary DATA binary 编码 HTTP POST 数据 (H) --data-urlencode DATA url 编码 HTTP POST 数据 (H) --delegation STRING GSS-API 委托权限 --digest 使用数字身份验证 (H) --disable-eprt 禁止使用 EPRT 或 LPRT (F) --disable-epsv 禁止使用 EPSV (F) -D, --dump-header FILE 将头信息写入指定的文件 --egd-file FILE 为随机数据设置EGD socket路径(SSL) --engine ENGINGE 加密引擎 (SSL). "--engine list" 指定列表 -f, --fail 连接失败时不显示HTTP错误信息 (H) -F, --form CONTENT 模拟 HTTP 表单数据提交(multipart POST) (H) --form-string STRING 模拟 HTTP 表单数据提交 (H) --ftp-account DATA 帐户数据提交 (F) --ftp-alternative-to-user COMMAND 指定替换 "USER [name]" 的字符串 (F) --ftp-create-dirs 如果不存在则创建远程目录 (F) --ftp-method [MULTICWD/NOCWD/SINGLECWD] 控制 CWD (F) --ftp-pasv 使用 PASV/EPSV 替换 PORT (F) -P, --ftp-port ADR 使用指定 PORT 及地址替换 PASV (F) --ftp-skip-pasv-ip 跳过 PASV 的IP地址 (F) --ftp-pret 在 PASV 之前发送 PRET (drftpd) (F) --ftp-ssl-ccc 在认证之后发送 CCC (F) --ftp-ssl-ccc-mode ACTIVE/PASSIVE 设置 CCC 模式 (F) --ftp-ssl-control ftp 登录时需要 SSL/TLS (F) -G, --get 使用 HTTP GET 方法发送 -d 数据 (H) -g, --globoff 禁用的 URL 队列 及范围使用 {} 和 [] -H, --header LINE 要发送到服务端的自定义请求头 (H) -I, --head 仅显示响应文档头 -h, --help 显示帮助 -0, --http1.0 使用 HTTP 1.0 (H) --ignore-content-length 忽略 HTTP Content-Length 头 -i, --include 在输出中包含协议头 (H/F) -k, --insecure 允许连接到 SSL 站点,而不使用证书 (H) --interface INTERFACE 指定网络接口/地址 -4, --ipv4 将域名解析为 IPv4 地址 -6, --ipv6 将域名解析为 IPv6 地址 -j, --junk-session-cookies 读取文件中但忽略会话cookie (H) --keepalive-time SECONDS keepalive 包间隔 --key KEY 私钥文件名 (SSL/SSH) --key-type TYPE 私钥文件类型 (DER/PEM/ENG) (SSL) --krb LEVEL 启用指定安全级别的 Kerberos (F) --libcurl FILE 命令的libcurl等价代码 --limit-rate RATE 限制传输速度 -l, --list-only 只列出FTP目录的名称 (F) --local-port RANGE 强制使用的本地端口号 -L, --location 跟踪重定向 (H) --location-trusted 类似 --location 并发送验证信息到其它主机 (H) -M, --manual 显示全手动 --mail-from FROM 从这个地址发送邮件 --mail-rcpt TO 发送邮件到这个接收人(s) --mail-auth AUTH 原始电子邮件的起始地址 --max-filesize BYTES 下载的最大文件大小 (H/F) --max-redirs NUM 最大重定向数 (H) -m, --max-time SECONDS 允许的最多传输时间 --metalink 处理指定的URL上的XML文件 --negotiate 使用 HTTP Negotiate 认证 (H) -n, --netrc 必须从 .netrc 文件读取用户名和密码 --netrc-optional 使用 .netrc 或 URL; 将重写 -n 参数 --netrc-file FILE 设置要使用的 netrc 文件名 -N, --no-buffer 禁用输出流的缓存 --no-keepalive 禁用 connection 的 keepalive --no-sessionid 禁止重复使用 SSL session-ID (SSL) --noproxy 不使用代理的主机列表 --ntlm 使用 HTTP NTLM 认证 (H) -o, --output FILE 将输出写入文件,而非 stdout --pass PASS 传递给私钥的短语 (SSL/SSH) --post301 在 301 重定向后不要切换为 GET 请求 (H) --post302 在 302 重定向后不要切换为 GET 请求 (H) --post303 在 303 重定向后不要切换为 GET 请求 (H) -#, --progress-bar 以进度条显示传输进度 --proto PROTOCOLS 启用/禁用 指定的协议 --proto-redir PROTOCOLS 在重定向上 启用/禁用 指定的协议 -x, --proxy [PROTOCOL://]HOST[:PORT] 在指定的端口上使用代理 --proxy-anyauth 在代理上使用 "any" 认证方法 (H) --proxy-basic 在代理上使用 Basic 认证 (H) --proxy-digest 在代理上使用 Digest 认证 (H) --proxy-negotiate 在代理上使用 Negotiate 认证 (H) --proxy-ntlm 在代理上使用 NTLM 认证 (H) -U, --proxy-user USER[:PASSWORD] 代理用户名及密码 --proxy1.0 HOST[:PORT] 在指定的端口上使用 HTTP/1.0 代理 -p, --proxytunnel 使用HTTP代理 (用于 CONNECT) --pubkey KEY 公钥文件名 (SSH) -Q, --quote CMD 在传输开始前向服务器发送命令 (F/SFTP) --random-file FILE 读取随机数据的文件 (SSL) -r, --range RANGE 仅检索范围内的字节 --raw 使用原始HTTP传输,而不使用编码 (H) -e, --referer Referer URL (H) -J, --remote-header-name 从远程文件读取头信息 (H) -O, --remote-name 将输出写入远程文件 --remote-name-all 使用所有URL的远程文件名 -R, --remote-time 将远程文件的时间设置在本地输出上 -X, --request COMMAND 使用指定的请求命令 --resolve HOST:PORT:ADDRESS 将 HOST:PORT 强制解析到 ADDRESS --retry NUM 出现问题时的重试次数 --retry-delay SECONDS 重试时的延时时长 --retry-max-time SECONDS 仅在指定时间段内重试 -S, --show-error 显示错误. 在选项 -s 中,当 curl 出现错误时将显示 -s, --silent Silent模式。不输出任务内容 --socks4 HOST[:PORT] 在指定的 host + port 上使用 SOCKS4 代理 --socks4a HOST[:PORT] 在指定的 host + port 上使用 SOCKSa 代理 --socks5 HOST[:PORT] 在指定的 host + port 上使用 SOCKS5 代理 --socks5-hostname HOST[:PORT] SOCKS5 代理,指定用户名、密码 --socks5-gssapi-service NAME 为gssapi使用SOCKS5代理服务名称 --socks5-gssapi-nec 与NEC Socks5服务器兼容 -Y, --speed-limit RATE 在指定限速时间之后停止传输 -y, --speed-time SECONDS 指定时间之后触发限速. 默认 30 --ssl 尝试 SSL/TLS (FTP, IMAP, POP3, SMTP) --ssl-reqd 需要 SSL/TLS (FTP, IMAP, POP3, SMTP) -2, --sslv2 使用 SSLv2 (SSL) -3, --sslv3 使用 SSLv3 (SSL) --ssl-allow-beast 允许的安全漏洞,提高互操作性(SSL) --stderr FILE 重定向 stderr 的文件位置. - means stdout --tcp-nodelay 使用 TCP_NODELAY 选项 -t, --telnet-option OPT=VAL 设置 telnet 选项 --tftp-blksize VALUE 设备 TFTP BLKSIZE 选项 (必须 >512) -z, --time-cond TIME 基于时间条件的传输 -1, --tlsv1 使用 => TLSv1 (SSL) --tlsv1.0 使用 TLSv1.0 (SSL) --tlsv1.1 使用 TLSv1.1 (SSL) --tlsv1.2 使用 TLSv1.2 (SSL) --trace FILE 将 debug 信息写入指定的文件 --trace-ascii FILE 类似 --trace 但使用16进度输出 --trace-time 向 trace/verbose 输出添加时间戳 --tr-encoding 请求压缩传输编码 (H) -T, --upload-file FILE 将文件传输(上传)到指定位置 --url URL 指定所使用的 URL -B, --use-ascii 使用 ASCII/text 传输 -u, --user USER[:PASSWORD] 指定服务器认证用户名、密码 --tlsuser USER TLS 用户名 --tlspassword STRING TLS 密码 --tlsauthtype STRING TLS 认证类型 (默认 SRP) --unix-socket FILE 通过这个 UNIX socket 域连接 -A, --user-agent STRING 要发送到服务器的 User-Agent (H) -v, --verbose 显示详细操作信息 -V, --version 显示版本号并退出 -w, --write-out FORMAT 完成后输出什么 --xattr 将元数据存储在扩展文件属性中 -q .curlrc 如果作为第一个参数无效
# 获取http状态码、连接网站所需时间以及远程服务器的IP和端口 curl -I -m 3 -o /dev/null -s -w "%{http_code} %{time_connect}s\n%{remote_ip}:%{remote_port}\n" -A 'Chrome/76.0.3809.100' www.163.com
出口公网IP查询
curl myip.ipip.net
curl cip.cc
curl ipinfo.io
curl ipinfo.io/ip
curl ipinfo.io/city
curl ifconfig.me
curl http://members.3322.org/dyndns/getip
8、dstat、vmstat:cpu、内存、磁盘监控
https://www.cnblogs.com/tiannan-haibei/p/18892476 # vmstat详解
yum -y instatll dstat
dstat --top-cpu --top-mem --top-io
9、ethtool
[root@CentOS7 ~]# ethtool [-p] ethX [N]
[-p] 用于区别不同ethX对应哪块物理网卡,常用的方法是使物理网卡上的网卡状态灯不断的闪烁
[N] 指定网卡灯闪烁的持续时间,以秒为单位
[root@CentOS7 ~]# ethtool ethX #查看服务器上的端口是光口还是电口,Supproted ports后面如果是TP,说明是电口;如果是FIBRE,说明是光口
10、磁盘相关命令
# 删除乱码文件名文件 rm -fr -- 乱码文件名 # 查看根目录下一级目录占用空间大小,并显示目录最后一次修改时间,排除proc和dev目录 du -h --max-depth=1 --time --exclude="proc" --exclude="dev" / | sort -r # 查看etc目录占用空间大小 du -lhcs /etc # 查看ext4文件系统分区占用空间大小 df --type ext4 -h df -Th # 查看磁盘分区文件系统类型 lsscsi # 查看磁盘 fdisk -l lsblk -a # 查看分区 # 取出两个文件中的相同内容部分 grep -wf file1 file2 # 取出两个文件中的不同内容部分 grep -wvf file1 file2 # 对多个文件夹中的文件进行过滤,过滤以ltm字符开头的行,-A 1:表示输出匹配行和后面的一行,-B 1:表示输出匹配行和之前的一行 grep -A 1 -E "^ltm" ./nsp-*/*.conf find ./nsp-* -type f -exec grep -B 1 -E "^ltm" {} \; # tar排除目录 tar -zcvf log.tar.gz --exclude=/var/log/nginx --exclude=/var/log/apt /var/log # zip打包,-q:安静模式,压缩时不输出过程信息,-r:递归处理,压缩目录时包含子目录和文件 zip -qr log.zip /var/log # 查看/var/log目录的磁盘使用情况,yum -y install ncdu ncdu /var/log # 创建软链接,-s:创建符号链接,-f:强制创建链接,如果目标文件已存在,则会被覆盖 # <目标路径>:要链接的源文件/目录路径(可相对或绝对)。<链接名称>:新符号链接的名称(可选;若省略,默认使用目标名称)。 ln -sf <目标路径> <链接名称>
11、pssh、sshpass命令安装
[root@localhost ~]# wget https://pypi.python.org/packages/60/9a/8035af3a7d3d1617ae2c7c174efa4f154e5bf9c24b36b623413b38be8e4a/pssh-2.3.1.tar.gz
[root@localhost ~]# tar xf pssh-2.3.1.tar.gz -C /usr/local
[root@localhost ~]# cd /usr/local/pssh-2.3.1/
[root@localhost ~]# pip install pssh==2.3.1
[root@localhost ~]# python setup.py install
[root@localhost ~]# yum -y install sshpass #安装sshpass命令
https://pypi.org/project/pssh/2.3.1/
12、查看服务器硬件信息(ubuntu、centos通用)
root@Ubuntu:~# lshw -short #查看硬件设备列表
root@Ubuntu:~# lshw -c processor #查看cpu信息
root@Ubuntu:~# lscpu #查看CPU
root@Ubuntu:~# cat /proc/cpuinfo #查看CPU
root@Ubuntu:~# free -h #查看内存
root@Ubuntu:~# cat /proc/meminfo #查看内存
root@Ubuntu:~# lspci #查看PCI设备
13、vsftpd服务搭建和配置
1、下载vsftpd
http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd(x86-64)
2、 安装vsftpd(离线安装和yum安装)
[root@localhost ~]# rpm -ivh vsftpd-3.0.2-21.el7.x86_64.rpm
[root@localhost ~]# yum -y install vsftpd
3、 启动vsftpd服务
[root@localhost ~]# service vsftpd start
Redirecting to /bin/systemctl start vsftpd.service
4、生成一个文件名为test,文件大小为100G的文件,生成的test不占用磁盘大小
[root@localhost ~]# dd if=/dev/zero of=test bs=1M count=0 seek=100000
5、登录vsftp,默认用户为ftp,密码为空
[root@localhost ~]# ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1). 220 (vsFTPd 3.0.2) Name (127.0.0.1:root): ftp 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp>
6、vsftp配置文件详解
https://www.jb51.net/article/94223.htm
14、lldpd、lldpad服务
lldpd服务离线安装:配置光盘yum源,或进入光盘下的package目录,使用yum localinstall来安装
[root@CentOS7 ~]# yum -y install libevent
[root@CentOS7 ~]# yum -y install libnetsnmp*
[root@CentOS7 ~]# rpm -ivh lldpd-1.0.4-1.el7.x86_64.rpm
lldpd在线安装
[root@CentOS7 ~]# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@CentOS7 ~]# yum -y install lldpd
[root@CentOS7 ~]# systemctl start lldpd.service
[root@CentOS7 ~]# lldpcli show neighbors -f json # 以json格式输出lldp结果
[root@CentOS7 ~]# service lldpad start # 开启lldpad服务,该安装包CentOS7镜像自带
[root@CentOS7 ~]# lldptool set-lldp -i eth0 adminStatus=rxtx # 开启收发lldp包
[root@CentOS7 ~]# lldptool -tni eth0 # 查看LLDP信息
15、cockpit图形管理界面
yum -y install cockpit
yum install cockpit-machines
apt install cockpit
apt install cockpit-machines
安装完后web访问:https://x.x.x.x:9090/
https://blog.csdn.net/xiaochong0302/article/details/127402003 #在ubuntu上安装
https://cockpit-project.org/running.html
https://www.linuxprobe.com/basic-learning-08.html
https://webmin.com/download/ # webmin安装
16、 shellinabox web终端(https://www.cnblogs.com/OldJack/p/7359998.html)
[root@CentOS7 ~]# yum -y install epel-release
[root@CentOS7 ~]# yum -y install shellinabox
[root@CentOS7 ~]# vim /etc/sysconfig/shellinaboxd # 修改为黑底白字
OPTS="--user-css Normal:+white-on-black.css --disable-ssl-menu -s /:LOGIN"
[root@CentOS7 ~]# vim /etc/securetty # 在文件中添加,允许root登录
pts/0 pts/1 pts/2 pts/3
https://github.com/shellinabox/shellinabox
17、 telnet服务
[root@CentOS7 ~]# yum -y install telnet-server
[root@CentOS7 ~]# systemctl start telnet.socket
[root@CentOS7 ~]# vim /etc/securetty # 在文件中添加,允许root登录
pts/0 pts/1 pts/2 pts/3
18、用户管理
useradd test -g root -M -s /sbin/nologin -c 测试用户 echo "123456" | passwd --stdin test &>/dev/null userdel -fr test
19、使用yum或yumdownloader下载rpm包
# 方式一: # 在CentOS/RHEL6或更早期的版本中,需要安装一个单独yum插件(名称为 yum-plugin-downloadonly)才能使用--downloadonly命令选项 yum install --downloadonly --downloaddir=<directory> <package-name> # yum install --downloadonly --downloaddir=/tmp jq # --downloadonly只下载不安装 # --downloaddir指定下载目录 注意,如果下载的包包含了任何没有满足的依赖关系,yum将会下载所有的依赖关系包,但是都不会被安装 # 方式二: yum install yum-utils # 安装yun-utils后才会有yumdownloader命令,使用yumdownloader下载包无论系统中是否已安装该包都会下载 yumdownloader --resolve --downloaddir=<directory> --enablerepo=[repo] <package-name> # yumdownloader --resolve --destdir=/tmp/rpms net-tools wget lrzsz vim # --resolve:下载包及其所有依赖(适合离线安装场景) # --destdir:下载并保存到指定目录(例如/tmp/rpms) # --enablerepo=<repository>:指定yum源
20、xargs命令
[root@master ~]# xargs --help # -t:显示要执行的命令,-L 1:指定每一行作为一个参数 [root@master ~]# kubectl get pod -o custom-columns="Name:.metadata.name" -l app=prober --no-headers |xargs -t -L 1 kubectl logs kubectl logs prober-52jw9 kubectl logs prober-6l8f6 kubectl logs prober-gqmcm # xargs -i和-I的区别 # -i 选项 # -i 是 -i 或 --replace 的一种简写形式。使用固定的占位符大括号({}) # 使用 -i 时,xargs 会将输入的每一行用替代字符串 {} 替换。 [root@master ~]# echo -e "file1.txt\nfile2.txt" | xargs -i -t echo {} {} # -I 选项 # -I 允许你指定一个替换字符串,可以是任意字符串。 # 相较于 -i,-I 方式更灵活,因为你可以使用自定义的占位符,而不是固定的占位符大括号({})。 [root@master ~]# echo -e "file1.txt\nfile2.txt\nfile3.txt" | xargs -n 2 -t -I @ echo "Processing: @ @"
参考链接:
阿里云开发者社区
https://www.cnblogs.com/djlsunshine/p/9733182.html # nmcli命令
http://t.zoukankan.com/momenglin-p-8485896.html # nmcli命令
https://www.jianshu.com/p/07c4dddae43a # curl命令详解
wget -qO- https://raw.github.com/ma6174/vim/master/setup.sh | sh -x # vim扩展插件安装
https://github.com/trapd00r/LS_COLORS#zsh-syntax-highlighting # shell颜色
wget https://netix.dl.sourceforge.net/project/nfdump/stable/nfdump-1.6.6/nfdump-1.6.6.tar.gz # 流量分析nfdump
wget https://excellmedia.dl.sourceforge.net/project/nfsen/stable/nfsen-1.3.6p1/nfsen-1.3.6p1.tar.gz # 流量分析nfsen
https://www.cnblogs.com/moodlxs/p/4159245.html # Linux服务器上监控网络带宽的18个常用命令
https://www.51cto.com/article/435279.html # Linux服务器上监控网络带宽的18个常用命令
http://www.cppblog.com/qiujian5628/archive/2008/03/10/44060.html # web服务器压力测试工具httperf
https://www.cnblogs.com/cllovewxq/p/5533487.html # web服务器压力测试工具httperf
https://blog.51cto.com/blueoracle/1228037 # web服务器压力测试工具httperf
https://www.cnblogs.com/shijingjing07/p/6539179.html # web压力测试工具:http_load
https://cloud.tencent.com/developer/article/1333772 # web压力测试工具:apache bench(ab)
https://www.cnblogs.com/lfri/p/12727264.html # web压力测试工具:webbench
https://www.cnblogs.com/chenxiaomeng/p/13130526.html # web压力测试工具:siege
https://blog.csdn.net/Z1XpIYDj9sn/article/details/82634852 # Linux运维必备的13款实用工具
https://www.likecs.com/show-204031047.html # lldp配置
https://www.cnblogs.com/feifei6779/p/14906432.html # lldpad配置
https://www.kancloud.cn/chunyu/php_basic_knowledge/2137337 # ip link、ip rule、ip address、ip route命令
https://www.cnblogs.com/lyq863987322/p/8004618.html # 批量修改文件名
https://www.cnblogs.com/liuzhiyun/p/11363287.html # Linux压缩和解压命令汇总
https://www.rpmfind.net/linux/rpm2html/search.php # rpm包搜索
https://manpages.ubuntu.com/manpages/focal/en/man8/run-parts.8.html # run-parts命令用于一次执行目录下的多个脚本
https://www.cnblogs.com/yj411511/p/18889163 # 使用ipmitool工具远程管理服务器
https://www.cnblogs.com/chentiao/p/16543679.html # xargs命令详解
https://www.cnblogs.com/lldhsds/p/18274610 # conntrack网络连接跟踪
http://www.dest-unreach.org/socat/download/ # socat命令工具下载
https://github.com/orf/gping # ping结果以线型表展示
https://iperf.fr/ # iperf网络测试工具
浙公网安备 33010602011771号