常用linux命令

一、空间和内存查看

内存

free df du

//  查看空间(内存、磁盘、文件目录、分区)的几个命令 - https://blog.youkuaiyun.com/jiangyu1013/article/details/86685893

-- 查看内存
free -h // 以人最清楚的方式展示
free -b -s5 // 以字节展示,每5秒刷新

1.CPU占用最多的前10个进程: 
ps auxw|head -1;ps auxw|sort -rn -k3|head -10 
2.内存消耗最多的前10个进程 
ps auxw|head -1;ps auxw|sort -rn -k4|head -10 
3.虚拟内存使用最多的前10个进程 
ps auxw|head -1;ps auxw|sort -rn -k5|head -10

空间


df -h                                          # 列出文件系统的整体磁盘使用量。检查文件系统的磁盘空间占用情况。可用来获取硬盘被占用了多少空间,目前还剩下多少空间等信息;
du -h                                         # 对文件和目录磁盘使用的空间的查看
du -h /data/oss3/micro/od/od-accept/log                     # 查看log文件夹所用空间

性能分析


top // 实时显示系统中各个进程的资源占用状况
参考文章: https://www.cnblogs.com/niuben/p/12017242.html

二、文件搜索


// 一些文件处理操作 - 查找、截取 find awk sed cut wc sort head uniq grep

ls


ls -ltr   按时间倒序显示文件列表

find


find ./ -type d -maxdepth 2 查找当前目录下所有类型为文件夹的最大深度为2的文件夹
find ./ -type f -maxdepth 2 查找当前目录下所有类型为文件的最大深度为2的文件

grep


// 查找包含指定内容的文件
find . -name '*.properties' | xargs grep xx | awk -F [:] '{print $1}'
grep xx . -r | awk -F [:] '{print $1}'  # -r 递归查询
grep -A 20 xxx x.log         # 在x.log中查找包含xx的内容以及其之后20行      -- after
grep -B 20 xxx x.log         # 在x.log中查找包含xx的内容以及其之前20行    -- before
grep -C 20 xxx x.log         # 在x.log中查找包含xx的内容以及其前后20行    -- center

-- 取出普通用户
grep '/bin/bash' /etc/passwd | grep -v 'root' | cut -f 1 -d ':'
grep '/bin/bash' /etc/passwd | grep -v 'root' | cut -f 1 -d ':' | wc -l
grep '/bin/bash' /etc/passwd | grep -v 'root' | awk '{FS=":"}{print $1}'

-- (-maxdepth)查找最大深度
find /etc -maxdepth 1 -name 'passwd' | xargs cat | grep '/bin/bash' | grep -v 'root' | cut -f 1 -d ":"

-- 分割符的多种写法
grep '/bin/bash' /etc/passwd | grep -v 'root' | awk '{FS=":"}{printf "%-5s %s\n","user:",$1}'
grep '/bin/bash' /etc/passwd | grep -v 'root' | awk -F "[:]" '{printf "%s \t %s \n","user:",$1}'
grep '/bin/bash' /etc/passwd | grep -v 'root' | awk -F: '{printf "%-5s %s\n","user:",$1}'

-- 直接用awk条件取出普通用户
grep '/bin/bash' /etc/passwd | awk '{FS=":"}{if ($1 != root) printf "%-5s %s\n","user:",$1}'

-- 想要使用多个分割符时,以逗号 冒号 空格 为分割符
echo "ab dd,dd:KK" | awk -F "[,: ]" '{printf $1 "\t" $2 "\t" $3 "\t" $4 "\n"}'

-- 取出进程中CPU占用率大于1.0的,并打印出PID,%CPU,%MEM列
ps -aux | awk '{if ($3 > 1.0) print $2 "\t" $3 "\t" $4}'

-- 取出进程中CPU占用率大于1.0且内存占用率大于1.0的,并打印出所有列 --$0
ps aux | awk '{if ($3 > 1.0 && $4 > 1.0) print $0}'

-- 取出进程中CPU占用率排名前10的(第一行打印列的含义,后面是内容)
-- 知识点:sort (-r逆序,-n按照数值大小,-k按第几列),head(前几个,和tail相反)
ps -ef | head -1; ps -ef | sort -rn -k4 | head -10
或:ps auxw|head -1;ps auxw|sort -rn -k3|head -10

-- 内存消耗最多的前10个进程 
ps auxw|head -1;ps auxw|sort -rn -k4|head -10 

-- 使用Linux命令找出日志文件中访问量最大的top10 IP地址 - https://www.cnblogs.com/zhaijing/p/9767285.html
cat  test.log|awk -F" " '{print $2}'|sort|uniq -c|sort -nrk 1 -t' '|awk -F" " '{print $2}'|head -10

vi 


vi编辑器操作指令分享
https://baijiahao.baidu.com/s?id=1691861997483596576&wfr=spider&for=pc

more


// Linux中more和less命令用法 -- https://www.cnblogs.com/aijianshi/p/5750911.html 


more, less 都具备查找功能,按/ 然后输入要找的字串,再按 Enter 即可,按 n(next) 会继续找,大写的 N 则是往回(上)找(less支持,vi 具备同样功能,使用方式一致),按 q(quit)或者ZZ离开

more
1.常用操作命令:
Enter    向下n行,需要定义。默认为1行
Ctrl+F   向下滚动一屏

