linux系统命令

linux常用命令

    • 端口相关
    • 文件目录管理
    • 文件查看
    • 文件属性
    • 日志查看
    • 系统命令
    • 防火墙相关命令

端口相关

netstat -ntpl # 查询linux系统tcp端口情况
fuser -n tcp 80 # 查询80端口是否被占用
lsof -i:<port>
lsof -i:9099 | grep java
lsof -i :9099 | awk '{print $2, $1, $3}'

 

文件目录管理

# 拷贝文件
cp [option] <file> <newFile>
-a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
-d:复制时保留链接。这里所说的链接相当于 Windows 系统中的快捷方式。
-f:覆盖已经存在的目标文件而不给出提示。
-i:与 -f 选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖。
-p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
-r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
-l:不复制文件,只是生成链接文件。

# rm移除文件,不能直接删除目录
rm [option] <file> 
rm -i file.txt #互动是否删除文件
-f 忽略不存在的文件
-r 递归删除目录
-i 互动,询问是否删除
# rm -fr慎用

# 移动文件 移动文件或者目录,或者重命名文件夹或者文件名,
mv [option] <file> <newFile>
mv file.txt newfile.txt #修改文件名
mv file.txt ../ # 移动当前文件至上一级目录
-f 强制移动直接覆盖
-u 只替换已经更新的文件
-i 目标文件存在会询问是否覆盖

#新建文件名
touch <filename>

# 创建目录
mkdir [option] <dirName>
-p创建多级目录

# 删除空的目录,不能删除文件,不能删除不为空的目录
rmdir [option] <dirName>
-p 删除空的层级目录


文件查看

# 从最后一行查看(倒叙查询文件)
tac 
tac <log> | grep -m 20 '关键字' # 逆向查询匹配关键字的20行记录
tac <log> | head -n 10 # 倒叙查询10行记录

# 将文本带行号输出到控制
nl <log>

# 一页一页显示,到最后会自动退出
more <log>
空格:表示向下翻一页
enter:向下翻一行
f:退出文档
q:退出文档
b:往回翻页

# less [option] 
/字符串:向下搜索
?字符串:向上搜索
空格:向下翻页
q:退出文档
-N 显示行号

# 默认显示文件前10行
head [option] <log>
-n 数字 显示前几行

# 实时显示文件,默认显示最新的10行
tail [option] <log>
-n 数字

# 编辑文件
vim <log>
先进入的是命令模式,按i或者a或者w可以进入输入模式,按ese可以退出编辑模式到命令模式,命令模式输入:进入底线命令模式,
按w保存文件,按q是退出vi命令。这底线命令模式好像是命令前面加上一个英文冒号。

# 追加文本玩filename
echo "字符串" >> filename #cat filename 会显示字符串

linux系统命令_第1张图片
linux系统命令_第2张图片
linux系统命令_第3张图片
linux系统命令_第4张图片

文件属性

linux系统命令_第5张图片

-rwxrwxr-x 1 gcc gcc      4879 Dec 11 13:01 application.yml
第一组字符(1个) 字符含义
l 软连接文件,相当于windows系统的快捷方式
- 表示文件
d 表示目录
c 字符设备文件,一次传输一个字节的设备被称为字符设备。例如键盘,鼠标
b 表示位装置文件里面的可供存储的接口设备

r 表示读权限,w 表示写权限,x 表示执行权限,- 表示无权限。

第二组字符(9个) 字符含义
rwx 表示所有者(owner)对文件的权限(读、写和执行权限
rwx 示文件所属组(group)的权限
r-x 表示其他用户的权限

1:表示文件的硬链接数。
g**: 表示文件的所有者(owner)
g**: 表示文件所属的用户组(group)
4879: 表示文件的大小(以字节为单位)
Dec 11 13:01: 表示文件的最后修改时间
application.yml: 文件名

日志查看

tac <log> | grep -m 20 '关键字' # 将文件逆向显示,然后从grep中找到包含关键字的行,限制为20
tac http-access.log  | grep -m 20 '/modify/v2/modUser'

#grep 命令的 -B(前置行)和 -A(后置行)选项允许您显示匹配行的前面和后面的指定行数
grep -B 10 -A 10 "error" your_log_file.log

# 逆向显示文件内容,从最后一行开始。然后您可以将结果再通过 grep 筛选
tail -r your_log_file.log | grep "error"

# 正则查询日志,
grep -E '(14|15):.{2}:.{2}.*.*task-41.*' log
grep -E '15:[0-5][0-9]:[0-5][0-9].*task-41.*'



系统命令

# 查询linux主机名
hostname

# 在系统的数据库中查找主机名与IP地址的映射关系
getent hosts 

# 配置文件
/etc/nsswitch.conf
# hosts:      files dns myhostname
# 会从/etc/hosts中查询域名和ip的映射关系

# 查询ip 映射的主机名
cat /etc/hosts

# 切换用户
su <username>

# 停止进程
kill -9 <pid>

# 修改主机名
sudo hostnamectl set-hostname <newhostname>



防火墙相关命令

service firewalld start # 开启
service firewalld restart # 重启
service firewalld stop # 关闭
systemctl restart firewalld.service #重启防火墙
systemctl status firewalld # 查看firewall服务状态

firewall-cmd --list-all-zones #列出所有区域信息
firewall-cmd --get-active-zones #查看当前的活动区域信息
firewall-cmd --set-default-zone=public #设置public区域为默认区域
firewall-cmd --get-default-zone #查看默认区域信息

firewall-cmd --version #查看版本
firewall-cmd --state #查看防火墙状态
firewall-cmd --reload #重启防火墙、更新防火墙规则设置
firewall-cmd --list-services #查看所有允许的服务
firewall-cmd --get-services #获取所有支持的服务
firewall-cmd --list-all # 查看全部信息
firewall-cmd --list-ports # 只看端口信息
firewall-cmd --query-port=8080/tcp #查看8080端口是否开放
firewall-cmd --zone=public --query-service=ssh #查询某区域是否允许ssh协议的流量通过 yes
firewall-cmd --zone=public --query-service=https #查询某区域是否允许https协议的流量通过 no
firewall-cmd --zone=public --add-port=3306/tcp --permanent #访问3306端口的浏览策略设置允许,并且永久生效
firewall-cmd --zone=public --add-port=5000-5500/tcp --permanent #开启一段
firewall-cmd --zone=public --remove-port=3306/tcp --permanent #关闭防火墙端口3306
firewall-cmd --zone=public --remove-port=5000-5500/tcp --permanent #关闭防火墙端口5000-5500一段端口
#命令含义
--zone #作用域
--add -port-80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效

你可能感兴趣的:(linux,运维,服务器)