文档库 最新最全的文档下载
当前位置:文档库 › 文件内容的批量查找,wxPython[适合于win,linux]

文件内容的批量查找,wxPython[适合于win,linux]

文件内容的批量查找,wxPython[适合于win,linux]
文件内容的批量查找,wxPython[适合于win,linux]

文件内容的批量查找,wxPython[适合于win,linux] [python] view plaincopy

#! /usr/bin/env python

# -*- coding: utf-8 -*-

import wx,os,sys

out=None

recordsCount=0

suffixname="py"

mPattern=""

def listDir(path,isRecursive=0):

global out,recordsCount,suffixname,mPattern

if os.path.isfile(path):

li=[]

li.append(path)

else:

li=os.listdir(path)

for l in li:

l = os.path.join(path, l)#传递绝对目录

if os.path.isdir(l):

if isRecursive==1:

listDir(l,isRecursive);

continue;

if l[(l.rfind('.')+1):]!=suffixname:

continue

print l

os.getcwd()

f=open(l)

cnt=0;

lineno=1

try:

for p in f.readlines():

if p.find(mPattern)>=0:

if cnt==0:

print "[",unicode(l),"]"

out.write("[ %s ]\n" % l)

cnt=cnt+1

print lineno ,":", unicode(p)

out.write("%d:%s\n" % (lineno,p))

lineno=lineno+1

except Exception,e:

pass

finally:

f.close()

recordsCount=recordsCount+cnt;

class MyFrame(wx.Frame):

def __init__(self, *args, **kwds):

# begin wxGlade: MyFrame.__init__

kwds["style"] = wx.DEFAULT_FRAME_STYLE

wx.Frame.__init__(self, *args, **kwds)

self.text_ctrl_1 = wx.TextCtrl(self, -1, u"关键字")

self.text_ctrl_2 = wx.TextCtrl(self, -1, u"文件后缀(py)")

self.button_1 = wx.Button(self, -1, u"目录定位")

self.__set_properties()

self.__do_layout()

# end wxGlade

def __set_properties(self):

# begin wxGlade: MyFrame.__set_properties

self.SetTitle(u"文件内容批量查找")

self.button_1.SetBackgroundColour(wx.Colour(5, 255, 60))

# end wxGlade

def __do_layout(self):

# begin wxGlade: MyFrame.__do_layout

sizer_1 = wx.BoxSizer(wx.VERTICAL)

grid_sizer_1 = wx.GridSizer(3, 3, 0, 0)

grid_sizer_1.Add(self.text_ctrl_1, 0, wx.EXPAND, 0)

grid_sizer_1.Add(self.text_ctrl_2, 1, wx.EXPAND, 0)

grid_sizer_1.Add(self.button_1, 0, 0, 0)

sizer_1.Add(grid_sizer_1, 1, wx.EXPAND, 0)

self.text_ctrl_1.Bind(wx.EVT_TEXT_ENTER,self.OnClick1)

self.button_1.Bind(wx.EVT_LEFT_DOWN,self.OnClick1)

self.SetSizer(sizer_1)

sizer_1.Fit(self)

https://www.wendangku.net/doc/3b10531265.html,yout()

# end wxGlade

def OnClick1(self,event):

if self.text_ctrl_1.Value==u"关键字":

msgdlg=wx.MessageDialog(None,u"请先输入关键字",u"@_@",wx.ICON_QUESTION)

msgdlg.ShowModal()

msgdlg.Destroy()

return

if self.text_ctrl_2.Value==u"文件后缀(py)":

msgdlg=wx.MessageDialog(None,u"请先输入文件后缀",u"@_@",wx.ICON_QUESTION)

msgdlg.ShowModal()

msgdlg.Destroy()

return

dlg=wx.DirDialog(None,u"目录定位",os.getcwd())

if dlg.ShowModal()==wx.ID_OK:

global out,recordsCount,suffixname,mPattern

recordsCount=0

out=open("results.txt","w")

mPattern=self.text_ctrl_1.Value

suffixname=self.text_ctrl_2.Value

try:

listDir(dlg.GetPath(),1)

out.write(u"found %d records" % recordsCount)

except:

pass

finally:

out.close()

# wx.MessageDialog(None,u"%s"%dlg.GetPath(),u"文件路径",wx.YES_NO|wx.ICON_QUESTION).ShowModal()

import platform

sysstr = platform.system()

if(sysstr =="Windows"):

import win32api#下载地址:https://www.wendangku.net/doc/3b10531265.html,/project/pywin32/pywin32/Build%20214/pywin32-214.win32-py2.7. exe

win32api.ShellExecute(0, 'open', 'notepad.exe','results.txt','',1)

elif(sysstr == "Linux"):

os.popen(r"gedit results.txt")

# end of class MyFrame

if __name__ == "__main__":

app = wx.PySimpleApp(0)

wx.InitAllImageHandlers()

frame_1 = MyFrame(None, -1, "")

app.SetTopWindow(frame_1)

frame_1.Show()

app.MainLoop()

linux查看磁盘剩余空间

