LinuxShell父子关系概述
1. 父 Shell
父 Shell 是用于登录某个远程主机或虚拟控制器终端或在 GUI 中运行终端仿真器时所启动的默认的交互式 Shell 。
Linux Shell 中在当前 Shell 执行脚本文件的方式有:
12source script # 在当前 Shell 执行 script 文件. script # 在当前 Shell 执行 script 文件
2. 子 Shell(subshell)
子 Shell 是父 Shell 进程调用了 fork() 函数,在内存中复制出一个与父 Shell 进程几乎完全一样的子进程。
子 Shell 继承了父 Shell 的所有环境变量(包括全局和局部变量)
可以通过环境变量 BASH_SUBSHELL(其值表明子 Shell 的嵌套深度)判断是第几层子 Shell(0 说明当前 Shell 不是子 Shell)
Linux Shell 中创建子 Shell 的方式有:
123`command[;command...]` # command 在子 Sh ...
LinuxShell重定向和管道
Linux Shell 提供重定向符用于重定向命令的输入和输出,提供管道符用于将一个命令的输出重定向作为另一个命令的输入。
【注】在终端命令上,重定向符总是指向数据流动的方向。
1. 输出重定向
1.1 输出重定向符 >
1command > outputfile
> 重定向符用于把 command 命令的输出结果重定向输入到指定的 outputfile 文件中。
如果 outputfile 不存在,则自动创建。
如果 outputfile 文件有内容,则全部覆盖。
1.2 输出重定向符 >>
1command >> outputfile
>> 重定向符用于把 command 命令的输出结果重定向追加到指定的 outputfile 文件中。
如果 outputfile 不存在,则自动创建。
如果 outputfile 文件有内容,则继续追加到文件末尾。
2. 输入重定向
2.1 输入重定向符 <
1command < inputfile
< 重定向符用于将文件中的内容重定向输入给 comma ...
Linux下fcitx配置中文标点
Linux 系统环境下使用中文输入法往往是令人头疼的一件事。使用 fcitx 成功安装了中文输入法后,却发现中文标点和日常使用不一致。这是由于系统设定的全角标点映射集不符合我们期望,于是乎我们可以撸起袖子定制属于自己的个性化中文标点映射集。
查看 /usr/share/fcitx/data/punc.mb.zh_CN 文件
本人系统上目前的全角标点映射集如下(第一列是键盘符号,每个键盘符号可以对应多个全角符号,同一键盘符号对应的若干全角符号按照先后顺序依次打出,忽略标点符号间的空格):
1234567891011121314151617181920. 。, ,? ?" “ ”: :; ;' ‘ ’< 《> 》\ 、! !$ ¥^ ……* ×_ ——( () )[ ·] 「 」~ ~
编辑 /usr/share/fcitx/data/punc.mb.zh_CN 文件
根据自身需要定制自己的个性化中文标点映射集,以下是常用中文标点:
12345678910111213141516171819202122232425262728293031~ ~` · ...
Linux下sudo报错
1. sudo: XXX: command not found
其中,XXX 是所运行的程序命令。
问题:直接运行 XXX 程序命令时没有问题,但加上超级权限 sudo 就报错 command not found 。
原因:使用 sudo 命令时,使用的配置文件是 /etc/sudoers,查找可运行程序命令由 /etc/sudoers 文件中的 $secure_path 环境变量指定,所以即使系统环境变量 $PATH 中有 XXX 程序命令的路径,sudo XXX 也会报错。
解决:
直接将程序命令所在目录(必须是绝对路径,不能带环境变量)追加到 /etc/sudoers 文件中的 $secure_path 变量,即 /etc/sudoers 文件中如下位置(由于 /etc/sudoers 文件是只读文件,所以这种强制修改方式不太好):
1Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
查看 /etc/sudoers 文件 ...
Linux下使用打印机
1. 查看打印机守护进程状态
1systemctl status cups.service
如果打印机守护进程没有开启,则需要先启动:
1systemctl start cups.service
2. 查看 CPUs 守护进程状态
在浏览器输入 http://localhost:631,会弹出打印机的管理界面。
3. 查看 USB 是否连上打印机
打开 /dev/usb 文件夹,如果有 lpn 文件(n 为数字),说明连上了打印机。
Ubuntu18.04更换国内源
1. 备份原来的源文件 /etc/apt/sources.list
1sudo mv /etc/apt/sources.list /etc/apt/sources.list.bk
2. 新建文件 /etc/apt/sources.list
1sudo vim /etc/apt/sources.list
3. 将国内源粘贴复制进去
阿里源
123456789101112deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiversedeb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiversedeb-src http://mirrors.aliyun.com/ubuntu/ bionic-security mai ...
Ubuntu20.04更换国内源
1. 备份原来的源文件 /etc/apt/sources.list
1sudo mv /etc/apt/sources.list /etc/apt/sources.list.bk
2. 新建文件 /etc/apt/sources.list
1sudo vim /etc/apt/sources.list
3. 将国内源粘贴复制进去
清华源
12345678910111213# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiversedeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted univer ...
MarkDown高级技巧
1. MarkDown绘图
添加属性:属性用 {} 括起来。
比如 mermaid 居中(左对齐/右对齐同理)属性:(flow 等同理)
12```mermaid {align="center"} xxxxxx
1234## 2. MarkDown代码块中插入代码块即在代码块中再次引用代码块,产生以下效果:```markdown
xxxxxx
12345678910111213141516171819202122232425262728```方法是在代码块中引用的代码块整体 **tab** 缩进一格。## 3. MarkDown表格- 表格内换行:使用`<br>`进行换行- 表格中特殊字符(作为普通字符时需要使用 `\` 转义)| 特殊字符 | 转义 || :-: | :-: || `[ ]` | 成对出现时可转义其中一个(`\[ ]`、`[ \]`)|| `~` | `\~` || `\` | `\\` |## 4. MarkDown 使用 LaTex ### 4.1 矩阵在单美元符对 ` ...
MatLab函数ylabel、ylim、yticks、yticklabels、ytickformat
【注】x、z 轴对应函数同理;具体函数详解在 MatLab 中使用命令 help func 查阅。
1. ylabel 函数
1.1 作用
为 y 轴添加标签。
1.2 语法
1234ylabel(text) % 为 gca 命令返回的当前坐标区或者图形的 y 轴添加标签ylabel(target,text) % 向 target 指定的坐标区或图形添加标签ylabel(___,Name,Value) % 使用键值对(属性名-属性值)修改标签外观(并非所有图形类型均支持修改标签外观)t = ylabel(___) % 返回用作 y 轴标签的文本对象,使用 t 可在创建标签后对其进行修改
常用属性:
‘FontSize’, Value % 设置字体大小(默认数值 11,Value 以磅为单位)
‘FontWeight’, ‘normal’|‘bold’ % 设置字体粗细(默认为 normal)
‘FontName’, ‘XXX’ | ‘FixedWidth’ % 设置文本字体(默认字体取决具体操作系统和区域设置,XXX 必须为系统支持的字体名称,FixedWidth 为等宽字体) ...
MatLab函数yyaxis
【注】详情请参阅 MatLab help 文档。
1. 简介
yyaxis 函数可以创建具有两个 y 轴的坐标图。
2. 格式
123yyaxis leftyyaxis rightyyaxis(ax,___)
yyaxis left
激活当前坐标区中与左侧 y 轴关联的一侧,后续图形命令的目标均为左侧 y 轴。如果当前坐标区中没有两个 y 轴,此命令将添加第二个 y 轴。如果没有坐标区,此命令将首先创建两个 y 轴坐标区。
yyaxis right
激活当前坐标区中与右侧 y 轴关联的一侧,后续图形命令的目标均为右侧 y 轴。如果当前坐标区中没有两个 y 轴,此命令将添加第二个 y 轴。如果没有坐标区,此命令将首先创建两个 y 轴坐标区。
yyaxis(ax,___)
指定 ax 坐标区的活动侧。如果指定的坐标区中没有两个 y 轴,此命令将添加第二个 y 轴。___ 的可选值为 'left' 或 'right' 。
3. 举例
12345678910111213x = linspace(0,10);y1 = sin(x)y2 = sin(x/2);figureyyaxi ...
MatLab环境配置
1. 修改快捷键
依次点击【主页】⇒\Rightarrow⇒【预设】⇒\Rightarrow⇒【键盘】⇒\Rightarrow⇒【快捷方式】
【注】MatLab 提供了两组快捷键集:Windows 默认集和Emacs 默认集,同时也可以在下方对快捷键默认集进行个性化修改。
2. 设置帮助文档
依次点击【主页】⇒\Rightarrow⇒【预设】⇒\Rightarrow⇒【帮助】
在打开的设置界面可以:
设置帮助文档位置(本地下载/在线观看)
选择需要帮助文档的模块
设置帮助文档的默认语言
设置帮助文档默认显示窗口
MatLab绘图技巧
1. 标记
标记
说明
o
圆圈
+
加号
*
星号
.
点
x
叉号
s
方形
d
菱形
^
上三角
v
下三角
>
右三角
<
左三角
p
五角星
h
六角形
2. 线型
线型
说明
-
实线
--
虚线
:
点线
-.
点划线
3. 颜色
选项
说明
RGB 三元组
'red' 或 'r'
红色
[1 0 0]
'green' 或 ‘g’
绿色
[0 1 0]
'blue' 或 'b'
蓝色
[0 0 1]
'yellow' 或 'y'
黄色
[1 1 0]
'magenta' 或 'm'
品红色
[1 0 1]
'cyan' 或 'c'
青蓝色
[0 1 1]
'white' 或 'w'
白色
[1 1 1]
'black' 或 'k'
黑色
[1 1 1]
'none'
无颜色
空
附录
MatLab 快捷参考