主题
常用命令
centos
离线依赖包yum
yum下载依赖包
perl
yum install --downloadonly --downloaddir=./package <package name>-<version info>
yum install conntrack-tools --downloadonly --downloaddir=./conntrack-tools
yum install vim --downloadonly --downloaddir=./vim
yum install socat --downloadonly --downloaddir=./socat
yum install git --downloadonly --downloaddir=./git
yum install ansible --downloadonly --downloaddir=./ansible
yum install python-argcomplete --downloadonly --downloaddir=./python-argcomplete
yum install python3 --downloadonly --downloaddir=./python3
yum install git --downloadonly --downloaddir=./git
yum install pciutils --downloadonly --downloaddir=./pciutils
yum install kernel-devel --downloadonly --downloaddir=./kernel-devel
yum install kernel-headers --downloadonly --downloaddir=./kernel-headers
yum groupinstall Development Tools --downloadonly --downloaddir=./Development Tools
yum install dkms --downloadonly --downloaddir=./dkms
yum install rsync --downloadonly --downloaddir=./sync
dkms
# 例如 : yum install --downloadonly --downloaddir=/home/ffmpeg ffmpeg
# 使用 :
# 查看可以安装的版本
yum list docker-ce-cli --showduplicates | sort -r
yum install --downloadonly --downloaddir=./dependency docker-ce-20.10.11-3.el7 docker-ce-cli-20.10.11-3.el7 containerd.io-1.4.12-3.1.el7
rpm -Uvh *.rpm --force
rpm -ivh *.rpm --force
# rpm安装包
rpm -Uvh --force --nodeps *.rpm
systemctl stop firewalld && systemctl disable firewalld
yum install --downloadonly --downloaddir=./dependency java-1.8.0-openjdk.aarch64-1.8.0.322.b06-1.el7_9ubuntu
shell
apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --no-pre-depends iputils-ping | grep -v i386 | grep "^\w")
dpkg -i *.debgrep查询
grep命令查询当前目录文件中的字段
bash
grep -rn "Hello" ./ssh免密登陆
perl
# 客户端生成公私钥
ssh-keygen
# 上传公钥到服务器
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.127.66yq和rsync使用
使用yq解析yaml文件,并使用bash脚本进行备份(未完成)
yaml
## 配置需要备份的远程服务器目录 backup_config.yaml
backup66:
server: 192.168.127.66
directories:
- /home/echo/clash/docker-compose.yaml
- /home/echo/dns/docker-compose.yaml
- /home/echo/openwrt/docker-compose.yaml
- /home/echo/prometheus/docker-compose.yaml
- /home/echo/webstack
backup77:
server: 192.168.127.77
directories:
- /home/minikubeperl6
#!/bin/bash
# 判断是否引入yq命令
if ! command -v yq &> /dev/null
then
# 安装yq
wget https://github.com/mikefarah/yq/releases/download/v4.32.2/yq_linux_amd64 -O /usr/bin/yq && chmod +x /usr/bin/yq
fi
backserver=$(yq eval 'keys' backup_config.yaml)
echo $backserver
for i in $
backup=$(yq eval '.backup66.directories[]' backup_config.yaml)
echo $backup使用另外一种配置文件配置 backup_config.yaml
yaml
192.168.208.66:/home/project
192.168.208.77:/home/minikubeshell
#!/bin/bash
localdir=/data/backup
user=root
[ -d ${localdir} ] || mkdir -p ${localdir}
# rsync -avz 192.168.100.111@/home/project/ /data/backup/192.168.100.111/home/project/ --exclude="*.jar" --exclude="html/" --delete
# rsync -avz 192.168.100.111@/home/service/ /data/backup/192.168.100.111/home/service/ --delete
# rsync -avz -e ssh ${user}@$backup ${localdir} --delete
for backup in $(cat backup_config.yaml);
do
origin_server=${backup%:*}
origin_directory=${backup#*:}
echo $user@${backup}/ ${localdir}/${origin_server}${origin_directory}
[ -d ${localdir}/${origin_server}${origin_directory} ] || mkdir -p ${localdir}/${origin_server}${origin_directory}
rsync -avz -e ssh $user@$backup/ ${localdir}/${origin_server}${origin_directory} --exclude={'test*','*.log'} --delete
done
#rsync -avz -e ssh root@192.168.208.66:/home/project/ ${localdir}/192.168.208.66/home/project --deletersync配置
bash
# 开机启动
vim /etc/rc.d/rc.local 中增加
crontab –e # 修改 crontab 文件,如果文件不存在会自动创建。
crontab -l # 显示 crontab 文件。
crontab -r # 删除 crontab 文件。
crontab -ir # 删除 crontab 文件前提醒用户。
service crond status # 查看crontab服务状态
service crond start # 启动服务
service crond stop # 关闭服务
service crond restart # 重启服务
service crond reload # 重新载入配置
# 基本格式
* * * * * command
#分 时 日 月 周 命令
* #代表任何时间,比如第一个 * 就代表一小时中的每分钟都执行
, #代表不连续的时间,比如 0 8,12,16 * * * 代表每天8,12,16点0分执行
- #代表连续的时间范围,比如0 5 * * 1-6 代表在周一到周六凌晨5点0分执行
*/n #代表每个多久执行一次,比如*/10 * * * *代表每隔10分钟执行一次sed替换
bash
sed -i 's/foo/bar/g' myfile
sed -i '/menuId/s/menuId.*/menuId: '"'1496064785844805633'"'/g' src/qiankunSub/index.jszip unzip解压多个文件
bash
ls *.zip | xargs -n1 unzip7z 解压
bash
7z x查看目录下的磁盘占用量
bash
du -h --max-depth=1 | sort -h从任意行读取文件
bash
cat list| awk 'NR>2' | while read platform NO1 NO2
do
echo $NO1" "$NO2
done
#NR>2 表示从第三行读取centos7安装额外的软件包
bash
# 第一种方式
yum install epel-release
# 第二种方式
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
ls *.rpm
yum install epel-release-latest-7.noarch.rpm
yum repolistdocker查看服务使用磁盘空间
bash
docker ps -a -s | awk '{print $(NF-3),$(NF-2)}' | grep GB通过pid查看对应docker服务
bash
docker ps -q | xargs docker inspect --format '{{.State.Pid}} {{.Name}}' | grep "13030"查看硬盘uuid
lsblk
# 启动自动挂载硬盘
使用uuid uuid=""查看用户组内成员
sh
getent group docker | cut -d: -f4将两个执行文件统一成一个安装包的方法
- 把程序的压缩包准备好即可,假设名为myfile.tar.gz
- 制作安装包
bash
cat run.sh myfile.tar.gz > myinstaller-linux-aarch64.run 例如:cat run.sh goployService.tar.gz > goploy-linux-x86_64.run
cat run.sh goployService.tar.gz > goploy-linux-aarch64.run- 执行方法
sudo chmod +x myinstaller-linux-aarch64.run
sudo ./myinstaller-linux-aarch64.run对tar.gz文件进行切割和合并及md5校验
bash
# 分割并生成 MD5 校验文件
file_name=501_v8.18.0.tar.gz
split -b 4G -d -a 3 ${file_name} ${file_name}.part_
md5sum ${file_name}.part_* > checksums.md5
# 传输后,在合并前先校验
md5sum -c checksums.md5 --quiet
cat ${file_name}.part_* > ${file_name}