个人常用linux命令及有趣的脚本整理

92 阅读3分钟
tar命令
#压缩
tar -czvf txt3.tar.gz txt3
#解压
tar -zxvf txt4.tar.gz
更多参考
https://www.cnblogs.com/libruce/p/16829710.html
zip
zip archive.zip file1.txt file2.txt file3.txt
zip -r filename.zip file3 folder2
zip -e mytest.zip t1.c t2.c
更多参考
https://blog.csdn.net/m0_74352571/article/details/131734572
unzip
unzip -d directory_to_extract_to file.zip
unzip -P password file.zip
更多参考
https://blog.csdn.net/m0_74352571/article/details/131774310
chmod
r:4
w:2
x:1
参考链接
https://blog.csdn.net/m0_60226911/article/details/138647768
chmod 000 问题的解决办法
https://www.bilibili.com/video/BV1HE4m1d7ov/?vd_source=d6746649fc56025c46f587b0c3eb526b
DNSDomain Name System 域名系统,应用层协议,是互联网的一项服务。它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网,基于C/S架构,服务器端:53/udp, 53/tcp实际上,每一台 DNS 服务器都只负责管理一个有限范围(一个或几个域)内的主机域 名和 IP 地址的对应关系,这些特定的 DNS 域或 IP 地址段称为 zone(区域)。根据地址解 析的方向不同,DNS 区域相应地分为正向区域(包含域名到 IP 地址的解析记录)和反向区 域(包含 IP 地址到域名的解析记录)  
**根域: 全球根服务器节点只有13个,10个在美国,1个荷兰,1个瑞典,1个日本**

-   一级域名:Top Level Domain: tld
-   三类:组织域、国家域(.cn, .ca, .hk, .tw)、反向域
-   com, edu, mil, gov, net, org, int,arpa
-   二级域名:magedu.com
-   三级域名:study.magedu.com
-   最多可达到127级域名

centos中dns中的配置
静态ip配置参考
/etc/resolve.conf
/etc/sysconfig/network-scripts/ifcfg-ens33
https://juejin.cn/post/7344958089429811238?searchId=20240810211421708331D5EFF7E9C1793E
vim
具体内容
https://blog.csdn.net/m0_73185293/article/details/131261754
如果需要线上修改某个文件的内容,推荐使用finalshell进行编辑修改
docker安装与dokcer compose安装
参考地址
https://gitee.com/gz-yami_admin/mall4cloud/blob/master/doc/%E4%B8%AD%E9%97%B4%E4%BB%B6docker-compse%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85/Centos%E5%AE%89%E8%A3%85Docker.md
服务器常用软件docker部署可以参考gitee上的docker-compose项目
https://gitee.com/g2plus/docker-compose
fork from https://gitee.com/zhengqingya/docker-compose
less
线上日志查阅
https://blog.csdn.net/qq_18296979/article/details/136593424

1.全屏导航
ctrl + F - 向前移动一屏
ctrl + B - 向后移动一屏
ctrl + D - 向前移动半屏
ctrl + U - 向后移动半屏

2.单行导航
j - 向前移动一行
k - 向后移动一行

3.其它导航
G - 移动到最后一行
g - 移动到第一行
q - 退出 less 命令

4.其他
当正在浏览一个文件时,也可以使用 :e命令 打开另一个文件

sed
参考链接
https://blog.csdn.net/m0_50111062/article/details/126882497
单行模式空间
s : 替换。将文件原内容替换为新内容。举例:s/lod/new/g
a : 新增。a的后面接字符,而这些字符会在新增到下一行
i : 插入。i的后面接字符,而这些字符会在新增到上一行
c : 替换。c的后面接字符,这些字符替换n1到n2的行
d : 删除。因为是删除,所以d后面通常不接任何东西
p : 打印。将匹配的数据打印出来。通常p会与选项-n一起使用
n : 读取匹配的数据的下一行,覆盖模型空间的前一行(也就是被匹配的行),结果交给下一个参数处理
多行模式空间
N : 读取匹配的数据的下一行追加到模式空间,同时将两行看做一行,但是两行之间依然含有\n换行符
P : 打印。打印模式空间开端至\n(换行)之间的内容,并追加到默认输出之前。
D : 如果模式空间包含换行符,则删除模式空间开端至\n(换行)之间的内容, 并不会读取新的输入行,
    而使用合成的模式空间重新启动循环。如果模式空间不包含换行符,则会像发出d命令那样启动正常的新循环
awk
参考地址
https://blog.csdn.net/weixin_44657888/article/details/134817128
grep
ls -a|grep *.sh
netstat -aon|grep 8080
kill -15 pid
ps -aux|grep tomcat
top命令 https://blog.csdn.net/wangzhongshun/article/details/131818875
ping -4 www.baidu.com
telnet ip port 测试服务是否启动
##文件解密
#!/bin/bash 
passwordcodebook="password.txt"
while read LINE
do
	echo "Trying [$LINE]"
	unzip -o -q -P $LINE $1
	if [ $? -ne 0 ];then
		echo "Failed"
	else
		echo "Succeeded"
		echo "The password is $LINE"
		rm -r $1
		break;
	fi
done<$passwordcodebook
if [ $? -ne 0 ];then
	echo "Sorry,the correct password was not found"
fi
##递归解压文件
#!/bin/bash 
UNZIP(){
	for item in `ls`;do 
		if [ -d $item ]
		then
			cd $item
			UNZIP $item 
			cd ..
		elif [[ $item == *.zip ]]
		then 
			unzip -o $item 
			sleep 5
			rm -rf $item
			UNZIP $PWD
		else	
		fi
	done
}
UNZIP $1 #$1 is the sourcefile
有趣的命令
https://www.bilibili.com/video/BV1cA4m1V71W/