Linux常用指令实用

简介: Linux常用指令实用

压缩解压

//压缩成tar格式
tar -cvf dd.tar dd.txt
//解压
tar -xvf dd.tar
//压缩文件把a1.txt压缩成a.tar.gz
tar -zcvf a.tar.gz a1.txt(后面可以跟多个文件名,或者目录)
//解压文件
tar -zxvf a.tar.gz(指定解压到某个目录下时,目录必须存在 -C 路径)
//压缩
zip -r page.zip /home/
//解压
unzip -d /opt/tmp/ page.zip
//不会生成外层目录压缩
zip -rD yigongcailiao_OCR.zip yigongcailiao_OCR/

磁盘空间

查看磁盘剩余空间

df -h

查看各个文件夹占用磁盘情况

du -sh *
• 1

查看每个目录占用磁盘情况

du -h --max-depth=1 .

ctrl+z 、ctrl+c区别

  • ctrl+c是强制中断程序的执行,进程已经终止
  • ctrl+z的是将任务中止(暂停的意思)
    用户可以使用fg/bg操作继续前台或后台的任务,
    fg命令重新启动前台被中断的任务,
    bg命令把被中断的任务放在后台执行.

lsof -i:端口号

用于查看某一端口的占用情况,比如查看8000端口使用情况,lsof -i:8000

lsof -i:8000

创建软链接

ln -s 源文件 目标文件。

ln -snf  ssa-service-server.jar apps/ssa-service-latest.jar

-f --force 强行删除任何已存在的目标文件

删除的话使用rm

netstat -tunlp |grep 端口号

用于查看指定的端口号的进程情况,如查看8000端口的情况,netstat -luntp |grep 8000

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

netstat -antp|grep 进程号

查看进程号使用的端口

firewall

防火墙开启,开放端口,查看开放的端口

  • 查看
firewall-cmd --list-ports
• 1
  • 开启端口
firewall-cmd --zone=public --add-port=3690/tcp --permanent
• 1
  • 重启
systemctl restart firewalld.service
• 1
  • 关闭
systemctl stop firewalld.service
• 1
  • 开启开机自启动
systemctl able firewalld.service
• 1
  • 关闭开机自启动
systemctl disable firewalld.service
• 1

vim快捷键

多行注释ctrl+v选中多行,按下键盘(大写)“I”键,进入插入模式,把第一行修改为#,退出编辑模式esc

  • 多行解注释ctrl+v,移动关标选中所有的#然后按delete

快速查找之前敲过的指令

ctrl+r

全局替换

%s/源字符串/目的字符串/g

:%s/$releasever/7.6.1810/g
• 1

文件末尾添加

cat >> /etc/sysctl.conf <<EOF
vm.max_map_count=655360
EOF

whereis

这个命令可以用来查找二进制(命令)、源文件、man文件。与which不同的是这条命令可以是通过文件索引数据库而非PATH来查找的,所以查找的面比which要广

20190805180532499.png

which

这条命令主要是用来查找系统PATH目录下的可执行文件。说白了就是查找那些我们已经安装好的可以直接执行的命令,比如

20190805180515260.png

yum

查看yum可以安装的版本

yum list |grep nginx

rpm

rpm包安装的,可以用rpm -qa看到,如果要查找某软件包是否安装,用 rpm -qa | grep “软件或者包的名字”

rpm -qa | grep ruby

查看yum安装的软件的所有相关路径

rpm -ql jenkins

find查找文件

删目录

#! /bin/sh
days=5
logDir=/app/autotest/file/log
find $logDir -mtime +$days -type d -name \* -exec rm -rf {} \;

删文件

#!/bin/sh
# 清理应用几天前的日志
days=30
logDir=$(pwd)
find $logDir -mtime +$days -type f -name "*.log" -exec rm -rf {} \;

查看被杀死的进程

改i命令可以查看被杀死的进程信息,如果某个进程占用linux系统太多的内存,linux系统的自我保护机制会进行投票,分数高的进程会被杀死。

sudo dmesg -T | grep "(java)"

连接数查询

查看当前连接,注意close_wait偏高的情况,比如如下

[root@root ~]$ netstat -nat|awk  '{print $6}'|sort|uniq -c|sort -rn 
   1354 ESTABLISHED
    186 TIME_WAIT
    128 SYN_SENT
    101 LISTEN
     56 CLOSE_WAIT
      1 Foreign
      1 established)

tcp的几种状态

  • CLOSED状态:初始状态,表示TCP连接是“关闭的”或者“未打开的”
  • LISTEN状态:表示服务端的某个端口正处于监听状态,正在等待客户端连接的到来
  • SYN_SENT状态:当客户端发送SYN请求建立连接之后,客户端处于SYN_SENT状态,等待服务器发送SYN+ACK
  • SYN_RCVD状态:当服务器收到来自客户端的连接请求SYN之后,服务器处于SYN_RCVD状态,在接收到SYN请求之后会向客户端回复一个SYN+ACK的确认报文
  • ESTABLISED状态:当客户端回复服务器一个ACK和服务器收到该ACK(TCP最后一次握手)之后,服务器和客户端都处于该状态,表示TCP连接已经成功建立
  • CLOSE_WAIT状态:当服务器发送连接断开确认ACK之后但是还没有发送自己的FIN之前的这段时间,服务器处于该状态
  • TIME_WAIT状态:当客户端收到了服务器发送的FIN并且发送了自己的ACK之后,客户端处于该状态
  • LAST_ACK状态:表示被动关闭的一方(比如服务器)在发送FIN之后,等待对方的ACK报文时,就处于该状态
  • CLOSING状态:连接断开期间,一般是客户端发送一个FIN,然后服务器回复一个ACK,然后服务器发送完数据后再回复一个FIN,当客户端和服务器同时接受到FIN时,客户端和服务器处于CLOSING状态,也就是此时双方都正在关闭同一个连接
