Linux系统命令——磁盘管理命令

在Linux系统中,磁盘管理的效率直接影响系统性能,涉及的操作包括磁盘空间监控、分区、格式化、挂载和卸载等关键步骤。
首先,您可以使用df命令来查看文件系统的使用情况,包括添加参数以获取更多信息。
du命令用于检查文件和目录占用的磁盘空间。
如果没有参数,则默认分析当前目录。
对于磁盘分区,请使用fdisk命令。
例如,使用-l选项列出所有分区。
lsblk命令允许您直观地查看和操作磁盘分区,包括添加新分区和选择主分区。
格式化磁盘涉及使用mkfs命令将文件系统分配给分区。
磁盘的挂载和卸载是通过mount命令来执行的。
安装时,您需要确保做好充分的准备工作,包括连接光盘和镜像。
使用umount命令卸载已挂载的磁盘。
要实现启动时自动挂载,只需修改fstab文件,添加相应的挂载设置即可。
以上操作演示了Linux磁盘管理的核心命令和流程,让您对系统磁盘管理有一个深入的了解。
更多技术内容请关注“白巧克力LIN”公众号。
我定期分享有关Python、数据库、Linux和其他领域的内容。

如何使用Python动态控制Linux系统的内存占用百分比

如何使用Python动态控制Linux系统内存使用百分比?最近有网友求助:如何通过脚本动态控制Linux系统的内存使用百分比?经过百度+的一番编写和调试,终于完成了Linux系统内存使用百分比的初步动态控制。
现在写出来是为了帮​​助更多的朋友。
1简介根据需要,Linux系统的内存使用百分比是动态控制的。
例如,如果存储使用率设置为70%,则必须提交存储请求才能达到70%。
;如果减少到40%,则必须释放一些内存。
其实脚本的核心就是内存的动态申请和释放。
注意:由于Python脚本执行前内存占用一定,因此内存使用率不能设置低于该百分比。
2、动态申请内存可以通过查询数据,使用Python动态申请内存块来完成。
您可以使用ctypes包中的函数和以下代码:>>>fromctypesimport*>>>mem=create_string_buffer(1024)说明:使用存储应用程序create_string_buffer()函数适用于1024字节的存储块。
下图展示了申请100MB存储前后的变化。
使用代码如下:>>>mem=create_string_buffer(104857600),申请后使用内存为397MB,增加了使用内存约100MB。
3动态内存释放由于Python有内存垃圾回收机制,因此它使用对象引用计数。
当对象的引用计数达到0时,垃圾收集GC开始。
这里动态释放内存就是利用了这个原理。
代码如下:>>>mem=None发布后,内存使用情况如下图所示:内存使用量从397MB减少到297MB,释放了100MB内存使用量。
注意:给mem对象赋值None后,mem对象的引用计数为0,此时垃圾回收开始释放mem对象占用的内存。
4检测系统总内存和已使用内存,需要设置已使用内存量的百分比。
因此,需要确定系统的总物理内存和已使用内存。
本文使用的方法是读取系统文件“/proc/meminfo”并评估内存相关信息,例如总内存大小和当前内存使用情况。
文件内容格式如下:代码片段如下:f=open("/proc/meminfo")lines=f.readlines()f.close()forlineinlines:iflen(line)<2 continuename=line.split( var=line.split( split()[0]mem[name]=long(var)*1024.0mem[>5通过读取键盘输入字符串然后将其转换为数字来获取用户输入的百分比来查找用户输入的百分比。
代码如下:input_str=raw_input("InputUsedMemory`sRateorqtoexit:")rate=float(input_str)注意:这里键盘输入的都是字符串,字符串必须转换为数字才能进行转换。
6.动态设置内存使用百分比。
测试使用两个Python脚本文件,即test.py和mem_rate.py。
其功能是显示当前内存使用情况并动态设置内存使用百分比。
如下图所示:注意:以上两个文件需要使用chmod+x*.py修改为可执行属性。
6.1要检查当前内存使用百分比,请使用上面的test.py文件并运行“./test.py”命令。
运行结果如下图所示:当前内存使用量为320MB,使用百分比为17%。
6.2动态设置内存使用百分比。
请注意,脚本文件中的第一行代码是“#!/usr/bin/python2.6”,这意味着该脚本将使用Python2.6程序执行。
需要调整此行以匹配正在运行的Linux系统中的实际Python安装程序路径。
动态内存百分比设置界面如下图所示:处于输入状态。
此外,还显示当前内存使用情况(321MB)、总内存大小(1869MB)和内存使用百分比(17%)。
如果此时内存使用百分比设置为80%,则脚本每次运行都会占用10MB内存,直到内存使用率接近或等于80%。
如下图:内存申请流程如下图:内存申请流程百分比变化分别为:35%、45%、56%、70%、...mem_rate的运行流程。
py如下图所示:内存分配过程如下:变化分别为:1461MB、1471MB、1481MB、1491MB。
如果此时内存使用百分比设置为20%,则需要释放部分内存。
test.py脚本的运行过程如下图所示:由于释放的内存运行速度较快,所以最终结果占用内存为20%。
mem_rate.py脚本的运行过程如下图所示:在内存释放过程中,内存使用量分别为:413MB、403MB、393MB、383MB,最后内存使用量稳定在20%、383MB。
输入“q”或“Q”完成内存使用百分比设置过程,如下图:此时内存使用情况如下图:内存使用情况恢复到执行前的状态“mem_rate”返回.py脚本,17%,321MB。
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※附录:完整的Python脚本代码test.py---------------------------------------------------------------------------------#!/usr/bin/python2.6defmemory_stat():mem={}f=open("/proc/meminfo")lines=f.readlines()f.close()forlineinlines:iflen(line)<2 continuename=line.split( var=line.split( split()[0]mem[name]=long(var)*1024.0mem[ returnmemmem=memory_stat()print( python2.6fromctypesimport*#GetMemoryInfo(Total,Used...Byte)defget_memory_stat():mem={}f lines=f.readlines()f.close()forlineinlines:iflen(line) continuename=line.split( var=line.split( split()[0]mem[name]=long(var)*1024.0mem[>MBn=1024*1024used=float(mem['MemUsed'])/ntotal=float(mem['MemTotal'])/nrate=used/total*100smp={'已使用':已使用,'总计':总计,'费率':费率}returnsmp#DisplayCurrentMemoryInfodefprint_memory_info(mem):#GetSimpleMemoryInfosmp=get_memory_info(mem)print("已使用(MB):%d\t总计(MB):%d\tUsedRate:%d%%"%(smp['已用'],smp['总计'],smp['速率']))#GetRateOfMemoryUsedToBeSetted(IntegerFormate)definput_memory_used_rate(org_rate):#Byte->MBn=1024*1024while(True):mem=get_memory_stat()print_memory_info(mem)input_str=raw_input("InputUsedMemory`sRateorqtoexit:")if(len(input_str)==0):continueif("q"==input_str):info={'rate':0,'used':mem['MemUsed']/n}returninfoif("Q"==input_str):info={'rate':0,'used':mem['MemUsed']/n}returninfotry:rate=float(input_str)if((rate>=org_rate)and(rate<=95)):info={'rate':rate,'used':mem['MemUsed']/n}returninfoelse:print("请输入有效数字(%d%%~95%%)."%(org_rate))exclusive:print("请输入有效数字(%d%%~95%%)。
"%(org_rate))#SetRateOfMemoryUseddefset_memory_used_rate(new_rate,total,pre_used,list):if(new_rate==0):returnNonedest_mem=总计*new_rate/100.0#10MBmb10=10485760n_chg=10#FreeMemoryOrAllocateMemory?is_new=dest_mem>pre_usedcur_used=pre_usedwhile(True):#ToCalcFreeMemoryOrAllocateMemory?need_new=dest_mem-n_chg>=pre_usedneed_del=dest_mem+n_chg<=pre_used#NeedToAllocateMemoryif(is_new):if(need_new):p=create_string_buffer(mb10)list.append(p)dest_mem=dest_mem-n_chgcur_used=cur_used+n_chgelse:return"end"#NeedToFreeMemoryelse:idx=len(list)-1if(need_deland(idx>=0)):p=list[idx]dellist[idx]p=Nonedest_mem=dest_mem+n_chgcur_used=cur_used-n_chgelse:Return"end"print("*****MemoryUsed(MB):%d"%(cur_used))#EntryOfProgram#ListOfMemoryObject,10MBOfOneObjectlist=[]#GetCurrentMemoryInfomem=get_memory_stat()#GetSimpleMemoryInfosmp=get_memory_info(mem)org_rate=smp['rate']total=smp['total']while(True):#GetRateOfMemoryToBeUsedinfo=input_memory_used_rate(org_rate)new_rate=float(info['rate'])pre_used=float(info['used'])#SetRateOfMemoryToBeUsedrtn=set_memory_used_rate(new_rate,total,pre_used,list)if(notrtn):print("再见!")exit()

在linux中查找文件的命令在linux中查找文件

如何使用命令行在Linux中查找文件和文件夹?

在使用Linux时,经常需要查找文件。

主要搜索命令包括find和grep。
这两个命令之间存在差异。
区别:(1)find命令根据文件属性进行搜索,如文件名、文件大小、所有者、所属组、是否为空、访问时间、修改时间等。

Linux中查找文件的三种方法?

Linux中查找文件的三种方法:

1.ls命令,最简单的方法就是使用ls命令,因为ls命令的输出本身就包含了文件大小信息。
例如,我想列出/bin目录中最大的5个文件。

2.Find命令,find本身就是一个搜索命令,可以递归地搜索一个目录的子目录,所以使用它也是合理的。

命令3.du可以检查磁盘空间使用情况,自然也可以用来检查占用磁盘空间较多的文件

如何查找。
文件在Linux系统的文件夹中?

方法一:在Linux中使用find命令搜索文件和文件夹

find命令使用广泛,是Linux中众所周知的搜索文件和文件夹的命令。
它在当前目录中搜索给定文件,并根据搜索条件递归遍历其子目录。

它允许用户根据大小、名称、所有者、组、类型、权限、日期和其他条件执行所有类型的文件搜索。

运行以下命令在系统中查找给定文件。

#find/-inamesshd_config

/etc/ssh/sshd_config

运行以下命令在系统中查找给定文件夹。
要在Linux中查找文件夹,我们需要使用-type参数。

#find/-typed-inamessh

/usr/lib/ssh

/usr/lib/go/src/cmd/vendor/golang.org/x/crypto/ssh

/usr/lib/go/pkg/linux_amd64/cmd/vendor/golang.org/x/crypto/ssh

/etc/ssh

使用免费卡搜索系统上的所有文件。
我们将在系统中搜索所有扩展名为.config的文件。

#find/-name*.config

/usr/lib/mono/gac/avahi-sharp/1.0.0.0__4d116c78973743f5/avahi-sharp.dll.config

/usr/lib/mono/gac/avahi-ui-sharp/0.0.0.0__4d116c78973743f5/avahi-ui-sharp.dll.config

/usr/lib/python2.7/config/Setup.config

/usr/share/git/mw-to-git/t/test.config

/var/lib/lightdm/.config

/home/daygeek/.config

/root/.config

/etc/skel/.config

使用以下Format命令搜索系统中的空文件和文件夹。

#find/-empty

使用以下命令组合查找Linux上包含特定文本的所有文件。

#find/-typef-execgrepPort22{};-print

#find/-typef-print|xargsgrepPort22

#find/-typef|xargsgrepPort22

#find/-typef-execgrep-HPort22{};

方法二:使用locate命令在Linux中查找文件和文件夹

locate命令运行比find命令更快,因为它使用updateb数据库,而find命令在实际系统中搜索。

它使用数据库而不是搜索特定文件的单个目录路径。

大多数发行版上都没有预安装locate指令,因此请使用包管理器来安装它。

数据库通过cron作业定期更新,但我们可以通过运行以下命令来手动更新。

$sudoupdatedb

只需运行以下命令即可列出给定的文件或文件夹。
无需在locate命令中指定特定选项即可打印文件或文件夹。

在系统中找到ssh文件夹。

#locate--basenamessh

/etc/ssh

/usr/bin/ssh

/usr/lib/ssh

/usr/lib/go/pkg/linux_amd64/cmd/vendor/golang.org/x/crypto/ssh

/usr/lib/go/src/cmd/go/testdata/failssh/ssh

/usr/lib/go/src/cmd/vendor/golang.org/x/crypto/ssh

在系统中查找ssh_config文件。

#locate--basenamesshd_config

/etc/ssh/sshd_config

方法三:在Linux中使用which命令定位文件

它返回在终端中输入命令时执行的可执行文件的完整路径。

当您想要创建可执行文件的桌面快捷方式或符号链接时,这非常有用。

哪个命令在$PATH环境变量中列出的目录中搜索当前用户而不是所有用户。
我的意思是,当你登录你的帐户时,你找不到根文件或目录。

运行以下命令打印vim可执行文件的完整路径。

#whichvi

/usr/bin/vi

或者,它允许用户一次执行多个文件搜索。

#which-avisudo

/usr/bin/vi

/bin/vi

/usr/bin/sudo

/bin/sudo

方法四:在Linux中使用whereis命令查找文件

whereis命令用于查找二进制文件,给定命令的源代码和手册页

Linux下如何查找文件?

1Linux下最强大的搜索命令是“search”。
格式为“查找指定目录>指定条件>指定动作>”例如使用find命令查找根目录下所有接口文件的位置,命令格式为“find/-name'interface';”;

2.使用locate在Linux系统中查找文件。
它比find命令更快。
因为它查询数据库(/var/lib/locatedb),所以数据库包含所有本地文件信息。
使用locate命令查找根目录下的接口文件的命令是“locateinterfaces”;

3使用which命令检查系统命令是否存在,并返回系统命令所在的位置。
使用which命令检查grep命令是否存在及其所在目录的命令为“whichgrep”;

4.使用which命令检查系统命令是否存在,并返回从系统命令所在的位置。
使用which命令检查grep命令是否存在并且现有目录是“whichgrep”。

5.使用type命令检查系统中的命令是否是系统自带的命令。
使用type命令检查cd命令是否为系统内置命令;

linux查看磁盘使用情况

1.使用df命令查看磁盘整体使用情况

df命令用于查看硬盘的挂载点以及对应的硬盘容量信息。
包括硬盘总大小、已用大小和剩余大小。
以及已使用空间的百分比等。

最常用的命令格式是:

1df-h

或者使用:

1df-lh

输出:

文件系统是指系统上的硬件设备文件。
大小是指硬盘或分区的总大小。
“Used”表示该尺寸已被使用,“Available”表示该尺寸可以使用。
Use%表示已使用的容量的百分比。
最后的mounton表示硬盘挂载的目录。

说明:df命令后可添加的参数

●-a:列出所有文件系统,包括系统特定的/proc和其他文件系统

●-k:以KB为单位显示每个文件系统的容量

●-m:以MB为单位显示每个文件系统的容量

●-h:以MB为单位显示GB、MB、KB等格式更方便大家阅读

●-H:用M=1000K代替M=1024K的方位方式

●-T:显示文件系统类型

●-i:不使用硬盘空间,而是使用可见节点数显示

●-l:仅显示本地文件系统设置

2。
使用du命令查看指定目录使用情况

du命令用于查看硬盘内部信息。
du命令通常需要在最后加上参数来执行。
一般格式为:

1duoptionFile/directory

我要测试的示例当前目录中python3文件夹的大小。
,命令为:

1du-shpython3

结果如图如下图,可以直观的看到这个文件夹的大小为206M。
如果没有文件名或文件夹名称,则显示当前文件夹的大小。