Linux基本命令(初、中、高级)
1 目录与文件操作
1.1 ls(初级)
使用权限:所有人
功能 : 显示指定工作目录下之内容(列出目前工作目录所含之档案及子目录)。
参数 :
-a 显示所有档案及目录 (ls内定将档案名或目录名称开头为"."的视为隐藏档,不会列出)
-l 除档案名称外,亦将档案型态、权限、拥有者、档案大小等资讯详细列出
-r 将档案以相反次序显示(原定依英文字母次序)
-t 将档案依建立时间之先后次序列出
-A 同 -a ,但不列出 “.” (目前目录) 及 “…” (父目录)
-F 在列出的档案名称后加一符号;例如可执行档则加 “*”, 目录则加 “/”
-R 若目录下有档案,则以下之档案亦皆依序列出
复制代码
范例:
列出目前工作目录下所有名称是 s 开头的档案,愈新的排愈后面 :
ls -ltr s*
将 /bin 目录以下所有目录及档案详细资料列出 :
ls -lR /bin
列出目前工作目录下所有档案及目录;目录于名称后加 “/”, 可执行档于名称后加 “*”
ls –AF
常用方式及使用技巧:
ls –l 以列表形式输出当前目录中存在的文件
ls –lt 按照修改时间倒序排序,即最新的在最上面展示
复制代码
1.2 ll(初级)
ls –l的缩写形式
cd(初级)
使用权限 : 所有使用者
使用方式 : cd [dirName]
说明 : 变换工作目录至 dirName。 其中 dirName 表示法可为绝对路径或相对路径。若目录名称省略,则变换至使用者的 home directory (也就是刚 login 时所在的目录)。
另外,"~" 也表示为 home directory 的意思,"." 则是表示目前所在的目录,"…" 则表示目前目录位置的上一层目录。
范例 : 跳到 /usr/bin/ : cd /usr/bin
跳到自己的 home directory : cd ~
跳到目前目录的上上两层 : cd …/…
返回进入当前目录前所在目录:cd -
常用方式及使用技巧:~表示当前用户的家目录,另外需要大家关注相对路径以及绝对路径的概念
1.3 pwd(初级)
功能:显示当前工作目录
范例:$pwd
常用方式及使用技巧:手动打补丁上传补丁文件时通常先在服务端找到该文件,然后使用pwd将路径输出并且拷贝,然后将路径粘贴到ftp工具的路径栏中
1.4 mkdir(初级)
名称: mkdir
使用权限:于目前目录有适当权限的所有使用者
使用方式:mkdir [-p] dirName
说明:建立名称为 dirName 之子目录。
参数:-p 确保目录名称存在,不存在的就建一个。
范例:
在工作目录下,建立一个名为 AAA 的子目录 :
mkdir AAA
在工作目录下的 BBB 目录中,建立一个名为 Test 的子目录。若 BBB 目录原本不存在,则建立一个。(注:本例若不加 -p,且原本 BBB目录不存在,则产生错误。)
mkdir -p BBB/Test
1.5 rmdir(初级)
功能说明:删除目录。
语 法:rmdir [-p][–help][–ignore-fail-on-non-empty][–verbose][–version][目录…]
补充说明:当有空目录要删除时,可使用rmdir指令。
参 数:
-p或–parents 删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除。
1.6 rm(初级)
功能说明:删除文件或目录。
语 法:rm [-dfirv][–help][–version][文件或目录…]
补充说明:执行rm指令可删除文件或目录,如欲删除目录必须加上参数"-r",否则预设仅会删除文件。
参 数:
-d或–directory 直接把欲删除的目录的硬连接数据删成0,删除该目录。
-f或–force 强制删除文件或目录。
-i或–interactive 删除既有文件或目录之前先询问用户。
-r或-R或–recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
注意:在使用rm –rf * 命令前请使用pwd确定当前目录,以免发生误删除
1.7 head(初级)
功能说明:看一个文件的头几行
语法:head –n filename
参数:-n :后面接数字,代表显示几行的意思
常用方式及使用技巧:$head -10 error.log
1.8 more(初级)
功能说明:一页一页的显示文件的内容
语法:more filename
使用方式:
空格键 (space):代表向下翻一页;
Enter :代表向下翻『一行』;
/字符串 :代表在这个显示的内容当中,向下搜寻『字符串』;
:f :立刻显示出文件名以及目前显示的行数;
q :代表立刻离开 more ,不再显示该档案内容。
常用方式及使用技巧:#ifconfig –a | more
1.9 less(初级)
功能说明:less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
语法:less filename
使用方式:
空格键 :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字符串 :向下搜寻『字符串』的功能;
?字符串 :向上搜寻『字符串』的功能;
n :重复前一个搜寻 (与 / 或 ? 有关!)
N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
q :离开 less 这个程序;
常用方式及使用技巧:less error.log
1.10 tail(初级)
功能说明:看一个文件末尾n行
语法:tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ]
使用说明:tail 命令从指定点开始将 File 参数指定的文件写到标准输出。如果没有指定文件,则会使用标准输入。 Number 变量指定将多少单元写入标准输出。 Number 变量的值可以是正的或负的整数。如果值的前面有 +(加号),从文件开头指定的单元数开始将文件写到标准输出。如果值的前面有 -(减号),则从文件末尾指定的单元数开始将文件写到标准输出。如果值前面没有 +(加号)或 -(减号),那么从文件末尾指定的单元号开始读取文件。
主要参数:
-f 如果输入文件是常规文件或如果 File 参数指定 FIFO(先进先出),那么 tail 命令不会在复制了输入文件的最后的指定单元后终止,而是继续从输入文件读取和复制额外的单元(当这些单元可用时)。如果没有指定 File 参数,并且标准输入是管道,则会忽略 -f 标志。tail -f 命令可用于监视另一个进程正在写入的文件的增长。
-n Number 从首行或末行位置来读取指定文件,位置由 Number 变量的符号(+ 或 - 或无)表示,并通过行号 Number 进行位移。
常用方式及使用技巧:tail –f error.log
1.11 cp(初级)
功能说明:复制文件或目录。
语 法:cp [-abdfilpPrRsuvx][-S <备份字尾字符串>][-V <备份方式>][–help][–spares=<使用时机>][–version][源文件或目录][目标文件或目录] [目的目录]
补充说明:cp指令用在复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,而最后的目的地并非是一个已存在的目录,则会出现错误信息。
参 数:
-r 递归处理,将指定目录下的文件与子目录一并处理。
-R或–recursive 递归处理,将指定目录下的所有文件与子目录一并处理。 。
常用方式及使用技巧:cp server.xml …/bak
1.12 mv(初级)
功能说明:移动或更名现有的文件或目录。
语 法:mv [-bfiuv][–help][–version][-S <附加字尾>][-V <方法>][源文件或目录][目标文件或目录]
补充说明:mv可移动文件或目录,或是更改文件或目录的名称。
参 数:
-b或–backup 若需覆盖文件,则覆盖前先行备份。
-f或–force 若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文 件或目录。
-i或–interactive 覆盖前先行询问用户。
常用方式及使用技巧:mv server.xml server.xml_bak
1.13 chmod(初级)
功能说明:变更文件或目录的权限。
语 法:chmod [-cfRv][–help][–version][<权限范围>+/-/=<权限设置…>][文件或目录…] 或 chmod [-cfRv][–help][–version][数字代号][文件或目录…] 或 chmod [-cfRv][–help][–reference=<参考文件或目录>][–version][文件或目录…]
补充说明:在UNIX系统家族里,文件或目录权限的控制分别以读取,写入,执行3种一般权限来区分,另有3种特殊权限可供运用,再搭配拥有者与所属群组管理权限范围。您可以使用chmod指令去变更文件与目录的权限,设置方式采用文字或数字代号皆可。符号连接的权限无法变更,如果您对符号连接修改权限,其改变会作用在被连接的原始文件。权限范围的表示法如下:
u:User,即文件或目录的拥有者。
g:Group,即文件或目录的所属群组。
o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。
a:All,即全部的用户,包含拥有者,所属群组以及其他用户。
有关权限代号的部分,列表于下:
r:读取权限,数字代号为"4"。
w:写入权限,数字代号为"2"。
x:执行或切换权限,数字代号为"1"。
-:不具任何权限,数字代号为"0"。
s:特殊?b>功能说明:变更文件或目录的权限。
参 数:
-c或–changes 效果类似"-v"参数,但仅回报更改的部分。
-f或–quiet或–silent 不显示错误信息。
-R或–recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
<权限范围>+<权限设置> 开启权限范围的文件或目录的该项权限设置。
<权限范围>-<权限设置> 关闭权限范围的文件或目录的该项权限设置。
<权限范围>=<权限设置> 指定权限范围的文件或目录的该项权限设置。
常用方式及使用技巧:chmod +x *
1.14 chown(初级)
功能说明:变更文件或目录的拥有者或所属群组。
语 法:chown [-cfhRv][–dereference][–help][–version][拥有者.<所属群组>][文件或目录…] 或chown [-chfRv][–dereference][–help][–version][.所属群组][文件或目录… …] 或chown [-cfhRv][–dereference][–help][–reference=<参考文件或目录>][–version][文件或目录…]
补充说明:在UNIX系统家族里,文件或目录权限的掌控以拥有者及所属群组来管理。您可以使用chown指令去变更文件与目录的拥有者或所属群组,设置方式采用用户名称或用户识别码皆可,设置群组则用群组名称或群组识别码。
参 数:
-c或–changes 效果类似"-v"参数,但仅回报更改的部分。
-f或–quite或–silent 不显示错误信息。
-R或–recursive 递归处理,将指定目录下的所有文件及子目录一并处理。
常用方式及使用技巧:chown –R portal:JavaMegroup JavaMe
1.15 wc(初级)
功能说明:计算字数。
语 法:wc [-clw][–help][–version][文件…]
补充说明:利用wc指令我们可以计算文件的Byte数、字数、或是列数,若不指定文件名称、或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。
参 数:
-c或–bytes或–chars 只显示Bytes数。
-l或–lines 只显示列数。
-w或–words 只显示字数。
常用方式及使用技巧:netstat –an | grep 1521 | wc -l
1.16 file(中级)
功能说明:辨识文件类型。
语 法:file [-beLvz][-f <名称文件>][-m <魔法数字文件>…][文件或目录…]
补充说明:通过file指令,我们得以辨识该文件的类型。
参 数:
-b 列出辨识结果时,不显示文件名称。
-c 详细显示指令执行过程,便于排错或分析程序执行的情形。
-f<名称文件> 指定名称文件,其内容有一个或多个文件名称呢感,让file依序辨识这些文件,格式为每列一个文件名称。
-L 直接显示符号连接所指向的文件的类别。
-m<魔法数字文件> 指定魔法数字文件。
-v 显示版本信息。
-z 尝试去解读压缩文件的内容。
常用方式及使用技巧:file common.xml
1.17 find(中级)
功能说明:查找文件或目录。
语 法: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
[-mtime <24小时数>][-name <范本样式>][-newer <参考文件或目录>][-nogroup][noleaf] [-nouser][-ok <执行指令>][-path <范本样式>][-perm <权限数值>][-print][-print0][-printf <输出格式>][-prune][-regex <范本样式>][-size <文件大小>][-true][-type <文件类型>][-uid <用户识别码>][-used <日数>][-user <拥有者名称>][-version][-xdev][-xtype <文件类型>]
补充说明:find指令用于查找符合条件的文件。任何位于参数之前的字符串都将被视为欲查找的目录。
参 数:
-amin<分钟> 查找在指定时间曾被存取过的文件或目录,单位以分钟计算。
-anewer<参考文件或目录> 查找其存取时间较指定文件或目录的存取时间更接近现在的文件或目录。
-atime<24小时数> 查找在指定时间曾被存取过的文件或目录,单位以24小时计算。
-cmin<分钟> 查找在指定时间之时被更改的文件或目录。
-cnewer<参考文件或目录> 查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录。
-ctime<24小时数> 查找在指定时间之时被更改的文件或目录,单位以24小时计算。
-daystart 从本日开始计算时间。
-depth 从指定目录下最深层的子目录开始查找。
-expty 寻找文件大小为0 Byte的文件,或目录下没有任何子目录或文件的空目录。
-exec<执行指令> 假设find指令的回传值为True,就执行该指令。
-false 将find指令的回传值皆设为False。
-fls<列表文件> 此参数的效果和指定"-ls"参数类似,但会把结果保存为指定的列表文件。
-follow 排除符号连接。
-fprint<列表文件> 此参数的效果和指定"-print"参数类似,但会把结果保存成指定的列表文件。
-fprint0<列表文件> 此参数的效果和指定"-print0"参数类似,但会把结果保存成指定的列表文件。
-fprintf<列表文件><输出格式> 此参数的效果和指定"-printf"参数类似,但会把结果保存成指定的列表文件。
-fstype<文件系统类型> 只寻找该文件系统类型下的文件或目录。
-gid<群组识别码> 查找符合指定之群组识别码的文件或目录。
-group<群组名称> 查找符合指定之群组名称的文件或目录。
-ilname<范本样式> 此参数的效果和指定"-lname"参数类似,但忽略字符大小写的差别。
-iname<范本样式> 此参数的效果和指定"-name"参数类似,但忽略字符大小写的差别。
-inum
-ipath<范本样式> 此参数的效果和指定"-ipath"参数类似,但忽略字符大小写的差别。
-iregex<范本样式> 此参数的效果和指定"-regexe"参数类似,但忽略字符大小写的差别。
-links<连接数目> 查找符合指定的硬连接数目的文件或目录。
-iname<范本样式> 指定字符串作为寻找符号连接的范本样式。
-ls 假设find指令的回传值为True,就将文件或目录名称列出到标准输出。
-maxdepth<目录层级> 设置最大目录层级。
-mindepth<目录层级> 设置最小目录层级。
-mmin<分钟> 查找在指定时间曾被更改过的文件或目录,单位以分钟计算。
-mount 此参数的效果和指定"-xdev"相同。
-mtime<24小时数> 查找在指定时间曾被更改过的文件或目录,单位以24小时计算。
-name<范本样式> 指定字符串作为寻找文件或目录的范本样式。
-newer<参考文件或目录> 查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录。
-nogroup 找出不属于本地主机群组识别码的文件或目录。
-noleaf 不去考虑目录至少需拥有两个硬连接存在。
-nouser 找出不属于本地主机用户识别码的文件或目录。
-ok<执行指令> 此参数的效果和指定"-exec"参数类似,但在执行指令之前会先询问用户,若回答"y"或"Y",则放弃执行指令。
-path<范本样式> 指定字符串作为寻找目录的范本样式。
-perm<权限数值> 查找符合指定的权限数值的文件或目录。
-print 假设find指令的回传值为True,就将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称之前皆有"./“字符串。
-print0 假设find指令的回传值为True,就将文件或目录名称列出到标准输出。格式为全部的名称皆在同一行。
-printf<输出格式> 假设find指令的回传值为True,就将文件或目录名称列出到标准输出。格式可以自行指定。
-prune 不寻找字符串作为寻找文件或目录的范本样式。
-regex<范本样式> 指定字符串作为寻找文件或目录的范本样式。
-size<文件大小> 查找符合指定的文件大小的文件。
-true 将find指令的回传值皆设为True。
-typ<文件类型> 只寻找符合指定的文件类型的文件。
-uid<用户识别码> 查找符合指定的用户识别码的文件或目录。
-used<日数> 查找文件或目录被更改之后在指定时间曾被存取过的文件或目录,单位以日计算。
-user<拥有者名称> 查找符合指定的拥有者名称的文件或目录。
-version或–version 显示版本信息。
-xdev 将范围局限在先行的文件系统中。
-xtype<文件类型> 此参数的效果和指定”-type"参数类似,差别在于它针对符号连接检查。
常用方式及使用技巧:find ./ -name “*.xml” xargs –print | grep –i “time-out”
1.18 grep(中级)
功能说明:查找文件里符合条件的字符串。
语 法:grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][–help][范本样式][文件或目录…]
补充说明:grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为“-”,则grep指令会从标准输入设备读取数据。
参 数:
-i或–ignore-case 忽略字符大小写的差别。
-v或–revert-match 反转查找。
常用方式及使用技巧:find ./ -name “*.xml” xargs –print | grep –i “time-out”
1.19 diff(中级)
功能说明:比较文件的差异。
语 法:diff [-abBcdefHilnNpPqrstTuvwy][-<行数>][-C <行数>][-D <巨集名称>][-I <字符或字符串>][-S <文件>][-W <宽度>][-x <文件或目录>][-X <文件>][–help][–left-column][–suppress-common-line][文件或目录1][文件或目录2]
补充说明:diff以逐行的方式,比较文本文件的异同处。所是指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。
参 数:
-r或–recursive 比较子目录中的文件。
常用方式及使用技巧:diff server.xml server.xml_bak
1.20 cat(初级)
使用权限:所有使用者
使用方式:cat [-AbeEnstTuv] [–help] [–version] fileName
说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)
参数:
-n 或 --number 由 1 开始对所有输出的行数编号
范例:
cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。
常用方式及使用技巧:cat common_settings.xml
1.21 tar(初级)
功能说明:备份文件。
语 法:tar [-ABcdgGhiklmMoOpPrRsStuUvwWxzZ][-b <区块数目>][-C <目的目录>][-f <备份文件>][-F