1. du -sh 查看当前文件夹大小 2. du -sh * | sort -n 列出当前文件夹下的所有文件夹及其大小,并按照文件夹大小排序 du - sh * //查看当前文件夹下所有文件的大小 3. du -sh文件夹/文件 du -sk文件夹/文件 du -sm文件夹/文件 查看指定文件或者文件夹的大小 sh/sk/sm的区别: sh根据文件大小显示为nK/nM/nG eg. [4.0K xxx.log] sk根据文件大小显示为nK eg. [4.3K xxx.log] sm根据文件大小显示为nM eg. [7M xxx.log] df命令是linux系统以磁盘分区为单位查看文件系统,可以加上参数查看磁盘剩余空间信息,命令格式: df -hl 显示格式为: 文件系统容量已用可用已用% 挂载点 Filesystem Size Used Avail Use% Mounted on /dev/hda2 45G 19G 24G 44% / /dev/hda1 494M 19M 450M 4% /boot /dev/hda6 4.9G 2.2G 2.5G 47% /home /dev/hda5 9.7G 2.9G 6.4G 31% /opt none 1009M 0 1009M 0% /dev/shm /dev/hda3 9.7G 7.2G 2.1G 78% /usr/local /dev/hdb2 75G 75G 0 100% / /dev/hdb2 75G 75G 0 100% / 以上面的输出为例,表示的意思为: HD硬盘接口的第二个硬盘(b),第二个分区(2),容量是75G,用了75G,可用是0,因此利用率是100%,被挂载到根分区目录上(/)。 下面是相关命令的解释: df -hl 查看磁盘剩余空间 df -h 查看每个根路径的分区大小 du -sh [目录名] 返回该目录的大小

linux查看文件大小命令

linux查看文件大小命令 linux系统不像windows系统,查看文件可以随时点击右键,linux中碳钢命令来查看文件大小,下面由小编为大家整理了linux查看文件命令的相关知识,希望对大家有帮助! linux查看文件命令详解 du [-abcDhHklmsSx] [-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>] [--max-depth=<目录层数>][--help][--version][目录或文件] 常用参数: -a或-all 为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。 -b或-bytes 显示目录或文件大小时,以byte为单位。 -c或–total 除了显示目录或文件的大小外,同时也

显示所有目录或文件的总和。 -D或–dereference-args 显示指定符号连接的源文件大小。 -h或–human-readable 以K,M,G为单位,提高信息的可读性。 -H或–si 与-h参数相同,但是K,M,G是以1000为换算单位,而不是以1024为换算单位。 -k或–kilobytes 以1024 bytes为单位。 -l或–count-links 重复计算硬件连接的文件。 -L<符号连接>或–dereference<符号连接> 显示选项中所指定符号连接的源文件大小。 -m或–megabytes 以1MB为单位。 -s或–summarize 仅显示总计,即当前目录的大小。

linux查看目录大小命令

Du(Disk Usage)命令功能说明:统计目录(或文件)所占磁盘空间的大小。 语 法:du [-abcDhHklmsSx] [-L <符号连接>][-X <文件 >][--block-size][--exclude=<目录或文件>] [--max-depth=<目录层数 >][--help][--version][目录或文件] 常用参数: -a或-all 为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。 -b或-bytes 显示目录或文件大小时,以byte为单位。 -c或–total 除了显示目录或文件的大小外,同时也显示所有目录或文件的总和。 -D或–dereference-args 显示指定符号连接的源文件大小。 -h或–human-readable 以K,M,G为单位,提高信息的可读性。 -H或–si 与-h参数相同,但是K,M,G是以1000为换算单位,而不是以1024为换算单位。 -k或–kilobytes 以1024 bytes为单位。 -l或–count-links 重复计算硬件连接的文件。 -L<符号连接>或–dereference<符号连接> 显示选项中所指定符号连接的源文件大小。 -m或–megabytes 以1MB为单位。 -s或–summarize 仅显示总计,即当前目录的大小。 -S或–separate-dirs 显示每个目录的大小时,并不含其子目录的大小。 -x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。 -X<文件>或–exclude-from=<文件> 在<文件>指定目录或文件。 –exclude=<目录或文件> 略过指定的目录或文件。 –max-depth=<目录层数> 超过指定层数的目录后,予以忽略。 –help 显示帮助。 –version 显示版本信息。 Linux中的du命令使用示例: 1> 要显示一个目录树及其每个子树的磁盘使用情况 du /home/linux 这在/home/linux目录及其每个子目录中显示了磁盘块数。 2> 要通过以1024字节为单位显示一个目录树及其每个子树的磁盘使用情况 du -k /home/linux 这在/home/linux目录及其每个子目录中显示了 1024 字节磁盘块数。 3> 以MB为单位显示一个目录树及其每个子树的磁盘使用情况

命令大全

Liunx 常用命令 1.ifconfig 用于配置和显示Linux内核中网络接口的网络参数 2.type 用来显示指定命令的类型,判断给出的指令是内部 令还是外部指令 3.man Linux下的帮助指令,通过man指令可以查看Linux 中的指令帮助、配置文件帮助和编程帮助等信息 4.help 用于显示shell 内部命令的帮助信息 5.ls 列表显示文件及目录 6.du 查看文件或目录所占磁盘空间大小 7.touch 创建新文件,修文件时间戳 8.stat 用于显示文件的状态信息 9.mkdir 创建新目录 10.cp 复制文件或目录 11.rm 删除文件或目录 12.mv 移动文件或目录,同一目录下重命名 13.which 查看命令所在位置 14.find 精细查找文件所在位置 15.hostname 用于显示和设置系统的主机名称 16.cat 查看文件中的内容 17.tac 倒序查看文件内容 18.nl 查看文件内容=cat –n(空行不标号)

