linux 基础命令学习(1)

查看帮助
首先使用type 查看命令是外部还是内部命令
内部命令:help COMMAND  或 man bash
外部命令:1、COMMAND –help 或 COMMAND -h
                 2、使用手册  man  COMMAND
                 3、信息页   info COMMAND
                 4、程序官方文档
                 5、GOOGLE
其中man 命令一共有9个章节
Image [3]
                  1: 用户命令
                  2: 系统调用
                  3: C库调用
                  4: 设备文件及特殊文件
                  5: 配置文件格式
                  6: 游戏
                  7: 杂项
                  8: 管理类的命令
                  9:Linux 内核API
通过whatis  keyword 或man -f keyword 查看命令所在章节
通过man [章节] keyword  查看
或者通过 man –a keyword 查看命令全部内容
帮助手册中的段落说明:                      man命令的操作方法:
    NAME 名称及简要说明                          space, ^v, ^f, ^F: 向文件尾翻屏
    SYNOPSIS 用法格式说明                        b, ^b: 向文件首部翻屏
• [] 可选内容                                               d, ^d: 向文件尾部翻半屏
• <> 必选内容                                             u, ^u: 向文件首部翻半屏
• a|b 二选一                                                RETURN, ^N, e, ^E or j or ^J: 向文件尾部翻一行
• { } 分组                                                     y or ^Y or ^P or kor ^K:向文件首部翻一行
• … 同一内容可出现多次                              or ^K:向文件首部翻一行
    DESCRIPTION 详细说明                          q: 退出
    OPTIONS 选项说明                                 #:跳转至第#行
    EXAMPLES 示例                                      1G: 回到文件首部
    FILES 相关文件                                         G:翻至文件尾部
    AUTHOR 作者
    COPYRIGHT 版本信息
    REPORTING BUGS bug信息
    SEE ALSO 其它帮助参考
man 搜索
/KEYWORD:
以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索;不区分字符大小写;n: 下一个 N:上一个

