Linux学习笔记2022/3/16

本文详细讲解了Linux shell的工作原理,包括type命令的区别、环境变量PATH的作用、命令帮助与man手册、vi/vim编辑器、bash的补全与历史功能、命令别名设置、特殊符号的运用、输入输出重定向,以及通配符的使用。适合shell初学者和进阶者参考。
摘要由CSDN通过智能技术生成

1.type命令可以查看命令是内部命令还是外部命令

2.shell是命令解释器:shell接受到命令时,按空格进行切片 ,进行判断。如果为内部命令直接执行。如果为外部命令,根据shell提供得环境变量PATH中定义得路径从左往右依次查找,以第一次查找到得命令为执行命令

环境变量  PATH
        /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
查看环境变量: echo $PATH

3.命令帮助

help命令:

help command

--help 长选项 绝大部分命令都可以使用

man手册的结构

        NAME:命令名称以及功能的简要说明

         SYNOPSIS:用说说明,包括一些可用的选项
            []:可选内容
            <>:必选内容
            a|b|c:多选一
            ...:同类项可以有多个
        DESCRIPTION:功能用法详细描述,包含选项含义
        OPTION:选项含义
        FORMAT:格式化输出
        FILES:与命令相关联的文件
        USER:作者
        BUGS:提交bug的方式
        EXAMPLES:示例
        SEE ALSO:另外的一些参照

4.文本编辑工具

vi 和vim

命令模式:编辑器打开后的默认模式

输入模式:点击a i o 三个字母可以对文件进行编辑

末行模式:wq 保存退出 ,w 保存文件 q 退出文件 q!强制退出

在命令模式点击键盘aio进入输入模式,输入模式点Esc建进入到命令模式,命令模式下 打出:即Shift+:进入到末行模式

5.Linux bash 特性

补全功能:按下tab建 如果根据前面的字符串有唯一识别的则直接补全,否则再次按下tab建给出选择的列表。适用命令补全和路径补全

命令历史:

命令历史列表:在内存中存放

命令历史文件:在文件中存放

HISTSIZE 命令历史文件大小

HISTFILE 命令历史文件

HISTFILESIZE  命令历史文件大小

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

   ignoredups 忽略重复的命令

   ignorespace 忽略空白开头的命令

   ignoreboth 以上两者

修改环境变量值

HISTCONTRAL=ignoredups

NAME='value'

history命令:

-c 清空命令历史列表

-d offset 删除指定位置的命令历史

-r 从命令历史文件中读取命令历史到命令历史列表中

-w 讲命令历史列表中的命令历史追加到命令历史文件中

!# 再一次执行命令历史列表的第#条命令

!!再次执行上一条命令

!string 再次执行命令历史列表中最近一个以string开头的命令

调用上一条命令的最后一个参数:Esc加.或者!$

6.命令别名

alias 查看系统中可用的命令别名

定义别名: alias NAME='command',仅在当前shell环境有效

撤销别名: alias NAME 

跳过别名: \command

永久生效:修改/etc/bashrc  在里面添加 source /etc/bashrc

7.特殊符号

|:管道符 把一个程序的输出当另外一个程序的输入

tee :管道 把传递的数据流保存

. 当前目录 .. 上一级目录

'':强引用,所见即所得    "":弱引用。变量或者命令的替换   ``反单引号,命令替换

*表示通配 

;在执行多条命令时,用分号隔开

{} 表示扩展

8.输入输出重定向

正确输出:1>覆盖  1>>追加

错误输出: 2>   2>>

混合输出:&>  正确和错误混合输出

2>&1 :将标准错误重定向到标准输出

1>&2: 将标准输出重定向到标准错误

9.通配符

*    匹配任意长度的任意字符

  ?    匹配任意单个字符

  []    匹配指定范围内的任意单个字符

  [^]    匹配指定范围外的任意单个字符

  [0-9]
  [a-z]  除过大写字母Z以外所有的大小写字母
  [A-Z]  除过小写字母a以外所有的大小写字母
  [0-9a-Z] 所有的数字和字母
  [[:digit:]]所有的数字 
  [[:upper:]]所有的大写字母
  [[:lower:]]所有的小写字母
  [[:alpha:]]所有字母
  [[:space:]]所有空白符
  [[:punct:]]所有的标点符号
  [[:alnum:]]所有的数字和字母
  [^[:digit:]]除过数字之外所有的字符   

例子:以非字母开头,后面跟一个数字及任意长度的任意字符

[^[:alpha:]][0-9]*

以任意一个字母开头,且以非数字结尾的文件

[[:alpha:]]*[^[:digit:]]
        

  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值