ls

list 用来显示目标列表

语法

ls [options...] [arguments...]

选项

-a all 显示所有文件及目录 (包括以.开头的隐藏文件包括目录本身.和上级目录..)

-A 显示所有隐藏文件排除以.和..的所有文件

-l long  以长格式显示详细信息(

   输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大

   小、文件的最后修改时间和文件名

-f 对输出的文件不进行排序,-aU 选项生效,-lst 选项失效

-F 在输出项后追加文件的类型标识符 (文件为普通文件时,不输出任何标识符)

    * 表示具有可执行权限的普通文件

    /  表示目录

    @  表示符号链接

    |  表示命令管道FIFO

    =  表示sockets套接字   

-c  与-lt 选线连用 安装文件状态时间排序输出 排序的依据是文件的索引节点中的ctime字段 与 –l 选线连用时,则排序的依据是文件的状态改变时间

-d 仅显示目录本身

-i 显示文件索引节点号(index node)

-k 以KB为单位显示文件大小

-r 以文件名反序排序并输出目录内容列表

-s 显示文件和目录大小,以区块为单位

-S 根据文件大小排序

-g 类似 -l,但不列出所有者

-G, –no-group 不列出任何有关组的信息

-o 类似 -l,显示文件的除组信息外的详细信息。

-h, –human-readable 以容易理解的格式列出文件大小 (例如 1K 234M 2G)

-H, –dereference-command-line 使用命令列中的符号链接指示的真正目的地

-m 所有项目以逗号分隔,并填满整行行宽

-u 配合 -lt:显示访问时间而且依访问时间排序

配合 -l:显示访问时间但根据名称排序

否则:根据访问时间排序

-1 每行只列出一个文件

-t 用文件和目录的更改时间排序

-R 递归处理

- - color  使用不同颜色高亮显示不同类型的

pwd  print working directory

  -L

  -P

 su  

passwd 

cd

change directory 切换工作目录至dirname dirname表示法可为绝对路径或相对路径

    省略dirname 切换当前用户家目录

    ~ 表示用户的家目录

    . 表示当前目录

    .. 表示当前目录的上一级目录

语法

cd [options...] [arguments]

选项

-p  如果要切换目录的目标目录是一个符号链接,直接切换到符号链接指向的目标目录

-L  如果切换的目标目录是符号链接,直接切换到字符链接名代表的目录,非符号链接指向的目标目录

- 当仅使用这个选项,表示切换到上一次切换目录。

type  

   显示指定命令的类型 (内部命令或外部命令)

命令类型:

    alias  别名

    keyword  关键字,shell保留字

    function  函数,shell函数

    builtin   内建命令, shell内建命令

    file    文件,磁盘文件,外部命令

    unfound  未找到

语法

type [options...] [arguments]

选项

-t  输出file、alias或builtin  分别表示指令为 外部命令、命令别名和内部命令

-p  如果给出的指令为外部指令,则显示其绝对路径

-a  在环境变量“PATH”指定的路径中,显示给定指令的信息

printenv

env

set

unset

file

hash table是shell在解释命令时,首先寻找的对象,当指令不存在hash table中时,shell才会利用设定的路径寻找命令即执行。同时也会将之放到hash table中。当下一次执行时,不再重新通过PATH寻找(可以提供shell命令执行效率)

hash

语法 

hash [options…] [arguments]

选项

-r 清楚hash table记录

-p 将命令加入hash table中

cal     calendar

用于显示当前日历,或者指定日期的日历。 

date 时间管理

    

   硬件时钟:clock

   系统时钟:date

hwclock

    -w:- -sytohc

    -s:- -hctosys

获得命令的使用帮助

内部命令:

    help  COMMAND

外部命令:

    COMMAND  - -help

命令手册:manual

   man [NO.] COMMAND

     -a:在所有的man帮助手册中搜索;

     -f:等价于whatis指令,显示给定关键字的简短描述信息;

   分章节:

     1:用户命令 (/bin,/usr/bin,/usr/local/bin)

     2:系统调用

     3:库调用

     4:特殊文件 (设备文件)

     5:文件格式 (配置文件的语法)

     6:游戏

     7:杂项

     8:系统管理命令 (/sbin,/usr/sbin,/usr/local/sbin)

在线文档

   info COMMAND

系统帮助文档

   /usr/share/doc

whatis

   是用于查询一个命令执行什么功能,并将查询结果打印到终端上 等同与man -f

   whatis COMMAND

echo

    -e:激活转义字符

    a 发出警告声;

     删除前一个字符;

    c 最后不加上换行符号;

    f 换行但光标仍旧停留在原来的位置;

    换行且光标移至行首;

    光标移至行首,但不换行;

    插入tab;

    v 与f相同;

    \ 插入字符;

    nn 插入nnn(八进制)所代表的ASCII字符

    前景色

       e[1;31m 将颜色设置为红色

       e[0m 将颜色重新置回

  颜色码:

       重置=0,黑色=30,红色=31,绿色=32,×××=33,蓝色=34,洋红=35,青色=36,白色=37

    红色数字处还有其他数字参数:

             0 关闭所有属性、1 设置高亮度(加粗)、4 下划线、5 闪烁、7 反显、8 消隐  

    背景色

颜色码:

       重置=0,黑色=40,红色=41,绿色=42,×××=43,蓝色=44,洋红=45,青色=46,白色=47

printf  格式化并输出结果到标准输出。和echo输出命令相似

tree 以树状图列出目录的内容

-a:显示所有文件和目录;

-C:在文件和目录清单加上色彩,便于区分各种类型;

-d:先是目录名称而非内容;

-D:列出文件或目录的更改时间;

-f:在每个文件或目录之前,显示完整的相对路径名称;

-g:列出文件或目录的所属群组名称,没有对应的名称时,则显示群组识别码;

-N:直接列出文件和目录名称,包括控制字符;

-p:列出权限标示;

-s:列出文件和目录大小;

-t:用文件和目录的更改时间排序;

-u:列出文件或目录的拥有者名称,没有对应的名称时,则显示用户识别码;

目录管理命令

mkdir 创建目录

    -p  若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录

    -m  建立目录的同时设置目录的权限

     -v   显示详细信息

rmdir 只能删除空目录(无法删除非空目录)

     -p   删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除

文件管理命令

touch 一 是用于把已存在文件的时间标签更新为系统当前的时间(默认方式),它们的数据将原封不动地保留下来;二 是用来创建新的空文件。

    -a:或--time=atime或--time=access或--time=use 只更改存取时间;

    -c:或--no-create 不建立任何文件;

    -d:<时间日期> 使用指定的日期时间,而非现在的时间;

    -m:或--time=mtime或--time=modify 只更该变动时间; 

    -r:<参考文件或目录> 把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;

    -t:<日期时间> 使用指定的日期时间,而非现在的时间;

stat    命令用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细。

语法 stat(选项)(参数)

选项

      -L:支持符号连接;

      -f:显示文件系统状态而非文件状态;

      -t:以简洁方式输出信息;

rm     可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。

    -d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;

    -f:强制删除文件或目录; 

    -i:删除已有文件或目录之前先询问用户;

    -r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;

    --preserve-root:不对根目录进行递归操作;

    -v:显示指令的详细执行过程。

cp copy 命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目下。 命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。 

语法:

        cp SRC... DEST 

 -a:此参数的效果和同时指定"-dpR"参数相同;

  -d:当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录

  -f:强行复制文件或目录,不论目标文件或目录是否已存在; 

  -i:覆盖既有文件之前先询问用户;

  -l:对源文件建立硬连接,而非复制文件;

  -p:保留源文件或目录的属性;

  -R/r:递归处理,将指定目录下的所有文件与子目录一并处理;

  -s:对源文件建立符号连接,而非复制文件;

  -u:使用这项参数后只会在源文件的更改时间较目标文件更新时或是名称相互对应的目标文件并不存在时,才复制文件; 

  -S:在备份文件时,用指定的后缀“SUFFIX”代替文件的默认后缀;

  -b:覆盖已存在的文件目标前将目标文件备份;

  -v:详细显示命令执行的操作

mv 

 -b :若需覆盖文件,则覆盖前先行备份。 

 -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;

 -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!

 -u :若目标文件已经存在,且 source 比较新,才会更新(update)

   -t  : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目标目录,该选项适用于移动多个源文件到一个目录的情况,此时目标目录在前,源文件在后。

 --backup=<备份模式>:若需覆盖文件,则覆盖前先行备份; 
  1.CONTROL=none或off : 不备份。

2.CONTROL=numbered或t:数字编号的备份

3.CONTROL=existing或nil:如果存在以数字编号的备份,则继续编号备份m+1...n:

执行mv操作前已存在以数字编号的文件log2.txt.~1~,那么再次执行将产生log2.txt~2~,以次类推。如果之前没有以数字编号的文件,则使用下面讲到的简单备份。

4.CONTROL=simple或never:使用简单备份:在被覆盖前进行了简单备份,简单备份只能有一份,再次被覆盖时,简单备份也会被覆盖。

 用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。

如果将一个文件移到一个已经存在的目标文件中,则目标文件的内容将被覆盖。 mv命令可以用来将源文件移至一个目标文件中,或将一组文件移至一个目标目录中。源文件被移至目标文件有两种不同的结果: 如果目标文件是到某一目录文件的路径,源文件会被移到此目录下,且文件名不变。 如果目标文件不是目录文件,则源文件名(只能有一个)会变为此目标文件名,并覆盖己存在的同名文件。如果源文件和目标文件在同一个目录下,mv的作用就是改文件名。当目标文件是目录文件时,源文件或目录参数可以有多个,则所有的源文件都会被移至目标文件中。所有移到该目录下的文件都将保留以前的文件名

install

      命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户。install命令和cp命令类似,都可以将文件/目录拷贝到指定的地点。但是,install允许你控制目标文件的属性。install通常用于程序的makefile,使用它来将程序拷贝到目标(安装)目录。

语法

install [OPTION]... [-T] SOURCE DEST     复制

install [OPTION]... SOURCE... DIRECTORY     

install [OPTION]... -t DIRECTORY SOURCE...

install [OPTION]... -d DIRECTORY...               创建目录

在前两种格式中,会将<来源>复制至<目的地>或将多个<来源>文件复制至已存在的<目录>,同时设定权限模式及所有者/所属组。在第三种格式中,会创建所有指定的目录及它们的主目录。长选项必须用的参数在使用短选项时也是必须的。

选项

  -d

查看文件命令

cat    连接文件并打印到标准输出设备上,cat经常用来显示文件的内容

    1、显示文件内容 cat FileName

    2、从键盘创建一个文件 cat > FileName   (只能创建新文件,不能编辑已有的文件)

    3、将多个文件合并为一个文件  cat File1 File2 > File

    语法:

    cat [option] (ARGUMENT)

    选项:

    -A 等价于 -vET

    -b --number-nonblank 对非空输出行编号

    -e  等价于 -vE

    -E --show-ends 在每行结束处显示$  (linux 文本结束行符是$ windows 文本结束行符为$^M)

    -n 输出的所有行编号

    -s  --squeeze-blank 不输出多行空行

    -t 等价于-vT

    -T --show-tabs 将跳字符显示为^I

    -v --show-nonprinting 使用^ 和 M- 引用

more 

        是一个基于vi编辑器文本过滤器,它以全屏幕的方式按页显示文本文件的内容,支持vi中的关键字定位操作。more名单中内置了若干快捷键,常用的有H(获得帮助信息),Enter(向下翻滚一行),空格(向下滚动一屏),Q(退出命令) B 显示上一屏内容。

less   作用与more十分相似,都可以用来浏览文字档案的内容,不同的是less命令允许用户向前或向后浏览文件,而more命令只能向前浏览。用less命令显示文件时,用PageUp键向上翻页,用PageDown键向下翻页。要退出less程序,应按Q键

选项

   -l:搜索时忽略大小写的差异;

    -N:每一行行首显示行号

head 令用于显示文件的开头的内容。在默认情况下,head命令显示文件的头10行内容。

选项 

    -n <数字>  指定显示头部内容的行数

    -v  总是显示文件名的头信息

tail 令用于显示文件的尾部的内容。在默认情况下,head命令显示文件的头10行内容。  

选项 

    -n <数字>  指定显示尾部部内容的行数

    -f  显示文件最新追加的内容

    -s<秒数>或——sleep-interal=<秒数>:与“-f”选项连用,指定监视文件变化时间隔的秒数;

文本处理

cut  用来显示文本行中指定部分内容

选项

 -b:仅显示行中指定直接范围的内容;

 -c:仅显示行中指定范围的字符;

 -d:指定字段的分隔符,默认的字段分隔符为“TAB”;

 -f:显示指定字段的内容;

sort  将文件进行排序,并将排序结果标准输出

选项

    -n:依照数值的大小排序;

    -o<输出文件>:将排序后的结果存入制定的文件; 

    -r:以相反的顺序来排序;

    -t<分隔字符>:指定排序时所用的栏位分隔字符;

    -k 指定特定字段排序和 -t 连用

quiq 用于报告或忽略文件中的重复行,一般与sort命令结合使用

选项

    -c或——count:在每列旁边显示该行重复出现的次数;

    -d或--repeated:仅显示重复出现的行列;

    -f 忽略比较指定的栏

grep

join

sed

awk 

文本统计

wc 可以计算文件的Byte数、字数或是列数

选项 

    -c或--bytes或——chars:只显示Bytes数;

    -l或——lines:只显示列数; 

    -w或——words:只显示字数。

字符处理

tr 可以对来自标准输入的字符进行替换、压缩和删除

语法

  tr [option]...  SET1   [SET2]

字符集1:指定要转换或删除的原字符集。当执行转换操作时,必须使用参数“字符集2”指定转换的目标字符集。但执行删除操作时,不需要参数“字符集2”;

字符集2:指定要转换成的目标字符集。

选项

    -d或——delete:删除所有属于第一字符集的字符;