2020年6月

linux tar.gz zip 解压缩 压缩命令

-------------------- tar --------------------

打包命令tar
tar -cvf 打包文件名 源文件
option:
    -c: 打包
    -v: 显示过程
    -f: 指定打包后的文件名
    -z: 压缩为.tar.gz格式
example:
    tar -cvf xxxx.tar xxxx
    tar -zxvf 压缩包名.tar.gz 源文件
压缩文件列表和目录到ddd.tar
tar -cvf public/ddd.tar .env vendor composer.lock 
压缩文件列表(包含软链的实际文件)和目录到ddd.tar
tar -hcvf public/ddd.tar .env vendor composer.lock 


解压example:
    tar -zxvf file.tar.gz
    tar -jxvf file.tar.bz2
    tar -jxvf file.tar.bz2 -C /tmp/ # 指定解压缩位置
    tar -zcvf xx1.tar.gz xx1 xx2 xx3 # 压缩多个文件
    tar -ztvf xxx.tar.gz # 只是查看压缩文件, 不解压

  • 最小安装centos8
在安装页面启用了网络连接, 然后安装好了后就直接进入了系统
  • 无法使用ifconfig命令
yum install net-tools -y
  • 无法使用ssh客户端连接
yum install openssh-server -y
安装好了后配置一下
vi /etc/ssh/sshd_config
把其中的 #Port 22 前面的 # 去掉
默认是允许root远程登录的, 如果需要关闭, PermitRootLogin yes 把其中的yes改为no即可
执行 /bin/systemctl start sshd.service 开启ssh服务, 这个命令没有回显

检查ssh服务是否开启
[root@localhost ~]# ps -e | grep sshd
 1223 ?        00:00:00 sshd
 2168 ?        00:00:00 sshd
 2172 ?        00:00:00 sshd

检查22号端口是否开启
[root@localhost ~]# netstat -an | grep 22
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0     52 192.168.56.102:22       192.168.56.1:4777       ESTABLISHED
tcp6       0      0 :::22                   :::*                    LISTEN     

我这边测试默认好像是开机启动这个服务的, 如果没有开机自启
systemctl enable sshd.service

微信发送模板消息时, 如果里面包含带小数点的数值, 必须转换为字符串, 否则微信默认转换为6位小数处理, 没有0的补0

如果价格为9.9元, 如果你不给单位, 直接传递9.9, 微信会在用户那边转换为9.900000
如果99元就没事

情况是这样的, 用php写了个身份证签到客户端, 网页打开当前页面, 搜索传递的中文传递给本地程序, 本地程序在转换后发送给真实的接口, 其中中文名搜索出现了点小尴尬

本地客户端php就写了几个php文件, 接受参数都是直接用的 $_REQUEST['search_value'] 接收, 直接var_dump() 可以正常打印中文名, 但是转发请求调用接口就不行了, 且接收端做了处理了, 比如对收到的参数执行了 urldecode() 

后来问题还是解决了, 本地的php发放在转发参数值, 需要将中文参数执行 urlencode() 对应的参数值即可

  • 查看已安装的软件列表
yum list installed
  • 管道方式直接覆盖文件, 免除输入yes
[root@localhost b]# yes | cp -rf file1 c/
cp:是否覆盖'c/file1'? [root@localhost b]#
  • mkdir递归创建目录
mkdir –vp 目录1/目录2/目录3
  • cp
显示文件列表且在文件名两边加上双引号, 且过滤很多文件
ls -Qa | grep -v ./ | grep -v ../ | grep -v .git | grep -v old_version | grep -v develop_h5.sh
考虑文件且过滤部分文件, 注意执行的目录下不能有带空格的文件名
cp -rf `ls -qa | grep -v ./ | grep -v ../ | grep -v .git | grep -v old_version | grep -v develop_h5.sh` ./old_version 
  • 防火墙
# 查看防火墙状态
firewall-cmd --state
# 停止firewall
systemctl stop firewalld.service
# 禁止firewall开机启动
systemctl disable firewalld.service
# 开放80端口
firewall-cmd --permanent --zone=public --add-port=80/tcp
# 关闭80端口
firewall-cmd --permanent --zone=public --remove-port=80/tcp
# 重启防火墙服务后生效
systemctl restart firewalld.service
# 查询指定端口开放状态
firewall-cmd --query-port=80/tcp
  • 一条命令实现修改密码
echo 密码 | passwd --stdin 用户名;
  • scp
# 跨机器拷贝文件
scp /usr/lib/systemd/system/etcd.service root@k8s-node1:/usr/lib/systemd/system/
# 免于输入密码拷贝文件
yum -y install sshpass
sshpass -p mima  scp /usr/lib/systemd/system/etcd.service root@k8s-node1:/usr/lib/systemd/system/
  • unzip
# 安装
// --force-yes 需要提示确认的也给自动确认
apt-get install zip -y --force-yes 


# -o解压无法无提示
unzip -o laravel_vendor.zip -d ./

unzip命令常用参数
1、-l:显示压缩文件内所包含的文件;
2、-t:检查压缩文件是否正确;
3、-o:不必先询问用户,unzip执行后覆盖原有的文件;
4、-n:解压缩时不要覆盖原有的文件;
5、-q:执行时不显示任何信息;
6、-d<目录>:指定文件解压缩后所要存储的目录;
  • 下载文件

# curl下载文件 -o隐藏内容细节的打印
curl -o laravel_vendor.zip https://fhx-data-backup.oss-cn-shanghai.aliyuncs.com/vendor/laravel/laravel_live.zip 
# wget下载文件
wget -O laravel_vendor.zip https://fhx-data-backup.oss-cn-shanghai.aliyuncs.com/vendor/laravel/laravel_live.zip