笔记Day3


  1. 用户分类

    root用户:特权用户,超级用户,对系统有完全的掌握权限

    普通用户:权限有限,操作有一定的限制

  2. 终端terminal

    物理终端:直接接在本机的显示器和键盘设备 /dev/console

    虚拟终端:附加在物理终端的以软件方式虚拟实现的

    设备文件路劲/dev/tty#

    Ctrl+Alt+F[1,6]可以实现相互切换

    模拟终端:以图形界面打开的命令行以及基于ssh或telnet协议等远程打开的界面,设备件:/dev/pts/[0…]

    查看当前终端设备:tty

  3. 交互式接口

  4. GUI:Graphic(图形的) User Interface

       GNOME(C,图形库gtk)

       KDE  (C++,图形库gt)  

       XFCE (轻量级桌面)

  5. CLI:Command Line Interface 命令行接口

       shell程序:sh(bourn) csh tcsh ksh(korn) bash(bourn again shell) GPL zsh

  6. SHELL:shell是linux系统的用户界面,提供了用户与内核进行交互操作的一种接口,也是Linux的命令解释器,一种高级语言。

  7. BASH:GNU Bourne-Again Shell,linux标准shell,兼容sh

       显示当前使用的shell: echo ${SHELL} echo $SHELL

       显示当前系统使用的所有shell: cat /etc/shells

  8. 命令提示符: # 管理员    $ 普通用户  

       显示提示符的格式:echo $PS1

  9. 命令分类:

       内部命令:由shell自带,可以通过enable命令启用或禁用命令

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

       which whereis可以对命令进行查看,获取命令执行文件的路径和帮助文档

       type Command:可以查看命令的类型,内部还是外部命令。

  10. hash命令:

       搜索到的外部命令路径结果缓存在kv键值(key-value)存储中

       hash 显示hash缓存 hash -r 清除缓存

  11. 命令格式:

      COMMAND [OPTIONS…][ARGUMENTS…]

      多选项,多参数和命令之间用空白字符分割

      取消和结束命令执行:Ctrl+c, Ctrl+d

      多个命令可以用;符号分开

      一个命令可以用/分成多行

  12. date:显示时间和日期

      系统时钟:由Linux内核通过CPU工作频率决定的

      硬件时钟:主板上的时间 hwclock clock

            -s: –hctosys 以硬件时钟为准,校准系统时钟

            -w: –systohc 以系统时钟为准,校准硬件时钟

    cal 显示日历

    nano 文本编辑

  13. screen命令:

      打开新的screen: screen -S

      加入会话: screen -x

      退出并关闭screen: exit

      剥离当前screen: Ctrl+a,d

      显示所有已经打开的screen: screen -ls

      恢复某个screen: screen -r

  14. ECHO:显示字符

     echo “$var_name”:变量会替换,双引号表现为弱引用

     echo ‘$var_name’:变量不会被替换,单引号为强引用

     echo `command`(反引号):输出命令执行结果

     echo $(command):同于反引号,输出命令结果

         -n:不在字符的最后自动换行

         -e:打印转义字符

           /a 发出警告声

           /b 退格键

           /c 最后不加上换行符号

           /n 换行且光标移至行首

           /r 光标移至行首但不换行

           /t 插入tab

           // 插入/字符

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

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

  15. 登录shell时,会读取历史命令文件中记录下的命令 ~/.bash_history  

      ~/.bash_history 记录历史命令  

      ~/bashrc 用户的bash shell的bash信息,当登录时或者打开新的shell时,该文件会被读取

      ~/bash_profile 用户可以使用该文件写入自己使用的shell信息,用户登录,该文件只执行一次,默认情况下,设置一些变量,执行用户的.bashrc文件

      ~/bash_logout 每次退出系统时,执行该文件。

      文件执行顺序: /etc/profile–> (~/.bash_profile | ~/.bash_login | ~/.profile)–>~/.bashrc–>/etc/bashrc–>~/.bash_logout

  16. 重复上一个命令:

       方向键 + enter

       按!! + enter

       !-1 + enter

       按Ctrl + p + enter

    !字符串:重复前一个以”字符串”开头的命令

    !num:按输出的序号重复对应的命令

    !?字符串:重复前一个包含字符串的命令

    !-n:重复n个命令之前的那个命令

    Ctrl + r:在命令历史中搜索

  17. 重新调用前一个命令最后一个参数:

       !$

       Esc .

       Alt + .(Alt不放) 

  18. 调用历史参数

      cmd !^ 上一个命令的第一个参数做cmd参数   cmd !$ 上一个命令的最后一个参数做cmd参数

      cmd !* 上一个命令的所有参数做cmd参数    cmd !:n 上一个命令的第n个参数做cmd参数

      !n:^  调用第n条命令的第一个参数       !n:$ 调用第n条命令的最后一个参数

      !m:n  调用第m条命令的第 n个参数       !n:* 调用第n条命令的所有参数

      !string:^ 搜索以string开头的第一个参数   !string:$ 以string开头的最后一个参数

      !string:n 以string开头的第n个参数      !string:* 以string开头的所有参数

  19. 历史命令history: history

           -c:清空命令历史

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

           #:显示最近#条历史

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

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

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

           -w:保存历史列表到历史文件中

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

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

  20. 历史命令相关环境变量

     HISTSIZE:size 命令历史记录的条数

     HISTFILE:file 指定历史文件 default ~/.bash_history

     FISTFILESIZE:filesize 历史文件记录历史的天数 

     HISTTIMEFORMAT: =”%F %T” timeformat 显示时间 

     HISTIGNORE: =” str1:str2:…” ignore 忽略str1,str2

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

           ignoredups:忽略重复命令

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

           ignoreboth:ignoredups ignorespace

           erasedups:删除重复命令

     export 变量名=”值”

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

  21. BASH快捷键

     Ctrl + l 清屏(clear)      Ctrl + u 删除到行首   Ctrl + b(f) 向左(右)移动一个字符

     Ctrl + c 取消命令行的执行    Ctrl + k 删除到行尾   Esc + b 左移一个单词

     Ctrl + a ;移动到行首       Ctrl + e 移动到行尾   Esc + f 右移一个单词

  22. 帮助获取

    whatis

    command –help

    man and info 

    /usr/share/doc/

    RedHat documentation

  23. man 章节

    用户命令:User Commands

    系统调用:System Calls

    C库调用:C Library Functions

    设备文件及特殊文件:Devices and Special Files

    配置文件格式:File Formats and Convertions

    游戏:Games

    杂项:Miscellanea

    管理类命令:System Administration tools and Deamons

    Linux内核API

  24. info: info COMMAND

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