linux基础命令
参考地址:http://testingpai.com/article/1639281644262
一、普通基础命令
1:查看服务器时间:date
2:修改服务器时间:date -s “2020-01-16:18:02”
4:修改系统时间clock -w
4:上传 :rz(rz-be 防止中断)
5:下载:sz
6:打包:tar zcvf shi.tar.gz shi , zip -r shi.zip shi
7:解压:tar zxvf shi.tar.gz ,unizp shi.zip
8:解压覆盖不提示:zip -O shi.zip
9:解压到某个目录下:tar -zxvf trafficplus-icprsm.tar.gz -C /
9:复制:cp -r /root/shi /var/www/html ,cp -r shi shi.bak
10:移动:mv shi shi.bak ,mv /var/www/html/shi /var/www/html/shi.bak
11:全删除命令:rm -fr *,删除某个文件 :rm -fr shi
12:对于特殊文件删除不掉的处理:
1) 使用 ls -i 查出该文件的 inode 号,假设为654321
2) 使用find命令删除:find ./ -inum 54268867 -exec rm '{}' \;
13:赋权全部权限:chomod -R 777
14:查看磁盘:df -h
15:查看内存大小:free -m
16:查看cup占用率:top
17:时间同步命令:ntpdate asia.pool.ntp.org
18、软连接:ln -s 原目的地址,目标地址
19、history 查询历史命令
查询历史名称 ps history|grep vim
20查询文件所在地址:
which 查看可执行文件的位置。
whereis 查看文件的位置
21.系统版本: uname -a
22.运行时间:读系统文件/proc/uptime除以86400
二、数据库命令
1:进入数据库命令
mysql -u root -p123456,/opt/lampp/bin/mysql -u root -p456789
2:创建数据库:reate database abc;
3:选择数据库:use abc;
4:设置数据库编码:set names utf8;
5:查询数据表:select *from abc11;
6:删除表里面的某条数据:delete from abx11 where id=“5”;
7:查看数据库最近10条数据:select *from abc11 limit 10;
8:导入数据库:source /home/abc/abc.sql
9:导出数据库: /opt/lampp/bin/mysqldump -p'dfwx@2019' ne_project> ne_project.sql
./opt/lampp/bin/mysqldump -u root -pdfwx@2019 qualityp003 >/root/qualityp003.sqlroot/
10:导出数据表: /opt/lampp/bin/mysqldump -p'dfwx@2019' ne_project test >/root/ test.sql
11:修改数据库密码:
1)进入数据库
#use mysql;
#grant all on *.* to 'root'@'%' IDENTIFIED BY '123456' ; #标红位置为需要设置的密码
#flush privileges;
2)删除mysql数据库user表里面的密码记录条数(只保留上面最新加的一条),如下:
#use mysql;
# select * from user;
3)重启数据库
/opt/lampp/bin/mysql.server restart
12、慢查询相关sql
命令查询慢查询: show variables like “%slow%
命令配置慢查询:set global slow_query_log=on/off;
去sql看执行计划:explain +sql
看sql的表设计情况,看索引情况:desc表名(这个需要区分)
三、linux系统信息命令
1:查看linux系统版本:more /etc/issue ,lsb_release -a
2:查看数据库版本:mysqld -V,/opt/lampp/bin/mysql -u root -ppassword
3:查看apache版本:httpd -v ,/opt/lampp/bin/httpd -v
4:查看php版本: php -V ,/opt/lampp/bin/php -v
5:查看Python版本:python -V
6:查看程序进程命令:ps aux|grep httpd
7:查看端口是否冲突:netstat -anp|grep 8007
8:查看服务器dns: more /etc/resolv.conf:10:
9:配置dns: vim /etc/resolv.conf
10:看内存大小的命令:cat /proc/meminfo |grep MemTotal
11:查看cpu核数:cat /proc/cpuinfo| grep "cpu cores"| uniq
12:CPU型号的查询方式:cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
13:查询linux设备和型号: dmidecode | grep "Product Name"
dmidecode -s system-product-name
dmidecode -s system-serial-number
14:程序默认端口:mysql(3306) 、ftp(21)、 ssh(22),smtp(25,465)
15:查看路由绑定情况:
dig @10.0.140.173 mail.google.com
16.路由route print -4 (netstat -r)
17、路由追踪
traceroute www.hao123.com
四、进程和端口情况
1:服务的状态(端口冲突):netstat -anp|gerp httpd(8080)
2:查看进程状态:ps ax|grep java(8080)
3:杀进程:kill -9 -9是信号
-s:指定发送的信号。
-p:模拟发送信号
pid:要中止进程的ID号
Signal:表示信号
4:检查服务器上所有端口:netstat -ntlp(ss -tnl这个速度快 监控tcp/ip的工具(ss是Socket Statistics简写))
5:查看文件系统进程 lsof -i :9000
6:who 查看哪个ip用了这个服务器
五、文件查询对比情况
1:ip:去重并且重定向新文件:
sort 11111.txt |uniq >12.txt
2:对比文件命令: vimdiff Config.py Config.py20190715
diff -u a.txt b.txt
diff -c ./a.txt ./b.txt(输出不同之处)
3:日志前100条数据筛选:tail -100|grep 123.log
4:日志里面两个条件筛选:grep "55" 123.log |grep "66"
5:统计关键字条数:%s/free_host="1"/&/g
6、同时查看多个文件的命令
tail -f og_file_1 -f log_file_2
cat 20200925.log 20200926.log 20200927.log | grep 过滤
Vim file1,file2,file
n:查看下一个文件
N:查看上一个文件
7、vim查询字符 : esc/字符 退出esc:wq!
六、查看apache运行日志 /usr/local/ apache/logs
tail -f /var/log/httpd/ error_log
ipcs -s | grep apache
ipcs -s | grep apache | perl -e 'while (<STDIN>) { @a=split(/\s+/); print `ipcrm sem $a[1]`}'
service httpd restart
七、抓包
1)Wireshark抓包工具请求:http.request.method=="GET"
2)linux下抓包网卡命令:tcpdump -Xnns 0 -i any icmp/port 80(抓取所有网卡信息,icmp协议或者端口的数据包)
八、清理磁盘和内存满命令
1、free -m
1 )只清除页面缓存(pagecache)
# sync; echo 1 > /proc/sys/vm/drop_caches
2 )清除目录项和inode
# sync; echo 2 > /proc/sys/vm/drop_caches
3)清除页面缓存、目录项和i节点
# sync; echo 3 > /proc/sys/vm/drop_caches
2、查看硬盘:df -h
du -sh *|sort -n
du -h --max-depth=1
du -sh /usr/*
九、开端口。放行端口,防火墙启动开关
启动防火墙:systemctl start firewalld service iptables start
停止防火墙:systemctl stop firewalld
重启防火墙:systemctl restart firewalld
设置开机启动:systemctl enable firewalld
设置开机不启动:systemctl disable firewalld
查看自动启动任务:systemctl list-unit-files
开放防火墙端口命令
防火墙开放(放行)8080端口:firewall-cmd --add-port=8989/tcp --permanent
防火墙关闭8080端口:firewall-cmd --remove-port=8989/tcp --permanent
重载防火墙:firewall-cmd --reload
检查8080端口是否开放成功:firewall-cmd --permanent --query-port=8989/tcp
查看防火墙开放端口:iptables -nL
3)使用firewall-cmd配置端口
(1)查看防火墙状态:firewall-cmd --state
(2)重新加载配置:firewall-cmd --reload
(3)查看开放的端口:firewall-cmd --list-ports 或 firewall-cmd --list-all
(4)开启防火墙端口:firewall-cmd --zone=public --add-port=9200/tcp --permanent
命令含义:
–zone #作用域
–add-port=9200/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
注意:添加端口后,必须用命令firewall-cmd --reload重新加载一遍才会生效
(5)关闭防火墙端口:firewall-cmd --zone=public --remove-port=9200/tcp --permanent
检查服务器上所有端口:netstat -ntlp
查看文件系统进程 lsof -0 :9000
查看ip地址:ifconfig -a , ip addr
查看dns:/etc/resolv.conf
查看解析文件host地址:/etc/hosts
nslookup www.163.com
nslookup -qt=CNAME www.163.com
使用nslookup命令查看DNS记录:可以使用nslookup命令查看指定域名的IP地址,2、使用dig命令查看DNS记录:3、使用host命令查看DNS记录:4、使用cat命令查看DNS记录:
十、其他命令
1)对比md5的值
md5sum 原文件、目标文件
1:wget 下载地址
2:wget ip +端口 验证是否通信
3:you-get 视频地址(是否重新下载)
4:ping +ip地址(是否通)
1)查找单个关键词:
grep -o error filename|wc -l
2)查找多个关键字 直接用| 链接起来即可
grep -o ‘error|error1' filename|wc -l
3)删除7天日志数据在/ l o g s目录中查找更改时间在7日以前的文件并删除它们:
$ find logs/ -type f -mtime +7 -exec rm -f {} \;
4)在/ l o g s目录中查找更改时间在7日以内的文件并删除它们:
$ find logs/ -type f -mtime -7 -exec rm -f {} \;
十一:没有命令自动安装
没有ifconfig: yum search ifconfig
没有netstat: yum search ifconfig