07Linux之bash解释器交互式环境特性

07Linux之bash解释器交互式环境特性

7 bash解释器交互式环境特性

7.1 Tab键

  • 只能补全命令和文件

7.2 快捷键

  • CTRL+C ==》终止前台运行的程序
  • CTRL+D ==》退出(相当于exit)
  • CTRL+L ==》清屏
  • CTRL+a ==》光标移到命令行的行首
  • CTRL+e ==》光标移到命令行的行尾
  • CTRL+r ==》搜索历史命令
  • Alt+. ==》取上条命令最后一个参数(只能在shell里用)
  • !$ ==》取上条命令的最后一个参数

7.3 历史命令

7.3.1 查看历史命令

  • history

7.3.2 清空历史命令

  • history -c

7.3.3 历史命令保存文件

  • cat ~/.bash_history

  • 退出登录后才会保存,或直接用history -w写入

  • 历史命令默认保存1000条,可修改

    /etc/profile中的HISTORY=2000

7.3.4 查找历史命令

  • 光标上下键
  • CTRL+R # 搜索历史命令(输入一段命令中的关键字,必须是连续的)
  • !220 # 执行历史命令中第220条
  • !字符串 # 搜索历史命令中一个以xxx字符开头的命令
  • !$ # 引用上个命令的最后一个参数

7.4 别名

7.4.1 查看当前系统别名

  • alias

7.4.2 建立别名

  • alias 名字='命令' # 临时配置,重启就无,永久需改配置文件

  • 例如

    alias ccc='ls /etc/sysconfig/network-scripts/'

7.4.3 如何取消别名

  • unalias ls # 取消别名(永久,再用别名需重新配)

  • \ls # 临时一次

  • which ls查看绝对路径

    用绝对路径

7.5 命令查找优先级

  • 绝对路径
  • alias
  • compound commands
  • function函数
  • build_in内置命令
  • hash哈希
  • $PATH环境变量
  • error:command not found

7.6 查看帮助信息

7.6.1 man手册

  • 常规用法

    # 用法
    man 命令
    
    # 具体方式
    man 手册名  # 例如man ls
    可搜索 /-h  # 用n N快速定位
    
    1. 按章节查找,常用的是1(命令用法)5(文本规范)8(系统管理命令)
    /usr/bin/passwd  # 命令,修改用户密码  man 1 passwd
    /etc/passwd  # 保存用户信息的文件  man 5 passwd
    /etc/exports  # man exports     man 5 exports
    
    2. 按关键字检索(适合记不住手册的全名时使用)
    man -k "_selinux"  # 手册名或手册描述中包含关键字_selinux
    (从whatis数据库中找  # makewhatis)
    
    3. 在所有章节中查询
    man -a passwd  # 检索所有passwd
    man -f passwd
    

7.6.2 --help

  • 常规用法

    1. 简单命令
    	--help
    2. 示例
    ls --help
    用法:ls [选项]...[文件]...
    
    ls常用选项
    -a  # all,查看目录下的所有文件,包括隐藏文件
    -l  # 长列表显示
    -h  # human,以人性化方式显示出来
    -d  # 只列出目录名,不列出其他内容
    -t  # 按修改顺序排序
    -r  # 逆序排序
    -i  # 显示文件的inode号(检索号)
    

7.6.3 参考文档/配置模块文件

  • ls /usr/share/doc/pam-1.1.8/
  • firefox ls /usr/share/doc/pam-1.1.8/html/Linux-PAM_SAG.html

7.6.4 官方手册

7.6.5 Baidu、Google

7.7 常用命令

7.7.1 设置主机名

  • 查看主机名

    hostname

  • 修改主机名

    vi /etc/hostname # 编辑文件永久修改主机名(需重启)

    hostnamectl set-hostname 新名字 # 用命令修改

7.7.2 设置启动级别

  • systemctl set-default muilt-user.target # 启动级别为3

7.7.3 设置时间

  • ntp:网络事件协议

    ntpdate -u # 手动同步

    ntpdate 0.cn.pool.ntp.org # 自动同步

    systemctl enable ntpd # 开机自启

    # 查看时间
    date
    #以自己的格式显示
    date "+%Y-%m-%d %H:%M:%S"
    # 设置系统时间
    date -s "2022-11-12 11:12:13 CTS"
    
    # 查看硬件时间
    hwclock
    # 将系统时间写入硬件时间
    hwclock -w
    # 将硬件时间写入系统时间
    hwclock -s
    
    # 做实验需要改时间
    timedatectl set-ntp no
    

7.7.4 重启

  • 重启

    shutdown -r 10  # 10分钟后重启
    shutdown -r 0  # 立即重启
    shutdown -r now  # 立即重启
    init 6  # 立即重启
    reboot  # 立即重启
    

7.7.5 关机

  • 关机

    shutdown -h 10 # 10分钟后关机
    shutdown -h 0  # 立即关机
    shutdown -h now  # 立即关机
    poweroff  # 立即关机
    halt  # 立即关机(需要自己断电关电源)
    init 0  # 立即关机
    

7.7.6 取消正在进行的关机或重启

  • shutdown -c

7.7.7 注销登录账号

  • exit
  • logout
  • CTRL+d

7.7.8 其他

  • cat /etc/redhat-release # 查看操作系统版本
  • uname -a # 查看所有消息
  • uname -r # 查看内核版本
  • which命令 # 查看文件的路径
  • 命令1 |命令2 # 命令1把结果放入管道,命令2从管道中取出结果做后续处理
posted @ 2020-11-19 11:25  drrug  阅读(189)  评论(0编辑  收藏  举报