目录

管道命令符

输入输出重定向

命令行通配符

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 随机数字
PS1 bash提示符
HISTFILESIZE history命令存储数量
PATH 在路径中的目录查找执行文件
EDITOR 默认文本编辑器

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

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

《Linux就该这么学》学习笔记(二)相关推荐

  1. PyTorch学习笔记(二)——回归

    PyTorch学习笔记(二)--回归 本文主要是用PyTorch来实现一个简单的回归任务. 编辑器:spyder 1.引入相应的包及生成伪数据 import torch import torch.nn ...

  2. MATLAB学习笔记——二维和三维绘图

    MATLAB学习笔记--二维和三维绘图 近期练习matlab的二维和三维绘图,整理一下,以防忘记. 文章目录 MATLAB学习笔记--二维和三维绘图 一.二维绘图 1.plot命令 2.fplot 命 ...

  3. 嵌入式系统设计师学习笔记二十八:嵌入式程序设计③——高级程序设计语言

    嵌入式系统设计师学习笔记二十八:嵌入式程序设计③--高级程序设计语言 解释程序和编译程序 编译器的工作阶段示意图 语法错误:非法字符,关键字或标识符拼写错误 语法错误:语法结构出错,if--endif ...

  4. 计算鬼成像学习笔记二:二阶关联函数探究

    计算鬼成像学习笔记二:二阶关联函数探究 1 一阶关联函数 2 二阶关联函数 3 二阶关联如何重构物体 4 差分鬼成像关联公式 5 归一化鬼成像关联公式 1 一阶关联函数 一阶关联函数是光场的电场强度之 ...

  5. qml学习笔记(二):可视化元素基类Item详解(上半场anchors等等)

    原博主博客地址:http://blog.csdn.net/qq21497936 本文章博客地址:http://blog.csdn.net/qq21497936/article/details/7851 ...

  6. [转载]dorado学习笔记(二)

    原文地址:dorado学习笔记(二)作者:傻掛 ·isFirst, isLast在什么情况下使用?在遍历dataset的时候会用到 ·dorado执行的顺序,首先由jsp发送请求,调用相关的ViewM ...

  7. tensorflow学习笔记二——建立一个简单的神经网络拟合二次函数

    tensorflow学习笔记二--建立一个简单的神经网络 2016-09-23 16:04 2973人阅读 评论(2) 收藏 举报  分类: tensorflow(4)  目录(?)[+] 本笔记目的 ...

  8. Scapy学习笔记二

    Scapy学习笔记二 Scapy Sniffer的用法: http://blog.csdn.net/qwertyupoiuytr/article/details/54670489 Scapy Snif ...

  9. Ethernet/IP 学习笔记二

    Ethernet/IP 学习笔记二 原文链接:http://wiki.mbalib.com/wiki/Ethernet/IP 1.通信模式 不同于源/目的通信模式,EtherNet/IP 采用生产/消 ...

  10. Java学习笔记二:数据类型

    Java学习笔记二:数据类型 1. 整型:没有小数部分,允许为负数,Java整型分4种:int short long byte 1.1 Int最为常用,一个Int类型变量在内存中占用4个字节,取值范围 ...

最新文章

  1. .NET Core 配置Configuration杂谈
  2. 【干货】浅谈分布式数据库中间件之分库分表
  3. layui动态生成的下拉框被遮住
  4. mysql select内部原理_数据库SQL SELECT查询的工作原理
  5. 数的划分(信息学奥赛一本通-T1440)
  6. 怎么截取网页全图_FastStone Capture长截图怎么使用?滚动截图教程
  7. mysql中列的默认值
  8. 微信小程序-简易计算器
  9. 题库:queryset数据类型的特性
  10. OpenDRIVE坐标系解读
  11. Windows开启SSH连接
  12. 驱动精灵万能网卡版单文件版 v9.61
  13. 反汇编工具OD(OllyDebug)
  14. 普林斯顿宣布开源 25 核处理器
  15. Eslint代码规范
  16. day184-2018-12-21-英语流利阅读-待学习
  17. nico老是显示服务器升级,Nico会员服务条款
  18. 美国计算机游戏设计专业排名,美国游戏设计专业大学排名TOP5推荐!
  19. AEJoy —— 表达式之无缝循环摆/扭动【JS】
  20. 采用京东方屏幕的华为mateX2将难以与三星的折叠手机竞争

热门文章

  1. 在机房如何利用极域反控制老师的电脑呢
  2. 关于虚拟机克隆后如何给克隆出来的虚拟机配ip
  3. java lamda表达式去重
  4. Matlab 错误使用 plot 矢量长度必须相同
  5. Linux用户管理— 用户组管理命令
  6. 屏幕小于6英寸的手机_6英寸屏幕真的大么?你可能对“全面屏”有什么误解!详解全面屏手机那些事...
  7. vscode 打开文件不覆盖
  8. 小米手机5怎么卡刷开发版开启root超级权限
  9. 华为如何分屏_资讯华为实现手机和平板“微信双登”:使用体验更上一层楼
  10. 微信公众号调用接口显示的错误码含义