Linux命令的语法格式:

COMMAND options arguments

选项:定义命令的执行特性

       长选项:--引导,后跟单词,如 --help,--verbose

       短选项:-引导,后跟单个字符,如-h,-l,-a

               多个短选项可以组合: -h, -l , -a = -hla

       有些选项也可以带参数

参数:定义命令的作用对象

ls : 列出指定目录下的文件

       -l : 长格式显示文件的详细属性

               文件类型

               属主、属组及其它用户的权限

               文件被硬链接次数

               属主

               属组

               文件的大小

               文件最后一次被修改的时间

               时间戳:

                       最后一次被访问

                       最后一次被修改:内容

                       最后一次被改变:属性

       -a : 显示所有文件,包括隐藏文件

       -A : 跟-a功能相同,但不显示.和..;

               . : 当前目录;

               .. : 上级目录;

       -n : 以用户级组的id号排序;

       -h : 文件大小会自动进行单位换算;

       -r :文件名逆序显示;

       -R:递归显示;

       -1 : 纵向列表显示,列表过滤或需要复制纵向结果时常用。

执行历史命令数据的快捷方法

!# : 执行历史中的第#条;

!-#: 执行历史中的倒数第#条;

!! : 命令历史中的最后一条命令;

!string : 执行命令历史中最近一条以“string”开头的命令

Ctrl+r  输入”string”: 搜索命令历史中最后一条以“string”开头的命令

COMMAND !$ 使用上一个命令的参数 也可用Alt+. 或 Esc .

系统时钟与硬件时钟的同步

hwclock

       -w : 以系统时钟为准,将硬件时间修改为系统时间

       -s : 以硬件时钟为准,将系统时间修改为硬件时间

Linux FHS标准目录结构:

/ : 根目录;

/bin : 二进制,可执行的命令;

/sbin : 可执行命令,仅用于管理,通常管理员才权限使用;

/boot : 引导,操作系统用于引导系统启动的文件,内核、grub;

/dev : 设备文件;

       Linux的设备类型;

       字符设备:c, 线性设备

       块设备 : b, 随机设备

/etc : 配置文件;

/home : 用户的家目录,/home/USERNAME, jerry,/home/jerry;

/root : 管理员的家目录;

/lib, /lib64 : 库文件

/media : 挂载点目录,通常用于挂载便携性设备,如U盘;

/mnt : 挂载点目录,挂载额外的文件系统;

/misc : 备份目录;

/opt :可选目录,通常第三方软件偶尔安装于此路径下;

/proc : 伪文件系统:内存中内核的映射;

/selinux : 安全加强的Linux;

/srv : 属于服务的中间数据存储位置;

/sys : 伪文件系统,通常用于访问硬件设备属性信息;

/tmp : 临时文件目录;

/usr : 存储只读文件;

/var : 经常会发生变化的文件;比如说日志等;

切换到家目录的常用快捷方法

                      cd ~

                           cd  

                           cd ~USERNAME : 切换到USERNAME的家目录;

                           cd - : 在上个目录和当前之间切换;

dirname : 显示指定路径的目录

在写脚本的时候常用来获取相应脚本的所在目录

例:

test.sh 脚本内容如下

base_dir=$(cd `dirname $0` && pwd)
echo $base_dir
执行结果 : 是test.sh的所在目录

bash支持命令行展开:{}

       分别创建这四个目录 a_b,a_d,c_b,c_d

       方法一: mkdir a_b a_d c_b _c_d

       方法二: mkdir  {a,c}_{b,d} –v

       分别创建这几个目录 x/y, x/z, x/y/a, x/y/b, x/m

            mkdir x/{y/{a,b},z,m}

文件相关的命令:

       查看:

               cat , tac : 正向和反向输出文件内容

               more/less

                       more : 向后翻,在翻至文件尾部前允许向前翻

                       less : 向前后都可以

               head/tail

                       head : 文件的前n行 默认10行

                       tail : 文件的后n行 默认10行

                       -n  : 指定输出n行

                       tail -f : 实时输出文件尾部内容;退出使用Ctrl+C;

命令别名:

       alias

       \COMMAND : 使用命令自身,而不使用与命令名称同名的别名;

       例:在root用户下使用cp复制文件需要覆盖时默认会提示因为root用户默认别名为 alias cp=’cp -i’, 使用\cp 则 不提示直接覆盖

通配符:bash 支持文件通配 ,globbing

* : 任意长度的任意字符;

?:任意单个字符

[] : 指定范围内的凭单单个字符;[a-z]

       [0-9] : 所有的数字

       [a-z] : 所有的小写字母

       [A-Z] : 所有的大写字母

       [a-zA-Z]:所有的字母

       [0-9a-zA-Z]:所有的数字和字母

       不区分大小写;

       字符集合(过滤文件内容时使用下面的集合比上面的字符更准确):

               [:digit:] : 所有数字,相当于0-9

                       [0-9], [[:digit:]]

               [:lower:] : 所有的小写字母

               [:upper:] : 所有的大写字母

               [:alpha:] : 所有的字母

               [:alnum:] : 相当于[0-9a-zA-Z]

               [:space:] : 空白字符

               [:punct:] : 所有标点符号

[^] : 脱字符,取反,指定范围外的任意单个字符,[^0-9]

Linux 文件类型:

       普通文件(-):a.html, b.txt , c.ppt , ls

       目录文件(d):

       特殊文件:

               块设备文件(b):

               字符设备(c):

       符号链接文件(l) :

       命名管道文件(p) :  pipe

       套接字文件    (s): socket

判断普通文件的内容的类型,使用file命令;

# file FILE