倚楼听风雨
淡看江湖路

常用Linux命令操作集(CentOS) 持续更新

作为程序员,尤其是从事互联网相关的程序员,纯编写代码的时代应该早就过去了。现在的程序员大多数都需要上能代码飞天遁地,下能运维火星四溅。老四其实没有系统的学习过linux,但是以后也会写关于linux的很多文章,从基础写起,到时候不求写到大神级别,但也要熟能生巧。本文持续更新老四平时在linux中经常用到的命令,做一个笔记的同时也希望能方便您在忽然忘记的时候翻看一下。

1.当老总、经理给了你一台服务器的时候,这个时候你应该看看是哪个发行版,版本号是什么,这是相当有必要的。

查看linux内核版本:

  • uname -a (只显示linux内核版本号)
  • cat /proc/version (linux内核版本号、gcc编译器版本号、Red Hat版本号)

查看linux系统版本:

  • lsb_release -a (流出版本所有信息,包括你想看到如:CentOS 6.5、CentOS 73)
  • cat /etc/redhat-release (该命令只适合红帽(Redhat)系列的linux,并且显示系统版本)
  • cat /etc/issue (你可以忽略它基本不显示什么,CentOS 7中就显示\s了,不显示系统版本了)

2.当你因为某个文件、目录因为其所在用户组不能正确执行你想要的情况下,你应该使用chown命令来改变当前文件或目录所属的用户或者分组

chown命令用于改变某个文件或目录的所有者和所属的组,向某个用户授权,使该用户变成指定文件的所有者或者改变文件所属的组。和其他命令一样,他也有不少参数,但是你用到了来查就好了,用多了就记住了,老四经常使用R(递归处理)命令,参数列表如下:

  • -v 显示指令执行的过程
  • -c 也是显示执行过程,但是只显示修改的部分
  • -f 不显示错误信息
  • -h 更改遇到的符号链接的所有权,而非符号链接指向的文件或目录的所有权。
  • -R 递归更改,目标目录的下的目录以及文件都会被更改

3.如果你使用的Cent OS 7的linux系统,当你为防火墙开放端口的时候就没必要去编辑iptables了,现在有了新的firewalld命令来帮助你。

  • yum install firewalld systemd -y 安装firewall命令
  • systemctl status firewalld 查看firewall状态
  • systemctl start firewalld 开启firewall进程
  • systemctl disable firewalld 停止firewall进程
  • systemctl stop firewalld 禁用firewall命令
  • firewall-cmd --zone=public --add-port=80/tcp --permanent 开启80端口(--permanent永久生效,没有此参数重启后失效)
  • firewall-cmd --reload 刷新防火墙
  • firewall-cmd --zone=public --list-ports 查看所有打开的端口
  • firewall-cmd --zone= public --remove-port=80/tcp --permanent 删除端口

如果你当前的系统不是Cent OS 7,你可能需要继续编辑iptables

  • vi /etc/sysconfig/iptables vi/vim操作iptables文件
  • -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 开放80端口
  • service iptables restart 重启防火墙,使端口配置生效

4.当你需要查看线上程序的运行日志的时候,你可能需要tail命令,他表示读取文件末尾的内容,这个命令其实不少,但是老四却笨笨的只会使用tail -f ./logs/catalina.out这一种形式的,比较惭愧,别向我学。。。tail其实有很多功能,相关命令参数如下:

  • -f 循环读取
  • -q 当读取多个文件的时候不输出各个文件的文件名
  • -v 当多个文件的时候总是输出多个文件的文件名
  • -c 输出文件末尾N个字节的内容
  • -n 输出文件末尾n行内容
  • -pid 与-f连用,当进程终止自动退出tail命令

5.当你进入到某个目录,你可能时刻需要查看当前目录都包含哪些目录和文件,设置需要查看他们的分组以及权限都是什么,这是时候你可能需要ls以及ll命令。

  • ls -a 显示所有文件.包括隐藏文件

  • ls -l 显示详细信息(也写作ll)

  • s -d 查看目录属性

  • ls -h 人性化显示文件大小,老四就是经常使用 ll -h查看当前目录

  • ls -i 显示innode(类似唯一主键)

PS:ll可以显示当前目录下所有目录以及文件的详细情况:

6.当你需要查看你要使用的端口是否存在被占用或者程序告诉你端口被占用的时候,你需要查询当前端口被哪个王八蛋占用的并把它kill掉的时候你可能需要使用一下两个命令:

  • lsof -i:端口号 (显示符合条件的进程情况,列出当前系统打开文件的工具)
  • netstat -tunlp | grep 端口号 (用于显示tcp、udp的端口和进程等相关情况)

