zoukankan      html  css  js  c++  java
  • shell之常用命令

    一些技巧

    • ctrl+alt+f1切换至命令行模式
    • ctrl+alt+f7切换至图形界面
    • 命令行编辑:
      光标跳转
      ctrl+a 行首
      ctrl+e 行尾
      ctrl+d 删除
      ctrl+u 删除光标至行首的内容
      ctrl+k 删除光标至行尾的内容
      ctrl+l 清屏
    • 命令历史使用:
      !n 执行命令历史中第n条命令
      !-n 倒数第n条命令
      !!执行上一条命令
      !sring 执行命令历史中最近一次匹配的历史命令
      !$ 引用上一次命令中最后一个参数
    • 命令别名
      只在当前shell的声明周期有效,shell关闭,失效;同一个账号,多个终端,也无效
      alias cls=‘clear’
      alias 直接输入,可以显示当前所有的别名
    • 命令替换
      把命令中某个子命令替换为其执行结果
      echo "The current directory is $(pwd)"
      touch ./file-$(date +%F-%H-%M-%S).txt
      ualias
    • bash 支持的引号
      ` `:命令替换
      "":弱引用,可以实现变量替换
      '':强引用,不完成变量替换
    • 文件名通配,globbing
      *:任意长度的任意字符
      ?:匹配任意单个字符,至少有一个
      []:匹配指定范围内的任意单个字符
              [:space:] 空白字符
              [:punct:] 标点符号
              [:lower:] 小写字母
              [:upper:] 大写字母
              [:alpha:] 大小写字母
              [:digit:] 数字
              [:alnum:] 数字和大小写字母
      man 7 grep
      [^]:匹配指定范围外的任意字符
    常识的东西
    /etc             配置文件
    /home        用户家目录
    /root            管理员家目录
    /lib                库文件,内核模块文件modules
                        静态库,动态库
    /media                            移动设备挂载点
    /mnt            挂载点目录    临时文件挂载点
    /opt             可选目录,用于安装第三方程序目录
    /proc            内核映射文件
    /sys               跟硬件设备相关属性映射文件
    /tmp             临时文件
    /var               可变化的文件
    /bin               可执行文件,用户命令
    /sbin              管理命令
    /usr                全局共享的只读文件
            /usr/bin
            /usr/sbin
            /usr/lib
    
            /usr/local/bin
            /usr/local/sbin
            /usr/local/lib
     
    常用命令
    ls  
    1.-l 长格式
    
    - --- --- --- 
    -:普通文件
    b:块文件
    c:字符文件
    d:目录
    l:符号链接文件
    p:管道命令文件
    s:套接字文件
    文件权限 3位一组 r(4) w(2) x(1) --- user group otherime
    文件硬链接数
    文件的属主(owner)
    文件的属组(group)
    文件的大小(size),单位字节
    时间戳(timestamp),这里最近一次被修改的时间
        访问:access
        修改:modify,修改内容
        改变:change,metadata,改变元数据(属性)
    2.-h:单位转换
    3.-a:显示以.开头的隐藏文件
    4.-d:显示目录自身属性
    5.-i:index node,inode,显示索引节点号
    6.-r:逆序显示文件
    7.-R:递归显示
     

    man

    获得命令帮助
    内部命令 help ---
    外部命令 command---
    命令手册 man  部命令使用man时,对应的是bash
    分章节:
    1.用户命令 whatis 查看命令在哪个章节
    2.系统调用
    3.库用户
    4.特殊文件(设备文件)
    5.文件格式 解释某个命令的配置文件
    6.游戏
    7.杂项
    8.管理命令(/sbin /bin)
    []可选
    <>必选
    ....可以出现多次
    ()分组
    man使用:
    向后一屏,space
    向前一屏,b
    向后一行,enter
    向前一行,k
    查找:
    /keyword 向后
    多个结果的时候
    n 下一个
    N 上一个
    ?keyword 向前查找

    文本处理

    cut 
        -d 指定分隔符,默认是空格
        -f 指定要显示字段
    
    sort 默认是按ASCII升序,自左往右
        -n 按照数值大小排序
        -r 逆序
        -t  指定分割符
        -k 以哪个字段为关键字进行排序
        -u 排序后,相同的行只显示一次
        -f 忽略字符大小写
    uniq 只有相邻行,字符一样才认为是重复
        -d 报告重复行,是哪个
        -D 所有重复的行
        -c 显示某一行重复次数
    
    wc(word count)
        默认统计:行  单词数  字节数
        -c 字节数
        -w 单词数
        -l 行数
        -L 最长的一行包含多少字符
    tr 用于转换或删除字符,逐个字符进行处理,并非直接处理单词
      tr ‘a-z’‘A-B’将小写转换成大写
      tr -d ‘ab’删除字符集中出现的所有字符

    命令历史

    history 
        -c 清空命令历史
        -d 删除指定行或者开始之后的行 -d 100 ,-d 100 10
        -w 保存命令历史到历史文件中

    用户管理

    useradd [options] username
        -u UID(>500 不能重复) useradd -u 1000 user1
        -g GID(基本组,必须存在) useradd -g mygroup user2
        -G GID (附加组,可以有多个)
        -c “comment”
        -d /path/to/somedirectory指定家目录
        -s 指定shell的路径 useradd -s /bin/bash user3
                $SHELL用于保存当前用户的默认shell
        -m -k 强行创建家目录,并将/etc/skel 下的配置文件复制过去
        -r 添加一个系统用户,默认没有家目录    
    
    id查看用户账号的属性信息 -u -g -G -n
    
    finger 检索用户信息 finger username
    
    userdel 默认不删除家目录
        -r 删除用户的同时删除家目录
        
    修改账号属性信息
    usermod 
        -u UID       
        -g GID
        -a -G GID额外指定附加组(没有-a会覆盖原有的附加组)
        -c
        -d -m指定新的家目录,并 移动文件到新的家目录下去
        -s 修改shell
        -l 修改登录名称
        -e 指定过期时间
        -L lock
        -U unlock
    
    chsh username修改用户默认shell
    chfn username 修改注释信息
    
    密码管理
    passwd [username]
            --stdin    echo “redhat”| passwd --stdin user2
            -l lock
            -u unlock
            -n 最小密码期限
            -d 删除密码
    pwck 检查用户账号的完整性

    文件查找

    locate 非实时,模糊匹配,查找时根据系统文件数据库进行
    updatedb 手动生成文件数据库
    
    find 实时,精确,支持众多标准
    find 超找路径 查找标准 查找到以后的处理运作
    匹配标准:
        -name ‘FIlENAME’区分大小写
        -iname 不区分大小写
        -regex pattern 基于正则表达式进行文件名查找
        -user USERNAME根据属主查找
        -group GROUPNAME 根据属组查找
        -uid UID
        -gid GID
        -nouser 查找没有属主文件
        -nogroup 查找没有属组的文件
        -type  【f d c b l p s】
        -size #k #M #G
        -mtime
        -ctime
        -atime
        -mmin【+|-】#
        -cmin 【+|-】#
        -amin 【+|-】#
        -perm mode
                /mode 有一位匹配就行
                -mode完全匹配
    组合条件
        -a and
        -o or
        -not !
    运作:
        -print 显示
        -ls 类似ls -l 的形式显示每一个文件的详细
        -ok command {}   find / -size +1M -exec echo {}
        -exec command {} 
  • 相关阅读:
    继承与多态——动手又动脑
    类与对象--动手又动脑
    Go语言接口
    GO语言结构体
    GO指针
    GO函数
    GO获取随机数
    GO基础
    Go语言的%d,%p,%v等占位符的使用
    GO语言常量和变量
  • 原文地址:https://www.cnblogs.com/tla001/p/6204890.html
Copyright © 2011-2022 走看看