linux命令大全及详解 linux命令大全chm版

Linux常用命令以及解释1.cd/home/fleety/Diagserver/log
cd到指定linux命令大全及详解的目录
2.tail -f day.log
实时读取指定目录下的日志(一直中linux命令大全及详解 , 不停止)
3.grep -a 'mdtId' day.log 或grep -v 'mdtid' day.log
指定条件下查找mdtid文件的记录
4.tar -zcvf day.log.tgz day.log 或 tar -zcvf day.log.tgz
分别是四个参数
x : 从 tar 包中把文件提取出来
z : 表示 tar 包是被 gzip 压缩过的,所以解压时需要用 gunzip 解压
v : 显示详细信息
f xxx.tar.gz : 指定被处理的文件是 xxx.tar.gz
5.mkdir -p/home/fkeety/Diagserver/log
在home下建一个fleeety的子目录 , 在fleety下建一个DiagServer的子目录,在DiagServer建一个log的子目录
6.mv day.log day.log.bak
mv,移动文件到另一个文件,备份
7.rm -rf day.log
删除这个文件
8.vi day.log
打开或新建day.log文件 , 并将光标置于第一行首
9.pwd
显示工作目录
10. In -s aa bb
为bb文件在aa文件上建立一个同步的链接
11.unzip day.log.zip
解压到当前目录下
12. find/home/fleety/Diagserver -name 'zwyc' -print**
查找名称为XXX的内容并打印
13.ssh -l root 180.168.34.250 -p 9222
root权限连接主机,端口是9222
14.telnet 192.168.0.22 23
建立远程tcp连接
15. sed -n '100.2720p'1159857_20150506_2159857_20150506_2_2
将字符串'100,2720p' 写入文件15..._2文件里 并重定向到15..._2_2文件里
16.chmod fleety.fleety aaa
给fleety.fleety设置权限
17.chown 755 aaa
给aaa 添加
7 拥有者有 读取 , 写入,执行权限
7 组用户有 读取 , 写入,执行权限
5 其linux命令大全及详解他用户有 读取,执行权限
18.cp -r /home/fleety/Diagserve/log ./
将log文件下的所有内容 复制到当前目录下
19.ftp 192.168.0.218 21
ftp模式连接远程主机 ,服务器会询问用户名和密码
20.more day.log
查看day.log日志,分页形式打开,more一页页显示文件内容 空白键下一页 b键上一页
21.ps -ef
查看系统进程
22.top
主要用于查看进程的相关信息,同时它也会提供系统平均负载,cpu 信息和内存信息
Linux命令大全linux命令格式:
说明:command: 命令名,相应功能的英文单词或单词的缩写 [-options]:选项,可用来对命令进行控制,也可以省略,[]代表可选 parameter1 …:传给命令的参数:可以是零个一个或多个
一般是linux命令自带的帮助信息
如:
man是linux提供的一个手册 , 包含了绝大部分的命令、函数使用说明
该手册分成很多章节(section),使用man时可以指定不同的章节来浏览 。
例:man ls ; man 2 printf
man中各个section意义如下:
man是按照手册的章节号的顺序进行搜索的 。
man设置了如下的功能键:
在敲出命令的前几个字母的同时,按下tab键 , 系统会自动帮我们补全命令
当系统执行过一些命令后,可按上下键翻看以前的命令,history将执行过的命令列举出来
ls是英文单词list的简写,其功能为列出目录的内容,是用户最常用的命令之一,它类似于DOS下的dir命令 。
Linux文件或者目录名称最长可以有265个字符,“.”代表当前目录,“..”代表上一级目录 , 以“.”开头的文件为隐藏文件,需要用 -a 参数才能显示 。
ls常用参数:
Linux允许将命令执行结果重定向到一个文件 , 本应显示在终端上的内容保存到指定文件中 。
如:lstest.txt ( test.txt 如果不存在,则创建 , 存在则覆盖其内容 )
注意: 输出重定向会覆盖原来的内容,输出重定向则会追加到文件的尾部 。
查看内容时,在信息过长无法在一屏上显示时 , 会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用more命令,每次只显示一页,按下空格键可以显示下一页,按下q键退出显示 , 按下h键可以获取帮助 。
管道:一个命令的输出可以通过管道做为另一个命令的输入 。
管道我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里“ | ”的左右分为两端,左端塞东西(写),右端取东西(读) 。
clear作用为清除终端上的显示(类似于DOS的cls清屏功能),也可使用快捷键:Ctrll ( “l” 为字母 ) 。
在使用Unix/Linux的时候,经常需要更换工作目录 。cd命令可以帮助用户切换工作目录 。Linux所有的目录和文件名大小写敏感
cd后面可跟绝对路径,也可以跟相对路径 。如果省略目录,则默认切换到当前用户的主目录 。
使用pwd命令可以显示当前的工作目录,该命令很简单 , 直接输入pwd即可,后面不带参数 。
通过mkdir命令可以创建一个新的目录 。参数-p可递归创建目录 。
需要注意的是新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限 。
可使用rmdir命令删除一个目录 。必须离开目录,并且目录必须为空目录,不然提示删除失败 。
可通过rm删除文件或目录 。使用rm命令要小心,因为文件删除后不能恢复 。为了防止文件误删,可以在rm后使用-i参数以逐个确认要删除的文件 。
常用参数及含义如下表所示:
Linux链接文件类似于Windows下的快捷方式 。
链接文件分为软链接和硬链接 。
软链接:软链接不占用磁盘空间,源文件删除则软链接失效 。
硬链接:硬链接只能链接普通文件,不能链接目录 。
使用格式:
如果没有-s选项代表建立一个硬链接文件 , 两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在 , 所以-s选项是更常见的形式 。
注意:如果软链接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径 。
Linux系统中grep命令是一种强大的文本搜索工具,grep允许对文本文件进行模式查找 。如果找到匹配模式, grep打印包含模式的所有行 。
grep一般格式为:
在grep命令中输入字符串参数时 , 最好引号或双引号括起来 。例如:grep‘a ’1.txt 。
常用选项说明:
find命令功能非常强大,通常用来在特定的目录下搜索符合条件的文件,也可以用来搜索特定用户属主的文件 。
常用用法:
cp命令的功能是将给出的文件或目录复制到另一个文件或目录中,相当于DOS下的copy命令 。
常用选项说明:
用户可以使用mv命令来移动文件或目录,也可以给文件或目录重命名 。
常用选项说明:
计算机中的数据经常需要备份,tar是Unix/Linux中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据 。
tar使用格式 tar [参数] 打包文件名 文件
tar命令很特殊,其参数前面可以使用“-”,也可以不使用 。
常用参数:
tar与gzip命令结合使用实现文件打包、压缩 。tar只负责打包文件,但不压缩,用gzip压缩tar打包后的文件 , 其扩展名一般用xxxx.tar.gz 。
gzip使用格式如下:
gzip [选项] 被压缩文件
常用选项:
tar与bzip2命令结合使用实现文件打包、压缩(用法和gzip一样) 。
tar只负责打包文件,但不压缩,用bzip2压缩tar打包后的文件,其扩展名一般用xxxx.tar.gz2 。
在tar命令中增加一个选项(-j)可以调用bzip2实现了一个压缩的功能,实行一个先打包后压缩的过程 。
压缩用法:tar -jcvf 压缩包包名 文件...(tar jcvf bk.tar.bz2 *.c)
解压用法:tar -jxvf 压缩包包名 (tar jxvf bk.tar.bz2)
通过zip压缩文件的目标文件不需要指定扩展名,默认扩展名为zip 。
压缩文件:zip [-r] 目标文件(没有扩展名) 源文件
解压文件:unzip -d 解压后目录文件 压缩文件
whoami该命令用户查看当前系统当前账号的用户名 。可通过cat /etc/passwd查看系统用户信息 。
由于系统管理员通常需要使用多种身份登录系统,例如通常使用普通用户登录系统,然后再以su命令切换到root身份对传统进行管理 。这时候就可以使用whoami来查看当前用户的身份 。
who命令用于查看当前所有登录系统的用户信息 。
常用选项:
如果是图形界面,退出当前终端;
如果是使用ssh远程登录,退出登陆账户;
如果是切换后的登陆用户 , 退出则返回上一个登陆账号 。
在Unix/Linux中添加用户账号可以使用adduser或useradd命令,因为adduser命令是指向useradd命令的一个链接,因此,这两个命令的使用格式完全一样 。
useradd命令的使用格式如下:
useradd [参数] 新建用户账号
在Unix/Linux中 , 超级用户可以使用passwd命令为普通用户设置或修改用户口令 。用户也可以直接使用该命令来修改自己的口令,而无需在命令后面使用用户名 。
可以通过su命令切换用户,su后面可以加“-” 。su和su –命令不同之处在于,su -切换到对应的用户时会将当前的工作目录自动转换到切换后的用户主目录:
注意:如果是ubuntu平台 , 需要在命令前加“sudo”,如果在某些操作需要管理员才能操作 , ubuntu无需切换到root用户即可操作 , 只需加“sudo”即可 。sudo是ubuntu平台下允许系统管理员让普通用户执行一些或者全部的root命令的一个工具,减少了root 用户的登陆和管理时间,提高了安全性 。
方法一:
方法二:
groupadd 新建组账号 groupdel 组账号 cat /etc/group 查看用户组
使用方法:usermod -g 用户组 用户名
新创建的用户,默认不能sudo,需要进行一下操作
-g用来制定这个用户默认的用户组
-G一般配合'-a'来完成向其它组添加
chmod 修改文件权限有两种使用格式:字母法与数字法 。
字母法:chmod u/g/o/a/-/= rwx 文件
cal命令用于查看当前日历 , -y显示整年日历
设置时间格式(需要管理员权限):
date [MMDDhhmm[[CC]YY][.ss]]format
CC为年前两位yy为年的后两位 , 前两位的mm为月,后两位的mm为分钟,dd为天,hh为小时,ss为秒 。如: date 010203042016.55 。
显示时间格式(date ' %y,%m,%d,%H,%M,%S'):
进程是一个具有一定独立功能的程序,它是操作系统动态执行的基本单元 。
ps命令可以查看进程的详细状况,常用选项(选项可以不加“-”)如下:
top命令用来动态显示运行中的进程 。top命令能够在运行后 , 在指定的时间间隔更新显示信息 。可以在使用top命令时加上-d 来指定显示信息更新的时间间隔 。
在top命令执行后,可以按下按键得到对显示的结果进行排序:
kill命令指定进程号的进程,需要配合 ps 使用 。有些进程不能直接杀死,这时候我们需要加一个参数“ -9 ”,“ -9 ” 代表强制结束.
使用格式:
kill [-signal] pid
df命令用于检测文件系统的磁盘空间占用和空余情况,可以显示所有文件系统对节点和磁盘块的使用情况 。
du命令用于统计目录或文件所占磁盘空间的大?。?该命令的执行结果与df类似,du更侧重于磁盘的使用状况 。
du命令的使用格式如下: du [选项] 目录或文件名
Linux常用基本命令大全介绍 学习Linux系统,命令是最基础的一部分,有着很重要的地位,所以入门必须掌握好常用命令 。下面由我为大家整理了Linux系统常用的基本命令入门篇,希望对大家有帮助!
Linux系统常用的基本命令入门篇一、基础命令
1.Linu x的进 入与退出系统
进入Linux系统:
必须要输入用户的账号,在系统安装过程中可以创建以下两种帐号:
1.root--超级用户帐号(系统管理员),使用这个帐号可以在系统中做任何事情 。
2.普通用户--这个帐号供普通用户使用 , 可以进行有限的操作 。
一般的Linux使用者均为普通用户,而系统管理员一般使用超级用户帐号完成一些系统管理的工作 。如果只需要完成一些由普通帐号就能完成的任务,建议不要使用超级用户帐号,以免无意中破坏系统 。影响系统的正常运行 。
用户登录分两步:第一步,输入用户的登录名,系统根据该登录名识别用户;第二步,输入用户的口令,该口令是用户自己设置的一个字符串 , 对其他用户是保密的,是在登录时系统用来辨别真假用户的关键字 。
当用户正确地输入用户名和口令后,就能合法地进入系统 。屏幕显示:
[root@loclhost/root] #
这时就可以对系统做各种操作了 。注意超级用户的提示符是ldquo;#rdquo;,其他用户的提示符是ldquo;$rdquo; 。
2.修改口令
为了更好的保护用户帐号的安全 , Linux允许用户随时修改自己的口令,修改口令的命令是passwd,它将提示用户输入旧口令和新口令,之后还要求用户再次确认新口令,以避免用户无意中按错键 。如果用户忘记了口令 , 可以向系统管理员申请为自己重新设置一个 。
3.虚拟控制台
Linux是一个真正的多用户操作系统 , 它可以同时接受多个用户登录 。Linux还允许一个用户进行多次登录,这是因为Linux和UNIX一样,提供了虚拟控制台的访问方式,允许用户在同一时间从控制台进行多次登录 。虚拟控制台的选择可以通过按下Alt键和一个功能键来实现,通常使用F1-F6例如,用户登录后,按一下Alt-F2键,用户又可以看到"login:"提示符,说明用户看到了第二个虚拟控制台 。然后只需按Alt-F1键,就可以回到第一个虚拟控制台 。一个新安装的Linux系统默认允许用户使用Alt-F1到Alt-F6键来访问前六个虚拟控制台 。虚拟控制台可使用户同时在多个控制台上工作,真正体现Linux系统多用户的特性 。用户可以在某一虚拟控制台上进行的工作尚未结束时,切换到另一虚拟控制台开始另一项工作 。
退出系统
不论是超级用户,还是普通用户,需要退出系统时,在shell提示符下 , 键入exit命令即可 。
4.查看命令帮助信息
man命令
man命令用于查询命令和程序的使用方法和参数 。
例如:
man ls
将显示ls命令的基本格式和使用方法
Linux系统常用的基本命令入门篇二、关机重启命令
首先 , 是关机/重启命令,仅在虚拟机时使用,实际工作中用不到
reboot 一般不跟参数使用,输入指令即可重启
shutdown 一般需要跟参数,例:
shutdown -r 延时多少分钟重启,一般使用now
shutdown -r now 立即重启
shutdown -f 强制重启
跟windows一样,linux也存在注销功能
exit
1)halt
halt 可不接参数
halt -f 强制关机
2)poweroff
poweroff 可不接参数使用
poweroff -f 强制关机
3)init 0
4)shutdown 不可单独使用
shutdown -h 分钟数 延时多久关机
shutdown -h now 立即关机
Linux系统常用的基本命令入门篇三、vi编辑
vi命令是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器 。
Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能 。
vi编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用vi编辑器就必须熟练掌握着两种模式的切换 。
默认情况下,打开vi编辑器后自动进入命令模式 。从编辑模式切换到命令模式使用ldquo;escrdquo;键,从命令模式切换到编辑模式使用ldquo;Ardquo;、ldquo;ardquo;、ldquo;Ordquo;、ldquo;ordquo;、ldquo;Irdquo;、ldquo;irdquo;键 。
vi编辑器提供了丰富的内置命令,有些内置命令使用键盘组合键即可完成,有些内置命令则需要以冒号ldquo;:rdquo;开头输入 。常用内置命令如下:
1 Ctrl u:向文件首翻半屏;
2 Ctrl d:向文件尾翻半屏;
3 Ctrl f:向文件尾翻一屏;
4 Ctrl b:向文件首翻一屏;
5 Esc:从编辑模式切换到命令模式;
6 ZZ:命令模式下保存当前文件所做的修改后退出vi;
7 :行号:光标跳转到指定行的行首;
8 :$:光标跳转到最后一行的行首;
9 x或X:删除一个字符,x删除光标后的,而X删除光标前的;
10 D:删除从当前光标到光标所在行尾的全部字符;
11 dd:删除光标行正行内容;
12 ndd:删除当前行及其后n-1行;
13 nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字;
14 p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方;
15 P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方;
16 /字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;
17 ?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示;
18 a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串 。其中,ldquo;s/rdquo;表示进行替换操作;
19 a:在当前字符后添加文本;
20 A:在行末添加文本;
21 i:在当前字符前插入文本;
22 I:在行首插入文本;
23 o:在当前行后面插入一空行;
24 O:在当前行前面插入一空行;
25 :wq:在命令模式下,执行存盘退出操作;
26 :w:在命令模式下,执行存盘操作;
27 :w!:在命令模式下,执行强制存盘操作;
28 :q:在命令模式下,执行退出vi操作;
29 :q!:在命令模式下 , 执行强制退出vi操作;
30 :e文件名:在命令模式下,打开并编辑指定名称的文件;
31 :n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件;
32 :f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例;
33 :set nu:在命令模式下,用于在最左端显示行号;
34 :set nonu:在命令模式下,用于在最左端不显示行号;
35 :1,3y 复制第一行到第三行
36 :1,3d 删除第一行到第三行
37 :1,3s/str/str_new/g 替换第一行到第三行中的字符串
38 :1,3s/str/str_new 替换第一行到第三行中的字符串第一个字符
39 :1,3 g/str /d 删除第一行到第三行中含有这个字符串的行
Linux常用命令一、查询相关
find
按规则查找某个文件或文件夹,包括子目录
find . -name '_sh' -- 以.sh结尾的文件
find . -name '_hannel_ -- 包含channel字符的文件
find . -name 'build_ -- 以build开头的文件
find . -name 'abc??' -- abc后面有两个字符的文件
grep
查找内容包含指定的范本样式的文件,Global Regular Expression Print
grep -n pattern files -- 规则 -n表示显示行号
grep -n 'PostsActivity' AndroidManifest.xmlgrep -n '\d' AndroidManifest.xmlgrep 'aapt' build-channel.xml -- 文件中包含字符串的所有地方
grep -n 'aapt' build-channel.xml -- 文件中包含字符串的所有地方,并显示行号
ps -e | grep java -- 所有java进程
ps -e | grep -i qq --所有qq进程,不区分大小写
find . -name '_hannel.xml' | xargs grep -n 'aapt' -- 在以channel.xml结尾的文件中查找包含lsquo;aaptrsquo;关键字的地方
ls | grep 'channel' -- 包含channel关键字的文件
which
在PATH变量指定的路径中 , 搜索某个系统命令的位置,并且返回第一个搜索结果
which zipwhich grep
Linux常用命令二、查看命令
tail
tail [-f] [-c Number | -n Number | -m Number | -b Number | -k Number] [File]
从指定点开始将文件写到标准输出 。使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新 , 使你看到最新的文件内容 。
tail -f test.log,循环查看文件内容,Ctrl c来终止
tail -n 5 test.log,显示文件最后5行内容
tail -n5 test.log,从第5行开始显示文件
more
more [-dlfpcsu] [-num] [ / pattern] [ linenum] [file...]
more命令和cat的功能一样都是查看文件里的内容,但有所不同的是more可以按页来查看文件的内容 , 还支持直接跳转行等功能 。
more3 test.log,显示文件中从第3行起的内容
more -5 test.log,设定每屏显示行数
ls -l | more -5,每页显示5个文件信息
more/day3 test.log,查找第一个出现"day3"字符串的行,并从该处前两行开始显示输出
less
less [options] [file...]
与more命令一样,less命令也用来分屏显示文件的内容 。但是二者存在差别:less命令允许用户向前或向后浏览文件,而more命令只能向前浏览 。用less命令显示文件时,用PageUp键向上翻页 , 用PageDown键向下翻页 。要退出less程序 , 应按Q键 。
less test.log,查看文件
ps -ef | less,查看进程信息并通过less分页显示
history | less,查看命令历史使用记录并通过less分页显示
less test1.log test2.log , 浏览多个文件,n和p切换文件
watch
watch [options] command
每隔一段时间重复运行一个命令,默认间隔时间是2秒 。要运行的命令直接传给shell(注意引用和转义特殊字符) 。结果会展示为全屏模式,这样你可以很方便的观察改变
watch -n 60 date,执行date命令每分钟一次 , 输入^C 退出
watch -d ls -l,查看目录变化
watch -d rsquo;ls -l | fgrep joersquo;,想找joe用户的文件
watch -d 'ls -l|grep scf' , 监测当前目录中 scf' 的文件的变化
watch -n 10 'cat /proc/loadavg' , 10秒一次输出系统的平均负载
watch -n 1 -d netstat -ant,每隔一秒高亮显示网络链接数的变化
watch -n 1 -d 'pstree | grep http' , 每隔一秒高亮显示http链接数的变化
Linux常用命令三、文件相关
vi
vi file
按i键,进入编辑模式
按esc键,进入命令模式
:w 保存文件但不退出vi
:w file 将修改另外保存到file中,不退出vi
:w! 强制保存,不推出vi
:wq 保存文件并退出vi
:wq! 强制保存文件,并退出vi
q: 不保存文件,退出vi
:q! 不保存文件,强制退出vi
:e! 放弃所有修改,从上次保存文件开始再编辑
chmod
change mode,变更文件或目录的读、写、运行权限
chmod [-cfvR] [--help] [--version] mode file...
mode:权限设定字串 , 格式如下 : [ugoa...][[ -=][rw xX ]...][,...]
u 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者 , o 表示其他以外的人 , a 表示这三者皆是
表示增加权限、- 表示取消权限、= 表示唯一设定权限 。
r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行 。
chmod也可以用数字来表示权限,语法为:chmod abc file,如chmod 777 file
其中a,b,c各为一个数字,分别表示User、Group、及Other的权限 。r=4,w=2,x=1
chmod 777 file,等同于 chmod a=rwx file
chmod ug=rwx,o=x file , 等同于 chmod 771 file
chmod 4755 filename,可使此程序具有root的权限
ls -l 可以查看列出当前用户的文件权限
zip
zip -r filename.zip filesdir
zip -r test.zip ./_把当前所有文件压缩到test.zip
zip -r test.zip test , 把test文件所有文件及目录,要是到test.zip
zip -d test.zip test.txt,删除压缩文件中test.txt文件
zip -m test.zip ./test.txt,向压缩文件中test.zip中添加test.txt文件
zip -r test.zip file1 file2 file3 filesdir,处理多个文件和目录,空格隔开
unzip
unzip zip-file,解压到当前目录
unzip -d dst-dir zip-file,解压到指定的目录,-d后为指定目录
unzip -n zip-file,不覆盖已经存在的文件,-n为不要覆盖原有的文件
unzip -n -d dst-dir zip-file,解压到指定的目录 , 不覆盖已经原有的文件
unzip -o -d dst-dir zip-file , -o不必先询问用户覆盖原有文件
unzip -l zip-file,仅查看压缩文件内所包含的文件
tar
tar cvf test.tar test,把test下所有文件和目录做备份tar czvf test.tar.gz test , 把test下所有文件和目录做备份并进行压缩tar xzvf test.tar.gz , 把这个备份文件还原并解压缩tar tvf test.tar | more,查看备份文件的内容,并以分屏方式显示在显示器上
tar czvf test.tar.gz test --exclude=test/svn,备份压缩并排除目录
touch
Linux常用命令详解 | find find 命令的基本结构如下:
find 命令手册 : man find
find 命令中的-name选项可以根据文件名称进行检索( 区分大小写 ) 。如需要忽略文件名中的大小写,可以使用-iname选项 。
-name和-iname两个选项都支持wildcards。如:
例1:查找 /usr 目录下所有文件名以.txt结尾的文件
例2:查找 /usr 目录下所有文件名刚好为 4 个字符的文件
例3:查以大写字母开头的文件
例4:查以两个小写字母和两个数字开头的txt文件
类似的还有:
-lname -ilname
-path -ipath
-regx -iregx
有些时候,你需要在搜索时匹配某个文件或目录的 完整路径 ,而不仅仅是匹配文件名 。可以使用-path或-ipath选项 。
例1:如查找 /usr 下所有文件名以.txt结尾的文件或目录,且该文件的父目录必须是src。可以使用以下命令:
例2:在当前目录除aa之外的子目录内搜索 txt文件
例3:在当前目录,不再子目录中,查找txt文件
如果只想搜索得到文件 或 目录,即不想它们同时出现在结果中 。可以使用-type选项指定文件类型 。
-type选项最常用的参数如下:
例:检索 /usr 下所有文件名以python开头的目录
find 命令支持-empty选项用来检索 为空 的文件或目录 。空文件即文件里没有任何内容,空目录即目录中没有任何文件或子目录 。
例:检索用户主目录下所有的空目录
find 命令也允许用户对当前的匹配条件进行 “反义” (类似于 逻辑非 操作) 。
如需要检索 /usr 下所有文件名 不 以.txt为后缀的文件 。可以使用以下命令:
也可以“翻转”任何其他的筛选条件,如:检索 /usr 下所有内容不为空的文件
为了检索归属于特定用户的文件或目录,可以使用-user选项 。
例:检索根目录下所有属主为 starky 的文件
类似于-user 选项, -group选项则可以根据文件或目录的 属组 进行检索 。
有些时候,需要根据文件创建或修改的时间进行检索 。
Linux 系统中,与文件相关联的时间参数有以下三种:
与此对应的是 find 命令中的-mtime,-atime和-ctime三个选项 。
这三个选项的使用遵循以下示例中的规则:
检索 /usr 下两天前被修改过的文件
如果觉得-mtime等选项以 天 为单位时间有点长,还可以使用-mmin ,-amin , -cmin三个选项 。
查找比 aa.txt新 的文件
查找比 aa.txt旧 的文件
查找比aa.txt新 , 比bb.txt旧的文件
-size选项允许用户通过文件大小进行搜索(只适用于文件 , 目录没有大小……) 。
表示文件大小的单位由以下字符组成:
另外,还可以使用或-符号表示 大于 或 小于 当前条件 。
检索文件大小高于 1 GB 的文件
find 命令可以使用-perm选项以文件权限为依据进行搜索 。
9.1使用符号形式
例1:如需要检索 /usr 目录下权限为rwxr-xr-x的文件,可以使用以下命令:
例2:搜索 /usr 目录下所有权限为r-xr-xr-x (即系统中的所有用户都只有读写权限)的文件和目录,可以使用以下命令:
很多时候,我们只想匹配文件权限的一个 子集。比如,检索可以直接被任何用户执行的文件,即只关心文件的执行权限,而不用管其读写权限是什么 。
上述的需求可以通过以下命令实现:
其中a=x前面的/符号即用来表示只匹配权限的某个子集(执行权限),而不用关心其他权限的具体设置 。
9.2使用数字形式
例如:搜索 /usr 目录下权限为644 (即rwxr-xr-x )的文件
find 命令默认是以 递归 的方式检索项目的,这有时候会导致得到的结果数量非常巨大 。可以使用-maxdepth限制 find 命令递归的层数 。
例如:搜索时向下递归的层数最大为 3
在之前的例子中有出现多个搜索条件的 组合 以及对某个搜索条件的 反转。
实际上 find 命令支持“and”和“or”两种逻辑运算,对应的命令选项分别是-a和-o。通过这两个选项可以对搜索条件进行更复杂的组合 。
此外还可以使用 小括号 对搜索条件进行 分组。注意find命令中的小括号常需要用 单引号 包裹起来 。因小括号在 Shell 中有特殊的含义 。
如检索 /usr 下文件名以python开头且类型为目录的文件
该命令等同于:
更复杂的组合形式如:
例4:在除dir0及子目录以外的目录下查找txt后缀文件
说明:-a 应该是and的缩写,意思是逻辑运算符‘与’(); -o应该是or的缩写,意思是逻辑运算符‘或’(||), -not 表示非.
命令行的意思是:如果目录dir0存在(即-a左边为真) , 则求-prune的值 , -prune 返回真,‘与’逻辑表达式为真(即-path './dir0*' -a -prune 为真) , find命令将在除这个目录以外的目录下查找txt后缀文件并打印出来;如果目录dir0不存在(即-a左边为假),则不求值-prune , ‘与’逻辑表达式为假,则在当前目录下查找所有txt后缀文件 。
-delete选项可以用来删除搜索到的文件和目录 。
例如:删除 home 目录下所有的空目录:
-exec选项可以对搜索到的结果执行执行该参数所给出的shell命令 。形式为 command {} \; ,注意{}与\;之间有空格。每当 find 命令检索到一个符合条件的文件,会使用其完整路径取代命令中的{} ,然后执行-exec后面的命令一次 。
例1:如需要将 home 目录下所有的 MP3 音频文件复制到移动存储设备(假设路径是/media/MyDrive ),可使用下面的命令:
其中的 大括号 ( {} )作为检索到的文件的占位符,而分号(; )作为命令结束的标志 。因为分号是 Shell 中有特殊含义的符号,所以需要使用单引号括起来或前面加上转义符 \。
例2:查看当前目录下的所有普通文件 , 并在 - exec 选项中使用 ls -l 命令将它们列出
例3:在多个文件中检索某个指定的字符串 。如在用户主目录下的所有文件中检索字符串hello,可以使用如下命令:
创建 Gzip 格式的压缩文件的命令为:
现在假设需要将用户主目录下所有的 MP3 文件添加到压缩包music.tar.gz中,直观的感觉是,其命令应为如下形式:
实际情况是,这样得到的music.tar.gz其实只包含一个 MP3 文件 。原因是 find 命令 每次 发现一个音频文件,都会再执行一次-exec选项后面的压缩命令 。导致先前生成的压缩包被覆盖 。
可以先让 find 命令检索出所有符合条件的音频文件,再将得到的 文件列表 传递给后面的压缩命令 。完整的命令如下:
如果想浏览搜索到的文件(目录)的详细信息(如权限和大小等),可以直接使用-ls选项 。
例如:浏览所有 1G 以上大小的文件的详细信息
与exec作用相同,区别在于,在执行命令之前,都会给出提示,让用户确认是否执行
与 exec 作用相同,起承接作用 。区别在于 |xargs 主要用于承接删除操作 ,而 -exec 都可用 如复制、移动、重命名等
例1:查找以ap或may开头的文件
例2:查硬连接数大于2的文件或目录
例3:查找含特定字符串的文件 。查找当前目录下含有"the string you want find…"字符串的文件:
例4:从根目录开始查tmpfile,一旦查到马上删除
例5:如何用find查找某一天更改的文件?可以使用这一行命令来实现:
A Guide to the Linux “Find” Command
【linux命令大全及详解 linux命令大全chm版】linux命令大全及详解的介绍就聊到这里吧 , 感谢你花时间阅读本站内容,更多关于linux命令大全chm版、linux命令大全及详解的信息别忘了在本站进行查找喔 。

    推荐阅读