防火墙
Ubuntu
# 开启防火墙
sudo ufw enable
# 开放端口
sudo ufw allow 8080/tcp
sudo ufw reload
# 关闭端口
sudo ufw delete allow 8080/tcp
sudo ufw reload
# 查看端口
sudo ufw status
CentOS
# 开启防火墙
sudo systemctl start firewalld.service
sudo systemctl enable firewalld.service
# 开放端口
sudo firewall-cmd --zone=public --add-port=3306/tcp --permanent
sudo firewall-cmd --reload
# 关闭端口
sudo firewall-cmd --remove-port=3306/tcp --permanent
sudo firewall-cmd --reload
# 查看端口
sudo firewall-cmd --list-ports
软件安装与卸载(4种方法)
源码安装
# 安装
tar -zxvf test.tar.gz
cd test/
./configure --prefix=/opt/test
make
sudo make install
sudo rm -r test/
# 卸载(必须先停掉相关进程!)
sudo rm -r /opt/test
预编译包
# 安装
tar -zxvf test.tar.gz
sudo mv test /opt/test
# 配置环境变量
sudo tee -a ~/.bashrc <<-'EOF'
export PATH=/opt/test/bin:$PATH
EOF
source ~/.bashrc
# 卸载(需要删除环境变量)
sudo rm -r /opt/test
deb、rpm安装包
# 安装
sudo dpkg -i tset.deb
sudo rpm -ivh test.deb
# 查找已安装软件,可搭配grep使用
sudo dpkg -l
sudo rpm -qa
# 卸载
sudo dpkg -r test
sudo rpm -e test
apt、yum在线安装
# 在线查找
apt-cache search package_name
yum search package_name
# 安装
sudo apt install -y test
sudo yum install -y test
# 卸载
sudo apt purge test
sudo yum remove test
查看系统状态
# 内存使用率
free | awk 'NR==2{print ($2-$7)/$2*100"%"}'
# 剩余硬盘容量
df -h | grep /dev/vda1|awk '{print $4}'
# CPU负载(应该<0.7)
uptime | awk '{print $12}'
# 进程列表
top
Docker
# 所有镜像整体导出
docker compose images | awk 'FNR > 1 {print $2":"$3}'| sort -u | xargs docker save -o images.tar
# 进入容器内部
docker exec -it container_name bash
# 将容器内的文件复制到宿主机(也可以反过来用)
docker cp container_id:path_in_container path_in_host
# 启动容器
sudo docker run -d -p 80:80 -v /opt/nginx/conf:/etc/nginx --name nginx nginx:latest
文件操作
# 从目录下所有文件内容中查找(pattern为正则表达式)
grep -r -n pattern dir/
# 替换单行文本(old_str换成new_str)
sed -i 's/old_str/new_str/g' test.txt
# 追加多行文本
tee -a test.txt <<-'EOF'
this is the first line.
this is the second line.
EOF
# 搜索文件(-i 忽略大小写; * 通配符)
find ./ -name -i "*file.txt"
其他命令
# 添加后台任务
nohup your_command >> log_path 2>&1 &
# 删除后台任务
ps -ef | grep xxx
kill -9 进程号
# 抓取整站
wget -r -p -np -k -E https://www.example.com
# unzip中文乱码 解决办法
unzip -O cp936 xxx.zip
# 刷新DNS缓存
sudo systemctl restart systemd-resolved
# 切换JDK版本
sudo update-alternatives --config java
Bash常用快捷键
ctrl a:跳到行首
ctrl e:跳到行尾
ctrl u:剪切整行
ctrl y:粘贴最近剪切的文本
ctrl l:相当于clear
tab:补全
ctrl c:终止
ctrl d:退出
ctrl insert 或 ctrl shift c:复制
shift insert 或 ctrl shift v:粘贴