1.显示当前使用的shell : echo ${SHELL}
例:[root@localhost ~]# echo $SHELL
    /bin/bash

2.显示当前系统使用的所有shell: cat /etc/shells
例:[root@localhost ~]# cat /etc/shells
    /bin/sh
    /bin/bash
    /sbin/nologin
    /bin/dash
    /bin/tcsh
    /bin/csh

3.启用内部命令: enable cmd
例:[root@localhost ~]# enable pwd

禁用内部命令: enable -n cmd   
例:[root@localhost ~]# enable -n pwd

查看所有禁用的内部命令:enable -n  
例:[root@localhost ~]# enable -n
    enable -n echo
    enable -n pwd

4.查看路径: which -a | --skip-alias ; whereis
例:[root@localhost ~]# whereis bash
    bash: /bin/bash /usr/share/man/man1/bash.1.gz

6.区分命令是内部命令还是外部命令:type
例:[root@localhost ~]# type rm
    rm is aliased to `rm -i'
    [root@localhost ~]# type echo
    echo is a shell builtin

7.外部命令缓存表:hash
  hash 显示hash缓存
  hash -l 显示hash缓存,可作为输出使用
  hash -p path name 将命令全路径path起别名为name
  hash -t name 打印缓存中name的路径
  hash -d name 清除name缓存
  hash -r 清除缓存

8.命令别名
显示当前shell进程所有可用的命令别名:alias
例:[root@localhost /]# alias
    alias cp='cp -i'
    alias l.='ls -d .* --color=auto'
    alias ll='ls -l --color=auto'
    alias ls='ls --color=auto'
    alias mv='mv -i'
    alias rm='rm -i'
    alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'

9.定义别名NAME,其相当于执行命令VALUE
  alias NAME=’VALUE’
例:[root@localhost /]# alias c='cd /etc/'
    [root@localhost etc]# c

撤销别名: unalas
 unalias [-a] name [name...]
   -a 取消所有别名

10.日期和时间
显示和设置系统时间 date
例:[root@localhost etc]# date
    Fri Jul 27 22:30:04 CST 2018
   -d<字符串>:显示字符串所指的日期与时间。字符串前后必须加上双引号;
   -s<字符串>:根据字符串来设置日期与时间。字符串前后必须加上双引号;
   %c 日期和时间

11.hwclock ,clock:显示硬件时钟
例:[root@localhost etc]# hwclock
    Sat 28 Jul 2018 12:41:02 AM CST  -1.017374 seconds
    root@localhost etc]# clock
    Sat 28 Jul 2018 12:41:07 AM CST  -0.875766 seconds

   -s, --hctosys 以硬件时钟为准,校正系统时钟
   -w, --systohc 以系统始终为准,校正硬件时钟
    
   显示日历:cal -y
12. 关机:half ,  poweroff , init0
   重启:reboot , init6
       -f:强制,不调用shutdown
       -p:切断电源
关机或重启:shutdown
   Shutdown [OPTION]... TIME [MESSAGE]
       -r: reboot
       -h:halt
       -c:cancel
       TIME:无指定,默认相当于+1
       now: 立刻,相当于+0
       +m: 相对时间表示法,几分钟之后;例如 +3
       hh:mm:绝对时间表示,指明具体时间

13.显示当前登录的有效用户:whoami
例:[root@localhost etc]# whoami
    root

14.系统当前所有的登录会话:who
w:系统当前所有的登陆会话及所做的操作
例:[root@localhost etc]# who -w
    root     + tty1         2018-07-27 13:12
    root     + pts/0        2018-07-27 21:11 (192.168.180.1)
    root     + pts/1        2018-07-27 21:58 (192.168.180.1)

15.回显功能:echo
语法: echo [-neE][字符串]
   -e 激活转义字符
例:[root@localhost etc]# echo -e 'hello\tword'
    hello word

16.括号扩展: {}
   {a,b}{c,d} -> ac ad bc bd

17命令行历史: hitory
例:[root@localhost etc]# history
    1  ifconfig
   -c:清空当前历史命令;
  -a:将历史命令缓冲区中命令写入历史命令文件中;
  -r:将历史命令文件中的命令读入当前历史命令缓冲区;
  -w:将当前历史命令缓冲区命令写入历史命令文件中。

18.帮助命令:help 与 man
     语法help(选项)(参数)
         man(选项)(参数)

19.显示当前工作目录:pwd
例:[root@localhost yum]# pwd
    /etc/yum
  -p 显示真实物理路径  
  -L显示链接路径(默认)

20.改变目录  cd
例:[root@localhost yum]# cd /etc/
    [root@localhost etc]#
       切换至父目录: cd ..
       切换至当前用户主目录: cd
       切换至以前的工作目录:  cd -

21.列出目录内容:ls
   用法:ls [options] [files_or_dirs]
    -a包含隐藏文件
    -l 显示额外的信息
    -R目录递归通过
    -id目录和符号链接信息
    -1 文件分行显示
    -s 按从大到小排序
    -t 按mtime排序
    -u 配合-t选项,显示并按atime从新到旧排序
    -U 按目录存放顺序显示
    -X 按文件后缀排序
例:[root@localhost /]# ls
    bin   etc   lib64       misc  opt   sbin     sys  var


22.查看文件状态,三个时间戳:stat
例:[root@localhost etc]# stat passwd
    Access: 2018-07-27 14:06:51.178250316 +0800
    Modify: 2018-07-27 14:05:33.695243595 +0800
    Change: 2018-07-27 14:05:33.696243597 +0800

 access time:访问时间,atime,读取文件内容
 modify time:修改时间,mtime,改变文件内容(数据)
 change time:改变时间,ctime,元数据发生改变

23.touch命令:
Touch [OPTION]...  FILE...
   -a 仅改变atime和ctime
   -m 仅改变mtime和ctime
   -t [[CC]YY]MMDDhhmm[.ss] 指定atime和mtime的时间戳 
   -c 如果文件不存在,则不予创建


24.复制文件和目录:cp
    -i :覆盖前提示  
    -n :不覆盖
    -r,R:递归复制目录及内部的所有内容
    -a:归档,相当于-dR --preserv=all
    -d:--no-dereference --preserv=liks不复制源文件,只复制链接名
    --preserv[=ATTR_LIST]
例:[root@localhost /]# cp -r /etc/passwd /home
     [root@localhost /]# ls /home/
    passwd  python  test  user6  zhang

25.移动和重命名文件:mv
   常用选项:
   -i:交互式    
   -f:强制
例:[root@localhost /]# mv /home/passwd /home/pw
    [root@localhost /]# ls /home
    pw  python  test  user6  zhang

26.删除:rm
   常用选项:
   -i:交互式 
   -f:强制删除 
   -r:递归
例:[root@localhost /]# rm /home/pw
    rm: remove regular file `/home/pw'? y

27.显示目录树:tree
   -d:只显示目录
   -L level 指定显示的层级数目
   -P pattern:只显示由指定pattern匹配的路径
例:[root@localhost /]# tree -L 1 /etc
    /etc
    ├── abrt
    ├── acpi
    ├── adjtime

28.创建目录:mkdir
   -p:存在于不报错,但可自动创建所需的各目录
   -v:显示详细信息
   -m MODE:创建目录时直接指定权限
例:[root@localhost ~]# mkdir -pv ./a/b/c
    mkdir: created directory `./a'
    mkdir: created directory `./a/b'
    mkdir: created directory `./a/b/c'

29.删除空目录:rmdir
   -p:递归删除父空目录
   -v:显示详细信息
例:[root@localhost ~]# rmdir -pv ./a/b/c
    rmdir: removing directory, `./a/b/c'
    rmdir: removing directory, `./a/b'
    rmdir: removing directory, `./a'
    rmdir: removing directory, `.'

    rm  -r 递归删除目录树

30.硬链接:不同的文件路径指向同一个inode
ln filename [linkname]
例:[root@localhost ~]# ln abc.txt ./test

31.软连接:链接路径不是指向inode,而是指向原始路径(字符串)
ln -s filename [linkname]