Linux学习笔记——bash命令及shell变量简介

bash
及其特性

shell  外壳

GUI :Gnome  KDE 
xface

CLI :shell  csh 
ksh  bash

程序,进程

进程:每个进程看来,当前主机上只存在内核和当前进程

进程是程序的副本,进程是程序执行实例

用户的工作环境:

bash:

#   root用户

$   普通用户

shell  ,子shell

bash :

1.命令历史

2.管道,重定向

3.命令行编辑

4.命令别名

5.命令行展开

6.文件名通配

7.变量

8.编程

命令行使用技巧:

Ctrl + a  光标跳转行首

Ctrl + e 
光标跳转行尾

Ctrl + u  删除光标至行首的内容

Ctrl  + k 
删除光标至行尾内容

Ctrl  +
l  实现清屏

命令历史使用技巧:

!n  执行命令历史中第N行命令

!-n  执行历史命令中倒数第N行命令

!!   执行上一条命令

!CHARACTER  执行历史命令中最近一次以CHARACTER开头的命令

!$ 引用前一个命令的最后一个参数

ESC 松开按.  引用前一个命令的最后一个参数

tab按键功能:

命令补全 :搜索PATH环境变量所指定的每个路径下以我们给出的字符串开头的可执行文件

路径补全 :搜索我们给我的起始路径下的每个文件名,并试图补全

命令别名:

#alias CMDALIAS=COMAND  命令重命名

在shell 中定义的别名仅在当前shell 生命周期中有效,别名的有效范围当前shell进程

#unalias   取消命令重命名 ,#unalias COMAND

bash 支持的引号及作用:

``    反引号, 命令替换

“” 双引号,弱引用,可以完成变量替换

‘’  单引号,强引用,不可完成变量替换

命令替换

把命令中某个子命令替换为命令执行结果的过程

#echo “The directory is $(pwd)”

#touch  ./file-$(date +%F-%H-%M-%S).txt  ==   #touch ./file-`date +%F-%H-%M-%S`.txt   ,功能相同

命令历史:

#history

