ls -l | grep '^d'
解压缩文件tar -zxvf log.tar.gz -C /home/log
tar -jxvf log.tar.bz2 -C /home/log
unzip log.zip -d /home/log
压缩文件
tar -zcvf log.gz log
tar -jcvf log.bz2 log
zip -r log.zip log
iconv -f 原本编码 -t 新编码 filename [-o newfile]
–list :列出 iconv 支持的语系数据-f :from ,亦即来源之意,后接原本的编码格式;-t :to ,亦即后来的新编码要是什么格式;-o file:如果要保留原本的文件,那么使用 -o 新文件名,可以创建新编码文件。
[root@ys123 log]$ file app.2022-02-20.log app.2022-02-20.log: C source, UTF-8 Unicode text, with very long lines [root@ys123 log]$ iconv -f UTF-8 -t GBK app.2022-02-20.log -o appGBK.log [root@ys123 log]$ file appGBK.log appGBK.log: C source, ISO-8859 text, with very long lines权限配置
将log目录的拥有者和用户组设置给ys用户
chown ys:ys log/
将a.txt文件的所有用户都有执行权限
chmod +x a.txt
如果时新建的文件,所有者和所有者组都有可读可写权限
也可以chmod 755 a.txt
sed -n '2p' a.txt
shell脚本选择性获取参数# 如果是输入的日期按照取输入日期;如果没输入日期取当前时间的前一天
if [ -n "$1" ] ;then
do_date=$1
else
do_date=`date -d "-1 day" +%F`
fi
shell提交了一个脚本,进程号不知道了,如何kill掉
ssh $i "ps -ef | grep file-flume-kafka | grep -v grep | awk '{print $2}' | xargs kill -9"
shell中单引号、双引号和反引号的区别单引号不取变量值双引号取变量值反引号`执行引号中的命令双引号内嵌单引号,取出变量值,如果要不取出加转义$单引号内嵌双引号,不取出变量值 关闭单个服务器的防火墙,关闭防火墙开机自启
systemctl stop firewalld
systemctl disable firewalld.service
rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps #rpm -qa:查询所安装的所有rpm软件包 #grep -i:忽略大小写 #xargs -n1:表示每次只传递一个参数 #rpm -e –nodeps:强制卸载软件将node1服务器下/opt/jdk/下的所有目录文件传送到node2服务器下/opt/下
[ys@node1 ~]$ scp -r /opt/jdk1.8.0_212 ys@node2:/opt/
node1服务器同步node2服务器下的jdk目录下的文件[ys@node1 module]$ rsync -av /opt/jdk/ ys@node2:/opt/jdk/ #-a 归档拷贝 #-v 显示复制过程ssh免密登录配置
场景:在需要进行集群分发文件和脚本的时候
原理:
node1服务器
- cd 到~目录ls -a 找到.ssh文件并进入ssh-keygen -t rsa 后会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)依次将公钥拷贝到要免密登录的目标机器上
[ys@node1 .ssh]$ ssh-copy-id node1
[ys@node1 .ssh]$ ssh-copy-id node2
[ys@node1 .ssh]$ ssh-copy-id node3node2和node3需要上面步骤操作后即可免密登录
持续补充中...



