• shell基本命令


    shell基本命令

    echo:

    -n:取消输出后行末的换行符号
    -e:支持反斜线控制的字符转换
    echo -e "\a":输出警告声
    echo -e "\e[1;31m abcd \e[0m":输出带颜色的信息
    
    • 1
    • 2
    • 3
    • 4

    bash执行方法:

    给bash文件添加执行权限,然后通过绝对路径来执行
    给bash文件添加执行权限,然后通过相对路径来执行
    通过 bash命令来执行bash文件
    
    • 1
    • 2
    • 3

    history:历史命令

    -c:清空历史命令
    -w:把系统缓存中的历史命令写入文件中,默认的历史命令保存文件:~/.bash_history中。(在用户注销时,系统会默认将历史命令写入文件中)
    /etc/profile里设置了历史文件命令保存的条数
    
    • 1
    • 2
    • 3

    历史命令调用:

    !n 重复第n条历史命令
    !! 重复执行上一条命令
    !字串 重复执行最后一条命令以该字符串为开头的命令
    !$ 重复上一条命令的最后的参数
    
    • 1
    • 2
    • 3
    • 4

    命令别名:

    alias 查询命令别名
    alias 别名=‘原命令’
    别名永久生效:写入~/bashrc
    命令执行优先级
    	使用绝对路径或相对路径
    	别名
    	Bash的内部命令
    	$PATH环境变量定义的目录去查找
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    source:

    使shell读入指定的Shell程序文件并依次执行文件中的所有语句。(.)点命令,只是简单地读取脚本里面的语句依次在当前shell里面执行,没有建立新的子shell。
    
    • 1

    Bash常用快捷键:

    ctrl+A:光标移动到命令行开头
    ctrl+E:光标移动到命令行结尾
    ctrl+U:删除或剪切光标之前的命令
    ctrl+K:删除或剪切光标之后的命令
    ctrl+Y:粘贴
    ctrl+R:在历史命令中搜
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    重定向:

    > 正确输出
    >>正确输出追加
    2> 错误输出
    2>> 错误输出追加
    < 输入重定向
    << 输入重定向,指定一个分界符号
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    命令执行符号:

    多命令执行符号格式作用
    命令1;命令2多个命令顺序执行,命令之间没有任何逻辑联系
    &&命令1&&命令2当命令1正确执行,命令2才会执行,当命令1不正确执行,则命令2不会执行
    ||命令1||命令2当命令1正确执行,命令2不会执行,当命令1不正确执行,则命令2才会执行

    wc:统计文本行数 字数 字符数

    -c显示字符的个数
    -w显示单词的个数
    -l显示文件文本的行数
    
    • 1
    • 2
    • 3

    grep:grep [选项] “搜索内容” 文件名

    -A 数字:列出符合条件的行,并列出后续的n行
    -B 数字:列出符合条件的行,并列出前面的n行
    -C 数字:列出符合添加的行,并列出前面后续的n行
    -c :统计找到符合条件的字符串的次数
    -i :忽略大小写
    -n :输出行号
    -v :反向查找
    --color=auto 搜索出的关键字用颜色显示
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    find:在系统中搜索符合添加的文件名,用法:find 目录 选项 [-exec/-ok] command {} ;
    -exec execute执行,直接执行后面的command,不用询问是否执行

    -ok 执行后面的command会询问Y/N
    
    
    {}  表示要执行的命令的参数即为找到的文件,命令末尾必须以 ; 结尾分号不能少
    
    
    -name 按照文件名称查找
    
    
    -perm 按照权限查找:-perm 755
    
    
    -prune 使用此选项可以使find命令不在当前指定的目录中查找】
    
    
    -type 查找某一类型的文件
    
    	type的选项
    	b 块设备文件
    	d 目录
    	c 字符设备文件
    	f 普通文件
    	p 管道文件
    	l 符号链接文件
    
    
    
    -amin n 查找系统中最后n分钟访问的文件
    
    
    -atime n 查找系统中最后n个24小时{即n天前}访问的文件
    
    
    -cmin n  查找系统中最后n分钟被改变文件状态的文件
    
    
    -ctime n 查找系统中最后n个24小时{即n天前}被改变文件状态的文件
    
    
    -mmin n  查找系统中最后n分钟被改变文件数据的文件
    
    
    -mtime n 查找系统中最后n个24小时{即n天前}被改变文件数据的文件
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43

    Bash中的特殊符号

    在这里插入图片描述
    pstree:查看系统进程树

    Bash的变量和运算符

    Bash中变量的默认类型都是字符串类型,若要进行数值运算,则必须指定变量类型为数值型
    变量用等号连接值,等号两边不能加空格,若值字符串有空格,用单引号或双引号包括。
    变量的叠加:test="demo"1234或test={demo}1234
    
    • 1
    • 2
    • 3

    变量分类

    用户自定义的变量,只在当前shell中生效
    环境变量:保存了和系统操作环境相关的数据,便于与命令区分,一般环境变量为大写。可以在子shell中生效
    位置参数变量:主要用于向脚本当中传递参数或数据
    预定义便变量:是Bash中已经定义好的变量,变量名不能自定义,作用也是固定的。
    
    • 1
    • 2
    • 3
    • 4

    set:设置当前所使用 shell 的执行方式,同时也可以用来设置或显示 shell 变量的值。set [选项]

    set -u 当执行时使用到未定义过的变量,则显示错误信息
    set -x 在执行命令之前,会先将命令输出一次
    set 查看变量的值,也可以查看用于自定义的命令
    unset 删除变量名,unset -v 删除变量 unset -f 删除函数
    
    • 1
    • 2
    • 3
    • 4

    PS1变量:命令提示符设置

    \d 显示日期
    \h 显示简写的主机名
    \t 显示24小时制时间,格式”HH:MM:SS“
    \u 显示当前用户名
    \v 显示Bash版本的信息
    # 执行的第几个命令
    \w 显示当前所在目录的完整名称
    $ 示符,root显示#,普通用户显示$
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    LANG 语系变量,定义了Linux系统的主语系环境。locale 可以查询当前系统支持的语系。

    位置参数变量

    在这里插入图片描述
    预定义变量

    在这里插入图片描述

    接收键盘输入 read [选项] [变量名]

    -p "提示信息" :在等待read输入时,输出提升信息
    -t 秒数:read命令一直等待用户输入,使用此选项可以指定等待时间
    -n 字符数:read命令只接受指定的字符数,就会执行
    -s 隐藏输入的数据,适用于机密信息的输入
    
    • 1
    • 2
    • 3
    • 4

    数值运算方法

    使用declare声明变量类型,**declare [+/-][选项] 变量名
    
    	-:给变量设定类型属性
    	+:取消变量的类型属性
    	-a:将变量声明为数组类型
    	-i:将变量声明为整数类型
    	-r:将变量声明为只读变量。
    	-x:将变量声明为环境变量
    	-p:显示指定变量的被声明的类型
    
    
    使用expr命令或let命令
    
    	dd=$(expr $1 + $2) +号两边必须有空格
    	dd=let b
    
    
    $(())或$[] 括号里的内容要进行数学运算
    	
    	dd=$(($1+$2))
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20

    export 可新增,修改或删除环境变量,供后续执行的程序使用。export 的效力仅限于该次登陆操作。最终还是使用declare -x 实现。

    变量测试与内容置换

    在这里插入图片描述
    登录时相关的环境变量配置文件

    配置文件
    
    	/etc/profile
    	/etc/profile.d/*.sh
    	~/.bash_profile
    	~/.bashrc
    	/etc/bashrc
    	
    启动过程
    
    	正常登录文件顺序加载过程
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    	不正常启动(su命令切换用户)
    
    • 1

    在这里插入图片描述

    其他配置文件

    注销时生效的配置文件:用户退出登录时,会调用~/.bash_logout,这个文件默认没有写入任何内容
    Shell登录信息:/etc/issue是Linux系统开机启动时在命令行界面弹出的欢迎语句文件,/etc/issue.net是ssh远程登录时在命令行界面弹出的欢迎语句文件。
    
    • 1
    • 2

    定义Bash的快捷键

    stty -a 查询所有的快捷键
    stty 关键字 快捷键 更改快捷键
    
    • 1
    • 2
  • 相关阅读:
    docker容器内访问主机端口服务
    基于Java的私人牙医诊所(医院)系统
    4、 后台服务配制以及代码生成[木字楠博客]
    [附源码]java毕业设计疫情防控期间网上教学管理
    Spring Data Commons远程命令执行漏洞复现(CVE-2018-1273)
    车辆工程的入门学习
    MySQL进阶4,常见函数
    SpringCloud Gateway 基于nacos实现动态路由
    <C++>三大特性 继承:你真的get到了吗?
    二.镜头知识之镜头总长,法兰距,安装接口
  • 原文地址:https://blog.csdn.net/qq_43193386/article/details/128081471