[[email protected] skel]# help history
history: history [-c] [-d 偏移量] [n] 或 history -anrw [文件名] 或 history -ps 参数 [参数...]
    显示或操纵历史列表。
    
    带行号显示历史列表,将每个被修改的条目加上前缀 `*‘。
    参数 N 会仅列出最后的 N 个条目。
    
    选项:
      -c        删除所有条目从而清空历史列表。
      -d        偏移量 从指定位置删除历史列表。
    
      -a        将当前绘画的历史行追加到历史文件中
      -n        从历史文件中读取所有未被读取的行
      -r        读取历史文件并将内容追加到历史列表中
      -w        将当前历史写入到历史文件中 并追加到历史列表中

环境变量 :

PATH        命令路径

HISTSIZE   命令历史大小

示例:# echo $HISTSIZE  ,显示缓存命令的大小

#echo $shell ,显示用户Shell 环境

文件名通配 ,globbing

*    匹配任意长度的任意字符,包含空#ls  a*

?    匹配任意单个字符 ,#ls  ?y*

[ ]   匹配指定范围内的任意单个字符,如[a-zA-Z][0-9]
[0-9a-zA-Z]

[[:space:]] 所有的空白字符

[[:punct:]]
所有标点符号

[[:lower:]]  所有小写字符

[[:upper:]]  所有大写字符

[[:alpha:]]  所有大小写字母

[[:digit:]]  所有数字

[[:alnum:]]  数字和大小写字

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

例#ls
[[:alpha:]]*[[:space:]]*[[:alpha:]] ,显示以字母开头并以字母结束,且中间包含空格的文件

站在用户登录的角度来说,shell 的类型

登录式shell

正常通过某终端登录

su - USERNAME

su -l USERNAME

非登录式shell

su USERNAME

图形终端下打开的命令窗口

自动执行的shell
脚本

bash
的配置文件

全局配置

/etc/profile , /etc/profile.d/*.sh , /etc/bashrc

个人配置

~/.bash_profile , ~/.bashrc

profile类的文件

设定全局环境变量

登录运行命令或脚本

bash 类的文件

设定本地变量

定义命令别名

登录式shell 如何读取配置文件

/etc/profile --->
/etc/profile.d/*.sh ---> ~/.bash_profile -->~/.bashrc -->/etc/bashrc

非登录式shell

~/.bashrc
-->/etc/bashrc-->/etc/profile.d/*.sh

时间: 2024-08-02 10:56:46

Linux学习笔记——bash命令及shell变量简介的相关文章

Linux学习笔记--bash脚本编程之一变量、变量类型

bash脚本编程之一变量.变量类型 shell编程: 编译器,解释器 编程语言:机器语言.汇编语言.高级语言 静态语言:编译型语言 强类型(变量)语言 事先转换成可执行格式 C.C++.JAVA.C# 动态语言:解释型语言       on the fiy                                   弱类型 边解释边执行 ASP.ASP.net.PHP.shell.Python.perl 面向过程:shell.C   面向对象:JAVA.Python .Perl.C++

linux学习笔记-type命令

语法: type [-tpa] name 参数: type:    不加任何参数时,type会显示出name是外部命令还是内部bash内置命令 -t:      当加入-t参数时,type会将name以下面这些字眼显示出它的意义 file:表示为外部命令 alias:表示该命令为命令别名所设置的名称 builtin:表示该命令为bash内置的命令功能 -p:     如果后面接的name为外部命令时,才显示完整文件名 -a:     会有path变量定义的路径中,将所有含有name的命令都列出来

Linux学习笔记(16)shell基础之Bash变量

1. 用户自定义变量 (1)变量设置规则 ① 变量名称可由字母.数字和下划线组成,但不能以数字开头: ② 变量的默认类型为字符串类型,如果要对数值运算,则必须指定变量类型为数值型: ③ 变量用等号连接值,且等号两侧不能有空格: ④ 变量的值如果有空格,需使用单引号或双引号括起: ⑤ 变量的值中,可使用"\"转义符: ⑥ 如果需要增加变量的值,可以进行变量值的叠加,不过变量需要用双引号包含,即"$变量名",或者用${变量名}包含: ⑦ 如果是把命令的结果作为变量值赋予

Linux学习笔记(15)shell基础之Bash基本功能

1 shell概述 shell是一个命令解释器,为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序.用户可以用shell启动.挂起.停止甚至是编写一些程序. shell是一个功能强大的编程语言,其特点是易编写.易调试及灵活性强.shell是解释执行的脚本语言,可直接调用Linux系统命令. shell通常分为两类:B shell和C shell.前者的主文件名为sh,后者主要用于BSD版本的Unix中,其语法格式和C语言类似.这两种shell的语法彼此间不兼容.Bash与sh兼

Linux学习笔记:命令(三)

linux常用命令 1.查看当前yum源 yum list 2.查看电脑以及操作系统的相关信息 uname -a 3.查看当前版本信息 cat /proc/version 4.查看发行版本信息 cat /etc/issue 5.查看当前正在运行的进程. ps [选项] 详见文档 6.Hostname临时生效 hostname Hadoop-DN-01 7. bash命令 现在的shell界面,重新加载系统配置. 8.安装rar命令 yum install -y rar 9.解压rar文件 rar

linux学习笔记-第十一课-shell基础

1.历史命令(history.↓.↑.!) history的默认值是1000,该值在/etc/profile中指定 命令history,用来查询最近命令历史记录: 使用方向键(↑)可以查询上一个命令: 使用方向键(↓)可以查询下一个命令: 感叹号(!!)可以重新执行最近执行的命令: 在(!)后面输入要查询命令的首字符或者字符串,可以搜出符合该字符串的最近的命令: (!n)代表执行history命令中标记的第n条命令(注:n也可以为负数,如!-2代表执行倒数第二个命令): (!#)可以执行2次命令

Linux学习笔记——获取命令帮助方法及命令分类

命令类型: 内嵌命令:shell 内嵌 外部命令:在文件系统中存在某个路径与命令相同的可执行文件 环境变量:命名的内存空间 变量赋值 #printenv   显示环境变量 #hash     显示缓存命中命令 PATH:  使用:隔开的一组路径 0(1) 查找数据速度标准 获取命令帮助方法: 1.#help  COMMAND          获取内部命令帮助 ,例 help cd    查看cd命令帮助信息 2.# COMMAND --help        获取外部命令帮助,例  ls  -

Linux学习笔记之命令技巧、bash支持的引号作用及文件通配符

命令技巧: 命令行使用技巧: Ctrl + a  光标跳转行首 Ctrl + e  光标跳转行尾 Ctrl + u  删除光标至行首的内容 Ctrl  + k  删除光标至行尾内容 Ctrl  + l  实现清屏 命令历史使用技巧: !n  执行命令历史中第N行命令 !-n  执行历史命令中倒数第N行命令 !!   执行上一条命令 !CHARACTER  执行历史命令中最近一次以CHARACTER开头的命令 !$ 引用前一个命令的最后一个参数 ESC 松开按.  引用前一个命令的最后一个参数 命

Linux学习笔记(七)环境变量PATH、cp命令、mv命令、文档查看cat/more/less/h

一.环境变量PATH对于环境变量,百度解释为https://baike.baidu.com/item/%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F/1730949?fr=aladdinlinux下环境变量同样是为了方便执行某些命令, which ls 可以查看到ls的绝对路径为 /usr/bin/ls echo $PATH 可以看到环境变量为/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin/usr/