Linux命令(权限、文件操作、请求、资源、服务日志查看...)整理

整理一下,方便忘记时快速查看,持续更新。 

一、文件/目录操作

cd - 返回上次所在的目录 
cd / 返回根目录 
pwd 显示当前目录路径 
ls 查看目录中的文件 
mkdir dir1 创建一个叫做 'dir1' 的目录' 
mkdir dir1 dir2 同时创建两个目录 
mv dir1 new_dir 重命名/移动 一个目录 
cp file /usr/file1 在file文件路径下,将文件file复制到目录/usr下,并改名为file1(cp meeting_manage-0.1.war /home/app/pub/war/222/111.war)
rm -rf /dir1/ 删除dir1文件夹及其子文件夹(rm -rf  /home/app/pub/war)
rm file1 删除file1文件
touch file1 创建一个file1文件
touch file1 file2 同时创建两个文件
find / -name file1 从 '/' 开始进入根文件系统搜索文件和目录 ,如:find / -name my.cnf
find / -user user1 搜索属于用户 'user1' 的文件和目录 

ps aux 查找所有进程 ,可以kill -9 + PID杀掉对应服务

0

tree 显示文件和目录由根目录开始的树形结构

find . -type f -size +800M :搜索当前目录下,超过800M大小的文件

二、打包和压缩文件

bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件 
bzip2 file1 压缩一个叫做 'file1' 的文件 
gunzip file1.gz 解压一个叫做 'file1.gz'的文件 
gzip file1 压缩一个叫做 'file1'的文件  
rar x file1.rar 解压rar包 
tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包 
tar -jxvf archive.tar.bz2 解压一个bzip2格式的压缩包 
tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包 
tar -zxvf archive.tar.gz 解压一个gzip格式的压缩包 
unzip file1.zip 解压一个zip格式压缩包 
jar -xvf war 包名 解压war包


gzip,bzip2,zip,tar的特点及区别:
 - gzip:只能压缩文件 , 不能压缩目录 ,后缀名为.gz , 而且不保留原文件
 - bzip2 :压缩(解压)文件,压缩文件后缀为.bz2
 - zip: 压缩(解压)文件,压缩文件后缀为.zip
 - tar:源文件是保留的,不会被删除 tar –zcvf 压缩   tar –zxvf  解压

三、服务器上请求

curl 是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。它的功能非常强大,命令行参数多达几十种。如果熟练的话,完全可以取代 Postman 这一类的图形界面工具。

3.1 发起get请求:

curl http://localhost:6007/banner/findAllBanner
curl   https://way.jd.com/he/freeweather?city=handan&appkey=8010132dcf54491a4eaa387f4db61774

3.2 发起post或者put请求:
curl -H "Content-Type:application/json" -X POST -d '{"version":"v1","sort":1,"value":"db01"}' http://172.31.243.230:18010/v1/pb/auxiliaryManage/upgradeNotes

  •  -H 请求头
  • -d POST内容
  • -X 请求协议 POST/GET/PUT等
  • -b 参数用来向服务器发送 Cookie。
  • -A 参数指定客户端的用户代理标头,即User-Agent

3.3 获取当前服务器公网IP请求:

curl icanhazip.com

(icanhazip.com是一个网址,你在浏览器中输入这个网址,你就能得到你的公网IP地址了)和 在百度输入IP效果一样:

四、文档编辑 & 查找

vim 1.text  进入1.text编辑
键盘insert键  开始编辑(左下方出现:“- -插入- -”)
ESC键  退出insert编辑
:q!   不保存退出
:wq  保存退出

退出vi编辑器,按esc无反应怎么办:   (1) Ctrl c 然后 Shift z z 保存退出  (2)Ctrl z 直接退出不保存

五、日志查看

这里的命令最近经常用,太重要了,捞日志必备!

线上接口报错时,在一堆日志中根据关键词快速查找日志:

cat log-all-2020-10-27-10* | grep NullPoint   查找2020-10-27 10点时间段且关键字是NullPoint的日志信息
cat log-all-2020-10-27-10* | grep NullPoint  -C 20  查找2020-10-27 10点时间段且关键字是NullPoint的日志信息
tail -f all.log | grep '冯之昉' -C 15** 动态查找关关键字为'冯之昉'的信息

