centos6.x
# 编辑防火墙脚本
vim /etc/sysconfig/iptables
# 找到类似如下命令行
-A INPUT -p tcp -m state --state NEW -m tcp --dport XXXX -j ACCEPT
# 按 yy (复制) p(黏贴) dd(删除)
yy p
# 此时会复制一行命令出来
# 开启编辑模式,将 XXXX改为我们想要开放的端口
i
# 保存
:wq
# 刷新防火墙(否则不生效)
service iptables restart
复制代码
centos7.x
# 安装firewall插件:
yum install firewalld firewalld-config
# 查看防火墙某个端口是否开放
firewall-cmd --query-port=3306/tcp
# 永久开启80端口 add改为remove则为关闭
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --state # 查看防火墙状态
systemctl start firewalld # 开启防火墙
systemctl stop firewalld # 关闭防火墙
systemctl enable firewalld # 设置开机启动
sytemctl disable firewalld # 停止并禁用开机启动
firewall-cmd --reload # 重启防火墙 (修改配置后要重启)
firewall-cmd --zone=public --list-ports # 查看防火墙所有开放的端口
复制代码
Linux目录结构
- bin (binaries) 存放二进制可执行文件
- sbin (super user binaries)存放二进制可执行文件,只有root才能访问
- etc (etcetera)存放系统配置文件
- usr (unix shared resources)用于存放共享的系统资源
- home 存放用户文件的根目录
- root 超级用户目录
- dev (devices) 用于存放设备文件
- lib (library)存放跟文件系统中的程序运行所需要的共享库及内核模块
- mnt (mount)系统管理员安装临时文件系统的安装点
- boot 存放用于系统引导时使用的各种文件
- tmp (tmporary)用于存放各种临时文件
- var (variable)用于存放运行时需要改变数据的文件
入门常用的命令
一、磁盘管理命令
1.切换目录
cd 目录名
cd ..切换到上一级目录
cd ~ 切换到root目录
cd / 切换到根目录"/"
cd - 切换到上一次操作所在的目录
pwd 显示当前绝对路径
2. 展示文件列表的命令
ls 显示可见文件
-l 代表显示文件详情 (一般直接使用 ll )
-a 代表显示所有文件(包含隐藏文件)
-h 代表以友好的单位显示文件的大小(K)
4. 移除目录的命令介绍
rmdir 目录名(只能移除空目录)
5. 浏览文件的命令
cat 文件名
more 文件名
less 文件名
tail -fn 200 文件名 (查看文件前200行记录,动态更新)
6. 创建文件的命令
touch 文件名
创建目录的命令
mkdir 目录名
mkdir -p 目录名/目录名 (多重目录创建)
7. 移动文件的命令
mv 文件名 目录/
mv 文件名 目录/新文件名(移动文件并且重命名)
mv 文件名 新文件名 (重命名)
例子: [root@loclahost ~]# mv test2/a.txt test1/b.txt 将test2目录下的a.txt移动到test1并改名为b.txt
8. 复制文件
cp 文件名 目录
cp 文件名 目录/新文件名
cp -r 目录 目录 复制某个目录以及该目录的内容到某个文件夹 也就是递归复制 ./表示复制到当前目录
9. 删除文件的命令
rm 文件名
rm -r 非空目录名 (递归删除非空目录)
-f 代表不询问直接删除
注意:rm -rf /* 就是传说中的删库跑路,请勿手抖
10. 编辑文件的命令介绍
vim 文件名 进入普通模式 (只能浏览,不能编辑)
i (进入编辑模式)
esc (回到普通模式)
: (切换到底行模式)(需先切回普通模式)
:wq 保存并退出
:q 退出不保存
:q! 强制退出
11. 打包压缩和解包解压的命令 (打包较少用: 将四个文件打包成一个文件,打包不减少体积)
tar
-c 打包和压缩的时候必选
-x 解包解压的时候必选
-v 列出文件清单,(可选项)
-f 打包压缩和解包解压都必选
-z 自动识别解压和压缩(可选) ,要加上z才压缩,不加不压缩
打包:tar -cvf [生成的文件名].tar 【要打包进去的文件】 cf必要 打包一个tar
打包并压缩:tar -zcvf [生成的文件名].tar.gz 【要压缩进去的文件名】 打包压缩一个 tar.gz
解包:tar -xvf XXX.tar -C 【要解包到的目录】 (用于解压 .tar后缀结尾的)
解压:tar -zxvf XXX.tar.gz -C 【要解压到的目录】 (.tar.gz 后缀结尾的)
解压并重命名: tar -xzf xxx.tar.gz -O > a.txt (解压时小心,若有同名目录,会把原目录覆盖了)
解压 zip后缀用 unzip xxxx.zip
若是rpm包, 直接 rpm -ivh jdk-xxx.rpm
12 系统命令
ifconfig 查看ip地址等信息
ping 检查网络 halt(关机,一般挂起则可) reboot(重启,一般挂起则可)
ps -ef 查看所有进程
ps -ef | grep 筛选条件 ( | 管道可筛选所有文件 )
例子: ps -ef| grep wook 筛选跟 wook 相关的进程
kill -9 进程id (杀死进程)
复制代码
线上常用的命令
# 创建一个新的组名 apps
groupadd apps
# 新增账户 wook,-g 指定用户所属的组 -d指定用户登入的起始目录
useradd -g apps -d /home/wookHome -m wook
# 修改密码
passwd wook
# 修改hosts
vim /etc/hosts
# 后台运行 ,并生成nohup.txt文件
nohup java -jar 项目名.jar &
# 切换为XXXX账户
su XXXX
# 查看环境变量
echo $PATH
# 查找jdk目录
which java
# 给文件或目录增加操作权限
chmod a+x 目录或文件
# 建立软连接(类似window的快捷方式, 会生成一个结构与源文件一致的目录或文件)
ln -s 源文件 目标文件
# 根据端口号(3306)找对应的进程 (进程可通过 top命令查看, 其pid就行进程号)
netstat -nlp|grep :3306
# 获取进程号(19264)监听的端口
netstat -anp | grep 19264
# 将 mysqldata..文件拷贝到其他服务器的/data目录下
scp mysqldata.tar.gz 用户名@ip:/data/
# 批量替换,路径下文件中包含 '查找字段'的值为 '替换字段'
sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径`
#替换特殊字符
sed -i 's#'''\"特殊字符\"'''#'''\"要替换为1\",\"要替换为2\",\"要替换为3\"'''#g' *.conf
# nohup会生成 nohup.txt日志, 使用该命令可取消
nohup /路径 >/dev/null 2>&1 &
# linux自带的定时器命令 例: 0 5 * * * /usr/bin/curl http://192.168.1.1:5555/url/api
crontab -e
#查看当前服务器中的java进程
jps
# springboot jar包启动修改端口为9999
java -Dspring.profiles.active=dev -Dserver.port=9999 -jar test.jar
#排查cpu占用较高进程
top
#查看服务器内存空间使用
free
#查看磁盘空间占用
du -lh /路径/路径
复制代码
彩蛋
# vim 编辑文件后,输入 /XX ,其中XX为想要搜索的内容, 再多次按 n 可快速浏览
# sudo dhclient 可解决 ifconfig没有显示ip地址的问题
# 为什么一般都使用 nohua XXXX & 作为后台运行的命令?
&(ctrl+c无法中断程序) nohup(关闭shell无法中断程序),为了让进程真正不受shell中Ctrl C和shell关闭的影响,同时使用即可
# chomd [ugoa] [+-=] [rwx] 文件或目录
u, g, o, a 分别表示 属主 属组 其他用户 所有用户
+, -, = 分别表示 增加 去除 设置权限
r, w, x 分别表示 读 写 执行权限
#从上面可知, rwx 都存在的话,算是拥有对文件的所有操作权限了,下面看个例子
[wook@localhost local]$ ll /etc/sysconfig/iptables
-rwxr-x-w-. 1 root root 541 Apr 18 15:12 /etc/sysconfig/iptables
#说明 除去第一个 - , 每三个权限为对应用户权限
#也就是说拆分为 rwx r-x -w- ,第1个对应 属主,第2个对应属组,第3个对应其他用户
#属主拥有'读、写、执行'权限 , 属组拥有'读、执行'权限 , 其他用户只有'执行'权限
后续考虑写篇jvm命令操作......待续
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END