常用命令:
ls:是list的简称。默认情况下用来打印出当前目录的列表。使用命令:ls [选项] [文件目录]
-a
, –all
列出目录下的所有文件,包括以 .
开头的隐含文件。-A
同-a
,但不列出“.
”(表示当前目录)和“..
”(表示当前目录的父目录)。-c
配合 -lt
:根据 ctime
排序及显示 ctime
(文件状态最后更改的时间)配合 -l
:显示 ctime
但根据名称排序否则:根据 ctime
排序-C
每栏由上至下列出项目–color[=WHEN]
控制是否使用色彩分辨文件。WHEN 可以是’never’、’always’或’auto’其中之一-d
, –directory
将目录象文件一样显示,而不是显示其下的文件。-D
, –dired
产生适合 Emacs 的 dired 模式使用的结果-f
对输出的文件不进行排序,-aU
选项生效,-lst
选项失效-g
类似-l
,但不列出所有者-G
, –no-group
不列出任何有关组的信息-h
, –human-readable
以容易理解的格式列出文件大小 (例如 1K 234M 2G)–si
类似 -h,但文件大小取 1000 的次方而不是 1024-H
, –dereference-command-line
使用命令列中的符号链接指示的真正目的地–indicator-style=
方式 指定在每个项目名称后加上指示符号<方式>:none
(默认),classify (-F),file-type (-p)-i
, –inode
印出每个文件的 inode
号-I
, –ignore=
样式 不印出任何符合 shell 万用字符<样式>的项目-k
即 –block-size=1K
,以 k
字节的形式表示文件的大小。-l
除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。-L
, –dereference
当显示符号链接的文件信息时,显示符号链接所指示的对象而并非符号链接本身的信息-m
所有项目以逗号分隔,并填满整行行宽-o
类似 -l
,显示文件的除组信息外的详细信息。-r
, –reverse
依相反次序排列-R
, –recursive
同时列出所有子目录层-s
, –size
以块大小为单位列出所有文件的大小-S
根据文件大小排序
-t
以文件修改时间排序-u
配合 -lt
:显示访问时间而且依访问时间排序
-U
不进行排序;依文件系统原有的次序列出项目-v
根据版本进行排序-w
, –width=COLS
自行指定屏幕宽度而不使用目前的数值-x
逐行列出项目而不是逐栏列出-X
根据扩展名排序-1
每行只列出一个文件–help
显示此帮助信息并离开–version
显示版本信息并离开
cd:Linux中最基础的命令。用于切换当前目录至dirName。使用命令:cd [目录名]
*Linux中使用“\”进入根目录。
pwd:查看当前工作目录的完整路径。使用命令:pwd[选项]
-L
目录连接链接时,输出连接路径
-P
输出物理路径
mkdir:用于在指定位置创建文件夹或目录。使用命令:mkdir [选项] [目录]
-m
, —mode=模式,设定权限<模式> (类似 chmod),而不是 rwxrwxrwx
减 umask
-p
, --parents
可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
-v
, --verbose
- 每次创建新目录都显示信息
rm:删除文件和目录。使用命令:rm [选项] 文件名
-f
, --force
忽略不存在的文件,从不给出提示。
-i
, --interactive
进行交互式删除
-r
, -R
, --recursive
指示rm将参数中列出的全部目录和子目录均递归地删除。
-v
, --verbose
详细显示进行的步骤
rmdir :删除空目录,即与rm项目,其差别在于删除的目录必须是空的。使用命令:rmdir [选项] 目录名。
- p
递归删除目录dirname,当子目录删除后其父目录为空时,也一同被删除。如果整个路径被删除或者由于某种原因保留部分路径,则系统在标准输出上显示相应的信息。
-v
, --verbose
显示指令执行过程
mv:move的缩写。移动文件或者给文件改名。使用命令:mv [选项] 源文件或目录 目标文件或目录。
-b
:若需覆盖文件,则覆盖前先行备份。
-f
:force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i
:若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u
:若目标文件已经存在,且 source 比较新,才会更新(update)
-t
: —target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。
cp:命令用来复制文件或者目录,是Linux系统中最常用的命令之一。一般情况下,shell会设置一个别名,在命令行下复制文件时,如果目标文件已经存在,就会询问是否覆盖,不管你是否使用-i
参数
使用命令:cp [选项] ...[-T] 源 目的 或 cp [选项] ...源...目录 或 cp[选项] -t 目录 源...
-a
, --archive
- 等于-dR --preserve=all
,--backup[=CONTROL
为每个已存在的目标文件创建备份
-b
- 类似 --backup
但不接受参数 --copy-contents
在递归处理是复制特殊文件内容
-d
- 等于--no-dereference --preserve=links
-f
, --force
- 如果目标文件无法打开则将其移除并重试(当 -n
选项 存在时则不需再选此项)
-i
, --interactive
- 覆盖前询问(使前面的 -n
选项失效)
-H
- 跟随源文件中的命令行符号链接
-l
, --link
- 链接文件而不复制
-L
, --dereference
- 总是跟随符号链接
-n
, --no-clobber
- 不要覆盖已存在的文件(使前面的 -i 选项失效)
-P
, --no-dereference
- 不跟随源文件中的符号链接
-p
- 等于--preserve=
模式,所有权,时间戳
--preserve
[=属性列表 保持指定的属性(默认:模式,所有权,时间戳)
-R
, -r
, --recursive
复制目录及目录内的所有项目
不常用命令:
touch:用于修改文件时间戳,或者新建一个不存在的文件。 使用命令:touch [选项] 文件
-a
,--time=atime
,--time=access
或--time=use
只更改存取时间。
-c
或--no-create
不建立任何文档。
-d
使用指定的日期时间,而非现在的时间。
-f
此参数将忽略不予处理,仅负责解决BSD版本touch
指令的兼容性问题。
-m
或--time=mtime
或--time=modify
只更改变动时间。
-r
把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t
使用指定的日期时间,而非现在的时间。
cat:链接文件或标准输入并打印。常用于显示文件内容,或者将几个问价连接起来显示,或者从标准输入读取内容并显示,常与重定向符配合使用。使用命令:cat [选项] [文件]
三大功能:
- 一次显示整个文件:
cat filename
- 从键盘创建一个文件:
cat > filename
只能创建新文件,不能编辑已有文件. - 将几个文件合并为一个文件:
cat file1 file2 > file
选项:
-A
,--show-all
等价于-vET
-b
,--number-nonblank
对非空输出行编号-e
等价于-vE
-E
,--show-ends
在每行结束处显示$
-n
,--number
对输出的所有行编号,由1开始对所有输出的行数编号-s
,--squeeze-blank
有连续两行以上的空白行,就代换为一行的空白行-t
与-vT
等价-T
,--show-tabs
将跳格字符显示为^I
-u
(被忽略)-v
,--show-nonprinting
使用^
和M-
引用,除了LFD
和TAB
之外
nl:用于计算文件中的行号。nl可以将输出的文件内容自动加上行号,默认的结果与cat -n不太一样。nl可以对行号做比较多的显示设计,包括位数是否自动补齐0等等的功能。使用命令:nl [选项] [文件]
-b
:指定行号指定的方式,主要有两种:
-b a
:表示不论是否为空行,也同样列出行号(类似 cat -n
);
-b t
:如果有空行,空的那一行不要列出行号(默认值);
-n
:列出行号表示的方法,主要有三种:
-n ln
:行号在萤幕的最左方显示;
-n rn
:行号在自己栏位的最右方显示,且不加 0 ;
-n rz
:行号在自己栏位的最右方显示,且加 0 ;
-w
:行号栏位的占用的位数。
-p
在逻辑定界符处不重新开始计算。
more:功能类似 cat
,cat
命令是整个文件的内容从上到下显示在屏幕上。more
会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space
)就往下一页显示,按 b
键就会往回(back)一页显示,而且还有搜寻字串的功能 。more
命令从前向后读取文件,因此在启动时就加载整个文件。使用命令:more [-dlfpcsu ] [-num ] [+/ pattern] [+ linenum] [file ... ]
+n
从笫n行开始显示
-n
定义屏幕大小为n
行
+/pattern
在每个档案显示前搜寻该字串(pattern),然后从该字串前两行之后开始显示
-c
从顶部清屏,然后显示
-d
提示“Press space to continue,’q’ to quit(按空格键继续,按q键退出)”,禁用响铃功能
-l
忽略Ctrl+l
(换页)字符
-p
通过清除窗口而不是滚屏来对文件进行换页,与-c选项相似
-s
把连续的多个空行显示为一行
-u
把文件内容中的下画线去掉
操作命令:
Enter
向下n
行,需要定义。默认为1
行
Ctrl+F
向下滚动一屏
空格键 向下滚动一屏
Ctrl+B
返回上一屏
=
输出当前行的行号
:f
输出文件名和当前行的行号
V
调用vi
编辑器
!
命令, 调用Shell,并执行命令
q
退出more
less:less
命令也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强大。less
的用法比起 more
更加的有弹性。在 more
的时候,我们并没有办法向前面翻, 只能往后面看,但若使用了 less
时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容!除此之外,在 less
里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。使用命令:less [参数] 文件
-b <缓冲区大小> 设置缓冲区的大小
-e 当文件显示结束后,自动离开
-f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
-g 只标志最后搜索的关键词
-i 忽略搜索时的大小写
-m 显示类似more命令的百分比
-N 显示每行的行号
-o <文件名> 将less 输出的内容在指定文件中保存起来
-Q 不使用警告音
-s 显示连续空行为一行
-S 行过长时间将超出部分舍弃
-x <数字> 将“tab”键显示为规定的数字空格
/字符串:向下搜索“字符串”的功能
?字符串:向上搜索“字符串”的功能
n:重复前一个搜索(与 / 或 ? 有关)
N:反向重复前一个搜索(与 / 或 ? 有关)
b 向后翻一页
d 向后翻半页
h 显示帮助界面
Q 退出less 命令
u 向前滚动半页
y 向前滚动一行
空格键 滚动一行
回车键 滚动一页
[pagedown]: 向下翻动一页
[pageup]: 向上翻动一页
附加备注:
全屏导航:
ctrl + F - 向前移动一屏
ctrl + B - 向后移动一屏
ctrl + D - 向前移动半屏
ctrl + U - 向后移动半屏
单行导航:
j - 向前移动一行
k - 向后移动一行
其它导航:
G - 移动到最后一行
g - 移动到第一行
q / ZZ - 退出 less 命令
其它有用的命令:
v - 使用配置的编辑器编辑当前文件
h - 显示 less 的帮助文档
&pattern - 仅显示匹配模式的行,而不是整个文件
标记导航:
当使用 less 查看大文件时,可以在任何一个位置作标记,可以通过命令导航到标有特定标记的文本位置:
ma - 使用 a 标记文本的当前位置
‘a - 导航到标记 a 处
head:用于显示文件开头某个数量的文字区块。使用命令:head [参数] [文件]
-q 隐藏文件名
-v 显示文件名
-c<字节> 显示字节数
-n<行数> 显示的行数
tail:从指定点开始将文件写到标准输出。使用命令:tail [必要参数] [选择参数] [文件]
-f
循环读取
-q
不显示处理信息
-v
显示详细的处理信息
-c
<数目> 显示的字节数
-n
<行数> 显示行数
--pid=PID
与-f
合用,表示在进程ID
,PID
死掉之后结束。
-q
, --quiet
, --silent
从不输出给出文件名的首部。
-s
, --sleep-interval=S
与-f
合用,表示在每次反复的间隔休眠S秒
文件查找命令:
which:查看可执行文件的位置。在PATH
变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。使用命令:which 可执行文件名称。
-n
- 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。
-p
- 与-n
参数相同,但此处的包括了文件的路径。
-w
- 指定输出时栏位的宽度。
-V
- 显示版本信息
whiereis:whereis
命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。使用命令:whieris [-bmsu] [BMS -目录名 -f] 文件名
-b
- 定位可执行文件。
-m
- 定位帮助文件。
-s
- 定位源代码文件。
-u
- 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件。
-B
- 指定搜索可执行文件的路径。
-M
- 指定搜索帮助文件的路径。
-S
- 指定搜索源代码文件的路径。
locate:locate
让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就只需查询这个数据库,而不必实际深入档案系统之中了。在一般的 distribution 之中,数据库的建立都被放在 crontab 中自动执行。locate [选择参数] [样式]
-e
- 将排除在寻找的范围之外。
-1
- 如果是1
。则启动安全模式。在安全模式下,使用者不会看到权限无法看到的档案。这会始速度减慢,因为 locate
必须至实际的档案系统中取得档案的权限资料。
-f
- 将特定的档案系统排除在外,例如没有到理要把 proc
档案系统中的档案放在资料库中。
-q
安静模式,不会显示任何错误讯息。
-n
至多显示 n
个输出。
-r
使用正规运算式 做寻找的条件。
-o
指定资料库存的名称。
-d
指定资料库的路径
-h
显示辅助讯息
-V
显示程式的版本讯息
find:在文件树中查找文件,并做出相应的处理。语法:find pathname -options [-print -exec -ok]
命令参数
pathname
- find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。-print
- find命令将匹配的文件输出到标准输出。-exec
- find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为’command’ { } \;,注意{ }和\;之间的空格。-ok
- 和-exec
的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
命令选项
-name
按照文件名查找文件。-perm
按照文件权限来查找文件。-prune
使用这一选项可以使find
命令不在当前指定的目录中查找,如果同时使用-depth
选项,那么-prune
将被find
命令忽略。-user
按照文件属主来查找文件。-group
按照文件所属的组来查找文件。-mtime -n +n
按照文件的更改时间来查找文件, - n表示文件更改时间距现在n天以内,+ n表示文件更改时间距现在n天以前。find
命令还有-atime
和-ctime
选项,但它们都和-m time
选项。-nogroup
查找无有效所属组的文件,即该文件所属的组在/etc/groups
中不存在。-nouser
查找无有效属主的文件,即该文件的属主在/etc/passwd
中不存在。-newer file1 ! file2
查找更改时间比文件file1
新但比文件file2
旧的文件。-type
查找某一类型的文件,诸如:b
- 块设备文件。d
- 目录。c
- 字符设备文件。p
- 管道文件。l
- 符号链接文件。f
- 普通文件。-size n:[c]
查找文件长度为n
块的文件,带有c
时表示文件长度以字节计。-depth
:在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。-fstype
:查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件/etc/fstab
中找到,该配置文件中包含了本系统中有关文件系统的信息。-mount
:在查找文件时不跨越文件系统mount
点。-follow
:如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。-cpio
:对匹配的文件使用cpio
命令,将这些文件备份到磁带设备中。
另外,下面三个的区别:
-amin n
查找系统中最后N
分钟访问的文件- -
atime n
查找系统中最后n*24
小时访问的文件 -cmin n
查找系统中最后N
分钟被改变文件状态的文件-ctime n
查找系统中最后n*24
小时被改变文件状态的文件-mmin n
查找系统中最后N
分钟被改变文件数据的文件-mtime n
查找系统中最后n*24
小时被改变文件数据的文件