一、防火墙相关命令:iptables防火墙/firewall防火墙(如果服务器端口telnet不通,可尝试重启防火墙)
查看linux系统版本:lsb_release -a
(适用于所有版本linux);cat /etc/issue
;cat /etc/redhat-release
查看linux内核版本:uname -a
查看防火墙状态:service iptables status systemctl status firewalld
关闭防火墙:service iptables stop service firewalld stop
关闭防火墙开机自启:chkconfig iptables off
开启防火墙:service iptables start service firewalld start
重启防火墙:service firewalld restart
防火墙开机自启:chkconfig iptables on
防火墙开放8080端口:firewall-cmd --permanent --add-port=8080/tcp
二、修改服务器时间为北京时间,依次执行以下命令即可:
删除本地时间
rm -rf /etc/localtime
配置时间为上海
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtim
使用ntp同步时间
ntpdate time.nist.gov(提示无该命令,则先安装:yum -y install ntpdate ntp)
设置硬件时间和软件时间的一致并校准
/sbin/hwclock --systohc
三、非正常退出文件编辑是会生成.swo/.swp文件(隐藏文件)
查看隐藏文件:ls -a
,删除后可正常打开相应文件
正常关闭文件::q
或者Shift+zz
四、文件编辑相关命令:
进入文件编辑:vim
在命令模式下删除整行:dd
,删除当前行开始向下n行:ndd
在命令模式下撤销修改:u
在命令模式下恢复撤销:ctrl+r
在命令行模式下:选择多行:v+上下键;复制:y;粘贴:p
在命令行模式下:输入:set number
显示行号,yy
复制光标所在行,nyy
复制光标所在向下n行
命令行模式下:gg
跳到第一行,Shift+g
跳到最后一行,ngg
跳到第n行
vim中翻页:ctrl+f
,ctrl+b
其他相关命令参看博客:https://www.cnblogs.com/longchuqianyuan/p/11163933.html
五、查看服务器内存情况:
1、free -m
以MB显示;free -g
以GB显示
Mem:表示物理内存统计,如果机器剩余内存非常小,一般小于总内存的20%,则判断为系统物理内存不够
Swap: 表示硬盘上交换分区的使用情况,如剩余空间较小,需要留意当前系统内存使用情况及负载,当Swap的used值大于0时,则表示操作系统物理内存不够,已经开始使用硬盘 内存了。
第1行数据11G表示物理内存总量;6.5G表示总计分配给缓存(包含buffers与cache)使用的数量,但其中可能部分缓存并未实际使用;
1.3G表示未被分配的内存;shared表示共享内存;4.0G表示系统分配但未被使用的buffers数量;4.7G表示系统分配但未被使用的available数量
2、查磁盘空间大小:
查看磁盘空间大小:df -h
;
查看当前文件夹下所有文件大小:du -sh
;
查看指定文件夹大小:du -h /dir
;
查看指定文件夹下所有文件大小:du -h /dir/
;
查看指定文件大小:du -h test.log
;
六、查看进程使用占用内存情况:
top
:实时查所有的进程情况;
top -p pid
: 根据pid查看某个程序的情况;
ps -ef|grep
程序名: 查看某个程序的情况;
lsof -i :8080
:查看8080端口占用情况;(lsof -i会持续列出所有的进程)
netstat -tunlp|grep 8080
:也可以查看8080端口占用情况
七、跨服务器复制文件
1. 本地文件 -------> 远程服务器把本地/home下的一个名为a.tar.tz的文件拷贝到远程服务器的/home/tmp(root账号)
scp /home/a.tar.tz root@192.168.0.2:/home/tmp/
(会提示输入root密码)
2. 远程服务器文件 -------> 本地远程服务器上的/home/a.tar.tz 文件拷贝到本机当前目录用这个命令:
scp root@192.168.0.2:/home/a.tar.tz
拷贝远程机器的整个home目录下的文件
scp -r root@192.168.0.2:/home/* ./
3.本地文件的复制:cp
;复制文件夹:cp -r dir1/. dir2
将dir1中的所有文件复制到dir2下,不包含dir1文件夹;cp -r dir1 dir2
将dir1整个文件夹复制到dir2下
八、查找文件/文件夹命令:
find 目录名 -name ‘‘文件名’’
find 目录名 -type d -iname ‘‘文件夹名’’
展示文件夹文件列表:纵向ll,横向展开ls
九、日志相关:
按时间段查看日志:sed -n ‘/2018-06-21 14:30:20/,/2018-06-21 16:12:00/p’ catalina.out | grep ‘keyword’
按关键字查询日志:
cat 1.log | grep “keyword” tail -100f test.log
实时监控100行日志
tail -n 10 test.log
查询日志尾部最后10行的日志;
查看文件命令:less 参数 文件名:b向后翻一页,d向后翻半页,Q退出less 命令,u向前滚动半页,y向前滚动一行,空格键滚动一行,回车键滚动一页,pagedown向下翻动一页
十、服务器密码相关:
修改服务器用户名跟密码:root账号直接输入passwd
,其他用户的密码输入:passwd 用户名
,其他参数可参考https://blog.csdn.net/hyfstyle/article/details/90904992
检查shell脚本语法:sh -x xxx.sh
十一、使用ssh命令连接远程服务器免密码登录的配置:
假定需要在服务器A上通过ssh命令或者scp等远程连接命令操作服务器B;
在服务器A上进入目录:cd /root/.ssh
;执行命令:ssh-keygen -t rsa
,一路回车后得到私钥id_rsa和公钥id_rsa.pub;
执行命令:ssh-copy-id root@A的ip
,该命令把生成的公钥文件的内容追加到A的authorized_keys 文件中;
执行命令:ssh-copy-id root@B的ip
,该命令把A的公钥追加到B的authorized_keys 文件中,之后A可免密登录B;
十二、启动redis,mysql:
小技巧:linux上查找服务时可先使用find命令根据文件夹名字查找,一般都能找到服务的安装目录
启动redis:进入src安装目录,执行命令./redis-server 安装目录/redis.conf &
;
启动mysql:./bin/mysqld_safe --defaults-file=安装目录/my.cnf &
; 启动:mysqld start
;关闭:mysqld stop
;重启:mysqld restart
关闭mysql:mysqladmin -uroot -ppassword shutdown
十三、权限相关:
权限数字标识:可读r:4;可写w:2;可执行x:1;
每个文件或文件夹有三组权限,u所有者,g所在组,o其他,每组权限由读、写、执行三个组成;
配置权限:sudo chmod 777 xxx.log
,给文件夹及其子文件夹配置权限:chmod -R 777 dir
十四、定时任务相关:
linux定时任务相关命令:systemctl /start/stop/restart/reload/status crond
或者service crond /start/stop/restart/reload/status
;
添加定时任务:输入crontab -e
,添加脚本:59 23 * * * /usr/local/nginx/nginxlog_happy.sh
,其中cron表达式根据需要自行调整;或者直接在文件中:vim /etc/crontab
在最后一行添加,之后重启;
chkconfig crond on #
设为开机启动
十五、使用curl进行接口调试:https://www.cnblogs.com/zhangtebie/p/11185807.html
站在巨人肩上,均为个人使用总结,如有不当之处,望指出!