19.more 分页查看文件内容 20.less 与more 类似,比他功能更多 21.head 查看文件开头内容(默认显示10 行) 22.tail 查看文件结尾内容(默认显示10 行) 23.wc 查看文件中单词数 24.grep 过滤文件中的内容 25.egrep 精细过滤 26.gzip 压缩,格式为.gz 27.gunzip 解压缩 28.bzip2 压缩,格式为.bz2 29.bunzip2 解压缩 30.tar 制作归档、释放归档文件 31.vi 进入vi 编辑器 32.mount 用于加载文件系统到指定的加载点 33.umount 卸载已经加载的文件系统 34.md5sum 采用MD5 报文摘要算法(128 位)计算和检查文件的校验和 35.rpm RPM 软件包的管理工具

Linux中查找文件技术大全

Linux中查找文件技术大全 每一种操作系统都是由成千上万个不同种类的文件所组成的。其中有系统本身自带的文件,用户自己的文件,还有共享文件等等。我们有时候经常忘记某份文件放在硬盘中的哪个地方。在微软的WINDOWS操作系统中要查找一份文件是相当简单的事情,只要在桌面上点击“开始”-“搜索”中就能按照各种方式在本地硬盘上,局域网络,甚至在INTERNET上查找各种文件,文档。 可是使用Linux的用户就没有那么幸运了,在Linux上查找某个文件确实是一件比较麻烦的事情。毕竟在Linux中需要我们使用专用的“查找”命令来寻找在硬盘上的文件。 Linux下的文件表达格式非常复杂,不象WINDOWS,DOS下都是统一的AAAAAAA.BBB格式那么方便查找,在WINDOWS中,只要知道要查找的文件的文件名或者后缀就非常容易查找到。Linux中查找文件的命令通常为“find”命令,“find”命令能帮助我们在使用,管理Linux的日常事务中方便的查找出我们需要的文件。对于Linux新手来说,“find”命令也是了解和学习Linux文件特点的方法。因为Linux发行版本繁多,版本升级很快,在Linux书籍上往往写明某个配置文件的所在位置,往往Linux新手按图索骥还是不能找到。比如说REDHAT Linux 7.O和REDHAT Linux 7.1中有些重要的配置文件所在的硬盘位置和文件目录就有了很大的改变,如果不学会使用“find”命令,那么在成千上万的Linux文件中要找到其中的一个配置文件是相当困难的,笔者在没有精通“find”命令之前就吃过这样的

苦头。好,下面就详细为大家介绍强大的“find”命令的全部使用方法和用途。 通过文件名查找法: 这个方法说起来就和在WINDOWS下查找文件一样容易理解了。如果你把这个文件放在单个的文件夹里面,只要使用常见的“ls"命令就能方便的查找出来,那么使用“find”命令来查找它就不能给你留下深刻的印象,毕竟“find”命令的强大功能不止这个。如果知道了某个文件的文件名,而不知道这个文件放到哪个文件夹,甚至是层层套嵌的文件夹里。举例说明,假设你忘记了httpd.conf这个文件在系统的哪个目录下,甚至在系统的某个地方也不知道,则这是可以使用如下命令: find / -name httpd.conf 这个命令语法看起来很容易就明白了,就是直接在find后面写上 -name,表明要求系统按照文件名查找,最后写上httpd.conf这个目标文件名即可。稍等一会系统会在计算机屏幕上显示出查找结果列表:etc/httpd/conf/httpd.conf 这就是httpd.conf这个文件在Linux系统中的完整路径。查找成功。如果输入以上查找命令后系统并没有显示出结果,那么不要以为系统没有执行 find/ -name httpd.conf命令,而可能是你的系统中没有安装

Linux基础教程 linux下如何不解压tar.gz文件查看其中的文件大小

Linux基础教程linux下如何不解压tar.gz文件查看其中的文件大小如何不解压tar.gz文件查看其中的文件大小 tartvf my_file.tar.gz 输出形如: -rwxr-xr-x root/root 2348366 2010-10-26 11:09:46 File_1.txt -rwxr-xr-x root/root 2383552 2010-10-26 12:52:45 File_2.txt -rw-r–r– root/root 89106866 2010-12-20 14:30:01 File_3.txt 从左起第三列数据就是文件大小(单位:字节),第6列就是文件名。如果要看得更清楚一点,用awk 来过滤一下输出的结果: tartvf my_file.tar.gz | awk '{print $3, $6}' 这样就只输出第3和第6列,输出形如: 2348366 File_1.txt 2383552 File_2.txt 89106866 File_3.txt 如果要以KB/MB/GB来显示文件大小,可以用第3列除N个1024,例如,如果要显示为GB,则: tartvf my_file.tar.gz | awk '{print $3/1024/1024/1024, $6}' 字节数连除3个1024,就是GB了,输出形如: 0.00218708 File_1.txt 0.00221985 File_2.txt 0.0829872 File_3.txt 如果对一个超大的文件(例如,上百G),并且压缩包里包含很多文件的话,这个过程将很漫长,让shell 命令在后台执行,并将结果输出到一个文件中是一个比较合理的做法,如下: nohup tar tvf my_file.tar.gz | awk '{print $3/1024/1024/1024, $6}' > /root/result.txt &