空格键  向下滚动一屏
Ctrl+B  返回上一屏
=       输出当前行的行号
:f     输出文件名和当前行的行号
V      调用vi编辑器
!命令   调用Shell,并执行命令 
q       退出more

2.命令实例:
more +3 test.log                   #实例1:从第三行开始显示日志内容
more -4 test.log                #实例2:将日志内容设置为每屏显示4行
more +/liu test.log                #实例3:从文件中查找第一个出现"liu"字符串的行,并从该处前两行开始显示输出
cat test.log | more -5           #实例4:当一个目录下的文件内容太多,可以用more来分页显示。这得和管道 | 结合起来

less 


0.使用实例
ps -ef|less -N                    #实例1:ps查看进程信息并通过less分页显示同时显示行号
less test2.log test.log            #实例2.浏览多个文件   说明:-输入 :n后,切换到 test.log  -输入 :p 后,切换到test2.log
输入 / 后接想要搜索的内容
按小写字母n,查看下一个
按大写字母N,查看上一个

1.全屏导航
ctrl + F - 向前移动一屏
ctrl + B - 向后移动一屏
ctrl + D - 向前移动半屏
ctrl + U - 向后移动半屏

2.单行导航
j - 向前移动一行
k - 向后移动一行

3.其它导航
G - 移动到最后一行
g - 移动到第一行
q / ZZ - 退出 less 命令

4.其它有用的命令
v - 使用配置的编辑器编辑当前文件
h - 显示 less 的帮助文档
&pattern - 仅显示匹配模式的行,而不是整个文件

三、网络服务


ssh


ssh [远程主机用户名]@[远程服务器主机名或IP地址] [-p port]    -- 输入密码        # 本地链接远端机器
再输入密码

scp


参考文档:Linux命令·scp
scp [参数] [原路径] [目标路径]
举例:
scp 本机文件路径 username@ip:远端文件夹路径 [-port]  -- 输入密码              # 本机传远端,端口可选
scp username@ip:远端文件夹路径  本机文件路径  -- 输入密码              # 远端传本机

sftp


sftp 用户名@地址(IP) (默认端口号21,如果要改就:空格+端口号)
再输入密码

查程序对应端口


linux 如何查看应用程序进程号、端口
1、查看运行的程序的pid(进程号)   
 ps aux | grep sha(程序的名字)
2、根据线程号查询正在运行的程序的port(端口号)  
    方法一:netstat -anop | grep pid(程序的进程号)                           # 通过netstat命令查看
    方法二:lsof | grep pid(程序的进程号) | awk '$8=="TCP" {print $0}'       # 通过lsof命令查看
3、查看port(端口号)对应的正在运行的程序以及pid(进程号)   
lsof -i :port(端口号)
4、查找线程号并杀掉程序:
ps aux | grep 程序关键字 | grep -v grep | awk '{print $2}' | xargs kill -9( 例如:ps aux | grep kill.py | grep -v grep | awk '{print $2}' | xargs kill -9  )

rz/sz 远程上传下载文件


// 使用“rz -be”命令上传文件至服务器;使用“sz 文件名”从服务器下载文件到本地 -- https://blog.youkuaiyun.com/shiyu1157758655/article/details/84824434    

rz -be 本地文件 // 可上传到远端
rz -y 本地文件 // 可将本地文件上传远端并替换已有文件
sz 目标文件  // 可下载到本地

curl  


// curl使用指南 参考信息 -- https://www.jianshu.com/p/fc0eb6c60816
curl -I www.baidu.com                                          # 使用-I选项可以只显示Response的Header信息
curl -d key1=value1&key2=value2 http://example.com             # POST请求
curl -d '{"name":"fool"}' http://example.com                   # POST请求传json
curl -d @params.json http://example.com                      # 当数据很多时,我们可以指定一个文件,来传递给curl
curl -d "key1=value1" -G http://example.com                 # GET请求 - 得到的请求URL就是-http://example.com/?key1=value1
curl --cookie "CookieName=CookieValue" http://example.com      # 使用--cookie选项来设置一个Cookie

查看网络可达


linux环境下常用的网络命令ping、telnet、traceroute、tcpdump
https://blog.youkuaiyun.com/Bel_Ami_n/article/details/129363158

修改权限


chmod 777 xxx(文件)  -- 将文件或目录的权限设置为所有人(所有者、同组用户、其他用户)都可以读、写和执行
命令详解:
权限分为三种类型,分别是读取(r)、写入(w)和执行(x)。每种类型的权限可以用数字表示,如下所示:
读取权限:4
写入权限:2
执行权限:1
组合起来,每个权限位可以有以下几种值:
0:没有权限
4:只有读权限
5:读和执行权限
6:读和写权限
7:读、写和执行权限
当使用 7 作为某个权限位的值时,意味着该对象(文件或目录)对对应的身份(所有者、同组用户、其他用户)具有完全的读、写和执行权限。
777 这个数字由三个 7 组成,分别代表:
第一位 7:表示所有者的权限
第二位 7:表示同组用户的权限
第三位 7:表示其他用户的权限
因此,chmod 777 命令的作用是将文件或目录的权限设置为所有人(所有者、同组用户、其他用户)都可以读、写和执行
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值