您的位置:新葡亰496net > 电脑系统 > 新葡亰496netLinux入门基础命令详解,Linux基础命令

新葡亰496netLinux入门基础命令详解,Linux基础命令

发布时间:2019-09-11 16:36编辑:电脑系统浏览(95)

    新葡亰496net 1

    一、用户登录

    centos 目录结构 快捷键 ls命令,alias别名,so:动态库 a:静态库,环境变量PATH,Ctrl z 暂停命令,Ctrl a 光标到行首,Ctrl e 光标到行尾,Ctrl u 删除光标前所有字符 Ctrl r 搜索命 hash命令  Ctrl 左箭头/右箭头 cd命令  第三节课

    帮助命令
        man  eg: man ls
        help eg: help cd
        info eg: info ls
        --help  eg: ls --help
    查看环境变量的命令
        export,printenv,env,set
    查看时间的命令
        date,hwclock,cal
        date :显示或者设置系统的时钟
          -s 设置时间
          -d 显示字符串所指的时间或日期
          显示时间
                    # date -d "$date"
                    # date " %y" 显示年
                    # date ' %y-%m-%d-%k-%M-%S' 显示年月日时分秒
                    # date " %y" 显示年
                    # date ' %y-%m-%d-%k-%M-%S' 显示年月日时分秒
          设置时间 # date -s 2013-07-14
                    # date -s 19:22:22
                    # date -s "2013-07-14 19:22:22"
        hwclock : 显示硬件时钟
                    # hwclock
                  设置硬件时间
                    # hwclock --set --date="13/07/14 12:05:22"
        cal: 显示公里日历(阳历日历)
                  # cal
    which 查找文件
          # which COMMAND
    type  显示命令的类型(内部命令/外部命令)
          # type COMMAND
    file  显示文件类型
          # file filename
    echo  显示字符串
          # echo $PATH
    hash  用来显示,添加,清除哈希表
          简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数 。   
          # hash -l 显示为
          builtin(内部命令) hash -p /usr/bin/file file
          builtin hash -p /bin/chmod chmod
          builtin hash -p /bin/date date
          builtin hash -p /usr/bin/stat stat
          builtin hash -p /usr/bin/man man
          builtin hash -p /usr/bin/info info
          builtin hash -p /bin/ls ls
          builtin hash -p /usr/bin/clear clear
    目录命令
          cd
            cd ~ 回家目录
            cd  回家目录
            cd - dirname 进入指定目录
            cd - 在上一个目录和当前目录来回切换
          dirname  指定路径目录
          mkdir  创建目录
          rmdir  删除目录
          pwd  显示当前目录
    文本文件相关命令
      查看
          cat,tac
              # cat /etc/passwd 用户的属性信息
              # cat /etc/shadow 影子口令  把密码放到另外一个文件中去  只能让管理员访问
              # cat /etc/group 组的属性信息
              # cat /etc/gshadow 组的密码
          more/less
              more  向后翻  在翻至文件尾部之前允许向前翻
              less  向前翻
          head/tail
              head 文件前n(默认前10)行
              tail ~    后      后
                -n #  -n 20
                -#    -20
      创建
          nano
              ctrl o  保存
              ctrl x  退出
          touch
              修改文件时间戳
              access 访问时间  -a
              modify 修改时间  -m
              -t  指定时间格式  [cc]yymmddhhmm.ss
          stat file
              显示文件的属性信息
              访问时间
              修改
              改变
        编辑
            nano
            vim
        复制
          cp  src(源)  。。。DEST(目标目录)
                -r  递归复制
                -a 比-r全面,归档
                -v 过程
                -i  交互式复制
        移动
          mv
        删除
          rm
            -r 逐级删除
            -i 提醒
            -f 强行删除
    命令别名
        alias  command=command
        # alias  cls=clear
    通配符
        bash支持文件通配,globbing
        * 任意长度的任意字符
        ?任意单个字符
        []  指定范围内的任意单个字符[a-z]
        [^] 脱字符,取反,指定范围外的单个字符[^0-9]
    添加用户
        useradd,adduser
          # useradd USERNAME  创建用户时为其创建同名组,家目录,用户的私有组
              -u UID,有效范围0-65535
              -g GID,有效范围已有的GID
              -c 注释
              -d /path/to/somewhere
              -s /path/to/shell_command 切换到shell的命令上
              -r 创建系统用户,ID号1-499之间的用户(系统用户的家目录虽然有路径,却并没有真正给他创建目录)
              -M 不为用户创建家目录
              -m 必须为用户创建家目录
    转换用户
        su(switch user)
            su USERNAME
            su -l USERNAME=su - USERNAME

    帮助命令
        man  eg: man ls
        help eg: help cd
        info eg: info ls
        --help  eg: ls --help
    查看环境变量的命令
        export,printenv,env,set
    查看时间的命令
        date,hwclock,cal
        date :显示或者设置系统的时钟
          -s 设置时间
          -d 显示字符串所指的时间或日期
          显示时间
                    # date -d "$date"
                    # date " %y" 显示年
                    # date ' %y-%m-%d-%k-%M-%S' 显示年月日时分秒
                    # date " %y" 显示年
                    # date ' %y-%m-%d-%k-%M-%S' 显示年月日时分秒
          设置时间 # date -s 2013-07-14
                    # date -s 19:22:22
                    # date -s "2013-07-14 19:22:22"
        hwclock : 显示硬件时钟
                    # hwclock
                  设置硬件时间
                    # hwclock --set --date="13/07/14 12:05:22"
        cal: 显示公里日历(阳历日历)
                  # cal
    which 查找文件
          # which COMMAND
    type  显示命令的类型(内部命令/外部命令)
          # type COMMAND
    file  显示文件类型
          # file filename
    echo  显示字符串
          # echo $PATH
    hash  用来显示,添加,清除哈希表
          简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数 。   
          # hash -l 显示为
          builtin(内部命令) hash -p /usr/bin/file file
          builtin hash -p /bin/chmod chmod
          builtin hash -p /bin/date date
          builtin hash -p /usr/bin/stat stat
          builtin hash -p /usr/bin/man man
          builtin hash -p /usr/bin/info info
          builtin hash -p /bin/ls ls
          builtin hash -p /usr/bin/clear clear
    目录命令
          cd
            cd ~ 回家目录
            cd  回家目录
            cd - dirname 进入指定目录
            cd - 在上一个目录和当前目录来回切换
          dirname  指定路径目录
          mkdir  创建目录
          rmdir  删除目录
          pwd  显示当前目录
    文本文件相关命令
      查看
          cat,tac
              # cat /etc/passwd 用户的属性信息
              # cat /etc/shadow 影子口令  把密码放到另外一个文件中去  只能让管理员访问
              # cat /etc/group 组的属性信息
              # cat /etc/gshadow 组的密码
          more/less
              more  向后翻  在翻至文件尾部之前允许向前翻
              less  向前翻
          head/tail
              head 文件前n(默认前10)行
              tail ~    后      后
                -n #  -n 20
                -#    -20
      创建
          nano
              ctrl o  保存
              ctrl x  退出
          touch
              修改文件时间戳
              access 访问时间  -a
              modify 修改时间  -m
              -t  指定时间格式  [cc]yymmddhhmm.ss
          stat file
              显示文件的属性信息
              访问时间
              修改
              改变
        编辑
            nano
            vim
        复制
          cp  src(源)  。。。DEST(目标目录)
                -r  递归复制
                -a 比-r全面,归档
                -v 过程
                -i  交互式复制
        移动
          mv
        删除
          rm
            -r 逐级删除
            -i 提醒
            -f 强行删除
    命令别名
        alias  command=command
        # alias  cls=clear
    通配符
        bash支持文件通配,globbing
        * 任意长度的任意字符
        ?任意单个字符
        []  指定范围内的任意单个字符[a-z]
        [^] 脱字符,取反,指定范围外的单个字符[^0-9]
    添加用户
        useradd,adduser
          # useradd USERNAME  创建用户时为其创建同名组,家目录,用户的私有组
              -u UID,有效范围0-65535
              -g GID,有效范围已有的GID
              -c 注释
              -d /path/to/somewhere
              -s /path/to/shell_command 切换到shell的命令上
              -r 创建系统用户,ID号1-499之间的用户(系统用户的家目录虽然有路径,却并没有真正给他创建目录)
              -M 不为用户创建家目录
              -m 必须为用户创建家目录
    转换用户
        su(switch user)
            su USERNAME
            su -l USERNAME=su - USERNAME

     新葡亰496net 2

    root 用户一个特殊的管理帐户也被称为超级用户。

    Centos7中root的id是0

    [root@centos7 ~]#echo $UID
    0
    [root@centos7 ~]#id -u
    0
    

     

    查看用户的id
        id USERNAME
        -u
        -g
        -n(名字)
        -un
        -gn

    查看用户的id
        id USERNAME
        -u
        -g
        -n(名字)
        -un
        -gn

     新葡亰496net 3

    普通(非特权 )用户

    Centos7普通用户的id是1000

    上半节课

    创建组: 
        groupadd USERNAME
          /etc/group
            组名:密码占位符,GID,以此组为额外组的用户列表,用户间用逗号分隔
            -g GID 创建组的时候为其制定GID
            -r  创建系统组
    修改用户属性
          usermod
            -u
            -g  改基本组
            -G  额外组与-a一块使用  -a(append追加)保留原来的额外组,新增额外组
            -s shell
            -l 修改用户的登录名称
            -m -d /path/to/sommewhere 给用户修改新的家目录,并将原有家目录中的用户一并挪过去
    groupmod  修改组属性
        -g GID
        -n NEW_NAME
    密码管理
        passwd 修改自己的密码
            passwd
            -l 锁定用户帐号
            -u 解锁
    密钥属性的修改
        passwd
          -e 设定过期期限
          -n 设定密码最短使用天数
          -x 设定最长使用天数
          -w 警告天数
          -i 非活动时长
        chage
          -d 修改密码的最近一次修改时间
          -m --mindays MIN_DAYS 最短使用期限
          -M --maxdays MAX_DAYS 最长使用期限
          -W --warndays WARN_DAYS 警告天数
          -I --inactive  非活动天数
          -E --expiredate 过期时间
        usermod
          -e  指定账户过期时间
          -i 跟上天数:表示非活动天数
    gpasswd 为组设定密码
    newgrp GROUP 临时设定指定的组为自己的基本组

    创建组: 
        groupadd USERNAME
          /etc/group
            组名:密码占位符,GID,以此组为额外组的用户列表,用户间用逗号分隔
            -g GID 创建组的时候为其制定GID
            -r  创建系统组
    修改用户属性
          usermod
            -u
            -g  改基本组
            -G  额外组与-a一块使用  -a(append追加)保留原来的额外组,新增额外组
            -s shell
            -l 修改用户的登录名称
            -m -d /path/to/sommewhere 给用户修改新的家目录,并将原有家目录中的用户一并挪过去
    groupmod  修改组属性
        -g GID
        -n NEW_NAME
    密码管理
        passwd 修改自己的密码
            passwd
            -l 锁定用户帐号
            -u 解锁
    密钥属性的修改
        passwd
          -e 设定过期期限
          -n 设定密码最短使用天数
          -x 设定最长使用天数
          -w 警告天数
          -i 非活动时长
        chage
          -d 修改密码的最近一次修改时间
          -m --mindays MIN_DAYS 最短使用期限
          -M --maxdays MAX_DAYS 最长使用期限
          -W --warndays WARN_DAYS 警告天数
          -I --inactive  非活动天数
          -E --expiredate 过期时间
        usermod
          -e  指定账户过期时间
          -i 跟上天数:表示非活动天数
    gpasswd 为组设定密码
    newgrp GROUP 临时设定指定的组为自己的基本组

    新葡亰496net 4

    二、终端terminal

    ls命令

    改变文件的权限
        chmod change mode
            chmod [选项]权限文件
                权限定义方式
                    1.同事修改三类用户的权限;8进制数字方式
                    2.修改某一些或某些类用户的权限:u,g,o
                        u=rw
                        u=,g=
                        ug=
                    3.只操作某类用户的某位或者某些位权限:u,g,o,a
                      /-
                      u w
                      x
                      -x
                      g-rw(把属主的读写权限删除)
    选项
              -R :递归修改权限
              --reference=/path/to/somefile FILE 
    修改文件的属主和属组
        chown[选项] 用户  文件
        chgrp[选项] 组  文件
        选项
            -R :递归修改权限   
            --reference=/path/to/somefile FILE 
    删除用户:
        userdel
            userdel [options] USERNAME
              -r
    删除组
        groupdel
          groupdel GRPNAME
     bash的快捷键
          Ctrl a 跳至命令行首
          Ctrl e          尾
          Ctrl u 删除命令行首到光标所在地点内容
          Ctrl k 删除当前光标所有出至命令行的内容
          Ctrl l 清屏,相当于clear命令
          Ctrl c 取消或终止
          Ctrl z 将当前命令送至后台
    cut:文本切割
        最常用的功能是能够使用制定的符号作为行中内容的分隔符,将每一行切片,而只取出某些片
          cut [options] FILE
              -d:默认分隔符为空白,一般在后边加:号,-d:
              -f 1-5(第一段-第五段)  1,5(第一段和第五段)
    join: 将两个文件中,指定栏位内容相同的行连接起来
          参  数:
      -a<1或2>  除了显示原来的输出内容之外,还显示指令文件中没有相同栏位的行。
      -e<字符串>  若[文件1]与[文件2]中找不到指定的栏位,则在输出中填入选项中的字符串。
      -i或--igore-case  比较栏位内容时,忽略大小写的差异。
      -o<格式>  按照指定的格式来显示结果。
      -t<字符>  使用栏位的分隔字符。
      -v<1或2>  跟-a相同,但是只显示文件中没有相同栏位的行。
      -1<栏位>  连接[文件1]指定的栏位。
      -2<栏位>  连接[文件2]指定的栏位。
      --help  显示帮助。
      --version  显示版本信息。
      grep
        global serach regular exmpression and printing 以正则表达式来描述选择条件
            正则表达式是一类字符所书写的模式(pattern)
                元字符:(*、?)不表示字符本身的意义,而用于额外功能性的描述
            grep [options] 'pattern' file
            正则表达式:基本正则表达式,扩展正则表达式
            基本正则表达式:贪婪模式(尽可能长de去匹配符合模式的内容)
                ^: 锚定行首的符合条件的内容,用法格式:"^pattern"
                $:锚定行尾的符合条件的内容,用法格式:"pattern$"
                    ^pattern$  自成一行
                    ^$ 空白行
                .:匹配任意单个字符
                *:前边的字符距最近才能匹配
                    a*b:ab,aab,b  匹配
                        acb  不匹配
                  .*:匹配任意长度的任意字符
                  []:匹配指定范围内的任意字符
                  [^]:匹配指定范围外的任意字符
                      [0-9]: 所有的数字
                      [a-z]:所有的小写字母
                      [A-Z]:所有的大写字母
                      [a-zA-Z]:所有的字母
                      [0-9a-zA-Z]:所有的数字和字母
        grep的选项
            --color=auto
            -v:反向选取,只显示不符合模式的行
            -o:只显示被模式匹配到的字串,而不显示整个行
            -A #行号:显示匹配的行时,顺带显示后边的#行
            -B # :前面的#行
            -C # :前后的#

    改变文件的权限
        chmod change mode
    新葡亰496net,        chmod [选项]权限文件
                权限定义方式
                    1.同事修改三类用户的权限;8进制数字方式
                    2.修改某一些或某些类用户的权限:u,g,o
                        u=rw
                        u=,g=
                        ug=
                    3.只操作某类用户的某位或者某些位权限:u,g,o,a
                      /-
                      u w
                      x
                      -x
                      g-rw(把属主的读写权限删除)
    选项
              -R :递归修改权限
              --reference=/path/to/somefile FILE 
    修改文件的属主和属组
        chown[选项] 用户  文件
        chgrp[选项] 组  文件
        选项
            -R :递归修改权限   
            --reference=/path/to/somefile FILE 
    删除用户:
        userdel
            userdel [options] USERNAME
              -r
    删除组
        groupdel
          groupdel GRPNAME
     bash的快捷键
          Ctrl a 跳至命令行首
          Ctrl e          尾
          Ctrl u 删除命令���首到光标所在地点内容
          Ctrl k 删除当前光标所有出至命令行的内容
          Ctrl l 清屏,相当于clear命令
          Ctrl c 取消或终止
          Ctrl z 将当前命令送至后台
    cut:文本切割
        最常用的功能是能够使用制定的符号作为行中内容的分隔符,将每一行切片,而只取出某些片
          cut [options] FILE
              -d:默认分隔符为空白,一般在后边加:号,-d:
              -f 1-5(第一段-第五段)  1,5(第一段和第五段)
    join: 将两个文件中,指定栏位内容相同的行连接起来
          参  数:
      -a<1或2>  除了显示原来的输出内容之外,还显示指令文件中没有相同栏位的行。
      -e<字符串>  若[文件1]与[文件2]中找不到指定的栏位,则在输出中填入选项中的字符串。
      -i或--igore-case  比较栏位内容时,忽略大小写的差异。
      -o<格式>  按照指定的格式来显示结果。
      -t<字符>  使用栏位的分隔字符。
      -v<1或2>  跟-a相同,但是只显示文件中没有相同栏位的行。
      -1<栏位>  连接[文件1]指定的栏位。
      -2<栏位>  连接[文件2]指定的栏位。
      --help  显示帮助。
      --version  显示版本信息。
      grep
        global serach regular exmpression and printing 以正则表达式来描述选择条件
            正则表达式是一类字符所书写的模式(pattern)
                元字符:(*、?)不表示字符本身的意义,而用于额外功能性的描述
            grep [options] 'pattern' file
            正则表达式:基本正则表达式,扩展正则表达式
            基本正则表达式:贪婪模式(尽可能长de去匹配符合模式的内容)
                ^: 锚定行首的符合条件的内容,用法格式:"^pattern"
                $:锚定行尾的符合条件的内容,用法格式:"pattern$"
                    ^pattern$  自成一行
                    ^$ 空白行
                .:匹配任意单个字符
                *:前边的字符距最近才能匹配
                    a*b:ab,aab,b  匹配
                        acb  不匹配
                  .*:匹配任意长度的任意字符
                  []:匹配指定范围内的任意字符
                  [^]:匹配指定范围外的任意字符
                      [0-9]: 所有的数字
                      [a-z]:所有的小写字母
                      [A-Z]:所有的大写字母
                      [a-zA-Z]:所有的字母
                      [0-9a-zA-Z]:所有的数字和字母
        grep的选项
            --color=auto
            -v:反向选取,只显示不符合模式的行
            -o:只显示被模式匹配到的字串,而不显示整个行
            -A #行号:显示匹配的行时,顺带显示后边的#行
            -B # :前面的#行
            -C # :前后的#

    新葡亰496net 5

    设备终端

    键盘鼠标显示器

    新葡亰496net 6

     

    sort : 排序
      -f 忽略字符大小写
      -n 以数值大小进行排序
      -r 降序
      -u 移除重复的行,具有相同内容的行,只保留一个
      -R 随机排序
    uniq :排序完成后不重复的行
      -c:统计每行重复的次数
      -u;只显示没有重复的行
      -d: 只显示重复过的行

    sort : 排序
      -f 忽略字符大小写
      -n 以数值大小进行排序
      -r 降序
      -u 移除重复的行,具有相同内容的行,只保留一个
      -R 随机排序
    uniq :排序完成后不重复的行
      -c:统计每行重复的次数
      -u;只显示没有重复的行
      -d: 只显示重复过的行

     

    物理终端(/dev/console )

    控制台console
    在Linux 系统中,计算机显示器通常被称为控制台终端 (Console)。它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2 等。当你在控制台上登录时,使用的是tty1。使用Alt [F1—F6]组合键时,我们就可以切换到tty2、tty3等上面去。tty1–tty6等 称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名,系统所产生的信息会发送到该终端上(这时也叫控制台终端)

    新葡亰496net 7

    下半节课

    Linux命令之cd 

    相关阅读:

    新葡亰496net 8

    虚拟终端(tty: teletypewriters, /dev/tty# #为[1-6])

    tty 可有n个, Ctrl Alt F[1-6]

    新葡亰496net 9

    alias别名

    Linux命令之cat 

    Linux命令之cd  http://www.linuxidc.com/Linux/2013-05/83948.htm

    新葡亰496net 10

    图形终端(/dev/tty7 ) startx, xwindows

    CentOS 6: Ctrl Alt F7
    CentOS 7: 在哪个终端启动,即位于哪个虚拟终端

    新葡亰496net 11

    so:动态库 a:静态库

    Linux命令之alias/unalias 

    Linux命令之cat  http://www.linuxidc.com/Linux/2013-05/83947.htm

    新葡亰496net 12

    串行终端(/dev/ttyS# )

    ttyS
    串 行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。有段时间这些串行端口设备通常被称为终端设备,因为 那时它的最大用途就是用来连接终端。例如, 在命令行提示符下键入:echo test > /dev/ttyS1会把单词”test”发送到连接在ttyS1(COM2)端口的设备上。可接串口来实验。

    新葡亰496net 13

    环境变量PATH

    Linux命令解析:su root和su -root 

    Linux命令之alias/unalias  http://www.linuxidc.com/Linux/2013-05/83946.htm

    新葡亰496net 14

    伪终端(pty: pseudo-tty , /dev/pts/# )

    pty, SSH远程连接
    伪终端(Pseudo Terminal)是成对的逻辑终端设备(即master和slave设备, 对master的操作会反映到slave上)。
    例 如/dev/ptyp3和/dev/ttyp3(或者在设备文件系统中分别是/dev/pty/m3和 /dev/pty/s3)。它们与实际物理设备并不直接相关。如果一个程序把ptyp3(master设备)看作是一个串行端口设备,则它对该端口的读/ 写操作会反映在该逻辑终端设备对应的另一个ttyp3(slave设备)上面。而ttyp3则是另一个程序用于读写操作的逻辑设备。

    新葡亰496net 15

    查看当前的终端设备: #tty

    Ctrl z 暂停命令

    man eg: man ls help eg: help cd info eg: info ls --help eg: ls --help 查看环境变量的命令 export,printenv,env,set 查看时间的命令 date,hwclock,cal date...

    Linux命令解析:su root和su -root  http://www.linuxidc.com/Linux/2013-04/82564.htm

    命令

    交互式接口

    Ctrl a 光标到行首

    新葡亰496net 16

    1.tty (查看登录平台数量及用户)

    交互式接口:启动终端后,在终端设备附加一个交互式应用程序

    Ctrl e 光标到行尾

    2.who (查看当前平台及用户) -r(同3)

    GUI: Graphic User Interface

    X protocol, window manager, desktop
    Desktop:
    GNOME (C, 图形库gtk),
    KDE (C ,图形库qt)
    XFCE (轻量级桌面)
    带桌面的有图像的操作方式属于图形接口

    新葡亰496net 17

    Ctrl u 删除光标前所有字符

    3.runlevel (查看当前运行级别)

    CLI: Command Line Interface

    shell程序: sh (bourn 史蒂夫·伯恩) csh tcsh
    ksh (korn) bash (bourn again shell)GPL zsh
    基于命令行界面的

    新葡亰496net 18

    hash命令

    4.whoami (当前登录用户) *

    三、什么是Shell

     

    5.init3/5(切换字符/图形界面) 0/6(关机/重启“同16”) *

    Shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行

    shell也被称为LINUX的命令解释器( command interpreter)
    shell是一种高级程序设计语言
    操作系统与外部最主要的接口就叫做shell。shell是操作系统最外面的一层。shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果。
    Shell提供了你与操作系统之间通讯的方式。这种通讯可以以交互方式(从键盘输入,并且可以立即得到响应),或者以shell script(非交互)方式执行。shell script是放在文件中的一串shell和操作系统命令,它们可以被重复使用。本质上,shell script是命令行命令简单的组合到一个文件里面。
    Shell基本上是一个命令解释器,类似于DOS下的command.com。它接收用户命令(如ls等),然后调用相应的应用程序。较为通用的shell有标准的Bourne shell (sh)和C shell (csh)。

    新葡亰496net 19

    ls命令

    6.lsblk (查看磁盘,块设备)

    bash shell

    GNU Bourne-Again Shell(bash)是GNU计划中重要的工
    具软件之一,目前也是 Linux标准的shell,与sh兼容
    CentOS默认使用
    显示当前使用的shell
    echo ${SHELL}
    显示当前系统使用的所有shell
    cat /etc/shells

    目录或者文件最后更改时间

    7.free (查看内存) -m/g(以MB/GB为单位) *

    四、命令提示符

    ls -a  --显示隐藏文件和目录,.开头的文件和目录
    ls -ld  --只显示目录
    ls -lt  --最新的显示在最上头,文件最近什么时候更新的
    ls -lh  --显示文件的大小,但是不能显示目录下各文件之和大小,只能显示目录的大小
    ls -li  --查看inode
    ls -R   --递归显示当前目录和下级子目录的文件和目录内容
    ls -lhS  --按文件大小排序

    8.nano (修改文本)

    命令提示符: prompt

    [root@centos7 ~]#
    root代表当前登录的用户,在Linux中管理员账户是root
    centos7 当前计算机主机名
    @ 分隔符
    ~ 当前所在家目录
    · #超级用户提示符,普通用户的提示符是$

    新葡亰496net 20

    9.ifconfig (查看网络设备) ******* 1

    显示提示符格式

    [root@centos7 ~]#echo $PS1

     

    10.ls (显示目标列表) *

    修改提示符格式

    PS1="[e[31m][u@h W]$[e[0m]"
    e 33 u 当前用户
    h 主机名简称 H 主机名
    w 当前工作目录 W 当前工作目录基名
    t 24小时时间格式 T 12小时时间格式
    ! 命令历史数 # 开机后命令历史数
    颜色代码
    背景色 字体色
    40: 黑 30: 黑
    41: 红 31: 红
    42: 绿 32: 绿
    43: 黄 33: 黄
    44: 蓝 34: 蓝
    45: 紫 35: 紫
    46: 深绿 36: 深绿
    47: 白色 37: 白色

    alias别名

    11.ll (显示当前目标详细文件) *

    执行命令

    输入命令后回车
    提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来

    [root@steven ~]# alias aming='ls /tmp/'
    [root@steven ~]# aming
    1.txt  yum_save_tx-2015-03-18-13-02DUsJHx.yumtx

    12.cat (查看文本文件) *

    在shell中可执行的命令有两类

    linux中的命令大致可分为两类,内部命令和外部命令

    [root@steven ~]# ls /tmp/
    1.txt  yum_save_tx-2015-03-18-13-02DUsJHx.yumtx
    [root@steven ~]#

    13.rz (批量上传文件到linux服务器“不能上传文件夹”) *

    内部命令:由shell自带的,而且通过某命令形式提供,也称shell内嵌命令;

    help 内部命令列表
    enable cmd 启用内部命令
    enable –n cmd 禁用内部命令
    enable –n 查看所有禁用的内部命令

     

    14.sz (批量上传文件到windows服务器) *

    外部命令:存放在一个文件中,使用时需要去文件中查找,这些文件被定义在$PATH

    [root@centos7 ~]# echo $PATH
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    type命令可以查看命令类型,以区别是内部命令还是外部命令

    [root@centos7 ~]# type cd
    cd is a shell builtin
    [root@centos7 ~]# type ls
    ls is aliased to `ls --color=auto'
    [root@centos7 ~]# type ifconfig
    ifconfig is /usr/sbin/ifconfig
    

    可以看到,cd为shell内嵌命令,ls命令为ls --color=auto的别名,ifconfig命令为外部命令在文件/usr/sbin/ifconfig中
    执行外部命令

    --查看当前有哪些alias

    15.cp (复制一个或多个文件到目录目标) *

    Hash缓存表

    系统初始hash表为空,当外部命令执行时,默认会从
    PATH路径下寻找该命令,找到后会将这条命令的路径记录到
    hash表中,当再次使用该命令时, shell解释器首先会查看hash
    表,存在将执行之,如果不存在,将会去PATH路径下寻找。利
    用hash缓存表可大大提高命令的调用速率

    要永久生效需要 添加在/etc/rc.d/rc.local

    16.reboot(重启)

    hash常见用法

    hash 显示hash缓存
    hash –l 显示hash缓存,可作为输入使用
    hash –p path name 将命令全路径path起别名为name
    hash –t name 打印缓存中name的路径
    hash –d name 清除name缓存
    hash –r 清除缓存

    [root@steven ~]# alias
    alias aming='ls /tmp/'
    alias cman='man -M /usr/local/zhman/share/man/zh_CN'
    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'

    17.pwd (显示当前用户工作目录绝对路径) *

    命令别名

    显示当前shell进程所有可用的命令别名
    alias
    定义别名NAME,其相当于执行命令VALUE
    alias NAME='VALUE'
    在命令行中定义的别名,仅对当前shell进程有效
    如果想永久有效,要定义在配置文件中
    仅对当前用户: ~/.bashrc
    对所有用户有效: /etc/bashrc

    --取消别名

    18.echo(显示文字) ${A}123 (前提A=某个数) *

    编辑配置给出的新配置不会立即生效

    bash进程重新读取配置文件
    新葡亰496netLinux入门基础命令详解,Linux基础命令知识。source /path/to/config_file
    . /path/to/config_file
    撤消别名: unalias
    unalias [-a] name [name ...]
    -a 取消所有别名
    如果别名同原命令同名,如果要执行原命令,可使用
    “COMMAND”
    ’COMMAND’
    /PATH/COMMAND:外部命令

    unalias aming

    19.enable (查看内部命令) -n XXX (查看禁用的XXX内部命令)

    命令的概念

     

    20.exit (退出当前用户)

    命令的执行过程

    系统第一次执行外部命令时Hash缓存表为空,系统会先从PTAH路径下寻找命令,找到后会将路径加入到Hasa缓存中,当再次执行此命令时会直接从Hash的路径下执行,如果存在直接执行,如果不存在将继续从PATH下的路径继续查找,Hash表可以提高命令的调用速率。

     

    21.logout (注销当前用户)

    命令的优先级

    alias -------------------------------------别名
      builtin------------------------------内部命令
        hash-------------------------缓存表
          $PATH---------------可执行程序或脚本(外部命令)

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

    s:是超级权限的意思

    22.rm -rf(删除文件或目录) *

    命令的基本格式

    COMMAND [OPTIONS...] [ARGUMENTS...]
    选项:用于启用或关闭命令的某个或某些功能
    短选项: -c 例如: -l, -h
    长选项: --word 例如: --all, --human-readable
    参数:命令的作用对象,比如文件名,用户名等
    注意:
    多个选项以及多参数和命令之间使用空白字符分隔
    取消和结束命令执行: Ctrl c, Ctrl d
    多个命令可以用;符号分开
    一个命令可以用分成多行

    sbin:super  binary

    23.type (判断是内部命令还是外部命令)

    格式一般是 命令 [选项] [参数]

    []表示可选
    个别命令不遵循此格式,当有多个选项时,可以写在一起
    简化选项:-a
    完整选项:--all
    -a = --all

    查询目录中的内容:ls
    ls [选项] [文件或目录]
    选项:
    -a:显示所有文件,包括隐藏文件
    -l:显示详细信息
    -d:查看某属性
    -h:人性化显示文件大小
    -i:显示inode (i节点,判断文件的所在位置)

    ls 显示目录
    ls -l 长格式显示(long)

     

    24.hash (打开缓存表) -r XX (清除XX缓存记录) -r (清除所有缓存)-p /xx X ("/xx"命 令路径起别名为X)

    五、简单命令

    软链接

    25.cd XXX (进入XXX目录) *

    date 显示日期和时间

    /etc/grub.conf -> /boot/grub/grub.conf

    26.alias (查看别名) XX=“YY” (定义“YY”的别名)

    Linux的两种时钟

    系统时钟:由Linux内核通过CPU的工作频率进行的
    硬件时钟:主板
    hwclock, clock: 显示硬件时钟
    -s, --hctosys 以硬件时钟为准,校正系统时钟
    -w, --systohc 以系统时钟为准, 校正硬件时钟
    时区: /etc/localtime
    cal 显示日历
    cal –y
    nano 文本编辑

     

    27.unalias YY(取消"YY"的别名) -a(取消所有的别名)

    关机: halt, poweroff

     

    28.date (查看系统时间) xxxxxx.Y (修改月日时分年Y秒)或 date -s '2020-1-5 12:30:50' (修改时间) *

    重启: reboot

    -f: 强制,不调用shutdown
    -p: 切断电源
    关机或重启: shutdown
    shutdown [OPTION]... TIME [MESSAGE]
    -r: reboot
    -h: halt
    -c: cancel
    TIME:无指定,默认相当于 1
    now: 立刻,相当于 0
    m: 相对时间表示法,几分钟之后;例如 3
    hh:mm: 绝对时间表示,指明具体时间


    29.clock (主板时间) -s (覆盖系统时间) -w(覆盖主板时间)

    用户登录信息查看命令:

    whoami: 显示当前登录有效用户
    who: 系统当前所有的登录会话
    w: 系统当前所有的登录会话及所做的操作

    目录

    30.date %Y-%m-%d-%H-%M-%S(显示系统时间格式 年-月-日-时-分-秒) " %F %T"(%F显示年月日 %T显示时分秒) *

    screen命令:

    创建新screen会话
    screen –S [SESSION]
    加入screen会话
    screen –x [SESSION]
    退出并关闭screen会话
    exit
    剥离当前screen会话
    Ctrl a,d
    显示所有已经打开的screen会话
    screen -ls
    恢复某screen会话
    screen -r [SESSION]

     

    31.date -d@距离秒数 “ %Y-%M-%D-%s-%m-%s” *

    echo命令

    功能:显示字符
    语法: echo [-neE][字符串]
    说明: echo会将输入的字符串送往标准输出。输出的字
    符串间以空白字符隔开, 并在最后加上换行号
    选项:
    -E (默认)不支持 解释功能
    -n 不自动换行
    -e 启用 字符的解释功能

    so:动态库 a:静态库

    32.reset (重置,复位)

    显示变量

    echo "$VAR_NAME“ 变量会替换,弱引用
    echo '$VAR_NAME‘ 变量不会替换,强引用

    查看动态库依赖,一般在/lib下

    33.shutdown (关机) -r (重启“同16”) -h xx (xx分钟后关机)

    启用命令选项-e, 若字符串中出现以下字符,则特

    别加以处理,而不会将它当成一般文字输出
    a 发出警告声
    b 退格键
    c 最后不加上换行符号
    n 换行且光标移至行首
    r 回车,即光标移至行首,但不换行
    t 插入tab
    插入字符
    nnn 插入nnn(八进制)所代表的ASCII字符
    echo -e '33[43;31;5mmagedu33[0m'
    xHH插入HH(十六进制)所代表的ASCII字

    ldd /bin/ls
    

    34.ifconfig (显示或配置网络设备) *

     

    35.screen -S XX(创建会话XX) -x XX(加入会话XX)

     

    36.cal (查看日历) XXX 查看(查看XXX年日历) Y XXX (查看XXX年Y月日历)

     

    37.touch (创建文件) *

    /bin, /sbin, /usr/bin, /usr/sbin 放命令的目录,/sbin是超级用户root才可以用的命令
    /boot Linux内核及引导系统程序所需要的文件目录
    /dev 存放的是Linux的外部设备
    /etc/ 配置文件目录
    /home 用户家目录 命令:useradd
    /lib ,/lib64 命令: ldd ,存放必备的共享库和内核模块,系统启动和运行根文件系统的各种命令时都要用到共享库,所以需要放在根文件系统下一起加载,如果是x86_64,这个目录部分功能会转到/lib64目录,但内核模块只会使用/lib目录,无论是否是64位系统,内核模块放在/lib/modules目录下
    /usr/lib ,/usr/lib64:共享库文件和目标文件,如果是64位x86_64系统,这个目录功能转移到/usr/lib64目录下
    /media, /mnt
    /opt 是存放某些大型软件或者某些特殊软件的目录,现在很少有人安装在/opt目录,只有一些少数软件非得安装在/opt才会安装在/opt目录,例如:Oracle,一般配置文件放在/etc/opt下,可变更文件放在/var/opt下
    echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
    /root root用户家目录
    /selinux
    /srv 存放一些服务启动之后需要提取的中间数据
    /proc 系统内核映射 伪文件系统
    /sys 伪文件系统
    /sys/class 包含所有注册在kernel里面的设备类型,链接到device
    /sys/dev 维护一个按照字符设备和块设备的主次号码列表,链接到device
    /sys/device 是全局设备结构体系,包含所有被发现的注册在各种总线上的各种物理设备,是内核对系统中所有设备的分层次表达模型,也是/sys文件系统管理设备的最重要的目录结构
    /sys/fs 描述系统中所有的文件系统
    /sys/kernel 存放的是内核中所有可调整的参数
    /tmp 临时文件
    /usr user share readonly, 用户程序存放目录,类似win program files文件夹,安装完Linux后,/usr目录最大
    /var 存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。

    38.history (查看当前历史记录) !XX(执行某条历史记录)-a (清空命令历史) -d XX (删除第XX条的命令) *

     

    39.rpm -ivh (显示安装过程和套件相关信息) XXX(安装XXX目录后缀为RPM的文件) *

     

    40.mount XXX YYYY(挂载XXX目录下的光盘到YYY目录下) *

     

    41.df (查看已加载的光盘) *

    cron任务计划会存放在/var/spool/cron下

    42.which XXX (查看XXX命令路径) *

     

    43.gedit (图形编辑工具)

    cd  后面不加东西,就是进入到当前用户的家目录
    cd ~  这里的~符号也表示用户的家目录
    cd -  切换到上一次所在的目录
    cd .  ..   其中.表示当前目录, ..表示上一级目录

    44.useradd XXX (创建一个XXX的用户) *

     

    45.su XXX (切换到XXX的用户) *

    pwd / pwd -L

    49.halt:关闭系统 -p(关闭系统并关闭电源) -d(关闭系统,但不留下纪录)

    默认显示软链接目录,如果有软链接

    50.hwclock

    pwd -P

    51.info:在info后面输入命令的名称就可以查看该命令的info帮助文档了:

    显示真正的目录

    53.mandb:linux自带的帮助文档mandb

    L logical

    53.makewhatis

    P physical

    55.poweroff:当需要系统关闭电源时,内核调用用户空间的/sbin/poweroff命令来完成。

     

    56.screen:Screen是一个可以在多个进程之间多路复用一个物理终端的窗口管理器,这意味着你能够使用一个单一的终端窗口运行多终端的应用

     [root@steven ~]# ll /etc/sysconfig/
    总用量 216
    -rw-r--r--  1 root root  403 10月 18 2014 atd
    -rw-r-----  1 root root  992 10月 15 2014 auditd
    -rw-r--r--. 1 root root  398 1月  26 2015 authconfig
    -rw-r--r--  1 root root  339 1月   5 2015 autofs
    drwxr-xr-x. 2 root root 4096 3月  10 12:04 cbq
    -rw-r--r--  1 root root  486 10月 18 2014 cgconfig
    -rw-r--r--  1 root root  950 10月 18 2014 cgred.conf
    -rw-r--r--. 1 root root   21 1月  26 2015 clock
    drwxr-xr-x. 2 root root 4096 11月  4 2014 console
    -rw-r--r--  1 root root 2651 8月  13 2013 cpuspeed
    -rw-------  1 root root  110 11月 23 2013 crond
    drwxr-xr-x. 2 root root 4096 2月   2 2015 daemons
    -rw-r--r--. 1 root root   25 1月  26 2015 grub
    -rw-r--r--  1 root root  529 8月  15 2014 htcacheclean
    -rw-r--r--  1 root root  947 8月  15 2014 httpd
    -rw-r--r--  1 root root   47 3月  12 17:04 i18n
    -rw-r--r--  1 root root 1154 11月  4 2014 init
    -rw-------. 1 root root  481 1月  26 2015 ip6tables
    -rw-------  1 root root 1988 10月 15 2014 ip6tables-config
    -rw-------. 1 root root  481 1月  26 2015 ip6tables.old
    -rw-------. 1 root root  476 1月  26 2015 iptables
    -rw-------  1 root root 1974 10月 15 2014 iptables-config
    -rw-------. 1 root root  476 1月  26 2015 iptables.old
    -rw-r--r--  1 root root  903 6月   2 2014 irqbalance
    -rw-r--r--  1 root root 1212 10月 16 2014 kdump
    -rw-r--r--  1 root root  180 3月  10 12:05 kernel
    -rw-r--r--. 1 root root   63 1月  26 2015 keyboard
    -rw-r--r--  1 root root  271 10月 15 2014 mcelogd
    drwxr-xr-x. 2 root root 4096 11月  4 2014 modules
    -rw-r--r--  1 root root  634 11月  4 2014 netconsole
    -rw-r--r--  1 root root   43 3月   5 2015 network
    drwxr-xr-x. 4 root root 4096 11月  4 2014 networking
    drwxr-xr-x. 2 root root 4096 4月  24 14:09 network-scripts
    -rw-r--r--  1 root root 2222 10月 16 2014 nfs
    -rw-r--r--  1 root root   85 12月 20 2014 ntpd
    -rw-r--r--  1 root root  167 12月 20 2014 ntpdate
    -rw-r--r--  1 root root 1459 7月  19 2013 prelink
    -rw-r--r--  1 root root  178 3月   5 2014 quota_nld
    -rw-r--r--  1 root root 2585 11月 12 2014 raid-check
    -rw-r--r--  1 root root  549 11月 23 2013 readahead
    -rw-r--r--  1 root root  659 11月  4 2014 readonly-root
    -rw-r-----. 1 root root   41 12月 18 2011 rngd
    -rw-r--r--  1 root root  200 12月 10 2014 rsyslog
    -rw-r--r--  1 root root  111 2月  23 2015 samba
    -rw-r--r--  1 root root  136 10月 18 2014 sandbox
    -rw-r--r--  1 root root  553 11月 18 2014 saslauthd
    lrwxrwxrwx. 1 root root   17 1月  26 2015 selinux -> ../selinux/config
    -rw-r--r--. 1 root root  125 2月  22 2013 smartmontools
    -rw-r-----. 1 root root  438 11月 13 2014 sshd
    -rw-r--r--. 1 root root  473 10月 16 2014 sysstat
    -rw-r--r--. 1 root root 6253 10月 16 2014 sysstat.ioconf
    -rw-------. 1 root root   73 1月  26 2015 system-config-firewall
    -rw-------. 1 root root   71 1月  26 2015 system-config-firewall.old
    -rw-r--r--  1 root root  183 10月 16 2014 udev

    57.shutdown:关机

     

    58.tree:执行tree指令,它会列出指定目录下的所有文件,包括子目录里的文件。

     

    60.whatis

    环境变量PATH的用法
    echo $PATH 可以查看系统的环境变量PATH的值,使用which命令可以查看某个命令所在的绝对路径
    PATH=$PATH:/tmp  这样我们可以使用/tmp/下面的可执行文件作为命令
    让PATH永久生效的,需要把它加入到/etc/profile 里,重启生效,或者直接运行命令: 
    source  /etc/profile

    61.whoami:显示登录名whoami 命令在有 root 用户权限时也有效,因为它不检查 /etc/utmp 文件。显示计算名和用户

     

    62.who am i

    alias设置命令的别名,例如 alias aming='ls -lt'  
    解除别名使用 unalias  aming 
    让别名永久生效,需要把设置别名的命令,加入到 ~/.bashrc 里

    63.w:打印当前系统活动摘要。

     

    64.wc:计算器

    root用户的配置文件:~/.bashrc

     

    1. 快捷键

     

    tab:补全命令和路径
    Ctrl c 取消命令
    Ctrl z 暂停命令
    Ctrl a 光标到行首
    Ctrl e 光标到行尾
    Ctrl u 删除光标前所有字符
    Ctrl k 删除光标后所有字符
    Ctrl l 清屏
    Ctrl d 退出登录/shell == exit,结束输入, 比如wc命令和sort命令如果不加文件名会等待标准输入Ctrl d可以结束输入
    Ctrl s 锁住命令终端,按任何键都不会有反应
    Ctrl q 解锁命令终端
    Ctrl r 搜索命令 比如ctrl r ls 再输入一次 ctrl r 会从最后一次ls或命令中包含ls的命令列出来
    Ctrl 左箭头/右箭头 以单词为单位进行移动

    bytes


    bits

     

    8bits = 1 Bytes

    扩展阅读

     

    # du -sh --max-depth=1   /   #--max-depth=1  ,根分区
    0 /misc
    244K /dev
    4.0K /media
    48M /boot
    225M /var
    2.2G /usr
    4.0K /aming
    4.0K /srv
    4.3G /root
    4.0K /selinux
    28M /lib64
    4.0K /testsdb1
    7.8M /bin
    4.0K /mnt
    4.0K /cgroup
    37M /etc
    255M /lib
    52K /tmp
    4.0K /.ssh
    4.0K /testsdb3
    16K /lost found
    73M /data
    0 /net
    du: 无法访问"/proc/2818/task/2818/fd/4": 没有那个文件或目录
    du: 无法访问"/proc/2818/task/2818/fdinfo/4": 没有那个文件或目录
    du: 无法访问"/proc/2818/fd/4": 没有那个文件或目录
    du: 无法访问"/proc/2818/fdinfo/4": 没有那个文件或目录
    0 /proc
    4.0K /download1
    8.0K /123
    0 /sys
    787M /download
    8.0K /opt
    284K /home
    15M /sbin
    7.9G /

    100M

    大目录
    4.3G /root
    2.2G /usr
    7.9G /

    B 1024Bytes=1KB

     

    KB 1024KB=1M


    MB 1024MB=1GB

     

    GB 1024GB=1TB

    ls /var  马哥  Linux就这个范儿

    TB 1024TB=1PB

    通常情况下,应用程序不得在/var顶层添加任何目录,这个位置只留给那些影响到整个系统的软件,而且还需经过Linux社区商量决定是否添加(比如nginx的访问日志最好在/var下创建一个nginx目录,例如/var/log/nginx/error.log)

    PB 1024PB=1EB

    /var下的目录
    account :系统审计程序psacct的专有目录,psacct程序可以监控所有用户执行的命令。
    lock :两个人同时编辑一个文件,用于硬件设备和其他被多个程序所共享的资源,例如串行设备锁文件,锁文件命名方式必须是LCK..后接设备和本名,例如进程是1230的锁文件,它的锁文件内容将包含11个字符:空格 空格 空格 空格 空格 空格 空格 1、2、3、0和换行符
    run :守护进程的pid文件一般放这里,系统启动进程开始的时候会清空这个目录,一般程序在/var/run目录下有一个子目录(/var/run/nginx/nginx.pid),鼓励程序使用不止一个运行时文件,pid文件命名规则是<程序名>.pid
    必须以ascii码数字字符描述进程标识符
    cache:应用程序缓存数据,应用程序必须能再生或恢复这些数据,和/var/spool不同,删除缓存文件不会造成数据丢失错误
    lib :进程信息,应用程序状态信息,应用程序运行期间保存程序所处的状态,/var/lib/misc给不需要单独子目录的程序
    log :进程日志一般放这里,各种日志文件,lastlog、message、wtmp
    spool :spool有mail目录和cron目录,redhat是放用户的邮件 cron放定时任务文件,供以后用的(可以被程序、用户、管理员处理),一旦被处理完毕都会被删除。
    mail :非redhat是放用户的邮件
    opt:/opt下软件包的可变数据都应该安装到/var/opt子目录中去,子目录名应该和/opt下子目录名称一样
    tmp:/var/tmp目录使得程序要求在系统重启期间保护临时文件或目录成为可能,因此保存在/var/tmp目录中的数据,比/tmp中的数据得到更多保护。/var/tmp目录中数据在系统启动时不得删除

     

     

    把十进制转化为二进制

     

    bc

    两个伪文件系统
    /proc 内核信息
    /sys 内核信息 硬件设备相关的
    /misc 存放杂项文件,乱七八糟的文件,默认一般是空的

    obase=2

    nginx编译安装

    192

    cd /software/nginx-1.4.6 && ./configure --sbin-path=/usr/sbin/nginx 
    --conf-path=/etc/nginx/nginx.conf --pid-path=/var/run/nginx/nginx.pid 
    --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log 
    --user=nginx --group=nginx --with-pcre --with-http_gzip_static_module --with-http_ssl_module 
    --with-http_realip_module --with-http_geoip_module --with-http_stub_status_module 
    --add-module=/usr/local/nginx_upstream_check_module-master 
    --add-module=/usr/local/ngx_cache_purge-2.1 --with-http_gunzip_module 
    --add-module=/usr/local/ngx_req_status-master && make -j2 && make install
    

    11000000

     

    二进制转化为十进制


    bc

    hash命令

    ibase=2

    bash shell特有功能,记住你执行过的命令,在hash表里找

    1010101

    # hash
    hits command
    1 /usr/bin/tail
    1 /usr/bin/file
    3 /usr/bin/du
    1 /bin/env
    14 /bin/ls

    85

    mv  /usr/bin/wc  /bin
    wc /etc/passwd
    -bash: /bin/wc: 没有那个文件或目录
    

     

    因为缓存了wc命令,bash shell在hash表找不到那个命令,这时候需要清空一下hash表

    虚拟机当中释放鼠标 Ctrl ALT

    hash -r 清空hash表

    在安装环境中输入 ctrl alt f2

     

     

    下次移动了系统里面的命令记得执行一下hash -r

    centos5及之前

    mv /usr/bin/wc /bin
    hash -r
    

    hda:ida

     

    sda:scsi、sata、sas、usb

     

    centos6及之后


    sda:

    bin目录

    vda: 虚拟机

    /bin 二进制 ,为所有用户使用,不得包含任何子目录
    /sbin 二进制 ,为管理员所用,存储的是那些系统启动,恢复,还原,修复过程中必备系统工具,也是对/bin内容的补充,那些已知在/usr挂接后才需要的程序一般放在/usr/sbin下,用户自行安装的程序应该放在/usr/local/sbin目录下
    /usr 系统运行相关文件 Linux系统源码等 user share readonly
    /usr/bin 所有用户使用 系统启动时或启动后的用户程序
    /usr/sbin 系统软件 系统启动时或启动后的系统程序
    /usr/local/bin 第三方软件 所有用户使用
    /usr/local/sbin 第三方软件 系统软件

    xvda: 虚拟机

    redhat现在很少按照上面的目录来区分

    一切皆文件

    # echo $PATH
    /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

     

    搜索顺序从左到右,局部大于全局/usr/local/sbin-》/usr/local/bin-》/usr/sbin-》/usr/bin-》/sbin-》/bin

    XShell、SecureCrt、Putty

     

    Shell : 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。


    它接收用户输入的命令并把它送入内核去执行

    命令帮助

    shell也被称为LINUX的命令解释器

    内部命令:help command
    外部命令:command --help
    man command

    Shell:人机交互的语言

     

    GUI:Gnome、KDE、Windows、IOS、Android

    man 一个命令

    CLI:Dos、cmd、powershell、sh、

    []:可选内容
    <>:必须给出内容
    | :或者
    [|] :多选一

     


    cat:查看文件内容

    cd命令

    [root@centos6 ~]# cat /etc/shells 查看当前系统所安装的shell

    cd ~steven 用户家目录
    cd - 上一次目录
    cd ../.. 上层再上层目录,不是根分区开头/的都是相对路径,相对于当前目录
    cd ~当前用户家目录

    [root@centos6 ~]# echo $SHELL 查看当前使用的何种shell

     

     


    which :查看命令的路径

    /usr/share目录

    who am i 和 who 和whoami 的区别

    Linux就这个范儿

    新葡亰496net 21

    存放着所有体系结构无关的数据文件,他的内容可以共享给运行在任何体系结构下的操作系统,但必须保证它们运行的是不同体系结构平台的相同操作系统。

     

    必须安装在/usr/share目录下的内容
    dict,doc,games,info,locale,nls,sgml,terminfo,tmac,xml,zoneinfo 时区配置信息
    /bin/cp /usr/share/zoneinfo/Asia/Shanghai   /etc/localtime   #校对时区

    enable :enable既可以查看内部命令,同时也可以判断是否为内部命领

    /usr/share目录下必须具备的内容
    man 目录
    misc 目录

    -n 查看所有已禁用的内部命令

    手册页
    /usr/share/man/专为联机帮助而准备,包含了/和/usr下大部分程序的帮助信息,从man1到man8
    ll /usr/share/man/
    drwxr-xr-x. 2 root root 36864 Jan 29 16:15 man1
    drwxr-xr-x. 2 root root 4096 Sep 23 2011 man1p
    drwxr-xr-x. 2 root root 4096 Sep 23 2011 man1x
    drwxr-xr-x. 2 root root 4096 Jul 10 2015 man2
    drwxr-xr-x. 2 root root 4096 Sep 23 2011 man2x
    drwxr-xr-x. 2 root root 49152 Jan 29 16:15 man3
    drwxr-xr-x. 2 root root 4096 Sep 23 2011 man3p
    drwxr-xr-x. 2 root root 4096 Sep 23 2011 man3x
    drwxr-xr-x. 2 root root 4096 Jan 8 08:38 man4
    drwxr-xr-x. 2 root root 4096 Sep 23 2011 man4x
    drwxr-xr-x. 2 root root 4096 Jan 19 21:11 man5
    drwxr-xr-x. 2 root root 4096 Sep 23 2011 man5x
    drwxr-xr-x. 2 root root 4096 Sep 23 2011 man6
    drwxr-xr-x. 2 root root 4096 Sep 23 2011 man6x
    drwxr-xr-x. 2 root root 4096 Jan 3 23:44 man7
    drwxr-xr-x. 2 root root 4096 Sep 23 2011 man7x
    drwxr-xr-x. 2 root root 20480 Jan 12 12:59 man8
    drwxr-xr-x. 2 root root 4096 Sep 23 2011 man8x
    drwxr-xr-x. 2 root root 4096 Sep 23 2011 man9
    drwxr-xr-x. 2 root root 4096 Sep 23 2011 man9x

    -a 查看所有的内部命令

     

    enable command 启用指定的内部命令

    /usr/share/misc目录存放那些不需要拥有自己目录的应用程序,将它们的体系结构无关数据放在这里
    ascii码表
    file命令的文件特征符号表

    enable -n command 禁用指定的内部命令

    新葡亰496net 22

    配合 | wc -l 可查看数量

     

    [root@linuxeye ~]# enable -a #查看内部命令

     

    [root@linuxeye ~]# enable whiptail #非内部命令

    f

    -bash: enable: whiptail: not a shell builtin

    [root@linuxeye ~]# enable pwd #是内部命令

     

    命令提示符:

    例如: PS1="[[e[32m]u[e[36m]@h_v6[e[31m][e[0m] W]$ "

    [root@localhost ~]#

    # 管理员 $ 普通用户

    显示提示符格式1:[root@localhost ~]#echo $PS1

    修改提示符格式2 PS1="[e[1;5;41;33m][u@h W]\$[e[0m]"

    e 33 u 当前用户 h 主机名简称 H 主机名 w 当前工作目录 W 当前工目录基名 t 24小时时间格式 T 12小时时间格式 ! 命令历史数 # 开机 后命令历史行

    每个用户都有默认shell设定;

    新葡亰496netLinux入门基础命令详解,Linux基础命令知识。 查看当前shell种类:

    ~]# echo $SHELL

    $SHELL:是环境变量

     

    在shell中可执行的命令有两类

     

    内部命令: 由shell自带的,而且通过某命令形式提供

    help 内部命令列表

    enable cmd 启用内部命令

    enable –n cmd 禁用内部命令

    enable –n 查看所有禁用的内部命令

    外部命令: 在文件系统路径下有对应的可执行程序文件

    查看路径:which -a |--skip-alias ; whereis

    区别指定的命令是内部或外部命令 type COMMAND

    命令执行的优先顺序 : alias > 内部 > 外部(hash > PATH)

     

    hash缓存表

    系统初始hash表为空,当外部命令执行时,默认会从PATH路径 ($PATH)下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解

    释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找。

    利用hash缓存表可大大提高命令的调用速率

     

    新葡亰496net 23

     

    hash常见用法

    hash 显示hash缓存

    hash –l 显示hash缓存,可作为输入使用

    hash –p path name 将命令全路径path起别名为name

    hash –t name 打印缓存中name的路径

    hash –d name 清除name缓存

    hash –r 清除缓存

     

    命令别名:nano .bashrc 定义别名 vim ~/.bashrc

    alias grep='grep --clock=auto'

    alias 显示当前shell进程所有可用的命令别名,在命令行中定义的别名,仅

    对当前shell进程有效 ,如果想永久有效,要定义在配置文件中

    仅对当前用户:~/.bashrc

    对所有用户有效 :/etc/bashrc

    alias copy=cp

    alias copy='cp -p -r'

    alias 查看别名

    unalias 别名名字

    unalias -a 取消所有别名

    写入~/.bashrc

    gedit ~/.bashrc

    临时使某条命令不受别名影响

    1.路径执行命令

    如:/bin/ls

    2.ls

    3.'ls'

    命令的格式 :command option arguments

    options 选项 启用命令的某项功能,从而更改命令的功能

    arguments 参数 改变命令作用的对象

    短选项

    -c

    -ca = -c -a

    长选项

    --word

     

    type :查看命令种类

    如果是内嵌命令,直接显示为内嵌;

    如果是外部命令,显示命令的绝对路径;

    例如:

    ~]# type ls

    ~]# type cd

    ~]# type type

     

    date : date (查看系统时间) xxxxxx.Y (修改月日时分年Y秒)或 date -s

    .clock (主板时间) -s (覆盖系统时间) -w(覆盖主板时间)

    日期相关的命令:date,hwclock(clock),cal

    硬件时钟:由电池供电,硬件计时;

    系统时钟:系统启动时,从硬件时钟读取并设定其时间;内核时钟;

    ntp:net time protocol网络时间协议

    [root@centos6 ~]# date " %Y年%m月%d日 %H时%M分%S秒 星期2"

    2018年05月15日 15时59分43秒 星期2

    [root@centos6 ~]# date " %F %T" 年月日时分秒

    2018-05-15 16:00:07

    [root@centos6 ~]# date %s

    1526371345

    [root@centos6 ~]# date 100112202019.20 月日时分[年][.秒]

    Tue Oct 1 12:20:20 CST 2019

    [root@centos6 ~]# date -s '2020-1-5 12:30:50'

    Sun Jan 5 12:30:50 CST 2020

    [root@instructor_v7(nanyibo) ~]# date -d '-2 days' %A 表示前天是星期几

     

    FORMAT:格式说明

    %F:日期,显示为数字,格式为:2016-03-02;

    %D:显示英制格式,月日年,显示格式为:03/02/16;

    %T:时间,显示为数字,格式为:15:52:16;

    %Y:年份,只显示完整年份数字(4位数字)显为:2016

    %y:显示年份的后两位,显示格式为:16;

    %m:月份,只显示数字,显示格式为:03;

    %d:日期,只显示数字,显示格式为:02;

    %H:小时,只显示数字,显示格式为(00..23):15;

    %k:小时,显示格式为(0..23);

    %I:小时,格式为(01..12);

    %l:小时,显示格式为(1..12);

    %h:显示月份,显示格式为:3月;

    %M:分钟,只显示数字,显示格式为:52;

    %S:秒钟,只显示数字,显示格式为:16;

    %a:缩写星期;

    %A:完整星期;

    %b:缩写月份;

    %B:完整月份;

    %r:显示格式为(11:11:04 PM);

    %R:同%H%M,格式为(23:37)

    %s:从1970年1月1日至此刻所经历的秒数;timestamp; 显示格式为:1456905397;

     

    设定日期时间格式:[月月日日时时分分[[年年]年年][.秒秒]];

    hwclock命令:硬件时钟

    -s, --hctosys:以硬件时间为准;设定系统时间;

    -w, --systohc:以系统时间为准;设定硬件时间;

     

    新葡亰496net 24

     

     

     

    cal:显示日历;

    cal [month] [year] clock/hwclock

    command 查看硬时间

    -s 硬时间写入软时间

    -w 软时间写入硬时间

    init :init 0 关机

    :init 6 重启

    poweroff

    shutdown :shutdown (关机) -r (重启) -h xx (xx分钟后关机)

    shutdown -h 0

    xx 几分钟后关机

    20:00

    TIME:无指定,默认相当于 1

    now: 立刻,相当于 0

    m: 相对时间表示法,几分钟之后;例如 3

    hh:mm: 绝对时间表示,指明具体时间

     

     

    screen命令:

    创建新screen会话

    screen –S [SESSION]

    加入screen会话

    screen –x [SESSION]

    退出并关闭screen会话

    exit

    剥离当前screen会话

    Ctrl a,d

    显示所有已经打开的screen会话

    screen -ls

    恢复某screen会话

    screen -r [SESSION]

     

    安装screen

    centos6:

    在虚拟机上操作,加载好光盘centos6-dvd1

    [root@centos6 ~]# cd /media/CentOS_6.9_Final/Packages/

    [root@centos6 Packages]# rpm -ivh screen-4.0.3-19.el6.x86_64.rpm

    centos7:

    在虚拟机上操作,加载好光盘centos7-everything

    [root@centos7 ~]# mount /dev/cdrom /media/

    mount: /dev/sr0 is write-protected, mounting read-only

     

    [root@centos7 ~]# rpm -ivh /media/Packages/screen-4.1.0-0.25.20120314git3c2946.el7.x86_64.rpm

     

    screen -S sessionname 创建screen

    screen -x sessionname 加入screen

    screen -ls 查看screen

     

    echo命令

    功能:显示字符

    语法:echo [-neE][字符串]

    说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开,

    并在最后加上换行号

    选项:

    -E (默认)不支持 解释功能

    -n 不自动换行

    -e 启用 字符的解释功能

    显示变量:

    echo "$VAR_NAME“ 变量会替换,弱引用 “” 双引号

    echo '$VAR_NAME‘ 变量不会替换,强引用 `` 反向单引号

    [root@centos6 ~]# echo -e "a" 报警

    [root@centos6 ~]# echo -e "aaan123naaaaa"

    aaa

    123

    aaaaa

    启用命令选项-e,若字符串中出现以下字符,则特别加以处理,而不会将它当

    成一般文字输出

    a 发出警告声

    b 退格键

    c 最后不加上换行符号

    n 换行且光标移至行首

    r 回车,即光标移至行首,但不换行

    t 插入tab

    \ 插入字符

    nnn 插入nnn(八进制)所代表的ASCII字符

    echo -e '33[43;31;5mmagedu33[0m'

    xHH插入HH(十六进制)所代表的ASCII字

     

    命令行扩展、被括起来的集合

    命令行扩展:$( ) 或 ``

    把一个命令的输出打印给另一个命令的参数

    echo "This system's name is $(hostname) "

    This system's name is server1.example.com

    echo "i am `whoami` "

    i am root

    括号扩展:{ }

    打印重复字符串的简化形式

    echo file{1,3,5}

    file1 file3 file5

    rm -f file{1,3,5}

    echo {1..10}

    echo {a..z}

    echo {000..20..2}

     

    tab键:补全

     

    $的用法

    $varname 引用变量的值

    如:[root@centos7 ~]# echo $SHELL当前shell类型

    /bin/bash

    $()或`` 命令行扩展:表示引用命令执行的结果

    $[]或$(())

    如:[root@centos6 ~]# echo $[2 3]

    5

    ${}或"$varname"

    强调变量名的起止范围

     

    !$的用法 :上一条命令的最后一个参数

    [root@centos7 ~]# cat /etc/fstab

    [root@centos7 ~]# vim !$=vim /etc/fstab

     

    {}

    [root@centos6 ~]# echo {-3..9}

    -3 -2 -1 0 1 2 3 4 5 6 7 8 9

    [root@centos6 ~]# echo {a..z}

    a b c d e f g h i j k l m n o p q r s t u v w x y z

    [root@centos6 ~]# echo {A..Z}

    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

    [root@centos6 ~]# echo {A..z}

    A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z

    [root@centos6 ~]# echo {3..10..3}

    3 6 9

     

    history ; 查看当前的历史记录

    !XX 执行某条历史记录

    !!重复执行上一条历史

    -c: 清空命令历史

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

    n: 显示最近的n条历史

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

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

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

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

    -p: 展开历史参数成多行,但不存在历史列表中

    -s: 展开历史参数成一行,附加在历史列表

     

    命令历史相关环境变量

    HISTSIZE:命令历史记录的条数

    HISTFILE:指定历史文件,默认为~/.bash_history

    HISTFILESIZE:命令历史文件记录历史的条数

    HISTTIMEFORMAT=“%F %T “ 显示时间

    HISTIGNORE=“str1:str2*:… “ 忽略str1命令,str2开头的历史

    控制命令历史的记录方式:

    环境变量:HISTCONTROL

    ignoredups 默认,忽略重复的命令,连续且相同为“重复”

    ignorespace 忽略所有以空白开头的命令

    ignoreboth 相当于ignoredups, ignorespace的组合

    erasedups 删除重复命令

    export 变量名="值“

    存放在 /etc/profile 或 ~/.bash_profil

    export 设置或显示环境变量。(比如我们要用一个命令,但这个命令的执行文件不在当前目录,这样我们每次用的时候必须指定执行文件的目录,麻烦,在代码中先执行export,这个相 当于告诉程序,执行某某东西时,需要的文件或什么东东在这些目录里)

     

    bash 的快捷键

    Ctrl l 清屏,相当于clear命令

    Ctrl o 执行当前命令,并重新显示本命令

    Ctrl s 阻止屏幕输出,锁定

    Ctrl q 允许屏幕输出

    Ctrl c 终止命令

    Ctrl z 挂起命令

    Ctrl a 光标移到命令行首,相当于Home

    Ctrl e 光标移到命令行尾,相当于End

    Ctrl f 光标向右移动一个字符

    Ctrl b 光标向左移动一个字符

    Alt f 光标向右移动一个单词尾

    Alt b 光标向左移动一个单词首

    Ctrl xx 光标在命令行首和光标之间移动

    Ctrl u 从光标处删除至命令行首

    Ctrl k 从光标处删除至命令行尾

    Alt r 删除当前整行

    Ctrl w 从光标处向左删除至单词首

    Alt d 从光标处向右删除至单词尾

    Ctrl d 删除光标处的一个字符

    Ctrl h 删除光标前的一个字符

    Ctrl y 将删除的字符粘贴至光标后

    Alt c 从光标处开始向右更改为首字母大写的单词

    Alt u 从光标处开始,将右边一个单词更改为大写

    Alt l 从光标处开始,将右边一个单词更改为小写

    Ctrl t 交换光标处和之前的字符位置

    Alt t 交换光标处和之前的单词位置

    Alt N 提示输入指定字符后,重复显示该字符N次

    注意:Alt组合快捷键经常和其它软件冲突

     

     

    获取帮助

    whatis

    基于数据库的查找命令

    优点:查找速度快

    缺点:不具有实时性

    centos6:

    数据库存放位置:/var/cache/man/whatis

    更新数据库:makewhatis

    centos7:

    数据库存放位置:/var/cache/man/index.db

    更新数据库:mandb

     

    man

    1 User Commands

     

    2 System Calls

     

    3 C Library Functions

     

    4 Devices and Special Files

     

    5 File Formats and Conventions

     

    6 Games et. Al.

     

    7 Miscellanea

     

    8 System Administration tools and Daemons

    man命令的配置文件:/etc/man.config | man_db.conf

    中文man需安装包man-pages-zh-CN

    man命令的操作方法:使用less命令实现

    space, ^v, ^f, ^F: 向文件尾翻屏

    b, ^b: 向文件首部翻屏

    d, ^d: 向文件尾部翻半屏

    u, ^u: 向文件首部翻半屏

    RETURN, ^N, e, ^E or j or ^J: 向文件尾部翻一行 y or ^Y or ^P or k

    or ^K:向文件首部翻一行

    q: 退出

    #:跳转至第#行

    1G: 回到文件首部

    G:翻至文件尾部

    f:向下翻一屏

    b:向上翻一屏

    d:向下翻半屏

    u:向上翻半屏

    j:向下翻一行

    k:向上翻一行

    g:跳至首页

    G:跳至尾页

     

    info

    man常用于命令参考 ,GNU工具info适合通用文档参考

    没有参数,列出所有的页面

    info 页面的结构就像一个网站

    每一页分为“节点”

    链接节点之前 *

    info [ 命令 ]

    方向键,PgUp,PgDn 导航

    Tab键 移动到下一个链接

    d 显示主题目录

    Home 显示主题首部

    Enter进入 选定链接

    n/p/u/l 进入下/前/上一层/最后一个链接

    s 文字 文本搜索

    q 退出 info

     

     

    文件有两类数据:

    元数据:metadata

    数据:data

    文件名最长255个字节

     

    文件系统结构

    /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: 保证系统拥有完整功能而提供的应用程序

    sbin:

    lib:32位使用

    lib64:只存在64位系统

    include: C程序的头文件(header files)

    share:结构化独立的数据,例如doc, man等

    local:第三方应用程序的安装位置

    bin, sbin, lib, lib64, etc, share

    /var: variable data files

    cache: 应用程序缓存数据目录

    lib: 应用程序状态信息数据

    local:专用于为/usr/local下的应用程序存储可变数据;

    lock: 锁文件

    log: 日志目录及文件

    opt: 专用于为/opt下的应用程序存储可变数据;

    run: 运行中的进程相关数据,通常用于存储进程pid文件

    spool: 应用程序数据池

    tmp: 保存系统两次重启之间产生的临时数据

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

    /sys:用于输出当前系统上硬件设备相关信息虚拟文件系统

    /selinux: security enhanced Linux,selinux相关的安全策略等信息的存储位置

     

    二进制程序:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin

    库文件:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64

    配置文件:/etc, /etc/DIRECTORY, /usr/local/etc

    帮助文件:/usr/share/man, /usr/share/doc, /usr/local/share/man,

    /usr/local/share/doc

     

    Linux下的文件类型

    -:普通文件

    d: 目录文件

    b: 块设备

    c: 字符设备

    l: 符号链接文件

    p: 管道文件pipe

    s: 套接字文件socket

    nc -Ul mage.sock

    nc -U mage.sock

     

    centos7 目录变化

    /bin 和 /usr/bin

    /sbin 和 /usr/sbin

    /lib 和/usr/lib

    /lib64 和 /usr/lib64

     

    pwd :

    显示当前所在shell的绝对路径

    -P 如果当前所在位置是软链接目录,则显示源路径

     

    绝对路径与相对路径

    绝对:从根开始的路径

    相对:相对于当前的路径

     

    基名:basename

    目录名:dirname

    basenam /etc/rc.d/init.d/functions 基名路径

    dirname /etc/rc.d/function 取目录名

     

    例如下:

    [root@instructor_v7(nanyibo) ~]# dirname '/etc/sysconfig/network-scripts/ifcfg-eth0'

    /etc/sysconfig/network-scripts

    [root@instructor_v7(nanyibo) ~]# basename '/etc/sysconfig/network-scripts/ifcfg-eth0'

    ifcfg-eth0

     

     

    cd:移动

    cd 进入家目录

    cd ~ 进入家目录

    cd - 进入上一次的工作目录,反复执行会在两个目录间来回切换

     

    ls :列出目录内容

    列出当前目录的内容或指定目录

    用法:ls [options] [files_or_dirs]

    示例:

    ls -a 显示所有文件,包含隐藏文件

    ls -A 显示所有文件,包含隐藏文件,除了. and ..

    ls -l 长列出,显示属性信息

    例子:-rw-------. 1 root root 1495 May 15 11:23 anaconda-ks.cfg

    ls -R 目录递归通过

    ls -ld 目录和符号链接信息

    ls -1 文件分行显示

    ls –S 按从大到小排序

    ls –t 按mtime排序

    ls –u 配合-t选项,显示并按atime从新到旧排序

    ls –U 按目录存放顺序显示

    ls –X 按文件后缀排序

    -/d/l/s/b/c/p 表示文件的类型

    rw- --- --- 表示owner,group,other的权限

    . 表示该文件有selinux的context标签,可用-Z 详细查看

     

     

    查看文件状态:stat

    文件:metadata, data

    三个时间戳:

    access time(atime): 访问时间,当文件被读取时才更新

    modify time(mtime): 数据修改时间,当文件的数据被修改时才更新

    change time(ctime): 元数据修改时间,当文件的元数据(权限,大小,

    owner,group,mtime等)更新时则更新

    stat ,ls --time=atime[ctime] -l

    touch filename

    若文件不存在,则创建一个空文件

    若文件存在,则更新三个时间戳

    -a 更新atime和ctime

    -m 更新mtime和ctime

    -c 若文件存在,则更新三个时间戳,若不在,不会创建新文件,无作为。

    为什么一个byte等于8bit?

    0 0

    1 1

    10 2

    11 3

    100 4

    A

    127

     

    ASCII 3000

    GB2313

    Shift_JJS

    Euc-kr

     

    Unicode

     

    Utf-8`

     

    文件名通配符

     

    *:匹配零或多个任意字符

    ?:匹配任意一个单一字符

    0-9:表示任何数字

    a-Z:表示所有字母,包括大小写

    [linux]:表示包含l或i或n或u或x

    [^linux]:表示不包含l和i和n和u和x

    [:digit:]:表示任意数字

    [:lower:]:表示小写字母

    [:upper:]:表示大写字母

    [:alpha:]:表示大小写字母

    [:alnum:]:表示任意字母或数字

    [:blank:]:表示空格(水平制表符)及TAB

    [:space:]:表示空格(水平制表符)、回车(垂直制表符)及TAB

    [:punct:]:表示符号

    [:print:]:表示可打印字符

     

    touch命令:创建文件

    touch [OPTION]... FILE...

    -a 仅改变 atime和ctime

    -m 仅改变 mtime和ctime

    -t [[CC]YY]MMDDhhmm[.ss]

    指定atime和mtime的时间戳

    -c 如果文件不存在,则不予创建

     

    cp :复制文件或者目录

     

     

    选项说明:

    -r或-R:源文件是目录时使用;

    -d:复制文件是软连接文件时,仅复制软连接文件本身;

    -p:复制时保持源文件属性;等价于--preserv=mode,time,owner;

    -a:归档复制,相当于rdp即:-dR --preserv=all;

     

    -i 覆盖时交互式提示

    -r 递归,可以复制目录

    -d 默认不加-d时,cp复制软链接会将源复制过去,加上-d保留链接属性,把软链 接复制过去

    --preserv=

    mode 权限不变

    owner[ship] 权限及owner,group 不变

    time 三个时间戳不变

    xattr acl权限不变

    links 链接不变

    context 文件的selinux上下文关系不变

    all

    -p 等于 --preserv=mode,owner,time

    -a 等于rdp

    -v 显示复制过程

    -f 强制覆盖: 当普通用户对目标文件不可更改时,但对该目标文件所在的目录 有创建及删除文件的权限,则使用-f可以强制覆盖,实际上是先删除文件,再创建

    -u 只覆盖源比目标文件新的文件

    --backup-numbered 覆盖前,先将旧文件改名为 文件名.~数字~

    scp root@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/

     

    scp

    实例1:从远处复制文件到本地目录

     

    命令:

     

    scp root@192.168.120.204:/opt/soft/nginx-0.5.38.tar.gz /opt/soft/

     

    说明:

     

    从192.168.120.204机器上的/opt/soft/的目录中下载nginx-0.5.38.tar.gz 文件到本地/opt/soft/目录中

     

    实例2:从远处复制到本地

     

    命令:

     

    scp -r root@192.168.120.204:/opt/soft/mongodb /opt/soft/

     

    说明:

     

    从192.168.120.204机器上的/opt/soft/中下载mongodb 目录到本地的/opt/soft/目录来。

     

    实例3:上传本地文件到远程机器指定目录

     

    命令:

     

    scp /opt/soft/nginx-0.5.38.tar.gz root@192.168.120.204:/opt/soft/scptest

     

    说明:

     

    复制本地opt/soft/目录下的文件nginx-0.5.38.tar.gz 到远程机器192.168.120.204的opt/soft/scptest目录

     

    实例4:上传本地目录到远程机器指定目录

     

    命令:

     

    scp -r /opt/soft/mongodb root@192.168.120.204:/opt/soft/scptest

     

    输出:

     

    mv:移动和重命名文件

    mv [OPTION]... [-T] SOURCE DEST

    • mv [OPTION]... SOURCE... DIRECTORY

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

    常用选项:

    -i: 交互式

    -f: 强制 直接覆盖,不交互式,抵消i的作用

     

    rm -rf :删除

    -i 交互式

    -f 强制删除

    -r 递归

     

    rename 旧名字 新名字 要改名的文件

    rename doc txt *.doc

     

    目录操作

    tree 显示目录树

    -d: 只显示目录

    -L level:指定显示的层级数目

    -P pattern: 只显示由指定pattern匹配到的路径

    mkdir 创建目录

    -p: 存在于不报错,且可自动创建所需的各目录

    -v: 显示详细信息

    -m MODE: 创建目录时直接指定权限

    rmdir 删除空目录

    -p: 递归删除父空目录

    -v: 显示详细信息

    rm -r 递归删除目录树

     

    inode(index node)表中包含文件系统所有文件列表

    一个节点 (索引节点)是在一个表项,包含有关文件的信息( 元数据 ),包

    括:

    文件类型,权限,UID,GID

    链接数(指向这个文件名路径名称个数)

    该文件的大小和不同的时间戳

    指向磁盘上文件的数据块指针

    有关文件的其他数据

    文件引用一个是 inode号

    人是通过文件名来引用一个文件

    一个目录是目录下的文件名和文件inode号之间的映射

    inode

    索引节点:inode(比较抽象不好理解)

    理解数据、元数据、inode、inode表、block(数据块)、block表、数据指针、inode bitmap、block bitmap等名词术语;

     

    block:磁盘分区中存储数据的最小的单位;

    数据:保存最终数据的block;

    元数据:保存数据的属性信息;

    inode:文件系统查找文件的id号;

    inode表:就是文件系统中保存查找数据指针的表格;

    block表:就是存放最终数据的一些block。

    数据指针:在inode表中查找到的block的位置;

    inode bitmap:统计了inode相关信息,如剩余可用的inode还有多少个,使用了多少inode等;

    block bitmap:统计了block相关信息,如哪些block可用,哪些被使用了;

     

     

    理解inode与软连接文件、硬链接文件、目录文件的关系;

    理解inode与删除目录、删除文件的关系;

     

     

    ln命令:

    -s:创建软连接文件;

     

    注意:在创建软连时,软连接的名词位置放置最后:

    ln -s 源始文件 软连接名词

     

    软连接和硬链接的区别:

    硬链接不能夸分区创建;

    删除源文件对连接的影响:删除源文件后,不影响硬链接文件;但软链接文件会受影;

     

    注意:创建软连接文件是,目标文件一般使用相对路径;

    ln 源 目的 (注意:源与目的要在同一文件系统下)

    创建硬链接会增加额外的记录项以引用文件

    对应于同一文件系统上一个物理文件

    每个目录引用相同的inode号

    创建时链接数递增

    删除文件时:

    rm命令递减计数的链接

    文件要存在,至少有一个链接数

    当链接数为零时,该文件被删除

    不能跨越驱动器或分区

    语法:

    ln filename [linkname ]

     

    软连接

    ln -s 源路径 目的路径

     

    链接文件:

    硬链接:指向同一个inode的多个文件路径;inode号相同;

    特性:

    (1)目录不支持硬链接;

    (2)硬链接不能跨文件系统;因为不同文件系统的inode是独立管理的,编号也是从0开始的,所以不能跨文件系统引用文件的inode编号;

    (3)创建硬链接会增加inode引用计数;

    本文由新葡亰496net发布于电脑系统,转载请注明出处:新葡亰496netLinux入门基础命令详解,Linux基础命令

    关键词: