Linux 发行版
1 2 3 4 5
| Arch系:ArchLinux/Antergos/Manjaro Redhat系:CentOS/Fedora/Mageia/openSUSE Debian系:Debian/Ubuntu/Kali/Kubuntu/LinuxMint/Deepin/UbuntuKylin
Linux排行榜与Linux实时资讯站点:https://distrowatch.com/
|
Google 搜索引擎指定搜索的语言范围
1 2 3 4 5 6 7 8
| 默认: 全球各种语言的搜索结果 英文: &lr=lang_en 日文: &lr=lang_ja 中文: &lr=lang_zh-CN 中文(含台湾): &lr=lang_zh-CN%7Clang_zh-TW
举例只搜索中文相关的Java内容: https://www.google.com/search?lr=lang_zh-CN&q=Java
|
SSH 客户端通过 Socker5 代理连接到 Linux 目标服务器
1 2
| $ ssh -o ProxyCommand='nc -x 127.0.0.1:1080 %h %p' root@192.168.1.1
|
Linux 解压文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| $ unrar x xxx.rar
$ unrar x -o+ xxx.rar
$ find -maxdepth 1 -name '*.rar' | xargs -i unrar x {}
$ unzip -O CP936 xxx.zip
$ unzip -d /usr/local gradle-5.4.1-bin.zip
$ find -maxdepth 1 -name "*.zip" | xargs -i unzip -O CP936 {}
$ tar -xvf apache-maven-2.6.tar.gz -C /home/www/apache-maven-2.6
$ 7za e data.7z
$ 7za x data.7z
|
Linux 强制删除查找到的文件
1 2 3 4 5
| $ find . -name "*downloading" | xargs rm -rf
$ find . -name "*downloading" | xargs -I {} rm -rf {}
|
Linux 文件统计
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| $ find . -name "*.html" | wc -l
$ find . -name "*.html" | xargs wc -l
$ find . -name "*.html" | xargs wc -w
$ find . -name "*.html" | xargs wc -c
$ find . -name "*.html" | xargs wc
|
解决 Linux 的 tree 命令不能正确显示中文的问题
Linux 校验文件的哈希值
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| $ md5sum tomcat8.tar.gz
$ vim tomcat8.md5 83aca9b98564ba4064aa0acad7360ceb tomcat8.tar.gz
$ md5sum -c tomcat8.md5 tomcat8.tar.gz: OK
$ sha1sum tomcat8.tar.gz
|
Git 强制更新并覆盖本地仓库与工作区的文件,即本地强制同步远程仓库的所有文件
1
| $ git fetch --all && git reset --hard origin/master && git pull
|
PM2 服务相关操作命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| $ sudo pm2 start api_server
$ sudo pm2 stop api_server
$ sudo pm2 show api_server
$ sudo systemctl enable pm2-root
$ sudo systemctl disable pm2-root
|
Centos7 防火墙配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| $ su - root
# firewall-cmd --state
# systemctl status firewalld
# systemctl stop firewalld
# systemctl start firewalld
# firewall-cmd --zone=public --permanent --add-port=8080/tcp # firewall-cmd --zone=public --permanent --add-port=8080/udp
# firewall-cmd --zone=public --permanent --remove-port=8000/tcp
# firewall-cmd --reload
# firewall-cmd --list-ports
# firewall-cmd --list-services
|
查看 Linux 系统的发行版本
1 2 3 4 5 6 7 8 9 10
|
$ lsb_release -a
$ cat /etc/xxx-release
$ cat /etc/issue
|
Linux 查看端口占用的情况
1 2 3 4 5
| # netstat -anp|grep 80
# netstat -aon|grep 80
|
Debian/Ubuntu 防火墙配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| # ufw status
# ufw enable
# ufw disable
# ufw allow 22/tcp # ufw allow 22/udp
# ufw allow 22
# ufw delete allow 22
# allow/deny 20/tcp # allow/deny 20/udp
# ufw reload
|
Git 设置代理
1 2 3 4
| $ git config --global http.proxy http://127.0.0.1:8118 $ git config --global https.proxy http://127.0.0.1:8118 $ git config --global http.sslverify false
|
YUM 设置代理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| # vim /etc/yum.conf proxy=http://127.0.0.1:8118
# export http_proxy=http://127.0.0.1:8118 # export https_proxy=http://127.0.0.1:8118
# curl -I www.google.com
# unset http_proxy # unset https_proxy
|
Eclipse 常用快捷键
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| alt + /:代码补全 ctrl + d:删除当前行 ctrl + h:打开搜索界面 ctrl + w:关闭当前Tab页 crtl + t:显示类的继承关系 ctrl + f:当前查找/当前替换 ctrl + shift + x:转换为大写 ctrl + shift + y:转换为小写 crtl + q:返回到最近编辑的地方 ctrl + shift + f:格式化代码 ctrl + o:查看当前类的属性、方法 ctrl + l:定位到当前文件的某一行 ctrl + shift + o:快速生成导入包 ctrl + o:查看当前类所有的方法、属性 ctrl + f1:快速显示错误代码的Fix方案 alt + shift + r:重命名方法名、属性名 f3:快速定位光标位置的某个类、方法、属性 ctrl + shift + w:关闭打开的所有Tab页 ctrl + shift + g:查找类、方法、属性被引用的情况 alt + shift + w:快速定位当前文件所在项目中的路径 ctrl + shift + t:全局查找Java类文件,可以使用通配符 ctrl + shift + r:全局查找文件(包括Java类文件),可以使用通配符
|
IntelliJ IDEA 常用快捷键
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| alt + /:代码补全 ctrl + f:当前查找 ctrl + x:删除当前行 ctrl + f4:关闭当前Tab页 crtl + h:显示类的继承关系 alt + shift + f:收藏代码 ctrl + r:当前查找/当前替换 ctrl + alt + l:格式化代码 ctrl + shift + u:大小写转换 ctrl + e:查看最近打开过的文件 ctrl + alt + o:快速生成导入包 alt + left:返回到上一个编辑的页面 alt + right:进入到下一个编辑的页面 ctrl + shift + back :回到上一次改动的位置 ctrl + alt + ← : 回到上一次光标所在的位置 ctrl + alt + → : 回到后一次光标所在的位置 ctrl + shift + v:选择要粘贴的内容 crtl + shift + r:全局查找/全局替换 alt + enter:万能解错/生成返回值变量 ctrl + alt + h:查看方法被引用的情况 shift + f6:更改文件名、方法名、属性名 ctrl + f12:查看当前类所有的方法、属性 ctrl + alt + u:在当前Tab页显示类的继承结构图 ctrl + shift+i --> ctrl + enter:查看Java源码 ctrl + shift + ”+/-”:展开全部代码、折叠全部代码 ctrl + alt + shift + u:在新的Tab页显示类的继承结构图 ctrl + n:全局搜索普通文件与Java类文件,若需要搜粟包括Jar包里面的内容,需要勾选“include non-project classes”选项
|
Centos7 重启 IBUS 输入法
Centos7 时间同步
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| # systemctl disable chronyd
# yum install ntp
# ntpdate pool.ntp.org
# systemctl enable ntpd
# systemctl start ntpd
# systemctl status ntpd
# timedatectl set-timezone Asia/Shanghai
# timedatectl set-ntp yes
# timedatectl status
# ntpq -p
|
JVM 设置代理
1 2 3 4 5 6 7
| # 不支持Socket代理,只支持Http代理
-Dhttp.proxyPort=8118 -Dhttp.proxyHost=127.0.0.1 -Dhttps.proxyPort=8118 -Dhttps.proxyHost=127.0.0.1 -Dhttp.nonProxyHosts="localhost|127.0.0.1|*.aliyun.com"
|
Centos7 调节屏幕亮度
1 2 3 4 5
| # yum install xgamma
# xgamma -gamma n
|
解决 Centos 的 Qt 桌面应用程序无法正常运行的问题
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
# vim /etc/profile export QT_AUTO_SCREEN_SCALE_FACTOR=0
# source /etc/profile
# vim ~/.zshrc export QT_AUTO_SCREEN_SCALE_FACTOR=0
# source ~/.zshrc
|
Centos7 的应用快捷方式指定环境变量
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| # 配置示例,在快捷方式文件里指定环境变量:QT_AUTO_SCREEN_SCALE_FACTOR=0
# 方法一 [Desktop Entry] Version=1.0 Name=Redis Desktop Manager Comment=Redis Desktop Manager Type=Application Categories=Development; Exec=env QT_AUTO_SCREEN_SCALE_FACTOR=0 /snap/bin/redis-desktop-manager.rdm %U Terminal=false StartupNotify=true Icon=/var/lib/snapd/snap/redis-desktop-manager/current/usr/share/pixmaps/rdm.png
# 方法二 [Desktop Entry] Version=1.0 Name=Redis Desktop Manager Comment=Redis Desktop Manager Type=Application Categories=Development; Exec=bash -c "export QT_AUTO_SCREEN_SCALE_FACTOR=0 && /usr/bin/vlc --started-from-file %U" Terminal=false StartupNotify=true Icon=/var/lib/snapd/snap/redis-desktop-manager/current/usr/share/pixmaps/rdm.png
# 参考博客 # https://askubuntu.com/questions/144968/set-variable-in-desktop-file # https://askubuntu.com/questions/542152/desktop-file-with-bashrc-environment
|
Centos7 的应用快捷方式使用 Root 权限启动
1 2 3 4 5 6 7 8 9 10 11 12
| # 以下方法使用了gksu-polkit,目前存在无法通过UI界面关闭应用的Bug(即点击界面上的关闭按钮,应用进程不会被杀死)
[Desktop Entry] Version=4.6.2 Encoding = UTF-8 Type=Application Name=eclipse-neon Icon=/usr/local/eclipse-neon/icon.xpm Exec=gksu-polkit /usr/local/eclipse-neon/eclipse Comment=JEE IDE Categories=Development;IDE; Terminal=false
|
Centos7 快捷方式的位置
1 2 3 4 5 6
| # 全局的应用程序快捷方式 /usr/share/applications/ /usr/local/share/applications/
# 特定用户的应用程序快捷方式 ~/.local/share/applications/
|
Linux 磁盘分区的空间不足
1 2 3 4 5 6 7 8 9
| 1. 可以尝试使用Gparted等工具进行分区扩容,但不建议这么做,因为容易破坏硬盘的分区表,导致数据丢失或者造成系统无法正常启动。
2. 建议将分区内(磁盘空间不足)体积较大的目录移动到其他分区(磁盘空间充足),然后在分区内(磁盘空间不足)创建软链接或者使用"mount --bind"的方法,指向新目录所在的路径。
3. 假设其他分区也没有充足的磁盘空间,那么此时应该新增硬盘并挂载到系统中,然后通过上面介绍的方法将分区内(磁盘空间不足)体积较大的目录移动到新硬盘的分区即可。
提示: 1) 切记并非所有应用都支持创建软链接(ln -s)的方法,因为创建软链接后有可能会导致部分应用无法正常运行(例如snapd),建议统一使用"mount --bind" 2) 假设通过Gparted工具进行分区扩容,扩容之后系统可以正常启动,磁盘分区的容量也确实增加了,但这一切都不能说明扩容操作真的成功了。因为这类操作可能会留下其他后患,例如扩容后使用"再生龙"备份硬盘为镜像文件时,会出现“无法保存分区”的错误信息。
|
Docker 配置代理
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
# mkdir -p /etc/systemd/system/docker.service.d
# vim /etc/systemd/system/docker.service.d/http-proxy.conf [Service] Environment="HTTP_PROXY=http://192.168.1.122:1080" "HTTPS_PROXY=http://192.168.1.122:1080" "NO_PROXY=localhost,127.0.0.1,mirrors.aliyun.com"
# systemctl daemon-reload
# systemctl restart docker
|
CURL 命令使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| # curl -k https://example.com
# curl -I -L http://example.com
# curl -X GET http://example.com
# curl -u username:password http://example.com
# curl -v -I --referer http://source.com htttp://example.com
|