linux基础知识+常用命令

一.基础知识
    终端设备  terminal
        多任务,多用户

        Linux的哲学思想之一:一切皆文件;
       表现之一:硬件设备也通过文件表示;
              物理终端:/dev/console
              虚拟终端:/dev/tty# [1,6]     Ctrl+Alt+F[1-6]切换      
              串行终端:/dev/ttyS#
              伪终端:/dev/pts/#

        相关终端命令
            tty          查看终端
            whoami       显示当前的登录用户名
            who am i     显示当前的登录用户名 终端名 登录时间
            who          显示当前所有的登录用户名 终端名 登录时间
            w            显示当前所有的登录用户名 终端名 登录时间 登录的来源 当前在做什么

        给其他终端发消息
            echo 1234 > /dev/tty2

    shell 
        Linux的命令解释器
        是一种高级程序设计语言

        base  Bourne-Again Shell 是Linux标准的shell

        echo @SHELL         显示当前使用的shell
        cat /etc/shells     显示当前所有已安装的shell

    vim编辑
        三种模式
            command(default)
                光标移动,复制,剪切,替换,删除,查找,以及进入其他模式   
            insert                  文本编辑

            exit                    结束
                q         退出
                q!        强制退出
                w         保存
                wq或x     保存并退出

        从命令模式进入插入模式       i (光标在哪就在哪里进入插入模式) 
                                     o 在光标所在行向下插入新行,并进入插入模式) 
        从插入模式返回命令模式       ESC
        从命令模式进入退出模式       :
        从退出模式返回命令模式       两次ESC
                
    命令提示符 prompt

        [root@localhost ~]#
            #管理员    $普通用户

        显示提示符格式
            echo $PS1
        
            PS1=”[\e[31m][\u@\h \W]\$[\e[0m]”
            [\e[31m]    修改颜色  31-38颜色范围
            [\e[0m]     终止颜色改变
            \u  当前用户 
            \h  主机名简称
            \H  主机名
            \w  当前工作目录
            \W  当前工作目录基名
            \t  24小时时间格式
            \T  12小时时间格式

        修改提示符格式 
            vim /etc/bashrc
                PS1=”[\e[36m][\u@\h \W]\$[\e[0m]”    永久修改、

            PS1=”[\e[31m][\u@\h \W]\$[\e[0m]”        暂时修改

    文件类型
        – :普通文件
        d :目录文件
        l :软链接文件
        b :块设备文件
        c :字符设备文件
        s :socket文件
        p :管道文件   

    文件颜色
        蓝色–>目录
        绿色–>可执行文件 
        红色–>压缩文件
        浅蓝色–>链接文件
        灰色–>其他文件

    文件的路径表示:
   绝对路径:从根开始表示出的路径 
        相对路径:从当前位置开始表示出的路径

.当前目录
..上一级目录

示例:
        [root@centos ~]# pwd
        /root
        [root@centos ~]# cd /etc/sysconfig/
        [root@centos sysconfig]# cd .
        [root@centos sysconfig]# pwd
        /etc/sysconfig
        [root@centos sysconfig]# cd ..
        [root@centos etc]# pwd
        /etc

        cp /etc/passwd .
        ./test.sh

        basename:最右侧的文件或目录名;
dirname:basename左侧的路径;
        
        示例:
[root@centos etc]# basename /etc/sysconfig/
        sysconfig
        [root@centos etc]# dirname /etc/sysconfig/       
        /etc

    程序的组成部分:二进制程序文件、库文件、配置文件、帮助文件;
二进制、库文件:可执行文件
库文件:不能独立执行,只能被调用时执行
配置文件、帮助文件:可被查看其内容的文件    

    命令
        命令的语法
            # COMMAND OPTIONS ARGUMENTS

            COMMAND:
                发起一命令:请求内核将某个二进制程序运行为一个进程;
   程序 –> 进程
   静态 –> 动态(有生命周期)
                
                命令分为两类: 内部命令,外部命令

            OPTIONS:
   指定命令的运行特性;

   选项有两种表现形式:
   短选项:-C, 例如-l, -d
   注意:有些命令的选项没有-;
   如果同一命令同时使用多个短选项,多数可合并:-l -d = -ld
   长选项:–word, 例如–help, –human-readable
   注意:长选项不能合并;

   注意:有些选项可以带参数,此称为选项参数;

   ARGUMENTS:
   命令的作用对象;命令对什么生效;

   注意:不同的命令的参数;有些命令可同时带多个参数,多个之间以空白字符分隔;

       示例:ls -ld /var /etc 

二.命令的优先级
    alias——> 内部命令——> hash ——> PATH
                    
    (一)基本命令
        type  判断命令的类型

        enable  管理内部命令
            enable command            激活一个内部命令
   enable -n command         禁用一个内部命令
   enable                    显示所有已激活的内部命令
   配合 | wc -l          可查看已激活的内部命令的数量
   enable -a                 显示所有的内部命令(无论激活与否)
   配合 | wc -l          可查看所有的内部命令数量

        help + 内部命令               查看内部命令的帮助信息
            外部命令  –help          查看外部命令的帮助信息

        hash   外部命令的路径缓存
            hash                      查看被缓存的外部命令
   hash -l                   详细查看,包含别名
       hash -d                   别名  删除指定别名的缓存路径
       hash -p                   路径 别名 手动添加一条缓存路径
       hash -r                   删除所有的hash
       hash -t                   别名  指定别名,显示被hash的路径

   PATH 用来指定外部命令的搜索路径,以:为间隔,由左至右的顺序
       # echo $PATH          
      
        whereis command               查看命令的路径(外部命令)和 帮助文档的路径

        which command                 显出命令的路径

        alias 别名
       # alias 别名=’原命令 [-options] [arguments]’
       # alias                   查看别名
       # unalias 别名            删除别名

            临时使别名不生效可用以下方法
           使用路径执行
           \命令
           ‘命令’
           “命令”

            示例:   [root@centos(kk) ~]#alias pwd=’echo 1234′
                    [root@centos(kk) ~]#pwd
                    1234
                    [root@centos(kk) ~]#\pwd
                    /root
                    [root@centos(kk) ~]#’pwd’
                    /root
                    [root@centos(kk) ~]#”pwd”
                    /root

        中断命令
            ctrl+C 强制中断

        命令连接符 当前一个命令执行结束,再执行下一条命令
            command1 ; command2 ; command 3 …… 
        \ 命令换行符,可使一条命令加选项和参数 换行执行

   (二)配置环境
        # type pwd
        # alias pwd=’echo 1234′
        # pwd
        # unalias pwd
        # mv /bin/pwd /root
        # cp /sbin/ifconfig /usr/bin/pwd
        # enable -n pwd
        # pwd;type pwd
        # hash -r
        # pwd

    (三)实验
        [root@centos ~]# type pwd
        pwd is a shell builtin
        [root@centos ~]# alias pwd=’echo 1234′
        [root@centos ~]# pwd
        1234
        [root@centos ~]# unalias pwd
        [root@centos ~]# mv /bin/pwd /root
        [root@centos ~]# cp /sbin/ifconfig /usr/bin/pwd
        [root@centos ~]# pwd
        /root
        [root@centos ~]# enable -n pwd
        [root@centos ~]# pwd;type pwd
        -bash: /bin/pwd: No such file or directory
        pwd is hashed (/bin/pwd)
        [root@centos ~]# hash -r
        [root@centos ~]# pwd
        eth0        Link encap:Ethernet  HWaddr 00:0C:29:70:47:4D  
                    inet addr:172.16.253.247  Bcast:172.16.255.255  Mask:255.255.0.0
                    inet6 addr: fe80::20c:29ff:fe70:474d/64 Scope:Link
                    UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
                    RX packets:10042 errors:0 dropped:0 overruns:0 frame:0
                    TX packets:152 errors:0 dropped:0 overruns:0 carrier:0
                    collisions:0 txqueuelen:1000 
                    RX bytes:974513 (951.6 KiB)  TX bytes:11792 (11.5 KiB)
         

三.常用命令
    pwd  printing working directory         显示工作目录
        -P 当前目录为软链接时,则显示源目录的路径
        -L 当前目录为软链接时,则显示链接目录的路径(默认)

    cd   change directory 
        cd [/PATH/TO/SOMEDIR]
            -P               如果目标目录是个软链接目录,则直接进入其源始目录 
            ..               进入上一级目录        
            cd ~或 cd        进入家目录
            cd ~USERNAME     切换至指定用户的家目录 
            cd –             进入上一次的工作目录 

相关的环境变量
$PWD:当前工作目录
$OLDPWD:上一次的工作目录

    ls  list  列出指定目录下的内容 
        ls [OPTION]  [FILE]   
            -a 列出所有文件(包含隐藏文件)
            -A 列出所有文件(包含隐藏文件但不包含.和..)
            -l 长列出(即显示属性信息)
            -R 递归 
            -d:查看目录自身而非其内部的文件列表;
            -ld 查看指定目录的属性
            -1 竖显示
            -S 按文件大小降序排列
            -i 显示文件的inodes

    cat:concatenate
        文件文本查看工具;
            cat /etc/fstab
            cat /etc/passwd

        -n   给显示的文本编号
        -E   显示行结束符$           

    tac:
        文件文本查看工具;
            tac /etc/fstab
            tac /etc/passwd

    echo  回显
        echo [SHORT-OPTION]   [STRING]
            -n 不换行
            -E 不支持解释(默认)
            -e 支持解释功能
                “\a” 发出警告声
                “\b” 退格
                “\c” 不换行
                “\n” 换行且光标移至行首
                “\r” 移至行首但不换行
                “\t” 插入tab
    screen
        光盘挂载
        mkdir /media/dvd
        mount /dev/cdrom /media/dvd
        cd /media/dvd/Packages
        rpm -ivh screen-4.0.3-19.el6.x86_64.rpm

        screen用法
            screen -ls 列出当前所有的screen会话
            screen -S 名称 创建一个指定名称的screen会话
            screen -x 名称 加入指定名称的screen会话
            screen 创建一个会话,名称为当前的终端名-主机名前缀如pts-2.centos6

四.其他命令

    日期时间
        date
             date        显示当前时间
             date +%F    年月日显示
             date +%T    时分秒显示
             date +%Y    年
             date +%m    月
             date +%d    日
             date +%H    时
             date +%M    分
             date +%S    秒
             date +%a    英文星期缩写
             date +%A    英文星期全称
             date +%w    周

        设置时间
        date 0930192032017.10
            月日时分年[.秒]

        date -s “2018-1-20 13:50:11”

        clock 或 howclock
            -s 将硬时间写入软时间
            -w 将软时间写入硬时间

        cal 
            cal          显示当月日历
            -y           显示当年的全年日历、
            数字         显示某年日历
            -3           上月,这月,下月的日历
            cal  m y     显示指定年指定月的日历
                cal 9 1752
            
    history 
        ~/.bash_history 当用户退出时,会将当前终端的history写入文件,当用户登录时,从文件中读取到history

        history 显示当前终端的历史记录
        history -a 将当前终端的历史写入.bash_history
        history -n 从文件中读取未加载的历史
        history -r 从文件中读取历史追加到history的最后
        history -c 清空history

    HISTSIZE 当前history保留的数量,默认1000
    HISTFILESIZE 文件中最多存的数量        

    帮助命令
        whatis    显示命令描述信息
            基于数据库的查找方式,数据文件位置/var/cache/man/whatis 可使用makewhatis建立 
            优点:查询快
            缺点:没有实时性

        help 内部命令
        外部命令 –help

        man
            u  向上翻半屏
            d  向下翻半屏
            f  向下翻整屏
            b  向上翻整屏
            G  跳到尾页
            g  跳到首页
            j  向下跳一行
            k  向上跳一行
            /关键字      n向下找N向上找
            ?关键字     n向下找N向上找
            q  退出man

            -k 关键字    查询某个关键字有那些章节

五.其他
关机
    halt 
    poweroff 
    init 0

重启
    reboot
    init 6

shutdown 
    shutdown -r 重启
    shutodwn -h 关机
    shutdown -c 取消计划关机
    shutdown +0 马上关机
             +1 一分钟后关机
             -X X分钟后关机
             20:00 今天20:00关机

$(command) 或 command 引用命令执行的结果
    示例:
    echo i am $(hostname)
    echo i am  hostname             

$[] 或 $(())  运算
    示例:
    echo $((26))
    echo $[2
6]

${变量名} 或 “$变量名” 引用变量
    示例
    echo $SHELL
    echo ${PS1}

{}的用法
    {a,b,c} 分别引用其中的每个字符
    {1..10} 或 seq 1 10
    {a..z}

    示例:
    echo {1,2,3}
    echo {1..10}
    seq 1 10

tab键补全
     唯一时则补出,不唯一时,两次TAB显示列表

     /2Tab         显示所有根目录下一级目录,包括隐藏
     ./2Tab        当前目录下子目录,包括隐藏
     *2Tab         当前目录下子目录,不包括隐藏
     $2Tab         所有变量    
     =2Tab         相当于ls -A

快捷键

    ctrl+a 光标跳到行首
    ctrl+e 光标跳到行尾
    alt+num a  输入指定数量的字符

stat   
    查看文件的详细属性,包括三个时间戳

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

文件名的通配符
    * 匹配零或多个任意字符 
    ? 匹配任意一个单一字符
    ~ 代表家目录
    [2-7] 表示数字范围
    [c-w] 表示字母范围
    [nihao] 匹配列表中的任何一个字符
    [^nihao] 取反,会匹配到列表中所有字符以外的字符
    [[:digit:]] 表示任意数字
    [[:alpha:]] 表示任意字母
    [[:alnum:]] 表示任意字母或数字
    [[:upper:]] 表示大写字母
    [[:lower:]] 表示小写字母
    [[:blank:]] 水平空白字符
    [[:space:]] 水平或垂直空白字符
    [[:punct:]] 特殊字符
    第一个[]表示范围,第二个[]跟里面的固定搭配表示数字或字符等,比如[:digit:]

原创文章,作者:nolan,如若转载,请注明出处:/86061

发表评论

电子邮件地址不会被公开。 必填项已用*标注

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1660809109@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班

友情链接:万达直属QQ  万达招商  测试  万达直属QQ  万达主管  万达娱乐招商  万达娱乐主管  万达娱乐平台  万达娱乐平台  万达娱乐主管QQ