linux常用命令
window1占用查询端口的pid查询
C:\Users\helloworld>netstat -ano|findstr “9989”
window1关闭对应pid
C:\Users\helloworld>taskkill -F -PID 6832
成功: 已终止 PID 为 6832 的进程。
0.本地linux虚拟服务器
bigDataServer
切换linux桌面/命令行 CTrl + alt + f2 / CTrl + alt + f1
ctrl + alt 显示鼠标光标
ctrl + G进入linux界面里
1.查找目录:find /(查找范围) -name ‘查找关键字’ -type d
查找文件:find /(查找范围) -name 查找关键字 -print
查找大文件 du -sh * | grep G
2.linux压缩和解压缩命令
tar zxvf test.tar.gz -C test
-C 选项的作用是:指定需要解压到的目录
tar
解包:tar zxvf filename.tar
打包:tar czvf filename.tar dirname
gz命令
解压1:gunzip filename.gz
解压2:gzip -d filename.gz
.tar.gz 使用tar命令进行解压
tar -zxvf java.tar.gz
解压到指定的文件夹
tar -zxvf java.tar.gz -C /usr/java
gz文件的解压 gzip 命令
gzip -b java.gz
压缩:gzip filename
.tar.gz 和 .tgz
解压:tar zxvf filename.tar.gz
压缩:tar zcvf filename.tar.gz dirname
压缩多个文件:tar zcvf filename.tar.gz dirname1 dirname2 dirname3.....
bz2命令
解压1:bzip2 -d filename.bz2
解压2:bunzip2 filename.bz2
压缩:bzip2 -z filename
.tar.bz2
解压:tar jxvf filename.tar.bz2
压缩:tar jcvf filename.tar.bz2 dirname
bz命令
解压1:bzip2 -d filename.bz
解压2:bunzip2 filename.bz
.tar.bz
解压:tar jxvf filename.tar.bz
z命令
解压:uncompress filename.z
压缩:compress filename
.tar.z
解压:tar zxvf filename.tar.z
压缩:tar zcvf filename.tar.z dirname
zip命令
解压:unzip filename.zip
压缩:zip filename.zip dirname
3.jps查看进程
4.创建多级目录或文件夹
mkdir -p aaa/bbb/ccc
- chown -R rich:rich /home/wwwroot/*
chmod -R 7777 /home/wwwroot/*
6.查找程序进程服务路径 /proc/进程ID
7.重启网络
/etc/init.d/network restart
8.查看硬盘使用
df -hT
9.查看连接数、等待数
netstat -n | awk ‘/^tcp/ {++state[$NF]} END {for(key in state) print key,"\t",state[key]}’
10.清理linux服务器缓存
echo 1 > /proc/sys/vm/drop_caches 可以暂时清空cache和buffer
echo 0 是不释放缓存
echo 1 是释放页缓存
ehco 2 是释放dentries和inodes缓存
echo 3 是释放 1 和 2 中说道的的所有缓存
11.passwd 更改用户 root 的密码 。
passwd huazi 更改用户 huazi 的密码 。
12.查看文本有多少条数据 cat xx.log | wc -l
13.取文本前多少行数据 head -7500 train.txt > train_7500.txt
14.root给linux新用户赋予查看权限
新增用户
adduser testuser
给用户设置密码
passws testuser
给用户设置用户组
usermod -g root manager
设置用户读取权限
chmod 755 /root/logs
15.httpd给文件夹赋权限
chcon -R -t httpd_sys_content_t /var/www/html/qq55
16.scp /home/space/music/1.mp3 root@www.runoob.com:/home/root/others/music
17.Linux下vim显示行数
第一种是,手动显示:在vim命令行模式下输入 :set nu
取消显示:在vim命令行模式下输入: set nonu
第二种是,永久自动显示:我们修改一个配置文件。
我们输入命令:vim ~/.vimrc
打开后是一个空文件,我们添加 set nu,保存退出
18.centos7安装netstat组件
yum install net-tools
19.修改文件配置
sed -i “s/server_host=localhost/server_host=mcserver/” /opt/cm-5.16.2/etc/cloudera-scm-agent/config.ini
20.挂载目录
mount -B /var/www /home/vsftpd/ftptest/www
mount -B /root/logs/authority /var/www/html/logs/authority/before
mount -B /root/api_app/authority/src/main/resources/logs /var/www/html/logs/authority/now
mount -B /root/logs/travel /var/www/html/logs/travel/before
mount -B /root/api_app/travel/src/main/resources/logs /var/www/html/logs/travel/now
mount -B /root/logs/ticket /var/www/html/logs/ticket/before
mount -B /root/api_app/ticket/src/main/resources/logs /var/www/html/logs/ticket/now
mount -B /root/logs/shop /var/www/html/logs/shop/before
mount -B /root/api_app/shop/src/main/resources/logs /var/www/html/logs/shop/now
umount /home/vsftpd/ftptest/www
umount /var/www/html/logs/platbefore
21.关机命令
shutdown:关机指令
init 0:立刻关机
shutdown -h now:立马关机
reboot:重启
init 6:立刻重启
shutdown -h +10(或10):十分钟后关机
shutdown -h 20:02:系统将在20:02关机
shutdown -r now:系统立马重启
shutdown -r +10:系统将在10分钟后重启
22.查看防火墙状态
firewall-cmd --state
1
停止firewall
systemctl stop firewalld.service
1
禁止firewall开机启动
systemctl disable firewalld.service
https://www.cnblogs.com/dadonggg/p/8778318.html
23.如何尽量处理TIMEWAIT过多?
编辑内核文件/etc/sysctl.conf,加入以下内容:
net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
net.ipv4.tcp_fin_timeout 修改系默认的 TIMEOUT 时间
然后执行 /sbin/sysctl -p 让参数生效.
/etc/sysctl.conf是一个允许改变正在运行中的Linux系统的接口,它包含一些TCP/IP堆栈和虚拟内存系统的高级选项,修改内核参数永久生效。
简单来说,就是打开系统的TIMEWAIT重用和快速回收。
如果以上配置调优后性能还不理想,可继续修改一下配置:
复制代码
vi /etc/sysctl.conf
net.ipv4.tcp_keepalive_time = 1200
#表示当keepalive起用的时候,TCP发送keepalive消息的频度。缺省是2小时,改为20分钟。
net.ipv4.ip_local_port_range = 1024 65000
#表示用于向外连接的端口范围。缺省情况下很小:32768到61000,改为1024到65000。
net.ipv4.tcp_max_syn_backlog = 8192
#表示SYN队列的长度,默认为1024,加大队列长度为8192,可以容纳更多等待连接的网络连接数。
net.ipv4.tcp_max_tw_buckets = 5000
#表示系统同时保持TIME_WAIT套接字的最大数量,如果超过这个数字,TIME_WAIT套接字将立刻被清除并打印警告信息。
默认为180000,改为5000。对于Apache、Nginx等服务器,上几行的参数可以很好地减少TIME_WAIT套接字数量,但是对于 Squid,效果却不大。此项参数可以控制TIME_WAIT套接字的最大数量,避免Squid服务器被大量的TIME_WAIT套接字拖死。
复制代码
修改完毕后,执行生效
sysctl -p /etc/sysctl.conf
sysctl -w net.ipv4.route.flush=1
24.linux CPU及其核数、线程数、和占用的进程
physical id:每颗CPU的id,计算系统中有几个CPU。
cpu cores:当前的CPU有几个核心。
processor:每个CPU线程的id,计算系统中总计有几个CPU线程。
# 总核心数 = 物理CPU个数 X 每颗物理CPU的核数
# 总逻辑CPU数 = 物理CPU个数 X 每颗物理CPU的核数 X 超线程数
# 查看CPU逻辑id
grep 'physical id' /proc/cpuinfo | sort -u
# 查询物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# 查看每个物理CPU中core的核数(即个数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
# 查看总线程数量
grep 'processor' /proc/cpuinfo | sort -u | wc -l
# 查看CPU信息(型号)
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
# cpu详细信息
cat /proc/cpuinfo
# intel官方查看CPU列表信息
https://ark.intel.com/content/www/us/en/ark.html#@Processors
# CPU占用最多的前10个进程
ps auxw|head -1;ps auxw|sort -rn -k3|head -10
# 内存消耗最多的前10个进程
ps auxw|head -1;ps auxw|sort -rn -k4|head -10
# 虚拟内存使用最多的前10个进程
ps auxw|head -1;ps auxw|sort -rn -k5|head -10
USER //用户名
%CPU //进程占用的CPU百分比
%MEM //占用内存的百分比
VSZ //该进程使用的虚拟內存量(KB)
RSS //该进程占用的固定內存量(KB)resident set size
STAT //进程的状态
START //该进程被触发启动时间
TIME //该进程实际使用CPU运行的时间
ps auxw
u:以用户为主的格式来显示程序状况
x:显示所有程序,不以终端机来区分
w:采用宽阔的格式来显示程序状况
ps auxw|head -1 输出表头
sort -rn -k5
-n是按照数字大小排序
-r是以相反顺序
-k是指定需要排序的栏位
tty (Teletype terminal )与进程关联的终端
串行端口终端(/dev/ttySn)
伪终端(/dev/pty/)
控制终端(/dev/tty)
控制台终端(/dev/ttyn, /dev/console)
虚拟终端(/dev/pts/n)
stat取值含义
D //无法中断的休眠状态(通常 IO 的进程);
R //正在运行可中在队列中可过行的;
S //处于休眠状态;
T //停止或被追踪;
W //进入内存交换 (从内核2.6开始无效);
X //死掉的进程 (基本很少见);
Z //僵尸进程;
< //优先级高的进程
N //优先级较低的进程
L //有些页被锁进内存;
s //进程的领导者(在它之下有子进程);
l //多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads);
+ //位于后台的进程组;