当前位置: 首页 > news >正文

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] <log>
/字符串:向下搜索
?字符串:向上搜索
空格:向下翻页
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 会显示字符串

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

文件属性

在这里插入图片描述

-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 #永久生效,没有此参数重启后失效

相关文章:

  • 基于OHTPPS实现网站HTTPS访问
  • 使用国内镜像源安装opencv
  • 计算机组成原理-选择语句和循环语句的汇编表示
  • 【数据结构】第二章——线性表(1)
  • linux(centos7)离线安装mysql-5.7.35-1.el7.x86_64.rpm-bundle.tar
  • 一文速览字节最新分布式操作系统KubeWharf
  • vue+react题集整理
  • 设计模式之结构型设计模式(二):工厂模式 抽象工厂模式 建造者模式
  • Oracle 数据库 control file的备份
  • TensortRT:sample.py:DeprecationWarning:
  • Linux shell编程学习笔记35:seq
  • 33.搜索旋转排序数组
  • Certbot实现 HTTPS 免费证书(Let‘s Encrypt)自动续期
  • 【Linux】tree命令使用
  • 第七章 SpringCloud Alibaba 实现微服务集成Sentinel
  • Hibernate【inverse和cascade属性】知识要点
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • js算法-归并排序(merge_sort)
  • MySQL QA
  • Netty+SpringBoot+FastDFS+Html5实现聊天App(六)
  • node学习系列之简单文件上传
  • SpiderData 2019年2月13日 DApp数据排行榜
  • uni-app项目数字滚动
  • vue脚手架vue-cli
  • 初识 beanstalkd
  • 浅谈Golang中select的用法
  • 适配mpvue平台的的微信小程序日历组件mpvue-calendar
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 限制Java线程池运行线程以及等待线程数量的策略
  • ​如何在iOS手机上查看应用日志
  • ​软考-高级-系统架构设计师教程(清华第2版)【第15章 面向服务架构设计理论与实践(P527~554)-思维导图】​
  • #{}和${}的区别?
  • #mysql 8.0 踩坑日记
  • #NOIP 2014# day.2 T2 寻找道路
  • #微信小程序(布局、渲染层基础知识)
  • ${ }的特别功能
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (九)c52学习之旅-定时器
  • (转)linux下的时间函数使用
  • (转)linux自定义开机启动服务和chkconfig使用方法
  • (转)人的集合论——移山之道
  • (转载)CentOS查看系统信息|CentOS查看命令
  • *p++,*(p++),*++p,(*p)++区别?
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .net core MVC 通过 Filters 过滤器拦截请求及响应内容
  • .NET Framework 服务实现监控可观测性最佳实践
  • .NET MVC之AOP
  • .NET Remoting学习笔记(三)信道
  • .net Signalr 使用笔记
  • .NET/C# 使用反射注册事件
  • .net6使用Sejil可视化日志
  • .Net接口调试与案例
  • /etc/fstab和/etc/mtab的区别