查看80的
netstat -nat|grep -i "80"|wc -l
统计httpd协议的连接数
ps -ef |grep httpd|wc -l
统计状态为ESTABLISHED的连接数
netstat -na|grep ESTABLISHED|wc -l

查看内存

应用程序可用内存数

应用程序可用内存系统物理内存<20%说明内存不足,需要增加内存。

free -m

查看额外

pidstat -p 进程号 -r 间隔秒数

磁盘io

查看磁盘快设备分布

iostat -xdk 2 3
  • rkB/s每秒读取数据量kB;
  • wkB/s每秒写入数据量kB;| I
  • svctm I/O请求的平均服务时间,单位毫秒;
  • await I/O请求的平均等待时间,单位毫秒;值越小,性能越好:
  • util一秒中有百分几的时间用于I/O操作。接近100%时,表示磁盘带宽跑满,需要优化程序或者增加磁盘;
  • rkB/s、wkB/s 根据系统应用不同会有不同的值,但有规律遵循:长期、超大数据读写,肯定不正常,需要优化程序读取。
  • svctm的值与await的值很接近,表示几乎没有I/O等待,磁盘性能好,
    如果await的值远高于svctm的值,则表示I/O队列等待太长,需要优化程序或更换更快磁盘。

Linux文件传输工具

对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / sz命令很方便的帮我们实现了这个功能

安装

yum install -y lrzsz

sz命令发送文件到本地:

  • sz filename

rz命令本地上传文件到服务器:

  • rz
    导出内存影像文件
相关实践学习
通过Ingress进行灰度发布
本场景您将运行一个简单的应用,部署一个新的应用用于新的发布,并通过Ingress能力实现灰度发布。
容器应用与集群管理
欢迎来到《容器应用与集群管理》课程,本课程是“云原生容器Clouder认证“系列中的第二阶段。课程将向您介绍与容器集群相关的概念和技术,这些概念和技术可以帮助您了解阿里云容器服务ACK/ACK Serverless的使用。同时,本课程也会向您介绍可以采取的工具、方法和可操作步骤,以帮助您了解如何基于容器服务ACK Serverless构建和管理企业级应用。 学习完本课程后,您将能够: 掌握容器集群、容器编排的基本概念 掌握Kubernetes的基础概念及核心思想 掌握阿里云容器服务ACK/ACK Serverless概念及使用方法 基于容器服务ACK Serverless搭建和管理企业级网站应用
相关文章
|
1月前
|
Linux
linux-du指令
`du`命令是Linux系统中查看磁盘使用情况的基本工具之一。通过灵活使用 `du`命令的各种选项,可以准确、高效地获取文件和目录的大小信息,有助于系统管理员进行磁盘空间管理。无论是查找大文件、分析目录结构还是排除特定类型的文件,`du`命令都提供了丰富的功能和灵活的配置。理解和掌握 `du`命令的使用,对于维护和优化Linux系统的磁盘空间至关重要。
28 4
|
2月前
|
Linux Windows
【Linux】-基本指令(下)
【Linux】-基本指令(下)
【Linux】-基本指令(下)
|
25天前
|
安全 Ubuntu Unix
【Linux】基础指令
本文介绍了Linux操作系统的基本概念及特点,强调了其开源性、多用户多任务处理能力、稳定性和安全性。文章重点讲解了多个Linux基础命令,如ls、cd、touch、mkdir、rm、man、cp、mv、cat、less、find、grep、tar等,旨在帮助初学者快速掌握Linux命令行操作,为后续深入学习奠定基础。
52 0
|
2月前
|
Linux
【Linux第一弹】- 基本指令
【Linux第一弹】- 基本指令
38 1
|
2月前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(三):Linux下操作指令大全
Ubuntu学习笔记,介绍了Linux操作系统中常用的命令和操作,如文件管理、系统信息查看、软件安装等。
47 3
|
2月前
|
Unix Linux 索引
【Linux】-基本指令(上)
【Linux】-基本指令(上)
|
2月前
|
Linux Shell Windows
Linux入门1——初识Linux指令
Linux入门1——初识Linux指令
36 0
Linux入门1——初识Linux指令
|
2月前
|
人工智能 Unix Linux
装杯 之 Linux指令
本文介绍了Linux操作系统的基本命令。首先欢迎各位进入Linux的世界,并展示了`ls`命令,用于列出目录下的文件和子目录。接着介绍了`pwd`命令,用于显示当前目录;`cd`命令,用于切换目录;`mkdir`命令,用于创建目录;`touch`命令,用于创建普通文件或修改文件时间戳;`rmdir`命令,用于删除空目录;以及`rm`命令,用于删除文件或目录。通过这些基本命令,你可以开始探索和管理Linux系统。
|
4月前
|
存储 Linux
Linux专栏08:Linux基本指令之压缩解压缩指令
Linux专栏08:Linux基本指令之压缩解压缩指令
61 4
|
4月前
|
Linux
Linux专栏09:Linux基本指令之时间日期指令及关机重启指令
Linux专栏09:Linux基本指令之时间日期指令及关机重启指令
106 2