命令分为两大类:

             内部命令:由shell程序自带的命令;

             外部命令:独立的可执行程序文件,文件名即命令名;命令可有别名;

优先级:别名>内部命令>外部命令    

可以用type命令来区分内部或外部命令 

例:[root@centos7 ~]#type cat

cat is /usr/bin/cat     有路径,表明是外部命令

[root@centos7 ~]#type cd

cd is a shell builtin    builtin,表明是内部命令

别名(alias):alias NAME='COMMADN'    unalias  取消别名

例:alias ls='ls --color=auto'      ls代表自己定义的名字,‘ ‘内的代表你要执行的命令

date 时间

%Y  年

%m 月

%d  日

%F=%Y-%m-%d=年月日

%H  时

%M  分

%S  秒

%T =%/H-%M-%S 时分秒

date -s “”  更改时间

date -d +字符串:显示固定日期

例:date -d “-2 day” +%F

date 080706052019.10  =date 月日时分年.秒

date -d "-2 day" +%A    前两天是星期

clock  硬件时间

clock -s   以硬件时间改系统时间

clock -w  以系统时间改硬件时间

用户登录信息查看命令:

whoami: 显示当前登录有效用户 

who: 系统当前所有的登录会话 

w: 系统当前所有的登录会话及所做的操作

echo:回显命令

                echo [SHORT-OPTION]... [STRING]...

                    -n:不自动附加换行符;即都在一行显示;

                    -e:启用转义符,使能转义符\;

                        \n:换行;

                        \b:退格;

                        \t:水平制表符;

                        \v:垂直制表符

  例:[root@centos7 ~]#echo heelo

         heelo        把命令后的字符重新显示

        [root@centos7 ~]#echo $PS1

         \[\e[1;34m\][\u@\h \W]\$\[\e[0m\]        查看变量


history    命令历史

.bash_history     存放历史的文件,重启后写入

Ctrl+r:在历史中搜索

-c: 清空命令历史

-d offset: 删除历史中指定的第offset个命令

n: 显示最近的n条历史

-r: 读历史文件附加到历史列表

-w: 保存历史列表到指定的历史文件

-n: 读历史文件中未读过的行到历史列表

-a: 追加本次会话新执行的命令历史列表至历史文件

-p: 展开历史参数成多行,但不存在历史列表中(无痕迹操作)

-s: 展开历史参数成一行,附加在历史列表后(伪造历史命令)

cp命令:copy

                                  源文件            目标文件

            单源复制:cp [OPTION]... [-T] SOURCE DEST

            多源复制:cp [OPTION]... SOURCE... DIRECTORY:目标必须是目录;

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

    例:

          cp /etc/grub2.cfg  /data/:复制文件到指定目录;

            cp /etc/grub2.cfg  /data/mygrub.cfg:复制重命名;

            cp /etc/grub2.cfg  /data/mygrub.cfg:显示复制后重名文件,是否覆盖;


            常用选项:

                -i,--interactive:交互式复制,即覆盖目标文件之前提醒用户确认;

                -f,force:强制覆盖目标文件;

                -R,-r,--recursive:递归复制目录及其内容;

                -P,--no-dereference:复制链接文件本身,而非默认的复制链接文件指向的原文件内容;

                -d:相当于--no-dereference;复制链接本身(默认为复制链接文件的原文件内容);

                --preserve[=ATTR_LIST]:

                    指明保留的原文件属性列表;

                        默认为default: mode, ownership, timestamps;

                        还包括其它属性:context(安全上下文), links(符号链接), xattr(额外属性), all;

                -a,--archive:归档复制;备份时才会使用;

                    相当于-dR --preserve=all;

mv命令:(不需要-r选项)与使用cp命令相似;

            mv - move (rename) files


                单源移动:mv [OPTION]... [-T] SOURCE DEST

                多源移动:mv [OPTION]... SOURCE... DIRECTORY

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


            注意:原文件目录与目标文件目录相同时,为rename;否则为move;

                   不区分目录和文件,直接move;


             常用选项:

                 -i,--interactive:交互式复制,移动时,如果目标文件存在时提示用户确定是否覆盖(仅root用户);

                 -f,force:强制移动,覆盖前不提示;


   rm命令:

         即能删除文件又能删目录,但删目录时要用递归-r选项;

             rm - remove files or directories


             rm [OPTION]... FILE...


             常用选项:

                 -r, -R, --recursive:递归删除目录及其内容;

                 -f,force:强制删除,不提示确认;

                 -i,--interactive:交互式,提示确认;

软、硬链接:

               硬链接:相当于一个文件的不同文件名,实质还是一个文件,inode号相同;删除时只是相当于删除文件名,只有链接都被删除时,才会删除数据;有不能跨文件系统(分区),不能指定目录的缺陷。

               软链接:指向另一个文件的文件路径,相当于两个文件,inode号不同;删除符号链接文件,不影响原文件,但删除原文件,符号链接文件指定的路径即不存在,此时会变成无效的链接;可以跨文件系统使用,可以指定目录。

目录的本质:
              Linux中的目录关联着操作系统:

              /boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader, grub) 都存放于此目录 

              /bin:所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序 

              /sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序 

              /lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules) 

              /lib64:专用于x86_64系统上的辅助共享库文件存放位置 

              /etc:配置文件目录

              /home/USERNAME:普通用户家目录

              /root:管理员的家目录

              /media:便携式移动设备挂载点

              /dev:设备文件及特殊文件存储位置

              /tmp:临时文件存储位置

              /usr:与根目录下的内容基本相似

              /var:信息数据位置

              /proc: 用于输出内核与进程信息相关的虚拟文件系统