这里有几个参数解释下:

  • cat log.txt | grep 'ERROR' -A 5  在log.txt文件中,查找ERROR字符,并显示ERROR所在行的之后5行

  • cat log.txt | grep 'ERROR' -B 5  之前5行

  • cat log.txt | grep 'ERROR' -C 5 前后5行

  • cat log.txt | grep -v 'ERROR' 排除ERROR所在的行

K8S pods容器查看:

  • kubectl get pods -n zyzl
  • kubectl exec -it assistant-api-6796448bdc-5fs89 -n zyzl -- /bin/bash

六、下载资源

wget http://download.luoe.com:50007/e7a094e58f91e8b584e6ba90e5ba93/workbench.zip  下载地址处的资源

七、磁盘查看(服务器CPU占用率高时)

iostat : 

汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。

 - %user:CPU处在用户模式下的时间百分比。
 - %nice:CPU处在带NICE值的用户模式下的时间百分比。
 - %system:CPU处在系统模式下的时间百分比。
 - %iowait:CPU等待输入输出完成时间的百分比。
 - %steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
 - %idle:CPU空闲时间百分比。
备注:
如果%iowait的值过高,表示硬盘存在I/O瓶颈
如果%idle值高,表示CPU较空闲
如果%idle值高但系统响应慢时,可能是CPU等待分配内存,应加大内存容量。
如果%idle值持续低于10,表明CPU处理能力相对较低,系统中最需要解决的资源是CPU。

top :

  提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表,该命令可以按CPU使用.内存使用和执行时间对任务进行排序。

【第一行】:
14:39.51 表示的是当前时间
up   1 day 系统开机到现在的运行时长
2 user 当前登录用户数
load average: 0.02, 0.05, 0.06 系统负载,即任务队列的平均长度,  三个数值分别为  1分钟、5分钟、15分钟前到现在的平均值。
【第二行】【第三行】:为进程和CPU的信息
Tasks: 159 total 进程总数
1 running 正在运行的进程数
154 sleeping 睡眠的进程数
0 stopped 停止的进程数
1 zombie 僵尸进程数
Cpu(s): 92.2% us 用户空间占用CPU百分比
1.8% sy 内核空间占用CPU百分比
0.0% ni 用户进程空间内改变过优先级的进程占用CPU百分比
5.7% id 空闲CPU百分比
0.2% wa 等待输入输出的CPU时间百分比
0.0% hi硬中断(Hardware IRQ)占用CPU的百分比
0.2% si  软中断(Software Interrupts)占用CPU的百分比
【第四行】【第五行】:
Mem: 4056172k total 物理内存总量
3836836k used 使用的物理内存总量
219336k free 空闲内存总量
104792k buffers 用作内核缓存的内存量
Swap: 192772k total 交换区总量
0k used 使用的交换区总量
192772k free 空闲交换区总量
123988k cached 缓冲的交换区总量。(内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时可不必再对交换区写入。)

 PID 进程id
 USER 进程所有者的用户名
 PR 优先级
 NI nice值。负值表示高优先级,正值表示低优先级
 VIRT 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
 RES 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
 SHR 共享内存大小,单位kb
 S    进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
 %CPU    上次更新到现在的CPU时间占用百分比
 %MEM    进程使用的物理内存百分比
 TIME+    进程所使用的CPU时间总计,单位1/100秒
 COMMAND    命令名/行

free :


-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。
total:总计物理内存的大小。
used:已使用多大。
free:可用有多少。
Shared:多个进程共享的内存总额。
Buffers/cached:磁盘缓存的大小。

uptime :

该命令可以大致的看出计算机的整体负载情况,load average后的数字分别表示计算机在1min、5min、15min内的平均负载。

df -h:

 命令用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。

 sudo du -s -h /* | sort -nr:

查看那个目录占用空间大。

然后那个目录占用多 再通过sudo du -s -h /var/* | sort -nr 一层层排查,找到占用文件多的地方。

补充一:Xshell打印内容显示不全

在xshell终端运行一条命令时,有可能会产生大量的打印信息,比如cat log.txt | grep 'ERROR' -C 5可能会匹配到很多日志数据,这个时候把滚动条拖到最顶部时,不能查看所有打印内容。这个主要是因为,终端缓冲区大小不够,缓冲区默认大小为1024行。可以点击文件==》属性==》终端,将缓冲区大小改为4096或者更大。这样就能显示更多日志行。

猜你喜欢

转载自blog.csdn.net/weixin_41231928/article/details/111303276
今日推荐