解释一下lsof -i命令中个字段代表的含义:

  • COMMAND 进程名称
  • PID 进程标识符
  • USER 进程拥有者
  • FD 文件描述符(应用程序通过文件描述符识别文件)
  • TYPE 文件类型
  • DEVICE 设备,磁盘的名称
  • SIZE/OFF 文件的大小
  • NODE 索引节点(文件在磁盘上的标识)
  • NAME 打开文件的确切名称

解释一下netstat -tunlp命令tunlp这几个字母分别是什么含义:

  • -t (tcp)仅显示tcp相关选项
  • -u (udp)仅显示udp相关选项
  • -n 拒绝显示列名,能显示数字的全部转化成数字
  • -l 仅显示出在监听状态的服务
  • -p 显示建立相关链接的程序名

PS:如果提示lsof命令不存在,请使用"yum -y install lsof"进行安装即可,另外因为lsof命令大多时候需要占用系统核心资源,尽量使用root用户调用。

7.当你是root用户需要为你的程序或者你的同事配置一些用户或者用户组的时候,一下这些用户/用户组相关的命令可能会帮助到你。

  • adduser glorze/passwd glorze 添加一个叫做"glorze"的用户,为其设置密码为"glorze"
  • groupadd glorze 新建名为"glorze"的用户组
  • useradd -g glorzegroup glorzeuser 新建glorzeuser用户并为其添加glorzegroup用户组
  • usermod -G glorzegroup glorzeuser 为已经存在的glorzeuser增加用户组

8.当你为你的个人电脑配置了服务器的私钥,这个时候你的ssh密码已经没有很大作用了,所以作为普通用户sudo获取权限的时候,没必要还使用之前设置的繁琐的密码,随便设置的简单方便输入能记住的就好。老四习惯性的设置为*****,那么如何在CentOS下修改普通用户(你就是普通用户)的密码呢?你可能需要passwd命令。

9.当你需要查看服务器的网络连接的时候,比如说想查看当前服务器监听的端口号、查看PID或者进程名称等,这个时候你可能需要使用netstat命令,netstat命令用于显示各种网络相关信息,如网络连接、路由表、接口状态(Interface Statistics)、masquerade连接、多播成员(Multicast Memberships)等等。

netstat命令各项参数及含义如下:

  • -a(all) 显示所有选项,默认不显示LISTEN(监听)相关
  • -t(tcp) 仅显示tcp相关选项
  • -u(udp) 仅显示udp相关选项
  • -n 拒绝显示别名,能显示数字的全部转化成数字
  • -l 仅列出有在Listen(监听)的服务状态
  • -p 显示建立相关链接的程序名
  • -r 显示路由信息,路由表
  • -e 显示扩展信息,例如uid等
  • -s 按各个协议进行统计
  • -c 每隔一个固定时间,执行该netstat命令

举两个栗子:

  • netstat -a 列出所有端口 (包括监听和未监听的)
  • netstat -lnt 只列出所有监听tcp 端口

10.当你需要查看当前服务器的磁盘运行状况的时候,你可能需要使用df命令。df命令用于显示磁盘分区上的可使用的磁盘空间。默认的单位为KB,我们可以使用该命令查看我们服务器的磁盘还剩多少空间,已经使用了多少空间。df命令各项参数及含义如下(罗列不全,因为几乎只用到df -h):

  • -a(all) 显示全部的文件系统列表
  • -h 以可读性较高的方式显示文件、磁盘信息
  • -H 和小写的h一样,但是1K=1000bytes来计算
  • -i 显示inode信息
  • -k 指定区块大小为1024字节
  • -l 只显示本地文件系统

  • Filesystem: 文件系统
  • Size: 容量
  • Used: 已用
  • Avail: 可用
  • Use%: 已经使用的百分比
  • Mounted on: 挂载点

11.待续。

持续更新,整理不易,如果觉得文章对你有帮助并且有能力的老铁烦请赞助盒烟钱,点我去赞助。抱拳。

赞(5) 给你买杜蕾斯
本站原创文章受自媒体平台原创保护,未经允许不得转载高老四博客 » 常用Linux命令操作集(CentOS)
分享到: 更多 (0)

开始你的表演 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

觉得文章有用就打赏一下老四,鼓励我更好的创作

支付宝扫一扫打赏

微信扫一扫打赏