8种机械键盘轴体对比
本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?
参考:《鸟哥Linux的私房菜》
# 目录
1. 系统资源查看命令
2. 文件与进程相关命令
3. 网络与进程相关命令
4. 磁盘相关命令
5. 压缩、ACL控制等工具命令
1. 系统资源查看命令一.查看系统整体负载:w,uptime,top
[[email protected]_15:33:30 /root]#w
15:44:13 up 202 days, 1:09, 1 user, load average: 0.06, 0.13, 0.08
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/2 202.115.52.214 15:33 5.00s 0.06s 0.01s w
[[email protected]_15:44:13 /root]#uptime
15:48:06 up 202 days, 1:13, 1 user, load average: 0.28, 0.14, 0.09
1.Linux的负载高,主要是由于CPU使用、内存使用、IO消耗三部分构成。任意一项使用过多,都将导致服务器负载的急剧攀升。
2.负载在3左右说明负载均衡,大于5负载过高,load average反应1,5,15分钟负载平均值。
#top提供了比w、uptime更多的信息,能够查看CPU/内存/IO的实时负载情况
二.free命令查看内存详细内存负载情况
[[email protected]_15:59:40 /root]#free
total used free shared buff/cache available
Mem: 3881056 3349956 135324 1768 395776 196552
Swap: 16777212 3372768 13404444
1.free命令用来查看内存使用情况,包括物理内存和虚拟内存(swap)
2.total是总大小,used是已使用大小,free是空余大小,buff/cache是内存缓冲区大小,available表示还可以被应用程序使用的物理大小
3.free和available的区别是:free 是真正尚未被使用的物理内存数量,available是从应用程序的角度看到的可用内存数量,available = free + buff/cache。
三. iostat查看更加具体的IO负载情况
[[email protected]_15:59:42 /root]#iostat
Linux 3.10.0-862.9.1.el7.x86_64 (ScuCloud2532) 06/30/2019 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.97 0.00 0.66 0.02 0.00 98.34
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
fd0 0.00 0.00 0.00 16 0
sdb 0.00 0.00 0.00 1803 2093
sda 3.68 11.55 26.95 201612820 470560389
sdc 0.00 0.00 0.00 1040 0
dm-0 1.36 3.07 2.35 53645104 41103892
dm-1 0.00 0.00 0.00 599 209
1. 关注iowait(cpu等待输入输出时间百分比)和idle(cpu空闲时间百分比),前者高说明硬盘存在IO瓶颈。后者高说明cpu较空闲
2. 下面是每块硬盘的使用情况,可以看出sda和dm-0使用较多,参数分别显示了每块硬盘的读写速度以及读写总数
四. netstat查看网络情况
参考1:https://www.cnblogs.com/ggjucheng/archive/2012/01/08/2316661.html(详细但啰嗦)
参考2:https://linux.cn/article-2434-1.html (直接告诉有哪些用法)
五. 查看Linux机器信息
参考:https://my.oschina.net/hunterli/blog/140783 (作查询使用)
2. 文件与进程相关命令1. 常用命令
参考:https://blog.csdn.net/Evankaka/article/details/49227669 (不是特别详细,有的命令需要自己找)
#ls/ll(ll可以查看文件更详细信息)
#cd
#cp
#mkdir
#rm/rmdir(删除空目录)
#mv(移动)
#du(显示目前目录所占磁盘空间)
#df(显示当前磁盘剩余空间)
#cat(除了显示文件还可以合并两个文件到一个文件)
#more(可以向后翻页),less(可以向前也可以向后翻页,比more强大)
#tail(只看后n行,甚至可以实时监控某个文件)
#head(只看前n行)
#pwd
#clear
#grep(查找关键词)
#find(满足各种奇葩的文件查找需求)
#awk(比grep更强大,面试中常见)
#touch(修改文件时间或创建新文件)
#lsof(列出被进程所打开的文件名)
2. find命令
参考:https://www.cnblogs.com/skynet/archive/2010/12/25/1916873.html (find和grep的详细用法)
#用法:在一个目录(及子目录)中搜索文件,你可以指定一些匹配条件,如按文件名、文件类型、用户甚至是时间戳查找文件
#常用表达:find [path...] [expression]
#参数解释:
- path:find命令所查找的目录路径
- expression:限制条件和用来处理的shell(所以使用这个命令最好掌握一些shell脚本的写法)
#使用举例:find ./ -size 0 -exec rm {} ;(删除大小为0的文件)
#可以用作筛选条件的选项:文件名、文件权限、所属用户、文件更改时间、文件大小、文件类型等。
3. grep命令
#用法:grep能够使用正则表达式搜索文本并把匹配的文本行打印出来
#常用表达:grep [OPTIONS] PATTERN [FILE...]
grep的使用基础是正则表达式,学习这个命令最好的办法是创建一个文件,然后实际操作一遍。
4. awk命令
参考:https://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html (还挺详细的)
#用法:awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
暂时不分析了,学完shell再来分析
5. ps命令(非常常用的进程查看命令)
#列出系统当前运行的进程快照
#常用表达:ps [操作],如ps -aux(通常会用一个管道符|结合grep查找某一个进程的pid)
#使用举例:查找名为java的进程相关信息,ps -ef | grep java
5. 查看某个执行命令某个进程相关的信息
[[email protected]_09:21:59 /root]#ps -ef|grep python
root 1142 1 0 2018 ? 00:29:22 /usr/bin/python -Es /usr/sbin/tuned -l -P
root 5516 2240 0 09:22 pts/2 00:00:00 grep --color=auto python
[[email protected]_09:22:07 /root]#ll /proc/1142
total 0
dr-xr-xr-x 2 root root 0 Jul 1 09:21 attr
-rw-r--r-- 1 root root 0 Jul 1 09:21 autogroup
-r-------- 1 root root 0 Jul 1 09:21 auxv
-r--r--r-- 1 root root 0 Jul 1 09:21 cgroup
--w------- 1 root root 0 Jul 1 09:21 clear_refs
-r--r--r-- 1 root root 0 May 29 09:32 cmdline
-rw-r--r-- 1 root root 0 Jul 1 09:21 comm
-rw-r--r-- 1 root root 0 Jul 1 09:21 coredump_filter
-r--r--r-- 1 root root 0 Jul 1 09:21 cpuset
lrwxrwxrwx 1 root root 0 Jul 1 09:21 cwd -> /
-r-------- 1 root root 0 Jul 1 09:21 environ
lrwxrwxrwx 1 root root 0 Jul 1 09:21 exe -> /usr/bin/python2.7
...
- 首先通过ps命令找到属于python的进程pid
- 然后用在/proc目录下找到1142这个pid的相关信息
6. lsof命令
#用法:lsof可以列出当前进程打开的文件
#常用实例:
- lsof 文件名:查看哪个进程再使用指定文件
- lsof -p pid:查看指定进程打开了哪些文件
- lsof -i:80:显示所有打开80端口的进程
3. 网络与进程相关命令