linux入门基础命令详解

帮助命令
    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

列表命令

      ls 

         什么都不写,列出目录所含文件

         -A 列出目录中的文件和隐藏文件

         -a 列出目录下所有文件,包括隐藏文件和.;. ..

         -l 逐行列出文件  

         这里重点将一下  ls -l所显示的信息所表示的含义

      ls -l  取一行举例

      drwxr-xr-x 19 root root 4096 Feb 17  2012 var

      drwxr-xr-x  

      这里的第一个字母是d,它代表这是个文件夹,或称为目录;

      如果第一个符号是-,那这是个文件;

      如果是l,则是个链接文件;

      如果你注意观察,你会发现有10个字符,其中第一个是文件的类型,还剩9个,其中每三个为一组,第一组是rwx,这是文件所有者的属性,也就是说可以读,写,执行。第二组是文件属组的的权限。第三组是其他人的权限。

      19

      这个var里有19个文件和目录;

      第一个root是文件的所有人

      第二个root是文件所在的群组;

      4096 文件的大小;

      Feb 17 2012 这个一看就知道是时间,你修改文件的时间;

      最后是var,这个就是文件或目录名称。

目录命令
       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

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


创建组:  
    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 临时设定指定的组为自己的基本组


改变文件的权限
     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 # :前后的#


sort : 排序
   -f 忽略字符大小写
   -n 以数值大小进行排序
   -r 降序
   -u 移除重复的行,具有相同内容的行,只保留一个
   -R 随机排序

uniq :排序完成后不重复的行
   -c:统计每行重复的次数
   -u;只显示没有重复的行
   -d: 只显示重复过的行

你可能感兴趣的:(命令,Linux基础学习)