做服务端开发的程序猿经常会和Linux打交道,熟记一些常用命令对提高工作效率必然大有裨益。Linux命令庞杂繁多我根据应用场景整理总结了一些平时工作中常用的命令。
http://man.linuxde.net/ 这里可以查询更全的Linux命令。
另外推荐一下github上的优化项目 https://github.com/jaywcjlove/linux-command ,支持本地离线搜索而且没有广告,页面排版也很简洁优雅。
网络命令
## 测试ip的连通性
ping ip
## 测试tcp端口的连通性
telnet ip port 或者 nc -v ip port
## 测试udp端口的连通性
nc -vu ip port
## 测试域名的连通性
wget http://www.baidu.com
## 查询端口80被哪个程序占用
fuser -n tcp 80
压缩/解压
tar命令
## 压缩
tar -ztvf log.tar.gz
## 解压
tar -xzvf usr.tar.gz
文件和目录常用操作
日志文件查看常用操作
## 显示文件最后n行
tail /etc/passwd 【默认显示文件最后10行】
tail -n 400 /etc/passwd 【显示文件最后400行】
tail -f /etc/passwd 【动态显示文件最后10行】
## 显示文件前n行
head /etc/passwd 【默认显示前10行】
head -n 15 /etc/passwd 【显示前15行】
## 以下命令需要在vim命令模式下执行
## 重新载入当前文件
:e
## 放弃当前修改重新载入当前文件
:e!
## 显示行号
:set nu
## 跳转到第90行
:90
## 查询
/[关键字]
## 查询 大小写不敏感
/[关键字]\c
文件/目录复制
## 从远程服务器复制文件或目录到本地
scp [user]@[IP]:[文件名] [目标路径]
示例:scp root@10.10.10.10:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/
scp -r [user]@[IP]:[目录名] [目标路径]
示例:scp -r root@10.10.10.10:/opt/soft/mongodb /opt/soft/
权限
chmod
## 在linux中为了方便更改这些权限
## linux使用数字去代替rwx ,具体规则为r:4 w:2 x:1 -:0
## 举个例子,-rwxrwx---用数字表示就是 770,具体是这样来的:770
chmod 755 [文件名]
[user]可读可写可执行
[group]可读不可写可执行
[others]可读不可写可执行
上面的命令也可以改写成
chmod u=rwx,og=rx [文件名]
## 递归授权
chmod -R 755 [文件名]
chown
## 更改文件或目录的所属主
## 更改文件或目录的所属组
## 语法:chown [ -R ] 账户名 文件名
## chown [ -R ] 账户名:组名 文件名
## 这里的-R选项只作用于目录,作用是级联更改,
## 即不仅更改当前目录,连目录里的目录或者文件全部更改。
chown user1 test
chown -R user1:testgroup test
搜索文件
find
## find [路径] -name filename
find /root -name test3
## 将目前目录及其子目录下所有延伸档名是 c 的文件列出来。
find . -name "*.c"
## find [路径] -type [f, b, c, d, l, s ]
## d: 目录;c: 字型装置文件;b: 区块装置文件;p: 具名贮列;f:一般文件;l: 符号连结;s: socket
## 将root目录下的子目录列出来
find /root -type d
## 将目前目录其其下子目录中所有一般文件列出
find . -type f
时间
## 查看时间
date
## 设置日期
date -s MM/dd/yyyy
防火墙
CentOS 7之前内置的防火墙为iptables
# 关闭防火墙
/etc/init.d/iptables stop
# 设置自启动为关闭
chkconfig iptables off
# 从开机自启动中移除
chkconfig --del iptables
升级到7后内置的防火墙则变成了firewalld
# 查看防火墙状态
systemctl status firewalld
# 重启firewall
firewall-cmd --reload
# 停止firewall
systemctl stop firewalld.service
# 禁止firewall开机启动
systemctl disable firewalld.service
更多防火墙操作参考:https://www.vultryhw.cn/vultr-centos-firewall-settings/