CentOS命令综合详解


    1,显示当前使用的shell
        [root@localhost ~]# echo $SHELL
    2,显示当前系统使用的所有shell   
        [root@localhost ~]# cat /etc/shells
    3,显示hash缓存
        hash:显示缓存    -r:清除缓存
    4,多个命令可使用;符号分开
    5,history
        -c:清空命令历史
        -d:删除历史中指定的命令
        #:显示最近的#条历史
        -a:追加本次会话新执行的命令历史到列表至历史文件
        -n:读历史文件中未读过的行到历史列表
        -r:读历史文件附加到历史列表
        -w:保存历史列表到指定的历史文件
        -p:展开历史参数成多个行,但不存在历史列表中
        -s:展开历史参数成一行,附加在历史列表后
    6,Ctrl
        +l:清屏,相当于clear命令
        +c:取消命令的执行
        -a:将光标移动到命令行的最前面
        -e:将光标移动到命令行的最后面
        -u:删除光标当前位置到行首
        -k:删除光标当前位置到行尾
    7,Esc
        -b:左移一个单词
        -f:右移一个单词
    8,本地帮助文件存放位置/usr/share/doc/
    9,CentOS系统安装完成后如果没有man帮助可使用以下命令来制作数据库
        CentOS6使用:makewhatis
        CentOS7使用:mandb
    10,man命令的操作方法
        space、^v、^f、^F:向文件尾翻屏
        b、^b:向文件首部翻屏
        d、^d:向文件尾部翻半屏
        u、^u:向文件首部翻半屏
        ^n or ^e or ^j :向文件尾部翻一行
        ^y or ^p or ^k :向文件首部翻一行
        q:退出
        #:跳转至第#行
        1g:回到文件首部
        g:翻至文件尾部
        /keywork:以字符串为关键字,从当前位置向尾部搜索,不区分字符大小写
                        n:下一个    N:上一个
        ?keywork:以字符串为关键字,从当前位置向首部搜索,不区分字符大小写
                        n:下一个   N:上一个
    11,文件系统的结构
        /boot:引导文件存放目录,内核文件(vmlinuz)、引导加载器(bootloader,grub)都存放于此    目录。
        /bin:供所有用户使用的基本命令;不能关联至独立分区,OS启动即会用到的程序。
        /sbin:管理类的基本命令;不能关联至独立分区,OS启动即会用到的程序。
        /lib:启动时程序依赖的基本共享库文件以及内核模块文件(/lib/modules)
        /lib64:专用于x86_64系统上的辅助共享库文件存放位置
        /etc:配置文件目录
        /home/USERNAME:普通用户家目录
        /root:管理员的家目录
        /media:便携式移动设备挂载点
        /mnt:临时文件系统挂载点
        /dev:设备文件及特殊文件存储位置
            b:block device,随机访问
            c:character device,线性访问
        /opt:第三方应用程序的安装位置
        /srv:系统上运行的服务用到的数据
        /tmp:临时文件存储位置
        /usr:universal shared,read-only data
            bin:保证系统拥有完整功能而提供的应用程序
            lib:32位使用
            lib64:只存在64位系统
            include:C程序的头文件(header files)
            share:结构化独立的数据,例如doc,man等
            local:第三方应用程序的安装位置
        /var:variable data files
            cache:应用程序缓存数据目录
            lib:应用程序状态信息数据
            local:专用于为/usr/local下的应用程序存储可变数据
            lock:锁文件
            log:日志目录及文件
            opt:专用于为/opt下的应用程序存储可变数据
            run:运行中的进程相关数据;通常用于存储进程pid文件
            spool:应用程序数据池
            tmp:保存系统两次重启之间产生的临时数据
        /proc:用于输出内核与进程信息相关的虚拟文件系统
        /sys:用于输出当前系统上硬件设备相关信息虚拟文件系统
        /selinux:security enhanced linux,selinux相关的安全策略等信息的存储位置
    12,文件类型
        -:普通文件
        d:目录文件
        b:块设备
        c:字符设备
        l:符号链接文件
        p:管道文件pipe
        s:套接字文件socket
    13,ls用法
        -a:包含隐藏文件
        -l:显示额外的信息
        -R:目录递归通过
        -ld:目录和符号链接信息
        -1:文件分行显示
        -S:按从大到小排序
        -u:配合-t选项,显示并按atime从新到旧排序
        -U:不排序按目录存放顺序显示
    14,stat显示文件的三个时间戳
        access time:访问时间,atime,读取文件内容
        modify time:修改时间,mtime,改变文件内容(数据)
        change time:改变时间,ctime,元数据发生改变
    15,touch命令
        touch [OPTION]... FILE...
            -a:仅改变atime
            -m:仅改变mtime
            -t:STAMP:
                [[cc]yy]mmddhhmm[.ss]
            -c:如果文件不存在,则不予创建
    16,cp命令
        -i:交互式
        -r,R:递归复制目录及内部的所有内容
        -a:归档,相当于-dR --preserv=all
        -d:--no-dereference --preserv=links不复制原文件,只复制链接名
        -p:等同--preserv=mode,ownership,timestamp
        -v:--verbose
        -f:--force
    17,alias定义别名
        显示当前shell进程所有可用的命令别名
        [root@localhost ~]# alias
        定义别名NAME,其相当于执行命令VALUE
        [root@localhost ~]# alias NAME='VALUE'
        在命令行中定义的别名,仅对当前shell进程有效。
        如果想永久有效,要定义在配置文件中
            仅对当前用户:~/.bashrc
            对所有用户有效:/etc/bashrc
        撤消别名使用:unalias
    18,mv命令使用
        常用选项:
            -i:交互式
            -f:强制
    19,rm命令使用
        常用选项:
            -i:交互式
            -f:强制删除
            -r:递归
    20,tree显示目录树
        -d:只显示目录
        -L level:指定显示的层级数目
        -P pattern:只显示由指定pattern匹配到的路径
    21,mkdir创建目录
        -p:存在于不报错,且可自动创建所需的各目录
        -v:显示详细信息
        -m MODE:创建目录时直接指定权限
    22,rmdir删除空目录
        -p:递归删除父空目录
        -v:显示详细信息
    23,rm删除数据
        -r:递归删除目录树
        -f:强制删除不提示
    24,STDOUT和STDERR重定向到文件
        格式:命令    操作符号    文件名
            >:把STDOUT重定向到文件
            2>:把STDERR重定向到文件
            &>:把所有输出重定向到文件
            >:文件内容分被覆盖
                set -C:禁止将内容覆盖已有文件,但可以追加强制覆盖:>|
                set +C:允许覆盖
            >>:原有内容基础上,追加内容
            2>:覆盖重定向错误输出数据流
            2>>:追加重定向错误输出数据流
            标准输出和错误输出各自定向至不同位置:格式如下;
                COMMAND > /path/to/file.out 2> /path/to/error.out
            合并标准输出和错误输出为同一个数据流进行重定向:格式如下;
                &>:覆盖重定向
                &>>:追加重定向
                COMMAND > /path/to/file.out 2> &1    (顺序很重要)
                COMMAND >> /path/to/file.out 2>> &1
            ():合并多个程序的STDOUT
                (cal 2007 ; cal 2008)> all.txt
    25,tr - 转换和删除字符
            tr [OPTION]...SET1 [SET2]
            选项:
            -c或--complerment:取字符集的补集
            -d或--delete:删除所有属于第一字符集的字符
            -s或--squeeze-repeats:把连续重复的字符以单独一个字符表示
            -t或--truncate-set1:将第一个字符集对应字符转化为第二字符集对应的字符
        使用<来重定向标准输入
        某些命令能够接受从文件中导入的STDIN
            $tr ‘a-z’ ‘A-Z’ </etc/issue
            该命令会把/etc/issue中的小写字符都转换成写写字符
        tr –d abc < /etc/fstab 删除fstab文件中的所有abc中任意字符
            [root@localhost ~]# cat > filea
            mage
            wangxiaochun
            按ctrl+d离开,可以使用文件来代替键盘的输入
        [root@localhost ~]# cat > filea < fileb
    26,less:一页一页地查看输入
        ls -l /etc | less
        mail:通过电子邮件发送输入:
        echo "testemail" | mail -s "test" user@example.com
    lpr:把输入发送给打印机
        echo "testprint" | lpr-Pprinter_name