Tips on Linux

1. 复制一份备份文件

cp /etc/sysconfig/iptables{,.back}

2. 重命名

mv /etc/sysconfig/iptables{,.back}

3. 追加内容到文件尾

echo "123" >> /path/file

4. 树形查看目录大小

du -h --max-depth=1

5. 指定源搜索软件

yum repo-pkgs REPO list
yum repo-pkgs epel list | grep nginx
ANOTHER WAY TO
yum --disablerepo "*" --enablerepo REPO list
yum --disablerepo "*" --enablerepo REPO list | grep nginx

6. MySQL 5.7.37

password —> authentication_string

7. 挂载磁盘设备

fdisk /dev/vdb1
{n, p, size, type, w}
mkfs.ext4 /dev/vdb1
mount /dev/vdb1 /data

8. 使用代理

curl -–socks5 127.0.0.1:10808 https://www.google.com
wget -e http_proxy=127.0.0.1:10808 http://www/google.com
wget -e https_proxy=127.0.0.1:10808 https://www/google.com

8.1 测试是否使用代理

curl cip.cc

8.2 设置临时代理

export  http_proxy="http://username:password@proxyServer:port/"
export https_proxy="http://username:password@proxyServer:port/"
export ftp_proxy="http://username:password@proxyServer:port/"
export no_proxy="127.0.0.1,192.168.124.0/16,*.example.com"

8.3 取消代理

unset  http_proxy
unset https_proxy
unset ftp_proxy
unset no_proxy

8.4 永久代理

cat   >>  /etc/profile   << EOF
export http_proxy="http://username:password@proxyServer:port/"
export https_proxy="http://username:password@proxyServer:port/"
export ftp_proxy="http://username:password@proxyServer:port/"
export no_proxy="127.0.0.1,192.168.124.0/16,*.example.com"
EOF

source /etc/profile

9. 清空正在使用的文件

/usr/bin/cp /dev/null /path2yourFILE
> /path2yourFILE
cp使用绝对路径, 避免出现cp提示是否覆盖文件
对正在使用的文件,如果直接rm -rf 文件是没了, 但是占用的空间还在.

10. 图形化配置网络ip

nmtui

nmtui 是 NetworkManager 工具的一部分,它为你提供了一个漂亮的用户界面来配置网络。这是 NetworkManager-tui 包的一部分,当你完成最小服务器的安装时它应该默认安装。

11. 删除某个目录下除了某个文件之外

rm -rf /pathtoyourdir/(!xx.txt)

12. 不重启系统识别新添加的硬盘

for i in 0 1 2; do echo "- - -" > /sys/class/scsi_host/host$i/scan; done

13. 删除乱码文件

ls -i
find -inum xxxx -delete

14. 查找已删除但正在使用的文件

lsof +L1
lsof | grep deleted

  • +L 启用文件链接计数
  • -L 关闭文件链接计数
  • +L1 列出已打开但是被取消链接的文件 (一般指deleted)

15. Windows切换samba用户

  • 查看当前链接net use
  • 删除链接 net use * /del

16. 判断口段是否开放

nc -zv <ip> <port>

17. 99-sysctl.conf

99-sysctl.conf 是一个在 /etc/sysctl.d/ 目录中的文件,它是用来配置系统内核参数的。文件名中的数字 99 表示它的优先级较高,因为数字越大,优先级越高。在应用 sysctl 设置时,系统会按照文件名的字典序来顺序加载这些文件,较高优先级的文件会覆盖较低优先级的文件中相同参数的设置。

在 99-sysctl.conf 文件中,您可以指定各种系统内核参数的设置,比如网络参数、内存参数等。这些参数的设置可以影响系统的性能、安全性和行为

18. I/O读写情况

pidstat
pidstat -d | sort -k 5 -n -r | head -n 10

sort参数:

```: 第五列
``` -n ```: 数值大小
``` -r ```; 逆序


### 19. 查看 MySQL 各个数据库的大小

``` sql
SELECT table_schema AS `Database`,
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS `Size (MB)`
FROM information_schema.tables
GROUP BY table_schema;