目录
目录
13、获取特定网站(http://www.google.com)的状态码(200等)
1、防火墙
1-1、在firewalld中添加8080端口
//添加-开放端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
//使新修改的端口配置生效
firewall-cmd --reload
//查看端口(8080)是否开放--如果没有的话什么都不显示
lsof -i:8080
//删除端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
//查看firewall开放的所有端口
firewall-cmd --zone=public --list-ports
1-2、查看防火墙firewalld状态
查看状态:service firewalld status
启动: systemctl start firewalld
关闭: systemctl stop firewalld
fiewalld相关命令:https://www.cnblogs.com/sylvia-lesson/p/10191525.html
1-3、在iptables中添加端口
service iptables stop //先暂停iptables
cd /etc/sysconfig
vim iptables
添加要加入的端口号
-A INPUT -p tcp -m state --state NEW -m tcp --dport 端口号 -j ACCEPT
编辑完成后,退出
service iptables start
service iptables status //监测是否添加成功
参考连接
2、配置
2-1、配置系统服务信息(例如:jdk/jre等的配置)
vim /etc/profile
//配置的JDk、JRE信息
export JAVA_HOME=/usr/local/jdk1.8.0_11
export CLASSPATH=.:${JAVA_HOME}/lib
export JRE_HOME=${JAVA_HOME}/jre
export PATH=${JAVA_HOME}/bin:$PATH
刷新环境变量命令:source /etc/profile
查看是否安装成功: 查询jdk版本命令: java -version
2-2、查看是否可以远程SSH连接
netstat -anp |grep :22
有sshd占用,即可
2-2-1、启动远程SSH连接
service sshd start
3、端口、进程、服务
3-1、查看8080端口的占用信息(进程、服务名称)
netstat -apn | grep 8080
3-2、查找服务对应进程号
//查找elasticsearch服务对应的进程号<第一个参数是用户名,第二个参数是进程号PID>
ps -ef | grep elasticsearch
4、用户及其分组
4-1、查看所有分组
cat /etc/group
4-2、查看所有用户及其密码
cat /etc/shadow
4-3、赋予用户在某个文件夹中的所有权限(因为用户并不会拥有整个系统的权限<除root用户外>)
chown 用户名 文件夹 -R
//示例:chown esuser elasticsearch-7.2.0/ -R
4-4、删除用户
userdel -r 用户名
5、FTP相关
5-1、查询wins共享文件夹
vmware-hgfsclient
5-2、将本地文件传输到远程服务器
scp -r 本地文件夹/ 192.168.88.88:/服务器上存放的位置
方式一:通过免密登录形式配置公钥,传输文件(从clientA 传输文件到serverB)
1、在clientA服务器生成公钥
ssh-keygen -t rsa
2、将clientA的公钥写入到serverB的authorized_keys中
cat id_rsa.pub >> ~/.ssh/authorized_keys
3、测试传输文件,测试从clientA往serverB传输文件时候不会再提示输入密码
参考:https://www.cnblogs.com/xd502djj/archive/2009/06/25/1510966.html
(nohup scp -r ./part1 root@ip:/data/ &)
-----------------------------------------------------------------------------------------
方式二:不配置公钥,直接将scp命令先暂停,然后后台运行
1、 运行SCP命令
[root@test dpdir]# nohup scp OUTDB_ERR??.dmp oracle@192.168.1.133:/oradir
2、 输入密码
nohup: appending output to nohup.out
oracle@ 192.168.1.133's password:
此时输完密码进程会挂起,还是在前台运行
3、 输入ctrl+z暂停程序
会出现如下提示:
[1]+ Stopped nohup scp OUTDB_ERR??.dmp oracle@192.168.1.133:/oradir
4、 执行bg使进程在后台继续运行
[root@test dpdir]# bg
[1]+ nohup scp OUTDB_ERR??.dmp oracle@192.168.1.133:/oradir &
[root@test dpdir]#
这样4步可以使SCP在后台运行,搞定 。
备注:
bg
将一个在后台暂停的命令,变成继续执行
fg
将后台中的命令调至前台继续运行
jobs
查看当前有多少在后台运行的命令
ctrl + z
可以将一个正在前台执行的命令放到后台,并且暂停
nohup 命令
用途:不挂断地运行命令。
语法:nohup Command [ Arg … ] [ & ]
描述:nohup 命令运行由 Command 参数和任何相关的 Arg 参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示”and”的符号)到命令的尾部
5-3、搭建FTP服务.
5-4、断点续传rsync
传输文件
rsync -P --rsh=ssh teat.tar 127.0.0.1:/home/
传输文件夹
rsync -avzP --rsh=ssh 2 192.168.88.136:/data
5-5、开放FTP服务
firewall-cmd --add-service=ftp --permanent
6、yum相关
6-1、查看要安装的命令(lsb_release)..属于哪个软件包
# yum provides */lsb_release
7、查看Linux系统版本
1、# lsb_release -a
2、# cat /etc/issue
3、# uname -a
4、查看硬盘大小:fdisk -l |grep Disk
5、查看内存大小:free
6、# 查看物理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
7、查看服务器几核
cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
8、wins共享文件给Linux
参考:VMware Workstation 无界面linux系统(centos6.5),命令行安装VMTools,并建立共享文件夹_lyn5284767的专栏-CSDN博客
1、当进入/mnt/hgfs/会发现找不到共享的文件,执行命令
vmhgfs-fuse .host:/ /mnt/hgfs/
然后,返回root目录,再次进入即可看到共享的内容
2、如果只查看共享文件夹,执行命令
vmware-hgfsclient
9、遇到scp传输过程中出现的stalled问题
试过限制速度的“-l 8192”,但是不行,所以选择使用断点续传续传功能
参考:
1、断点续传 scp rsync_yangyun_1999的专栏-CSDN博客
2、scp 断点续传_hepeng597的专栏-CSDN博客
10、shell脚本前后台切换
参考链接:
https://blog.csdn.net/ruiyelp/article/details/80184249
11、查看占用内存空间
11-1、查看Linux系统内存
df -h
显示结果
箭头右面显示文件夹,箭头左侧显示挂载着某个硬盘
11-2、查看该路径下一级目录的占用大小/使用情况
du -h --max-depth=1
13、获取特定网站(http://www.google.com)的状态码(200等)
$(curl -s -o /dev/null -I -w "%{http_code}" http://www.google.com)
14、Nginx
安装Nginx参考文献:Nginx的安装与部署_希若的个人博客-CSDN博客_nginx部署
pwd:
/usr/local/nginx/sbin
14-1、启动Nginx
/usr/local/nginx/sbin/nginx
或者 systemctl start nginx
14-2、重启Nginx
/usr/local/nginx/sbin/nginx -s reload
或者 systemctl restart nginx
14-3、关闭Nginx
/usr/local/nginx/sbin/nginx -s stop
或者 systemctl stop nginx
14-4、查看Nginx状态
systemctl status nginx
14-5、部署Vue项目后,刷新页面报错404
解决办法:修改vim /etc/nginx/nginx.conf配置
location / {
root ...
index ...
try_files $uri $uri/ /index.html; #解决页面刷新404问题
}
15、Linux系统相关
15-1、Linux系统下载地址;
15-2、安装Linux,参考
16、权限
16-1、 赋予脚本可执行权限
chmod +x xxx.sh
17、删除软件/卸载软件
//1、查找以前是否装有
rpm -qa|grep -i mariadb
//2、关闭数据库
systemctl stop mariadb
//3、删除mariadb数据库
rpm -e --nodeps 1中的包名
//删除MySQL数据库
rpm -qa|grep -i mysql
18、复制文件/拷贝文件
18-1、复制文件
cp [原文件所在路径] [要拷贝到目录下]
如:cp /home/test.php /home/index.php //把test.php 拷贝成 index.php
18-2、复制文件夹及其文件
cp -r [原文件夹路径] [要拷贝到的路径]
如: cp -r /home/lopo/ /home/web/
19、Linux后台启动Vue
参考文章:
参考命令:
nohup npm run dev > ./web.log 2>1&
20、查找文件
正则不能用在文件名和路径中,linux命令中只有几个命令可以用到正则: find,egrep,awk,sed
正则查找特定格式文件
find -regex '.*\.json'
查找/路径下名字为mysql的文件
find / -name mysql
# 查看当前目录下的文件数量(不包含子目录中的文件)
ls -l|grep "^-"| wc -l
# 查看当前目录下的文件数量(包含子目录中的文件) 注意:R,代表子目录
ls -lR|grep "^-"| wc -l
# 查看当前目录下的文件夹目录个数(不包含子目录中的目录),同上述理,如果需要查看子目录的,加上R
ls -l|grep "^d"| wc -l
# 查询当前路径下的指定前缀名的目录下的所有文件数量
# 例如:统计所有以“20161124”开头的目录下的全部文件数量
ls -lR 20161124*/|grep "^-"| wc -l
21、处理Linux文件名中的白色空间(空格)
创建一个文件名,其中有字符/字之间的空间,说:“ 大家好,我的名字是avishek.txt”。
使用空格来保存文件名并不是一个好主意,如果您必须使用可读的名称,则应使用下划线或破折号。 然而,如果你必须创建这样的文件,你必须使用反斜杠,忽略它的下一个字符。 要创建上述文件,我们必须这样做。
$ touch hi\ my\ name\ is\ avishek.txt
hi my name is avishek.txt
22、安装中文字体
(参考:Centos7安装中文字体 - Iverson58的个人空间 - OSCHINA - 中文开源技术交流社区)
23、 查看日志文件.log最近访问平常的ip
cat 日志.log |awk -F ' ' '{print $1}'|sort|uniq -c|sort -nr
一般攻击的都是各种充分访问或者各种尝试攻击,在短时间log很容易看的出来,这里直接能列得出每个IP的访问次数,如果IP过多,加个|head查看前10
感觉那个ip疑是就
cat 日志.log|grep '这个ip'
最好导出来看,一般是攻击看大访问的地址 等等形式就看得出来了
24、Linux窗口后台运行
screen -S ${yourname} -> 新建一个叫yourname的session
screen -r ${yourname} -> 回到yourname这个session
screen -ls -> 列出当前所有的session
screen -d yourname -> 远程detach某个session
screen -d -r yourname -> 结束当前session并回到yourname这个session
25、缓存
#清除服务器缓存
echo 3 > /proc/sys/vm/drop_caches
26、通过管道符,根据进程名称(jar包)删除进程
#删除xxx.jar进程
ps -ef | grep xxx.jar | grep -v grep | awk '{print $2}' | xargs kill -9
27、修改系统时间为东八区(参考)
28、中文乱码
-
查看当前的locale设置:
命令:locale 如果发现LANG或其他相关的环境变量(如LC_ALL)没有设置为zh_CN.UTF-8, 则需要设置它们。可以将以下内容添加到~/.bashrc或~/.profile或者/etc/profile文件中:
修改前
-
查看系统中是否有中文包:(没有的话需要安装)
命令:locale -a |grep "zh_CN" 显示;zh_CN.utf8
-
修改配置,使生效
export LANG=zh_CN.UTF-8 export LC_ALL=zh_CN.UTF-8 source ~/.bashrc
修改后