Linux的super super super easy教程 | 基本命令2

time bash xx.sh 在运行之后显示运行时间

free -m 可以查看设备内存的大小

(mem 代表内存 total 总的大小 used 使用的内存  free 真正未使用剩余的内存 shared 共享的内存空间(大家都可以使用的空间) 主要看available(available=free+cache/buffer里的可用空间) 只要这个还有值就代表仍然有可用空间 buffer/cache 表示缓存空间 (缓存:临时存放数据的地方)大家都可以去使用的空间)而当swap(磁盘)开始使用了说明内存有点不足了(!!!!严格意义上只看free是否还有空间)

内存和cpu的资源消耗—》判断这台机器是否繁忙—》卡

top:动态的显示cpu和内存,进程的信息。

查看系统资源的消耗情况 系统负载:运行的压力情况

cpu那一列:us+sy 总的消耗cpu系统资源(100% 表示cpu满负荷运载)   

 id 空闲(us 用户进程所消耗的cpu资源 sy 系统进程所消耗的cpu资源 id 空闲的cpu系统资源)  内存:used  ) 按q退top

内存分为用户空间 和 内核空间

用户空间:用户运行的用来完成某个具体的功能的程序待的地方(用户使用的程序用户空间运行)

内核空间:操作系统的程序待的地方 (系统进程:内核代码运行的程序)

内核空间的进程,可以访问用户空间的进程(但是用户进程不可以访问内核空间)

Linux里的清缓存命令:echo 3 >/proc/sys/vm/drop_caches

 

为什么我们的程序在运行的时候被杀死?占内存太多

怎样产生大文件:先用脚本 (一百万行) 然后 重定向 非常快速产生一个大文件

文件特别大并且大于内存的大小,为什么cat命令在查看这个文件的时候,没有把内存全部消耗完?

cat命令会分部分一行一行取出再输出。cat查看大文件的时候 消耗的cpu不是特别多 消耗的内存也不是特别多 但是内存的消耗确实是慢慢的增多 时间久了会导致消耗比较多的内存 故:

cat读取大文件的危害,这个文件的大小比内存还大?

  1. 会消耗一部分cpu资源,但是比较少
  2. 会慢慢消耗内存资源,直到我们的内存空间不足,但是时间比较长
  3. 大量的文本内容需要读取到内存里存放到cache里,临时存放

注意:不要使用vim打开大文件,会消耗非常多的内存和cpu 会导致机器死机卡顿

vim 打开文件:全部读取直接存入内存(退出便会释放内存) 如果文件过大 会出现OOM

OOM:内存不足

当一个程序需要的内存空间超过我们的内存的大小的时候,内核会杀死这个程序,导致程序运行终止

| 管道符号 :将前面一个命令的输出送给后面一个命令作为输入(将2个命令功能合并 本质是实现了进程和进程之间的通信)

运行的程序就是进程

看一下操作系统的B站视频

怎么看一个文件夹多少行:cat 文件名 |wc -l 或者 wc -l 文件名(不用管道符号直接统计有多少行)

wc:统计文件有多少行 单词 字节

       -l:统计有多少行

head:head 文件名 默认读取文件的前10行内容

       若要指定行数 如11行 则是:head -11 文件名 或者 head -n 11 文件名

tail:默认取文件的末尾10行(和head差不多一样的用法)

怎么取一个文件的第5-10行:head 文件名|tail -6

tail独有的一个小功能:tail -f 动态监控某个文件,一直盯着这个文件的末尾看,一旦有新的内容往文件写入,马上可以看到(按CTRL+c强行终止)

(未来我们会用来监控一些日志文件,看日志文件的变化  

日志log:是电脑里的程序记录当时发生的事情到一个文件里,得到日志文件,会记录时间,程序,发生的事情)(类似于摄像头监控把发生的事情记录下来方便以后排查故障)

tail另一个小功能:tail -n +i 表示从第i行开始输出,显示到末尾

上面命令是读取连续的行 head和tail结合 是可以的

但 如果需要读取不连续的行:

sed  可以显示不连续的行  

sed 是Linux里的文本替换和处理的命令 -n不显示不符合条件的行

如显示1,3,5行:sed  -n ‘1p;3p;5p’(不连续的使用分号隔开)

       1p 显示第1行 print

       ;命令连接符号:作用是先执行前面的命令,然后执行后面的命令(多个命令一起执行的时候使用)

若显示5-10行:sed -n ’5,10p’

awk 也可以显示不连续的行

df:查看磁盘的使用情况—》相当于window里面打开计算机

df -Th 查看Linux里的磁盘分区的挂载使用(挂载:相当于window里的移动硬盘连接到系统里,系统给它分配一个盘符。这样我们就可以去使用移动硬盘里的数据了)

再window里面喜欢叫盘 Linux里面喜欢叫分区 可以理解成一个分区就是一个盘

历史命令:(提升效率)

history:查看历史命令记录(输出是自带编号的),

你累计使用多少命令(最多可以保留最近1000条历史命令)

history -c:清楚历史命令

!620:去执行第620条历史命令

!nl:表示执行离最后一条命令最近使用过的以nl开头的命令

上下方向键:可以调出以前的历史命令

修改HISTSIZE 的值(这个值是表示可以最多保留最近多少条历史命令):

vim /etc/profile(修改这个文件改变HISTSIZE的值来调整这个历史命令的条数)

(修改完这个文件之后需要重新登录用户或者reboot重启系统才会加载新的变量的值生效 或者 source /etc/profile 表示再当前shell里执行脚本/etc/profile !!比较推荐第二种)

grep:是文本过滤的工具 一行一行的去匹配字符串,如果有符合要求的行,就显示出来,不符合要求就不显示

如 grep HIS表示过滤输出以HIS开头的

上面功能也可以用sed命令完成 如 sed -n ‘/HIS/p’

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值