Linux速查表:
目录
系统操作
命令 | 说明 | 举例 |
---|---|---|
ssh | ssh连接服务器 (ssh 用户@IP ) | ssh Datawhale@192.XXX.XXX.XXX |
rm/mkdir | 在目录下创建文件夹、删除文件夹 | |
wget [-AaBbCcDdehiLlrqVv nc/nv/nh/passive-ftp/follow-ftp] 参数(url) | 在目录下下载/创建/阅读文件 -a<日志文件>:在指定的日志文件中记录资料的执行过程; -A<后缀名>:指定要下载文件的后缀名,多个后缀名之间使用逗号进行分隔; -b:进行后台的方式运行wget; -B<连接地址>:设置参考的连接地址的基地地址; -c:继续执行上次终端的任务; -C<标志>:设置服务器数据块功能标志on为激活,off为关闭,默认值为on; -d:调试模式运行指令; -D<域名列表>:设置顺着的域名列表,域名之间用“,”分隔; -e<指令>:作为文件“.wgetrc”中的一部分执行指定的指令; -h:显示指令帮助信息; -i<文件>:从指定文件获取要下载的URL地址; -l<目录列表>:设置顺着的目录列表,多个目录用“,”分隔; -L:仅顺着关联的连接; -r:递归下载方式; -nc:文件存在时,下载文件不覆盖原有文件; -nv:下载时只显示更新和出错信息,不显示指令的详细执行过程; -q:不显示指令执行过程; -nh:不查询主机名称; -v:显示详细执行过程; -V:显示版本信息; –passive-ftp:使用被动模式PASV连接FTP服务器; –follow-ftp:从HTML文件中下载FTP连接文件。 | |
touch/nano | 在目录下创建/阅读文件 | |
vi/vim | 在目录下使用vi或vim编辑文件 | |
python XXX.py | 在目录下创建py文件,运行.py,import引用 | |
nohupgrep/sed | ||
zip/tar | ||
find/locate |
Linux文件与目录管理
参考资料:RUNOOB.COM
命令 | 说明 | 举例 |
---|---|---|
ls [-adl] 目录名称 | 列出目录及文件名 -a: 全部的文件,连同隐藏文件( 开头为 . 的文件) 一起列出来(常用) -d: 仅列出目录本身,而不是列出目录内的文件数据(常用) -l: 长数据串列出,包含文件的属性与权限等等数据;(常用) | |
cd [相对路径或绝对路径] | 切换目录 | |
pwd [-P] | 显示当前目录 -p: 显示出确实的路径,而非使用连结 (link) 路径。 | |
mkdir [-mp] 目录名称 | 创建一个新的目录 -m: 配置文件的权限喔!直接配置,不需要看默认权限 (umask) 的脸色~ -p: 帮助你直接将所需要的目录(包含上一级目录)递归创建起来! | |
rmdir [-p] 目录名称 | 删除一个空的目录 -p: 从该目录起,一次删除多级空目录 | |
cp [-adfilprsu] 来源档(source1 source2 source3) 目标档(destination) | 复制文件或目录 -a: 相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用) -d: 若来源档为连结档的属性(link file),则复制连结档属性而非文件本身; -f: 为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次; -i: 若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用) -l: 进行硬式连结(hard link)的连结档创建,而非复制文件本身; -p: 连同文件的属性一起复制过去,而非使用默认属性(备份常用); -r: 递归持续复制,用於目录的复制行为;(常用) -s: 复制成为符号连结档 (symbolic link),亦即『捷径』文件; -u: 若 destination 比 source 旧才升级 destination ! | |
rm [-fir] 文件或目录 | 删除文件或目录 -f: 就是 force 的意思,忽略不存在的文件,不会出现警告信息; -i: 互动模式,在删除前会询问使用者是否动作 -r: 递归删除啊!最常用在目录的删除了!这是非常危险的选项!!! | |
mv [-fiu] 来源档(source1 source2 source3) … directory | 移动文件与目录,或修改文件与目录的名称 -f: force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖; -i: 若目标文件 (destination) 已经存在时,就会询问是否覆盖! -u: 若目标文件已经存在,且 source 比较新,才会升级 (update) |
Linux文件内容查看
命令 | 说明 | 举例 |
---|---|---|
cat [-AbEnTv] | 由第一行开始显示文件内容 -A: 相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已; -b: 列出行号,仅针对非空白行做行号显示,空白行不标行号! -E: 将结尾的断行字节 $ 显示出来; -n: 列印出行号,连同空白行也会有行号,与 -b 的选项不同; -T: 将 [tab] 按键以 ^I 显示出来; -v: 列出一些看不出来的特殊字符 | |
tac | 从最后一行开始显示,可以看出 tac 是 cat 的倒着写! | |
nl [-bnw] 文件 | 显示的时候,顺道输出行号! -b :指定行号指定的方式,主要有两种: – b a :表示不论是否为空行,也同样列出行号(类似 cat -n); – b t :如果有空行,空的那一行不要列出行号(默认值); – n :列出行号表示的方法,主要有三种: –n ln :行号在荧幕的最左方显示; –n rn :行号在自己栏位的最右方显示,且不加 0 ;? –n rz :行号在自己栏位的最右方显示,且加 0 ; -w: 行号栏位的占用的位数。 | |
more | 一页一页的显示文件内容 - 空白键 (space):代表向下翻一页; - Enter: 代表向下翻『一行』; - /字串: 代表在这个显示的内容当中,向下搜寻『字串』这个关键字; - :f : 立刻显示出档名以及目前显示的行数; - q: 代表立刻离开 more ,不再显示该文件内容。 - b或 [ctrl]-b: 代表往回翻页,不过这动作只对文件有用,对管线无用。 | |
less | 与 more 类似,但是比 more 更好的是,他可以往前翻页! - 空白键: 向下翻动一页; -[pagedown]:向下翻动一页; -[pageup]: 向上翻动一页; - /字串: 向下搜寻『字串』的功能; - ?字串: 向上搜寻『字串』的功能; - n: 重复前一个搜寻 (与 / 或 ? 有关!) - N: 反向的重复前一个搜寻 (与 / 或 ? 有关!) - q: 离开 less 这个程序; | |
head [-n number] 文件 | 只看头几行 -n:后面接数字,代表显示几行的意思 | |
tail [-n number] 文件 | 只看尾巴几行 -n: 后面接数字,代表显示几行的意思; -f: 表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测 |
Linux vi/vim
参考资料:Linux vi/vim
由 vim XXX.txt
进入文件后可进行如下操作。
第一部分:一般模式可用的光标移动、复制粘贴、搜索替换等
移动光标的方法 | |
---|---|
h 或 向左箭头键(←) | 光标向左移动一个字符 |
j 或 向下箭头键(↓) | 光标向下移动一个字符 |
k 或 向上箭头键(↑) | 光标向上移动一个字符 |
l 或 向右箭头键(→) | 光标向右移动一个字符 |
如果你将右手放在键盘上的话,你会发现 hjkl 是排列在一起的,因此可以使用这四个按钮来移动光标。 如果想要进行多次移动的话,例如向下移动 30 行,可以使用 “30j” 或 “30↓” 的组合按键, 亦即加上想要进行的次数(数字)后,按下动作即可! | |
[Ctrl] + [f] | 屏幕『向下』移动一页,相当于 [Page Down]按键 (常用) |
[Ctrl] + [b] | 屏幕『向上』移动一页,相当于 [Page Up] 按键 (常用) |
[Ctrl] + [d] | 屏幕『向下』移动半页 |
[Ctrl] + [u] | 屏幕『向上』移动半页 |
+ | 光标移动到非空格符的下一行 |
- | 光标移动到非空格符的上一行 |
n | 那个 n 表示『数字』,例如 20 。按下数字后再按空格键,光标会向右移动这一行的 n 个字符。例如 20 则光标会向后面移动 20 个字符距离。 |
0 或功能键[Home] | 这是数字『 0 』:移动到这一行的最前面字符处 (常用) |
$ 或功能键[End] | 移动到这一行的最后面字符处(常用) |
H | 光标移动到这个屏幕的最上方那一行的第一个字符 |
M | 光标移动到这个屏幕的中央那一行的第一个字符 |
L | 光标移动到这个屏幕的最下方那一行的第一个字符 |
G | 移动到这个档案的最后一行(常用) |
nG | n 为数字。移动到这个档案的第 n 行。例如 20G 则会移动到这个档案的第 20 行(可配合 :set nu) |
gg | 移动到这个档案的第一行,相当于 1G 啊! (常用) |
n | n 为数字。光标向下移动 n 行(常用) |
搜索替换 | |
---|---|
/word | 向光标之下寻找一个名称为 word 的字符串。例如要在档案内搜寻 vbird 这个字符串,就输入 /vbird 即可! (常用) |
?word | 向光标之上寻找一个字符串名称为 word 的字符串。 |
n | 这个 n 是英文按键。代表重复前一个搜寻的动作。举例来说, 如果刚刚我们执行 /vbird 去向下搜寻 vbird 这个字符串,则按下 n 后,会向下继续搜寻下一个名称为 vbird 的字符串。如果是执行 ?vbird 的话,那么按下 n 则会向上继续搜寻名称为 vbird 的字符串! |
N | 这个 N 是英文按键。与 n 刚好相反,为『反向』进行前一个搜寻动作。 例如 /vbird 后,按下 N 则表示『向上』搜寻 vbird 。 |
使用 /word 配合 n 及 N 是非常有帮助的!可以让你重复的找到一些你搜寻的关键词! | |
:n1,n2s/word1/word2/g | n1 与 n2 为数字。在第 n1 与 n2 行之间寻找 word1 这个字符串,并将该字符串取代为 word2 !举例来说,在 100 到 200 行之间搜寻 vbird 并取代为 VBIRD 则: 『:100,200s/vbird/VBIRD/g』。(常用) |
:1,$s/word1/word2/g 或 :%s/word1/word2/g | 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !(常用) |
:1,$s/word1/word2/gc或 :%s/word1/word2/gc | 从第一行到最后一行寻找 word1 字符串,并将该字符串取代为 word2 !且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!(常用) |
删除、复制与贴上 | |
---|---|
x, X | 在一行字当中,x 为向后删除一个字符 (相当于 [del] 按键), X 为向前删除一个字符(相当于 [backspace] 亦即是退格键) (常用) |
nx | n 为数字,连续向后删除 n 个字符。举例来说,我要连续删除 10 个字符, 『10x』。 |
dd | 删除游标所在的那一整行(常用) |
ndd | n 为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (常用) |
d1G | 删除光标所在到第一行的所有数据 |
dG | 删除光标所在到最后一行的所有数据 |
d$ | 删除游标所在处,到该行的最后一个字符 |
d0 | 那个是数字的 0 ,删除游标所在处,到该行的最前面一个字符 |
yy | 复制游标所在的那一行(常用) |
nyy | n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行(常用) |
y1G | 复制游标所在行到第一行的所有数据 |
yG | 复制游标所在行到最后一行的所有数据 |
y0 | 复制光标所在的那个字符到该行行首的所有数据 |
y$ | 复制光标所在的那个字符到该行行尾的所有数据 |
p, P | p 为将已复制的数据在光标下一行贴上,P 则为贴在游标上一行! 举例来说,我目前光标在第 20 行,且已经复制了 10 行数据。则按下 p 后, 那 10 行数据会贴在原本的 20 行之后,亦即由 21 行开始贴。但如果是按下 P 呢? 那么原本的第 20 行会被推到变成 30 行。 (常用) |
J | 将光标所在行与下一行的数据结合成同一行 |
c | 重复删除多个数据,例如向下删除 10 行,[ 10cj ] |
u | 复原前一个动作。(常用) |
[Ctrl]+r | 重做上一个动作。(常用) |
这个 u 与 [Ctrl]+r 是很常用的指令!一个是复原,另一个则是重做一次~ 利用这两个功能按键,你的编辑,嘿嘿!很快乐的啦! | |
. | 不要怀疑!这就是小数点!意思是重复前一个动作的意思。 如果你想要重复删除、重复贴上等等动作,按下小数点『.』就好了! (常用) |
第二部分:一般模式切换到编辑模式的可用按钮说明
进入输入或取代的编辑模式 | |
---|---|
i, I | 进入输入模式(Insert mode): i 为『从目前光标所在处输入』, I 为『在目前所在行的第一个非空格符处开始输入』。 (常用) |
a, A | 进入输入模式(Insert mode): a 为『从目前光标所在的下一个字符处开始输入』, A 为『从光标所在行的最后一个字符处开始输入』。(常用) |
o, O | 进入输入模式(Insert mode): 这是英文字母 o 的大小写。o 为在目前光标所在的下一行处输入新的一行; O 为在目前光标所在的上一行处输入新的一行!(常用) |
r, R | 进入取代模式(Replace mode): r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止;(常用) |
上面这些按键中,在 vi 画面的左下角处会出现『–INSERT–』或『–REPLACE–』的字样。 由名称就知道该动作了吧!!特别注意的是,我们上面也提过了,你想要在档案里面输入字符时, 一定要在左下角处看到 INSERT 或 REPLACE 才能输入喔! | |
[Esc] | 退出编辑模式,回到一般模式中(常用) |
第三部分:一般模式切换到指令行模式的可用按钮说明
指令行的储存、离开等指令 | |
---|---|
:w | 将编辑的数据写入硬盘档案中(常用) |
:w! | 若文件属性为『只读』时,强制写入该档案。不过,到底能不能写入, 还是跟你对该档案的档案权限有关啊! |
:q | 离开 vi (常用) |
:q! | 若曾修改过档案,又不想储存,使用 ! 为强制离开不储存档案。 |
注意一下啊,那个惊叹号 (!) 在 vi 当中,常常具有『强制』的意思~ | |
:wq | 储存后离开,若为 :wq! 则为强制储存后离开 (常用) |
ZZ | 这是大写的 Z 喔!如果修改过,保存当前文件,然后退出!效果等同于(保存并退出) |
ZQ | 不保存,强制退出。效果等同于 :q!。 |
:w [filename] | 将编辑的数据储存成另一个档案(类似另存新档) |
:r [filename] | 在编辑的数据中,读入另一个档案的数据。亦即将 『filename』 这个档案内容加到游标所在行后面 |
:n1,n2 w [filename] | 将 n1 到 n2 的内容储存成 filename 这个档案。 |
:! command | 暂时离开 vi 到指令行模式下执行 command 的显示结果!例如 『:! ls /home』即可在 vi 当中察看 /home 底下以 ls 输出的档案信息! |
vim 环境的变更 | |
---|---|
:set nu | 显示行号,设定之后,会在每一行的前缀显示该行的行号 |
:set nonu | 与 set nu 相反,为取消行号! |
vim中批量添加注释 | 举例 |
---|---|
方法一 :块选择模式 Ctrl + v 进入块选择模式,然后移动光标选中你要注释的行,再按大写的 I 进入行首插入模式输入注释符号如 **//**或 #,输入完毕之后,按两下 ESC,Vim 会自动将你选中的所有行首都加上注释,保存退出完成注释。 Ctrl + v 进入块选择模式,选中你要删除的行首的注释符号,注意 // 要选中两个,选好之后按 d 即可删除注释,ESC 保存退出。 | |
方法二: 替换命令 批量注释 使用下面命令在指定的行首添加注释。 使用名命令格式: :起始行号,结束行号s/^/注释符/g(注意冒号)。 取消注释: 使用名命令格式: :起始行号,结束行号s/^注释符//g(注意冒号)。 | 1、在 10 - 20 行添加 // 注释 :10,20s#^#//#g 2、在 10 - 20 行删除 // 注释 :10,20s#^//##g 3、在 10 - 20 行添加 # 注释 :10,20s/^/#/g 4、在 10 - 20 行删除 # 注释 :10,20s/#//g |
vim快捷键补充(插入模式) | 举例 |
---|---|
自动补全:ctrl + n \p< 插入一个include,并把光标置于<>中间 \im 插入主函数 \ip 插入printf,并自动添加**\n**,且把光标置于双引号中间 | |
vim快捷键补充(编辑模式) dw 删除一个单词(配合b:将光标置于所在单词的首部) yw 复制一个单词(配合p:粘贴) | |
vim快捷键补充(插入与编辑模式通用) \rr 运行程序 \rc 保存并编译程序(会生成二进制文件) |
Python OS 文件/目录方法
参考资料:Python OS 文件/目录方法、Python3 模块 sys/import
Linux 文件后台执行
参考资料: Linux后台执行的方法 - 关闭、退出不影响
例如:执行一个打包命令
tar czf /data/backup.tgz /data/backup
命令 | 举例 |
---|---|
采用& | tar czf /data/backup.tgz /data/backup & ctrl+d #退出 才可以,如果直接关闭窗口,进程任然会被关闭 |
采用nohup | nohup tar czf /data/backup.tgz /data/backup ctrl+z #挂起到后台 bg #后台执行 可以先通过jobs 查看当前有多少job ctrl+d #或者 关闭窗口 进程任然会在后台执行 |
采用nohup + & | nohup tar czf /data/backup.tgz /data/backup & ctrl+d 或者 关闭窗口 进程任然会在后台执行 |
采用(command &) | (tar czf /data/backup.tgz /data/backup &) #会将ppid设置为1,而非当前会话的id,并且jobs查看不到当前的作业。注意这里的括号即是这个方法的重点。 ctrl+d #或者 关闭窗口 进程任然会在后台执行 |
采用setid run a program in a new session | setid tar czf /data/backup.tgz /data/backup #会将ppid设置为1,而非当前会话的id ctrl+d #或者 关闭窗口 进程任然会在后台执行 |
采用disown | tar czf /data/backup.tgz /data/backup ctrl+z jobs bg %N disown -h %N #N即为job的id disown 可以配合 &使用,效果更好,因为 CTRL-z 的用途就是将当前进程挂起(Suspend),然后我们就可以用jobs命令来查询它的作业号,再用bg jobspec来将它放入后台并继续运行。需要注意的是,如果挂起会影响当前进程的运行结果,请慎用此方法。 disown -rh -a xxx #-a所有 -r所有 -h忽略hup |
采用screen | screen tar czf /data/backup.tgz /data/backup ctrl+a d #不可以直接ctrl+d 这样会ternimate screen |
Jobs 显示Linux中的任务列表及任务状态
jobs命令 用于显示Linux中的任务列表及任务状态,包括后台运行的任务。该命令可以显示任务号及其对应的进程号。其中,任务号是以普通用户的角度进行的,而进程号则是从系统管理员的角度来看的。一个任务可以对应于一个或者多个进程号。
在Linux系统中执行某些操作时候,有时需要将当前任务暂停调至后台,或有时须将后台暂停的任务重启开启并调至前台,这一序列的操作将会使用到 jobs、bg、和 fg 三个命令以及两个快捷键来完成。
语法 | 详情 |
---|---|
jobs [-lpnrs] (参数) | -l:显示进程号; -p:仅任务对应的显示进程号; -n:显示任务状态的变化; -r:仅输出运行状态(running)的任务; -s:仅输出停止状态(stoped)的任务。 |
Linux grep命令
命令 | 说明 |
---|---|
grep [-abcEFGhHilLnqrsvVwxy] -A<显示行数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][–help][范本样式][文件或目录… | 参数: -a 或 --text : 不要忽略二进制的数据。 -A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。 -b 或 --byte-offset : 在显示符合样式的那一行之前,标示出该行第一个字符的编号。 -B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。 -c 或 --count : 计算符合样式的列数。 -C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。 -d <动作> 或 --directories=<动作> : 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。 -e<范本样式> 或 --regexp=<范本样式> : 指定字符串做为查找文件内容的样式。 -E 或 --extended-regexp : 将样式为延伸的正则表达式来使用。 -f<规则文件> 或 --file=<规则文件> : 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。 -F 或 --fixed-regexp : 将样式视为固定字符串的列表。 -G 或 --basic-regexp : 将样式视为普通的表示法来使用。 -h 或 --no-filename : 在显示符合样式的那一行之前,不标示该行所属的文件名称。 -H 或 --with-filename : 在显示符合样式的那一行之前,表示该行所属的文件名称。 -i 或 --ignore-case : 忽略字符大小写的差别。 -l 或 --file-with-matches : 列出文件内容符合指定的样式的文件名称。 -L 或 --files-without-match : 列出文件内容不符合指定的样式的文件名称。 -n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。 -o 或 --only-matching : 只显示匹配PATTERN 部分。 -q 或 --quiet或–silent : 不显示任何信息。 -r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同。 -s 或 --no-messages : 不显示错误信息。 -v 或 --invert-match : 显示不包含匹配文本的所有行。 -V 或 --version : 显示版本信息。 -w 或 --word-regexp : 只显示全字符合的列。 -x --line-regexp : 只显示全列符合的列。 -y : 此参数的效果和指定"-i"参数相同。 |
sed命令
参考资料:Linux sed用法
命令 | 详情 |
---|---|
sed [-nefri] ‘command’ 输入文本 | 常用选项: -n∶使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN的资料一般都会被列出到萤幕上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。 -e∶直接在指令列模式上进行 sed 的动作编辑; -f∶直接将 sed 的动作写在一个档案内, -f filename 则可以执行 filename 内的sed 动作; -r∶sed 的动作支援的是延伸型正规表示法的语法。(预设是基础正规表示法语法) -i∶直接修改读取的档案内容,而不是由萤幕输出。 |
常用命令: a ∶新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~ c ∶取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行! d ∶删除,因为是删除啊,所以 d 后面通常不接任何咚咚; i ∶插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行); p ∶列印,亦即将某个选择的资料印出。通常 p 会与参数 sed -n 一起运作~ s ∶取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦! |
Linux压缩和解压缩命令
命令 | 说明 |
---|---|
tar | 解包:tar zxvf filename.tar 打包:tar czvf filename.tar dirname |
gz命令 | 解压1:gunzip filename.gz 解压2:gzip -d filename.gz 压缩:gzip filename |
.tar.gz 和 .tgz | 解压:tar zxvf filename.tar.gz 压缩:tar zcvf filename.tar.gz dirname 压缩多个文件:tar zcvf filename.tar.gz dirname1 dirname2 dirname3… |
bz2命令 | 解压1:bzip2 -d filename.bz2 解压2:bunzip2 filename.bz2 压缩:bzip2 -z filename |
.tar.bz2 | 解压:tar jxvf filename.tar.bz2 压缩:tar jcvf filename.tar.bz2 dirname |
bz命令 | 解压1:bzip2 -d filename.bz 解压2:bunzip2 filename.bz |
z命令 | 解压:uncompress filename.z 压缩:compress filename |
.tar.z | 解压:tar zxvf filename.tar.z 压缩:tar zcvf filename.tar.z dirname |
zip命令 | 解压:unzip filename.zip 压缩:zip filename.zip dirname |
Linux find命令
参考文件: Linux find命令, Linux locate命令;
命令 | 详情 |
---|---|
find path -option [ -print ] [ -exec -ok command ] {} ; | find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。 |
expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。 -mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件 -amin n : 在过去 n 分钟内被读取过 -anewer file : 比文件 file 更晚被读取过的文件 -atime n : 在过去n天内被读取过的文件 -cmin n : 在过去 n 分钟内被修改过 -cnewer file :比文件 file 更新的文件 -ctime n : 在过去n天内被修改过的文件 -empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name -ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写 -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写 -size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。 -type c : 文件类型是 c 的文件。 | |
d: 目录 c: 字型装置文件 b: 区块装置文件 p: 具名贮列 f: 一般文件 l: 符号连结 s: socket |
命令 | 详情 |
---|---|
locate [-d ][–help][–version][范本样式…] | -b, --basename – 仅匹配路径名的基本名称 -c, --count – 只输出找到的数量 -d, --database DBPATH – 使用 DBPATH 指定的数据库,而不是默认数据库 /var/lib/mlocate/mlocate.db -e, --existing – 仅打印当前现有文件的条目 -1 – 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到 的档案。这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的 权限资料。 -0, --null – 在输出上带有NUL的单独条目 -S, --statistics – 不搜索条目,打印有关每个数据库的统计信息 -q – 安静模式,不会显示任何错误讯息。 -P, --nofollow, -H – 检查文件存在时不要遵循尾随的符号链接 -l, --limit, -n LIMIT – 将输出(或计数)限制为LIMIT个条目 -n – 至多显示 n个输出。 -m, --mmap – 被忽略,为了向后兼容 -r, --regexp REGEXP – 使用基本正则表达式 –regex – 使用扩展正则表达式 -q, --quiet – 安静模式,不会显示任何错误讯息 -s, --stdio – 被忽略,为了向后兼容 -o – 指定资料库存的名称。 -h, --help – 显示帮助 -i, --ignore-case – 忽略大小写 -V, --version – 显示版本信息 |