linux统计目录下的文件个数及修改时间

linux下如何查询文件数量? 我将linux下某一目录的所有文件ftp到一台windows机器上,我想知道是否下载完全了就必须比较文件夹的大小和文件夹下文件的总数量,在linux下该用什么命令啊? 文件大小可以du -sh /var类似这样的,文件数量 查看文件夹下的文件个数(当前目录的文件数) ls -l |grep "^-" | wc -l ls -l 长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等) grep ^- 这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d wc -l 统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数。 查看文件夹下的文件个数(当前目录的文件和子文件夹的文件数) find ./ -type f | wc -l 或者 ls -lR|grep "^-"|wc -l Linux下查看当前目录下文件的个数ls -l | grep “^-”| wc -l 查看当前目录下文件的个数,包括子目录里的。 ls -lR| grep “^-” | wc -l 查看某目录下文件夹(目录)的个数,包括子目录里的。 ls -lR| grep “^d” | wc -l 简要说明: ls -l 长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等) grep “^-” 这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是^d wc -l

统计输出信息的行数,因为已经过滤得只剩一般文件了,所以统计结果就是一般文件信息的行数,又由于一行信息对应一个文件,所以也就是文件的个数 Linux系统中打开文件数量的查看方法 文章转载自网管之家:https://www.wendangku.net/doc/3b10531265.html,/os/linux/200804/137662.html ulimit -n 4096 也就是限制用户的最大文件打开数为4096个 在网上查了关于怎么查看文件打开数的文章大致有两种说法 /proc/sys/fs/file-nr 该文件与file-max 相关,它有三个值: 已分配文件句柄的数目 已使用文件句柄的数目 文件句柄的最大数目 该文件是只读的,仅用于显示信息。 查看所有进程的文件打开数 lsof |wc -l 查看某个进程打开的文件数 lsof -p pid |wc -l unix 文件大小,文件行数 #文件行数 file_count=`wc -l /odsstatfs/groupfile/${file_name} | awk '{print $1}'` echo "文件行数:${file_count}" #文件大小 file_size=`ls -l /odsstatfs/groupfile/${file_name} | awk '{print $5}'` echo "文件大小:${file_size}" 总结了一下有五种方法:

Linux常用命令速查 十个最常用命令===

Linux常用命令速查十个最常用命令 1.cat 连接文件 (1)语法:cat[选项]文件列表 (2)参数: 文件列表:这是要连接文件的选项列表。如果没有指定文件或连字号(-),就从标准输入读取。 -b:计算所有非空输出行,开始为1。 -e:相当于-vE。 -n:计算所有输出行,开始为1。 -s:将相连的多个空行用单一空行代替。 -t:相当于-vT。 -u:忽略;为UNIX兼容产品而使用。 -V:显示除LFD和TAB以外的所有控制符,使用^作标志并在高位置的字符前放M-。 -A:相当于-vET。 -:E在每行末尾显示$符号。 -T:用^I显示TAB符号。 --help:打印使用信息,并以非零状态退出。 --version:在标准输出打印版本信息,然后退出。 2.cd 改变当前工作目录 (1)语法:cd目录名 (2)参数: 目录名:改变到选定的目录名。如果没有指定目录,就返回用户本户目录。 3.cp 拷贝文件 (1)语法:cp[选项] 源文件目标文件 cp[选项] 源文件组目标目录 (2)参数: -a:在备份中保持尽可能多的源文件结构和属性。 -b:作将要覆盖或删除文件的备份。 -d:将符号连接作为符号连接拷贝,而不拷贝它们所指的文件。并在备份中保持源文件间固有的连接关系。 -f:删除已存在的目标文件。 -i:提示是否覆盖已存在的目标文件。 -l:形成固有连接以代替非目录的拷贝。 -P:通过加入目标目录分支和指定的源文件名形成每个目标文件名。给cp的最后一个变量必须是已存在的目录的名字。 -p:保持原先文件的所有者,组,权限和时间标志。 -r:递归拷贝目录,把所有非目录文件当普通文件拷贝。 -s:建立符号连接,代替非目录文件的拷贝。如果目标文件不在当前目录,所有的源文件名必须是绝对路径(从…/?开始)。对不支持符号连接的系统,本选项将产生一个错误信息。 -u:更新选项。目标是非目录自己经存在并具有相同的或更新的修改时间,则不拷贝。 -v:在拷贝前打印每个文件名。 -x:从开始拷贝的文件开始,跳过在不同文件系统上的子目录。 -R:递归拷贝目录。 --help:在标准输出打印使用信息,并顺利退出。 --version:在标准输出打印版本信息,并顺利退出。 -S:用于产生备份文件的后缀。可以用SIMPLE_BACKUP_SUFFIX环境变量建立,它能被此选项绕过。若以上都未给出,缺省值是~。 -V值:备份产生的类型。可以用VERSION_CONTROL环境变量建立。它能被此选项绕过。如果VERSION_CONTROL环境变量未建立,而本选项也未给出,缺省备份类型是目前类型,有效的值是: t或numbered:总是建编号备份。 nil或exixting:如果文件已有的备份编号,建编号备份其他文件建立单一备份。 never或simple:总是建立单一备份。 源文件:要拷贝的文件。 目标文件:目标名。也可以是目录名,这种情况下,源文件名作为目标文件名,而文件放在该目录下。 源文件组:要拷贝文件的由空格分隔的列表。 目标目录:目标目录。 4.find 非常有力的查询工具 (1)语法:find目录列表匹配标准 (2)参数: 目录列表:希望查询文件或文件集的目录列表目录间用空格分隔。 匹配标准:希望查询的文件的匹配标准或说明。 -name文件:告诉find要找什么文件;要找的文件包括在引号中,可以使用通配符(*和?) -perm模式:匹配所有模式为指定数字型模式值的文件。不仅仅是读,写和执行,所有模式都必须匹配。如果在模式前是负号(-),表示采用除这个模式的所有模式。 -type x:匹配所有类型为x的文件。x是c(字符特殊),b(块特殊),d(目录),p(有名管道),l(符号连接),s(套接文件)或f(一般文件)。 -links n:匹配所有连接数为n的文件。

