《Linux就该这么学》学习笔记(二)

目录

管道命令符

输入输出重定向

 命令行通配符

PATH变量

一些重要的环境变量


管道命令符

        管道命令符“|”的作用是将前一个命令的标准输出作为后一个命令的标准输入,格式为“ 命令A |命令B”。

//使用echo为用户改密码
user@user-virtual-machine:~/shell$ echo "root" | passwd --stdin root

输入输出重定向

输出重定向:

符号作用
命令 > 文件将标准输出重定向到文件(清空原文件的内容)
命令 2> 文件将标准错误输出重定向到文件 (清空原文件的内容)
命令 >> 文件将标准输出重定向到文件(在原文件中追加)
命令 2>> 文件

将标准错误输出重定向到文件(在原文件中追加)

命令 >> 文件 2>$1将标准输出和标准错误一起重定向到文件(在原文件中追加)

 输出重定向:

符号作用
命令 < 文件将文件作为标准输入
命令 << 分界符从标准输入中读入,直到遇到“分界符”才停止
命令 < 文件1 > 文件2将文件1作为命令标准输入,并将标准输出到文件2

 命令行通配符

通配符作用
*匹配零个或多个字符
?匹配任意单个字符
[0-9]匹配范围内的数字
[abc]匹配已出的任意字符
//匹配所有sda开头的文件
user@user-virtual-machine:~$ ls /dev/sda*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sda3

//匹配sda后有一个字符的文件
user@user-virtual-machine:~$ ls /dev/sda?
/dev/sda1  /dev/sda2  /dev/sda3

//匹配sda后包含0-9任意一个数字的文件
user@user-virtual-machine:~$ ls /dev/sda[0-9]
/dev/sda1  /dev/sda2  /dev/sda3

//匹配sda后包含1或3或5的文件
user@user-virtual-machine:~$ ls /dev/sda[135]
/dev/sda1  /dev/sda3

特殊字符拓展:

字符作用
\(反斜杠)转义后面的一个字符
''(单引号)转义所有的字符
""(双引号)变量依旧生效
``(反引号)执行命令语句
//定义变量
user@user-virtual-machine:~$ PRICE=5

//使用$取变量
user@user-virtual-machine:~$ echo "Price is $PRICE"
Price is 5

//不能直接输出$
user@user-virtual-machine:~$ echo "Price is $$PRICE"
Price is 2451PRICE

//使用转义字符输出$
user@user-virtual-machine:~$ echo "Price is \$$PRICE"
Price is $5

//使用单引号$不能输出变量,因为''会把所有字符转义
user@user-virtual-machine:~$ echo 'Price is \$$PRICE'
Price is \$$PRICE


//使用反引号将执行命令
user@user-virtual-machine:~$ echo `uname -a`
Linux user-virtual-machine 5.15.0-52-generic #58-Ubuntu SMP Thu Oct 13 08:03:55 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

PATH变量

alias命令用于设置命名的别名,格式为:“alias 别名=命令”。

//为命令“cp -i”起别名
user@user-virtual-machine:~/shell$ alias cp="cp -i"
user@user-virtual-machine:~/shell$ cp tr.txt tr2.txt
cp:是否覆盖'tr2.txt'? n

//取消别名
user@user-virtual-machine:~/shell$ unalias cp

PATH是“解释器的助手”,她负责告诉bash用户要执行的命令可能放在那里,bash会在这些目录中找。

user@user-virtual-machine:~/shell$ $PATH
bash: /home/user/.vscode-server/bin/8fa188b2b301d36553cbc9ce1b0a146ccb93351f/bin/remote-cli:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin: 没有那个文件或目录

变量PATH中的每一个目录只用使用冒号分隔“:”

//为PATH变量添加新值
user@user-virtual-machine:~/shell$ PATH=$PATH:/root/bin

一些重要的环境变量

变量名称作用
HOME用户主目录
SHELL当前shell是哪个程序
HISTSIZE历史命令记录条数
MAIL邮件邮箱文件
LANG语系数据
RANDOM随机数字
PS1bash提示符
HISTFILESIZEhistory命令存储数量
PATH在路径中的目录查找执行文件
EDITOR默认文本编辑器

        用户可以使用:“ 变量名=值 ”的方式定义一个新的变量,通过此方法定义的变量只可在当前用户中使用,要想别的用户也能使用此变量可以将变量定义为全局变量。

        定义全局变量的方式:“export 变量名=值”;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值