常用命令:

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 [选项] [文件]

三大功能:

  1. 一次显示整个文件:cat filename
  2. 从键盘创建一个文件:cat > filename 只能创建新文件,不能编辑已有文件.
  3. 将几个文件合并为一个文件: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小时被改变文件数据的文件