Linux下查看某目录或指定文件大小的命令

du -sh 文件或目录名 用法:du [选项]... [文件]... 总结每个<文件>的磁盘用量,目录则取总用量。 长选项必须用的参数在使用短选项时也是必须的。 -a, --all write counts for all files, not just directories -B, --block-size=SIZE use SIZE-byte blocks -b, --bytes print size in bytes -c, --total produce a grand total -D, --dereference-args dereference FILEs that are symbolic links -h, --human-readable 以容易理解的格式印出文件大小 (例如 1K 234M 2G) -H, --si 类似 -h,但取 1000 的次方而不是 1024 -k 即 --block-size=1K -l, --count-links 连硬链接的大小也计算在内 -L, --dereference 找出任何符号链接指示的真正目的地 -S, --separate-dirs 不包括子目录的占用量 -s, --summarize 只分别计算命令列中每个参数所占的总用量 -x, --one-file-system skip directories on different filesystems -X FILE, --exclude-from=FILE Exclude files that match any pattern in FILE. --exclude=PATTERN Exclude files that match PATTERN. --max-depth=N print the total for a directory (or file, with --all) only if it is N or fewer levels below the command line argument; --max-depth=0 is the same as --summarize

Linux文件内容查询命令

grep、fgrep和egrep命令--Linux文件内容查询命令 楼主 发表于昨天 15:01 | 只看该作者 | 倒序看帖 | 打印 | 使用道具 [color=rgb(0,0,0)]grep、fgrep和egrep命令--Linux文件内容查询命令[p=20, null, left]Linux 2010-07-15 18:59:25 阅读33 评论0 字号:大中小 [url=]订阅[/url] grep命令一次只能搜索一个指定的模式; egrep命令检索扩展的正则表达式(包括表达式组和可选项); fgrep命令检索固定字符串,它不识别正则表达式,是快速搜索命令。 语法:grep [选项] [查找模式] [文件名1,文件名2,……] egrep [选项] [查找模式] [文件名1,文件名2,……] fgrep [选项] [查找模式] [文件名1,文件名2,……] 这组命令各选项的含义为: - E 每个模式作为一个扩展的正则表达式对待。 - F 每个模式作为一组固定字符串对待(以新行分隔),而不作为正则表达式。 - b在输出的每一行前显示包含匹配字符串的行在文件中的字节偏移量。 - c 只显示匹配行的数量。 - i 比较时不区分大小写。 - h 在查找多个文件时,指示grep不要将文件名加入到输出之前。 - l 显示首次匹配串所在的文件名并用换行符将其隔开。当在某文件中多次出现匹配串时,不重复显示此文件名。 - n 在输出前加上匹配串所在行的行号(文件首行行号为1)。 - v 只显示不包含匹配串的行。 - x 只显示整行严格匹配的行。 - e expression 指定检索使用的模式。用于防止以“-”开头的模式被解释为命令选项。 - f expfile 从expfile文件中获取要搜索的模式,一个模式占一行 注意以下方面: 在命令后键入搜索的模式,再键入要搜索的文件。其中,文件名列表中也可以使用特殊字符,如“*”等,用来生成文件名列表。如果想在搜索的模式中包含有空格的字符串,可以用单引号把要搜索的模式括起来,用来表明搜索的模式是由包含空格的字符串组成。否则,Shell将把空格认为是命令行参数的定界符,而grep命令将把搜索模式中的单词解释为文件名列表中的一部分。在下面的例子中,grep命令在文件example中搜索模式“text file”。 $ grep ’text file’ example 用户可以在命令行上用Shell特殊字符来生成将要搜索的文件名列表。在下面的例子

LINUX下查找文件或字符串的方法