PS(Prompt Sign): 是指命令提示符。根据个人喜好可以对命令提示符进行修改
man bash  使用/PS1 按N 一直到最后一个PS1 可看到帮助
Image
\d :代表日期,格式为weekday month date,例如:”Mon Aug1″
\H:完整的主机名称。例如:我的机器名称为:fc4.linux,则这个名称就是fc4.linux
\h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略
\t :显示时间为24小时格式,如:HH:MM:SS
\T :显示时间为12小时格式
\A :显示时间为24小时格式:HH:MM
\u :当前用户的账号名称
\v :BASH的版本信息
\w :完整的工作目录名称。家目录会以 ~代替
\W :利用basename取得工作目录名称,所以只会列出最后一个目录
\# :下达的第几个命令
\$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$
 
 
如果需要修改ROOT的指命令提示符,可编辑/root/.basbrc进行添加,普通用户需在各自家目录下进行修改例如编辑/home/test/.bashrc进行修改。如过需要所有用户都使用统一的话,需要在/etc/bashrc里添加。
我们可以通过设置PS1变量使提示符成为彩色。
前景 背景 颜色                 代码  意义
30    40   黑色                 0       OFF
31    41   红色                 1       高亮显示
32    42   绿色                 4       underline
33    43   黃色                 5       闪烁
34    44   蓝色                 7       反白显示
35    45   紫紅色              8       不可见
36    46   青蓝色
37    47   白色
也可以设置多种颜色  例如 :PA1=\[\e[1;39m\][\[\e[1;31m\]\u\[\e[1;33m\]@\[\e[1;34m\]\H \[\e[1;32m\]\W\[\e[1;39m\]]\[\e[1;35m\]\$\[\e[1;39m\]
Image [2]
如果结尾不添加 \[\e[m\]  会导致最后一个颜色之后包括输入的文字也是最后一个的颜色。

    history:
 history [-c] [-d offset] [n]
 history -anrw [filename]
 history -ps arg [arg…]
        -c: 清空命令历史
Image [5]
        -d N: 删除历史中指定的第N条命令
Image [6]
          n: 显示最近的n条历史
Image [7]
        -a: 追加本次会话新执行的命令历史列表至历史文件
        -r: 读历史文件附加到历史列表
        -w: 保存历史列表到指定的历史文件
        -n: 读历史文件中未读过的行到历史列表
        -p: 展开历史参数成多行,但不存在历史列表中
Image [9]
        -s: 伪造历史,且命令不执行
Image [8]
命令历史相关环境变量
    HISTSIZE:命令历史记录的条数
    HISTFILE:指定历史文件,默认为~/.bash_history
    HISTFILESIZE:命令历史文件记录历史的条数  ; 默认不设置为500条
    HISTTIMEFORMAT=“%F %T “ 显示时间
    Image [4]
    HISTIGNORE=“str1:str2*:… “ 忽略str1命令,str2开头的历史
    控制命令历史的记录方式:
        环境变量:HISTCONTROL
            ignoredups 默认,忽略重复的命令,连续且相同为“重复”
            ignorespace 忽略所有以空白开头的命令
            ignoreboth 相当于ignoredups, ignorespace的组合
            erasedups 删除重复命令
    export 变量名=”值“
    存放在 /etc/profile 或 ~/.bash_profile
命令行历史操作方法
重复前一个命令,有4种方法
        重复前一个命令使用上方向键,并回车执行
        按 !! 并回车执行
        输入 !-1 并回车执行
        按 Ctrl+p 并回车执行
!:0 执行前一条命令(去除参数)
Ctrl + n 显示当前历史中的下一条命令,但不执行
Ctrl + j 执行当前命令
!n 执行history命令输出对应序号n的命令
!-n 执行history历史中倒数第n个命令
!string 重复前一个以“string”开头的命令
!?string 重复前一个包含string的命令
!string:p 仅打印命令历史,而不执行
!string:^ 从命令历史中搜索以 string 开头的命令,并获取它的第一个参数
Image [10]
!string:$ 从命令历史中搜索以 string 开头的命令,并获取它的最后一个参数
Image [11]
!string:n 从命令历史中搜索以 string 开头的命令,并获取它的第n个参数
!string:* 从命令历史中搜索以 string 开头的命令,并获取它的所有参数
Image [12]
^string 删除上一条命令中的第一个string
Image [13]
^string1^string2 将上一条命令中的第一个string1替换为string2
Image [14]
!:gs/string1/string2 将上一条命令中所有的string1都替换为 string2
Image [15]
!$:p 打印输出 !$ (上一条命令的最后一个参数)的内容
!*:p 打印输出 !*(上一条命令的所有参数)的内容

screen命令:
    创建新screen会话
        screen –S [SESSION]
    显示所有已经打开的screen会话
        screen -ls
提示为Detached为表示为中途退出的会话需使用 screen -r 进行恢复
Image [17]
 如果提示为Attached的需要使用 screen -x 进行加入
Image [16]
echo $STY   检查自己是否是在一个screen会话里 如果在会显示会话号及会话名称,反则为空
    退出并关闭screen会话
  Image [22]
  Image [23]
 exit  或着只有一个会话窗口的话可以用 C+a K 退出
 Image [18]
Image [19]
    剥离当前screen会话
        Ctrl+a,d
screen 进阶
Ctrl+a ?  显示所有 键位信息
Image [21]
在连接screen会话后 可以在里面再创建多个窗口 例如一台机器不同tty类似
  Ctrl+a c :创建窗口   或使用命令 screen -m
  Ctrl+a w :窗口列表
  Ctrl+a n :下一个窗口
  Ctrl+a p :上一个窗口
  Ctrl+a 0-9 :在第0个窗口和第9个窗口之间切换
  Ctrl+a K(大写) :关闭当前窗口,并且切换到下一个窗口(当退出最后一个窗口时,该终端自动终止,并且退回到原始shell状态)
        Ctrl+a S 水平分割
   Image [20]
        Ctrl+a | 垂直分割   低版本无法执行
        Image [31]
        Ctrl+a TAB 切换
        C-a X 关闭当前焦点所在的屏幕区块(并不会真的关闭)例如分割后取消分割
        C-a Q 关闭除当前区块之外其他的所有区
        screen -X -S ID quit 可以删除会话
      Image [24]

    Hash缓存表
系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命
令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解
释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找。
利用hash缓存表可大大提高命令的调用速率
    hash常见用法
hash 显示hash缓存
hash –l 显示hash缓存,可作为输入使用
hash –p path name 将命令全路径path起别名为name
hash –t name 打印缓存中name的路径
hash –d name 清除name缓存
hash –r 清除缓存

echo命令
    功能:显示字符
    语法:echo [-neE][字符串]
    说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开,
并在最后加上换行号
    选项:
     -E (默认)不支持 \ 解释功能
     -n 不自动换行
     -e 启用 \ 字符的解释功能
    显示变量
echo “$VAR_NAME“ 变量会替换,弱引用
echo ‘$VAR_NAME‘ 变量不会替换,强引用
启用命令选项-e,若字符串中出现以下字符,则特别加以处理,而不会将它当成
一般文字输出
\a 发出警告声
\b 退格键
\c 最后不加上换行符号
Image [33]
\n 换行且光标移至行首
\r 回车,即光标移至行首,但不换行,且替换本行内容
Image [32]
\t 插入tab
\\ 插入\字符
\0nnn 插入nnn(八进制)所代表的ASCII字符
\xHH插入HH(十六进制)所代表的ASCII字
echo -e ‘\033[43;31;5m666666\033[0m’
Image [30]
把一个命令的输出打印给另一个命令的参数
echo “This system’s name is $(hostname) “
Image [25]
echo “i am `whoami` “
Image [26]
    括号扩展:{ }
打印重复字符串的简化形式
echo file{1,3,5}
Image [29]
echo {a..z}
Image [28]
echo {001..20..3}    {起始数..结尾数..间隔}
Image [27]
echo “hello”  >或>>  file  也可以将内容输出到文本 > 清空并写入 >> 追加

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/93832

(0)
StouyStouy
上一篇 2018-03-30
下一篇 2018-03-30

相关推荐