1: 文件
(1) vim
(2) touch file_name
(3) mkdir path_A (文件夹名字) 或者 mkdir -p /...../pathA (在一路径下创建文件夹)
(4) rm -rf 文件夹名字/文件名
或者 rm 文件名/软连接名/文件夹名
(5) tail -f 文件名
(6) 查找文件: find / -name "*XXX*"
(7) 查看文件大下 du -h --max-depth=1 文件
使用du -h 文件名。// 就可以查看。
(8) 查看当前文件夹下所有文件大小 du -sh *
(9) 修改最大文件描述符
vim /etc/security/limitis.conf
* soft nofile 640000
* hard nofile 640000
ulimit -n 640000
(10) 配置core
ulimit -c unlimited;
mkdir -p /home/XXX/core;
chmod -R 777 /home/XXX/core;
echo "/home/wyd/core/core-%e-%u-%s-%t-%h" > /proc/sys/kernel/core_pattern;
cat /proc/sys/kernel/core_pattern;
echo "1" > /proc/sys/kernel/core_uses_pid;
2:网络相关命令
(1)查看网线的连接状态: ip link
(2)修改网卡ip的配置: cd /etc/sysconfig/network-scripts/
(3) 查看当前主机所有网卡的pci号: lspci | grep -i eth
(4)启动网卡: ifup 网卡名
(5)关闭网卡: ifdown 网卡名
(6)显示当前主机网卡设备的具体ip等信息: ip address
(7) 显示当前机器的路由情况: route -n
(8)搜索网卡名: ip a | grep ip名 | awk '{print$8}'
(9) 搜索掩码地址: ifconfig 网卡名 | grep netmask | awk '{printf$4}'
(10) 搜索mac地址/物理地址: ifconfig 网卡名 | grep ether| awk '{printf$2}'
(11) 搜索pci号: ethtool -i 网卡名 | grep bus-info |awk '{printf$2}'
(12) 显示网卡的详细配置情况: ethtool -i 网卡名
(13) 显示网卡的网卡队列深度: ethtool -l 网卡名
(14) 修改网卡的可以绑定最大队列深度: ethtool -L 网卡名 combined 队列数
(15) 查看两台主机之间网络是否联通: ping ip名
ping指定互发: ping ip1 -L ip2
(16) 查看、关闭、打开主机的防火墙
systemctl status firewalld
systemctl stop firewalld
system start firewalled
(17) 网络包过滤命令: iptables
iptables基本概念介绍和常见使用方法_Melo琦-CSDN博客
(18) 查看ip和mac地址之间的映射: arp
路由表(RIB表、FIB表)、ARP表、MAC表整理_遇见你是我最美丽的意外-CSDN博客_arp表
(19) 查看所有tcp连接: netstat -nap | grep tcp
(20) 根据端口号查找进程pid: netstat -nap | grep port号
(21) 查看进程所打开的所有fd: lsof -p pid
(22) 利用tcpdump进行网络抓包:
tcpdump -i 网卡名 -s 0 -vv host ip名 and port port号 -w XXXXX.pcap
(生成的XXXXX.pcap需要下载woreshark去分析包)
(23) 添加路由
route add -host ip地址 dev 网卡名
(24) 查看可用端口: sysctl -a | grep port_range
(25) linux物理机器是默认开启ipv6设置的
相关配置 在/etc/sysctl.conf.(1为关闭, 0 开启, sysctl -p 使设置生效)
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
配置完成后 ifdown eth; ifup eth生效。
ping6 tpv6%设备(这个是针对link级别的ipv6)
3: 操作系统配置
(1)查看操作系统所有内核配置: sysctl -a
(2)修改开机启动项 vim /etc/default/grub
(3) 设置当前主机时钟: date -s "20210728 15:20:20"
修改当前机器时区:date -R 可以查看时区
修改/设置时区: timedatectl set-timezone "Asia/Shanghai"
(4) 查看pagesize大小: getconf PAGESIZE
(5) 查看当前的cpu架构: lscpu
(6) 查看当前的磁盘: lsblk
(7) 查看当前磁盘的空间使用: df -h
(8) 查看操作系统: cat /etc/*release*
(9) 查看内存状况: free -h
(10) 查看处理器架构: cat /proc/version
(11) 检测网卡流量: sar -n DEV -d 1
(12) 磁盘挂载: mount /dev/sdc 磁盘挂载的数据目录
(13) 修改主机名: hostnamectl set-hostname XXX
(14) 设置普通用户sudo权限
chmod 777 /etc/sudoers
vim /etc/sudoers
添加: user_name ALL=(ALL) NOPASSWD: ALL
chmod 400 /etc/sudoers
(15) 数据同步刷盘: sync
(16) 清理缓存: sh -c ‘echo 3 > /proc/sys/vm/drop_caches’
(17) 删除共享内存片段: ipcs -m | awk '$2 ~/[0-9]+/ {print $2}' | while read s; do ipcrm -m $s;done
(18) 机器会话超时结束:vim /etc/profile 设置export TMOUT=0
(19)查看用户所属的用户组(group): groups 用户名
4: 进程类相关命令
(1)查看进程的系统资源具体使用情况:top -p pid
(f进入显示参数列表、空格键选择、q退出保存、H显示所有线程)
(2)查看所有用户进程: ps aux
(3)杀死进程: kill -9 pid
ps ux | grep 进程名 | grep -v grep | awk ‘{print¥2}’ | xargs kill -9
(4)查看线程所占有的线程cpu core: taskset -pc tpid
(5)查看内核消耗CPU的函数: perf top -p pid
(6)nm 进程 查看某进程所链接的符号表
5:yum配置
(1)cd /etc/yum.repos.d/ 进入到yum配置路径
(2) vim XXX.repo 配置yum源
(3)yum clean all && yum makecache 清理yum
(4)yum repolist 查看配置的所有源
(5)yum install gdb -y yum安装
6: 磁盘
(1) 卸载挂载的目录 umount -l /data (/data是一个数据目录)
(2) 删除逻辑卷 lvremovw /dev/mapper/vg0-lvm0
(3) 查看卷组 vgs
(4) 删除卷组VG vgremove vg0
(5) 查看pagesize大小 getconf PAGESIZE
(6) 格式化磁盘block为8192 (注意这个8192得小于PAGESIZE) mkfs.xfs /dev/nvme0n1 -b size=8192
(7) 挂载磁盘 mount /dev/nvme0n1 /data
(8) 格式化磁盘 mkfs.ext4 /dev/vdb
7:NUMA非一致性存储访问结构
Linux numactl命令与多核调优_任我行的博客-CSDN博客
(1) 查看系统上的numa节点信息: numactl --hardware
(2) 查看当前的numa运行状态信息: numastat
(3) 分配所有numa节点交织分配: numactl --interleave=all XXXX
(4)指定进程在numa node0上执行: numactl --cpubind=0 --membind=0 python param (等价于numactl -N 0 --membind=0 python param)
(5) 指定进程在numa 的cpu核上运行: numactl -C 0-27,34-68 python param
(6)内核参数 zone_reclaim_mode: 设置为0: echo 0 > /proc/sys/vm/zone_reclaim_mode ;
如果为0的话,那么系统会倾向于从其他节点分配内存
如果为1的话,那么系统会倾向于从本地节点回收Cache内存多数时候,Cache对性能很重要,所以0是一个更好的选择
8: 配置定时任务
(1)利用crontab编辑相关定时任务
crontab -e 编辑定时任务
crontab -l 查看定时任务
crontab -r 删除定时任务
(2) vim /etc/crontab 添加如下内容
*/1 * * * * root /bin/bash /root/test.sh >> /dev/null 2&1 &
(3) 启动定时任务
srvice crond start 启动定时任务
9: 用于linux系统或进程进行性能观测的命令
(1)vmstat : 查看内存使用,虚拟内存交换情况, IO读写情况.
https://blog.csdn.net/m0_38110132/article/details/84190319
(2) mpstat : 查看CPU的一些统计信息
cpu执行时间 = 用户代码执行时间 和 运行用户代码代码系统执行时间
Linux mpstat 详解_YxiaoqiR的博客-CSDN博客
(3)iostat :查看磁盘io利用率
linux iostat 查看磁盘io利用率_whatday的专栏-CSDN博客
(4) netstat(netstat -natp): 查看网络状态信息
https://blog.csdn.net/qq_43563538/article/details/103456847
(5) sar : 各种各样的统计,配上不同的参数可以查看不同的系统资源
sar -u 查看cpu使用
sar -r 查看内存使用
sar -d 查看磁盘使用
sar -n DEV 查看网卡网络流量
https://blog.csdn.net/volitationLong/article/details/81741754
(6) 用于进程级别的观测工具:
ps: 进程状态
top: 进程使用状态统计
10: 用于linux系统或进程进行性能跟踪的命令 (注意会影响性能)
(1)perf
sysctl -w kernel.perf_event_paranoid=-1 (利用sysctl -w来修改/etc/sysctl.conf 文件)
perf top -p $pid -g 显示进程消耗CPU
(2) tcpdump
tcpdump -s 0 host 10.44.133.175 and -i any port 42109 (-w XXX.cap)