LINUX下查找文件或字符串的方法 第一个命令:find(我比较常用) 功能说明: find指令用于查找符合条件的文件。任何位于参数之前的字符串都将被视为欲查找的目录。 举例: 我们要在/usr目录及子目录下查找“intelism”文件: find /usr -name intelism -print 我们要在/usr目录及子目录下查找文件名包含“intelism”关键字的文件: find /usr -print |grep intelism 若不填写/usr的话就是在当前路径及子目录下查找 语法: find [目录...][-amin <分钟>][-anewer <参考文件或目录>][-atime <24小时数>][-cmin <分钟>][-cnewer <参考文件或目录>][-ctime <24小时数>][-daystart][-depyh][-empty][-exec <执行指令>][-false][-fls <列表文件>][-follow][-fprint <列表文件>][-fprint0 <列表文件>][-fprintf <列表文件><输出格式>][-fstype <文件系统类型>][-gid <群组识别码>][-group <群组名称>][-help][-ilname <范本样式>][-iname <范本样式>][-inum ][-ipath <范本样式>][-iregex <范本样式>][-links <连接数目>][-lname <范本样式>][-ls][-maxdepth <目录层级>][-mindepth <目录层级>][-mmin <分钟>][-mount][-mtime <24小时数>][-name <范本样式>][-newer <参考文件或目录>][-nogroup][noleaf] [-nouser][-ok <执行指令>][-path <范本样式>][-perm <权限数值>][-print][-print0][-printf <输出格式>][-prune][-regex <范本样式>][-size <文件大小>][-true][-type <文件类型>][-uid <用户识别码>][-used <日数>][-user <拥有者名称>][-version][-xdev][-xtype <文件类型>] 参数: -amin<分钟> 查找在指定时间曾被存取过的文件或目录,单位以分钟计算。 -anewer<参考文件或目录> 查找其存取时间较指定文件或目录的存取时间更接近现在的文件或目录。 -atime<24小时数> 查找在指定时间曾被存取过的文件或目录,单位以24小时计算。-cmin<分钟> 查找在指定时间之时被更改的文件或目录。 -cnewer<参考文件或目录> 查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录。 -ctime<24小时数> 查找在指定时间之时被更改的文件或目录,单位以24小时计算。-daystart 从本日开始计算时间。 -depth 从指定目录下最深层的子目录开始查找。 -expty 寻找文件大小为0 Byte的文件,或目录下没有任何子目录或文件的空目录。 -exec<执行指令> 假设find指令的回传值为True,就执行该指令。 -false 将find指令的回传值皆设为False。

Linux查看磁盘使用情况命令

