zoukankan      html  css  js  c++  java
  • Shell_01

    1、bash的基本特性
    1.命令历史
     作用:查看之前使用的命令
     关于命令历史的文件
      每个用户家目录下面的.bash_history
      在关机的时候,会自动写入一次 history -r(将内存中的历史命令写入文件)
     关于命令历史的变量(环境变量)
      查看环境变量:env
         set//查看更加详细的环境变量
        HISTSIZE = 1000   数量
        HISCONTROT = ignoredups
     
     

    History的常见的操作
    查看命令历史
    !#   #表示数值,执行#行的命令
    !string  匹配最近一次的字符串
    !! 上一条命令
    *!$*  上一条命令的最后一个参数
    ls /etc
    ls !$
    ESC+.    (快捷键)
    常见的选项:
     

    2.命令补全
     TAB键:制表符 代表四个空格键
      1.提示
      2.自动补全
    3.目录补全
     TAB键:制表符 代表四个空格键
      1.提示
      2.自动补全
    4.命令展开
     Linux目录需要遵循的规则-----FSH目录规则
     {}                   
     创建实例
     


     属性1 属性2
     a   1
     b  2
     mkdir -pv /var/{a,b}-{1,2}
     data 基于date命令来创建目录
     %F CCYY-mm-dd
     %T hh:MM:ss
     %D mm/dd/YY
     %H hh
     %M MM
     %S ss
     %Y CCYY
     
     实例:通过for语句循环创建一个月的日志文件;.log 2019-08-6.http.log
    for i in {1..30};do
     touch`date +%Y-%m-$i`.http.log
    done
    Tar 归档命令(压缩与解压缩)
    tar的常见参数【可以对目录进行操作】
    -j bzip2
    -J xz
    -z gzip
    -c creat
    -x extract   解压//可以不用指定解压的工具
    -f 指定文件名
    -v 显示详细信息verbose
    -t 不解压查看内容同zcat
    压缩与解压缩实例
     
    压缩工具【只能对文件操作,不能对目录操作】
    gzip
    bzip2
    xz
    zcat 查看压缩文件且不解压
    -----------------------------------

    crontab -e  ---  20 2 * * * /root/xxx.sh
    vim xxx.sh
     #!/bin/bash
     #
     tar cJvf  /var/`date +%F`.xz /etc/
    :wq
    chmod +x xxx.sh
    -------
    目录:白色 
    压缩文件:红色
    执行文件:绿色
    -------
     clock / hwclock :查看硬件时钟      如何同步硬件时钟与系统时钟?
     cal 日历
    5.命令的执行状态
     
    6.命令的快捷键
    -----------常用
     ctrl + l //清屏
     ctrl + c //
     ctrl + u //删除光标前的字符
     ctrl + k //删除光标后的字符
     ctrl + a //
     ctrl + e //
     ctrl + w //以空格为分隔符,去删除文件
     ctrl + r //进入一个交互界面,搜索最近一次使用的命令(要输入string)
    ----------------
    Linux命令行编辑快捷键:
    history 显示命令历史列表
    ↑(Ctrl+p) 显示上一条命令
    ↓(Ctrl+n) 显示下一条命令
    !num 执行命令历史列表的第num条命令
    !! 执行上一条命令
    !?string? 执行含有string字符串的最新命令
    Ctrl+r 然后输入若干字符,开始向上搜索包含该字符的命令,继续按Ctrl+r,搜索上一条匹配的命令
    Ctrl+s 与Ctrl+r类似,只是正向检索
    Alt+< 历史列表第一项
    Alt+> 历史列表最后一项
    Ctrl+f 光标向前移动一个字符,相当与->
    Ctrl+b 光标向后移动一个字符,相当与<-
    Alt+f 光标向前移动一个单词
    Alt+b 光标向后移动一个单词
    ls !$ 执行命令ls,并以上一条命令的参数为其参数
    Ctrl+a 移动到当前行的开头
    Ctrl+e 移动到当前行的结尾
    Esc+b 移动到当前单词的开头
    Esc+f 移动到当前单词的结尾
    Ctrl+l 清屏
    Ctrl+u 剪切命令行中光标所在处之前的所有字符(不包括自身)
    Ctrl+k 剪切命令行中光标所在处之后的所有字符(包括自身)
    Ctrl+d 删除光标所在处字符
    Ctrl+h 删除光标所在处前一个字符
    Ctrl+y 粘贴刚才所删除的字符
    Ctrl+w 剪切光标所在处之前的一个词(以空格、标点等为分隔符)
    Alt+d 剪切光标之后的词
    Esc+w 删除光标所在处之前的字符至其单词尾(以空格、标点等为分隔符)
    Ctrl+t 颠倒光标所在处及其之前的字符位置,并将光标移动到下一个字符
    Alt+t 交换当前与以前单词的位置
    Alt+u 把当前词转化为大写
    Alt+l 把当前词转化为小写
    Alt+c 把当前词汇变成首字符大写
    Ctrl+v 插入特殊字符,如Ctrl+v+Tab加入Tab字符键
    Esc+t 颠倒光标所在处及其相邻单词的位置
    Ctrl+c 删除整行
    Ctrl+(x u) 按住Ctrl的同时再先后按x和u,撤销刚才的操作
    Ctrl+s 挂起当前shell
    Ctrl+q 重新启用挂起的shell
    [Ctrl] + [Alt] + [Backspace] = 杀死你当前的 X 会话。杀死图形化桌面会话,把你返回到登录屏幕。如果正常退出步骤不起作用,你可以使用这种方法。
    [Ctrl] + [Alt] + [Delete] = 关机和重新引导 Red Hat Linux。关闭你当前的会话然后重新引导 OS。只有在正常关机步骤不起作用时才使用这种方法。
    [Ctrl] + [Alt] + [Fn] = 切换屏幕。 [Ctrl] + [Alt] + 功能键之一会显示一个新屏幕。根据默认设置,从 [F1] 到 [F6] 是 shell 提示屏幕, [F7] 是图形化屏幕。
    [Alt] + [Tab] = 在图形化桌面环境中切换任务。如果你同时打开了不止一个应用程序,你可以使用 [Alt] + [Tab] 来在打开的任务和应用程序间切换。
    [Ctrl] + [a] = 把光标移到行首。它在多数文本编辑器和 Mozilla 的 URL 字段内可以使用。
    [Ctrl] + [d] = 从 shell 提示中注销(并关闭)。使用该快捷键,你就不必键入 exit 或 logout 。
    [Ctrl] + [e] = 把光标移到行尾。它在多数文本编辑器和 Mozilla 的 URL 字段内都可使用。
    [Ctrl] + [l] = 清除终端。该快捷操作与在命令行键入 clear 作用相同。
    [Ctrl] + = 清除当前行。如果你在终端下工作,使用这一快捷操作可以清除从光标处到行首的字符。
    [鼠标中间键] = 粘贴突出显示的文本。使用鼠标左键来突出显示文本。把光标指向你想粘贴文本的地方。点击鼠标中间键来粘贴它。在两键鼠标系统中,如果你把鼠标配置成模拟第三键,你可以同时点击鼠标的左右两键来执行粘贴。
    [Tab] =命令行自动补全。使用 shell 提示时可使用这一命令。键入命令或文件名的前几个字符,然后按 [Tab] 键,它会自动补全命令或显示匹配你键入字符的所有命令。
    [向上] 和 [向下] 箭头 = 显示命令历史。当你使用 shell 提示时,按 [向上] 或 [向下] 箭头来前后查看你在当前目录下键入的命令历史。当你看到你想使用的命令时,按 [Enter] 键。
    clear = 清除 shell 提示屏幕。在命令行下键入它会清除所有这个 shell 提示屏幕中显示的数据。
    exit = 注销。在 shell 提示中键入它会注销当前的用户或根用户帐号。
    history = 显示命令历史。在 shell 提示中键入它来显示你所键入的被编号的前 1000 个命令。要显示较短的命令历史,键入 history f之后,空一格,在键入一个数字。例如: history 20 。
    reset = 刷新 shell 提示屏幕。如果字符不清晰或乱码的话,在 shell 提示下键入这个命令会刷新屏幕。
    # Ctrl-U: 擦除一行光标前面的部分。
    # Ctrl-H: 擦除光标前面的一个字符。
    # Ctrl-D: 终止输入。(退出 shell,如果您正在使用 shell 的话)。
    # Ctrl-C: 终止当前正在运行的程序。
    # Ctrl-Z: 暂停程序。
    # Ctrl-S: 停止向屏幕输出。
    # Ctrl-Q: 重新激活向屏幕输出。
    默认的 shell,`bash’, 有历史编辑和 tab 补齐功能。
    # up-arrow: 开始历史命令搜索。
    # Ctrl-R: 开始增量历史命令搜索,可以按照关键字查查自己用过哪些命令。
    # TAB: 完整的把文件名输入到命令行。
    # Ctrl-V TAB: 输入 TAB 而不是扩展命令行。
    # Ctrl + P - 上一条命令
    # Ctrl + N - 下一条命令
    # Ctrl-U: 擦除一行光标前面的部分。
    # Ctrl + Y - 粘贴前一Ctrl+U类命令删除的字符 ,是粘贴不是撤销啊!
    下面的应用可能稍稍高级一点点
    # !! - 上一条命令
    # !-n - 倒数第N条历史命令
    # !-n:p - 打印上一条命令(不执行)
    # !?string?- 最新一条含有“string”的命令
    # !-n:gs/str1/str2/ - 将倒数第N条命令的str1替换为str2,并执行(若不加g,则仅替换第一个)
    其他一些有用的Linux命令行按键组合。
    Ctrl-Alt-Del:挂起或者重新启动系统,这三个Linux命令行按键在Linux下可以轻松地修改成关机的操作,这对于单用户的朋友还是很方便的
    # Ctrl + l - 清屏
    # Ctrl + A - 光标移到行首
    # Ctrl + E - 光标移到行尾
    # Ctrl + W - 清除光标之前一个单词
    # Ctrl + K - 清除光标到行尾的字符
    # Ctrl + T - 交换光标前两个字符
    # Ctrl + V - 输入控制字符 如Ctrl+v ,会输入^M
    # Ctrl + F - 光标后移一个字符
    # Ctrl + B - 光标前移一个字符
    # Ctrl + H - 删除光标前一个字符
    # N++F - 光标后移N个单词,N为1时可省略
    # N++B - 光标前移N个单词,N为1时可省略
    # Left-click-and-drag mouse: 选择并且拷贝到剪贴板。
    # Click middle mouse button: 使用剪贴板的内容粘贴。
    # Meta-key (Emacs terminology) 传统的是使用 Left-Alt-key
    以上是Linux命令行编辑快捷键的方法。
    7.alias别名
     系统启动时读取一些特殊文件的顺序
     
     /etc/profile :定义环境变量(所有用户) EXPORT HISTCONTROL=XXX
     /etc/bashrc :定义本地变量--alias(所有用户)
     ~/.bash_profile :定义环境变量(指定用户)
     ~/.bashrc :定义本地变量--alias(指定用户)
     sources /etc/profile 或者 ./etc/profile
    8.文件通配符--globbing
     【文件通配符不是正则表达式】
     ? 任意单个字符
     * 任意长度的任意字符
     [] 指定范围内的任意一个字符
     ^ [^]指定范围以外的任意一个字符
         [^0-9A-Za-z]
         [0-9][A-Z][a-z][a-zA-Z]
     指定字符类:
     
    ^[[:space:]]*$ //有空格键的空行
     练习
     
  • 相关阅读:
    Java后台获取微信小程序用户信息、openid
    异步上传excel带进度条
    iOS 手机App消息推送功能(后台Java实现)
    Java花样排序
    Java 按页拆分pdf
    Java实现按行拆分pdf
    mac 上将.pem文件转为.pub文件
    strust2的核心和工作原理
    InputStream流转字节数组
    合并InputStream流
  • 原文地址:https://www.cnblogs.com/lzqitdl/p/11310691.html
Copyright © 2011-2022 走看看