一、空间和内存查看
内存
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 命令的作用是将文件或目录的权限设置为所有人(所有者、同组用户、其他用户)都可以读、写和执行
7万+

被折叠的 条评论
为什么被折叠?