du查看目录大小,df查看磁盘使用情况。 我常使用的命令(必要时,sudo使用root权限), 1.查看某个目录的大小:du -hs /home/master/documents 查看目录下所有目录的大小并按大小降序排列:sudo du -sm /etc/* | sort -nr | less 2.查看磁盘使用情况(文件系统的使用情况):sudo df -h df --block-size=GB -h是使输出结果更易于人类阅读;du -s只展示目录的使用总量(不分别展示各个子目录情况),-m是以MB为单位展示目录的大小(当然-k/-g 就是KB/GB了)。 更多信息,还是man du 和man df 来获得吧。 du - estimate file space usage Summarize disk usage of each FILE, recursively for directories. df - report file system disk space usage Show information about the file system on which each FILE resides, or all file systems by default. df displays the amount of disk space available on the file system containing each file nameargument. If no file name is given, the space available on all currently mounted file systems is shown.

Linux下如何调整根目录的空间大小

Linux下如何调整根目录的空间大小 一、目的 在使用CentOS6.3版本linux系统的时候,发现根目录(/)的空间不是很充足,而其他目录空间有很大的空闲,所以本文主要是针对现在已有的空间进行调整。首先,先来查看一下系统的空间分配情况: [plain] view plaincopyprint? 01.[root@CentOS-78 /]# df -h 02.Filesystem Size Used Avail Use% Mounted on 03./dev/mapper/vg_centos-lv_root 04. 50G 14G 34G 30% / 05.tmpfs 1.9G 0 1.9G 0% /dev/shm 06./dev/sda1 485M 37M 423M 8% /boot 07./dev/mapper/vg_centos-lv_home 08. 404G 670M 382G 1% /home 下面的详细步骤部分将从vg_centos-lv_home分区下取出100G的空间添加到/vg_centos-lv_root分区上去。 二、详细步骤 1、卸载vg_centos-lv_home分区 [plain] view plaincopyprint? 01.[root@CentOS-78 /]# umount /home 此时在用df命令查看将会发现/home目录已经看不见了,如下所示: [plain] view plaincopyprint? 01.[root@CentOS-78 /]# df -h 02.Filesystem Size Used Avail Use% Mounted on 03./dev/mapper/vg_centos-lv_root 04. 50G 14G 34G 30% / 05.tmpfs 1.9G 0 1.9G 0% /dev/shm

Linux查看文件夹大小

Linux查看文件夹大小 当磁盘大小超过标准时会有报警提示,这时如果掌握df和du命令是非常明智的选择。 df可以查看一级文件夹大小、使用比例、档案系统及其挂入点,但对文件却无能为力。 du可以查看文件及文件夹的大小。 两者配合使用,非常有效。比如用df查看哪个一级目录过大,然后用df查看文件夹或文件的大小,如此便可迅速确定症结。 下面分别简要介绍 du:查询文件或文件夹的磁盘使用空间 如果当前目录下文件和文件夹很多,使用不带参数du的命令,可以循环列出所有文件和文件夹所使用的空间。这对查看究竟是那个地方过大是不利的,所以得指定深入目录的层数,参数:--max-depth=,这是个极为有用的参数!如下,注意使用“*”,可以得到文件的使用空间大小. 提醒:一向命令比linux复杂的FreeBSD,它的du命令指定深入目录的层数却是比linux简化,为 -d。 以下是代码片段: [root@bsso yayu]# du -h --max-depth=1 work/testing 27M work/testing/logs 35M work/testing [root@bsso yayu]# du -h --max-depth=1 work/testing/* 8.0K work/testing/func.php 27M work/testing/logs 8.1M work/testing/nohup.out 8.0K work/testing/testing_c.php 12K work/testing/testing_func_reg.php 8.0K work/testing/testing_get.php 8.0K work/testing/testing_g.php 8.0K work/testing/var.php [root@bsso yayu]# du -h --max-depth=1 work/testing/logs/ 27M work/testing/logs/

Linux中查看各文件夹大小命令

du [-abcDhHklmsSx] [-L <符号连接>][-X <文 件>][--block-size][--exclude=<目录或文件>] [--max-depth=<目录层数>][--help][--version][目录或文件] 常用参数: -a或-all 为每个指定文件显示磁盘使用情况,或者为目录中每个文件显示各自磁盘使用情况。 -b或-bytes 显示目录或文件大小时,以byte为单位。 -c或–total 除了显示目录或文件的大小外,同时也显示所有目录或文件的总和。 -D或–dereference-args显示指定符号连接的源文件大小。 -h或–human-readable 以K,M,G为单位,提高信息的可读性。 -H或–si与-h参数相同,但是K,M,G是以1000为换算单位,而不是以1024为换算单位。 -k或–kilobytes 以1024 bytes为单位。 -l或–count-links 重复计算硬件连接的文件。 -L<符号连接>或–dereference<符号连接>显示选项中所指定符号 连接的源文件大小。 -m或–megabytes 以1MB为单位。 -s或–summarize 仅显示总计,即当前目录的大小。 -S或–separate-dirs显示每个目录的大小时,并不含其子目录的大小。

-x或–one-file-xystem以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。 -X<文件>或–exclude-from=<文件>在<文件>指定目录或文件。 –exclude=<目录或文件>略过指定的目录或文件。 –max-depth=<目录层数>超过指定层数的目录后,予以忽略。 –help 显示帮助。 –version 显示版本信息。 1>要显示一个目录树及其每个子树的磁盘使用情况 du /home/linux 这在/home/linux目录及其每个子目录中显示了磁盘块数。 2>要通过以1024字节为单位显示一个目录树及其每个子树的磁盘使用情况 du -k /home/linux 这在/home/linux目录及其每个子目录中显示了1024 字节磁盘块数。 3>以MB为单位显示一个目录树及其每个子树的磁盘使用情况 du -m /home/linux 这在/home/linux目录及其每个子目录中显示了MB 磁盘块数。 4>以GB为单位显示一个目录树及其每个子树的磁盘使用情况 du -g /home/linux 这在/home/linux目录及其每个子目录中显示了GB 磁盘块数。 5>查看当前目录下所有目录以及子目录的大小: du -h . “.”代表当前目录下。也可以换成一个明确的路径 -h表示用K、M、G的人性化形式显示 6>查看当前目录下user目录的大小,并不想看其他目录以及其子目录: du -sh user -s表示总结的意思,即只列出一个总结的值 du -h --max-depth=0 user --max-depth=n表示只深入到第n层目录,此处设置为0,即表示不深入到子目录。 7>列出user目录及其子目录下所有目录和文件的大小: du -ah user -a表示包括目录和文件 8>列出当前目录中的目录名不包括xyz字符串的目录的大小:

Linux常见命令和目录文件管理

Linux常见命令和目录文件管理 1、Linux命令分类: Linux命令的执行必须依赖shell命令解释器。shell负责接收用户输入的命令并进行解释,将需要执行的操作传递给系统内核执行。分为两种类型。 ?内部命令:是集成于shell解释器程序内部的一些特殊指令,也称为内建指令。内部命 令属于shell的一部分,所以没有单独对应的系统文件,只要shell解释器被运行,内部指令就自动载入内存了,用户可以直接使用。内部命令无需从硬盘重新读取文件,执行效率更高。 ?外部命令:是Linux系统中能够完成特定功能的脚本文件或二进制程序,每个外部命令 对应了系统中的一个文件,是属于shell解释器程序之外的命令。Linux系统必须知道外部命令对应的文件位置,才能够由shell加载并执行。 2、Linux命令行的格式 命令字[选项] [参数] 1)命令字 即命令名称,整条命令中最关键的一部分 2)选项 作用是调节命令的具体功能,决定这条命令如何执行。 3)参数 是命令字的处理对象,通常情况下命令参数可以是文件名,目录,路径或用户名等。 常见命令: uname -r 查看Linux内核版本信息 cat /proc/cpuinfo 查看cpu型号,规格等 cat /proc/meminfo 查看内存信息 hostname 查看主机完整名称 ifconfig 查看网卡信息 shutdown -h now 关机 shutdown -r now 重启 pwd 查看用户当前所在的目录 cd 将用户的工作目录更改到其他位置 ?. 当前的工作目录 ?.. 当前目录的上一级目录 ?~用户名指定用户的宿主目录,省略用户名为当前用户 -上一次的工作目录 ls 显示目录中的内容,包括子目录和文件的相关属性信息等 ?-l 以长格式显示,包括权限、大小、最后更新时间等 ?-a 显示所有子目录和文件,包括隐藏目录和隐藏文件 ?-d 显示目录本身的属性,不是显示目录中的内容 ?-h 以K、M等单位显示大小,不是默认的字节 du 统计指定目录或文件占用磁盘空间的大小 ?-a 统计时包括所有文件,不仅仅只统计目录 ?-h 以K、M等单位显示统计结果

Linux下查看文件内容的命令

Linux下查看文件内容的命令 查看文件内容的命令: cat 由第一行开始显示内容,并将所有内容输出 tac 从最后一行倒序显示内容,并将所有内容输出 more 根据窗口大小,一页一页的现实文件内容 less 和more类似,但其优点可以往前翻页,而且进行可以搜索字符 head 只显示头几行 tail 只显示最后几行 nl 类似于cat -n,显示时输出行号 1.cat 与tac cat的功能是将文件从第一行开始连续的将内容输出在屏幕上。但是cat并不常用,原因是当文件大,行数比较多时,屏幕无法全部容下时,只能看到一部分内容。 cat语法:cat [-n] 文件名(-n :显示时,连行号一起输出) tac的功能是将文件从最后一行开始倒过来将内容数据输出到屏幕上。我们可以发现,tac实际上是cat反过来写。这个命令也不常用。tac语法:tac 文件名。

2.more和less(常用) more的功能是将文件从第一行开始,根据输出窗口的大小,适当的输出文件内容。当一页无法全部输出时,可以用“回车键”向下翻行,用“空格键”向下翻页。退出查看页面,请按“q”键。另外,more 还可以配合管道符“|”(pipe)使用,例如:ls -al | more more的语法:more 文件名 Enter 向下n行,需要定义,默认为1行; Ctrl f 向下滚动一屏; 空格键向下滚动一屏; Ctrl b 返回上一屏; = 输出当前行的行号; :f 输出文件名和当前行的行号; v 调用vi编辑器; ! 命令调用Shell,并执行命令; q 退出more less的功能和more相似,但是使用more无法向前翻页,只能向后翻。less可以使用【pageup】和【pagedown】键进行前翻页和后翻页,这样看起来更方便。 less的语法:less 文件名 less还有一个功能,可以在文件中进行搜索你想找的内容,假设你想在passwd文件中查找有没有weblogic字符串,那么你可以这样来做:

linux 下查看文件修改时间等

查看文件时间戳命令:stat awk.txt File: `awk.txt' Size: 20 Blocks: 8 IO Block: 4096 regular file Device: 801h/2049d Inode: 380730 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2008-04-26 01:50:44.000000000 +0800 Modify: 2008-04-26 01:48:18.000000000 +0800 Change: 2008-04-26 01:48:18.000000000 +0800 说明:Access访问时间。Modify修改时间。Change状态改变时间。可以stat *查看这个目录所有文件的状态。 现在是要过滤出Modify的时间戳,并以yyyyMMddHHSS格式保存,则可以利用下面这条命令: stat awk.txt | grep -i Modify | awk -F. '{print $1}' | awk '{print $2$3}'| awk -F- '{print $1$2$3}' | awk -F: '{print $1$2$3}' 输出结果:20080426014818 修改文件时间与创建新文件:touch 在介绍ls命令时,提到每个文件在Linux下面都会记录3个主要的修改时间: ? modification time(mtime,修改时间):当该文件的“内容数据”更改时,就会更新这个时间。内容数据指的是文件的内容,而不是文件的属性。 ? status time(ctime,状态时间):当该文件的”状态(status)”改变时,就会更新这个时间,举例来说,更改了权限与属性,就会更新这个时间。 ? access time(atime,存取时间):当“取用文件内容”时,就会更新这个读取时间。举例来说,使用cat去读取 ~/.bashrc,就会更新atime了。举例来说,我们来看一看/etc/man.config文件的时间。 [root@linux ~]# ls -l /etc/man.config -rw-r--r-- 1 root root 4506 Apr 8 19:11 /etc/man.config [root@linux ~]# ls -l --time=atime /etc/man.config -rw-r--r-- 1 root root 4506 Jul 19 17:53 /etc/man.config [root@linux ~]# ls -l --time=ctime /etc/man.config -rw-r--r-- 1 root root 4506 Jun 25 08:28 /etc/man.config 看到了吗?在默认的情况下,ls显示的是该文件的mtime,也就是这个文件的内容上次更改的时间。我的系统是在6/25安装的,因此,这个文件产生但状态更改的时间就回溯到那个时间点。因为刚才的范例中使用

相关文档