5 个鲜为人知的 Linux 终端提示和实验
将内容发送到另一个终端窗口
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com
⚡ ls /dev/pts
ptmx
ptmx
和
。当前终端使用/dev/pts/0文件处理进程的I/O数据——您可以使用tty
找到当前的伪终端。例如,如果当前终端的伪终端是/dev/pts/0
,下面的命令会打印一些文本到当前终端本身:
linuxmi /home/linuxmi/www.linuxmi.com
⚡ echo "Hello!Linux迷 www.linuxmi.com " > /dev/pts/
Hello!Linux迷 www.linuxmi.com
有效地重新加载 .bashrc 定义
.bashrc
文件以添加所有启动脚本定义。每当你用 Bash 打开一个新的终端窗口时,.bashrc
脚本就会被执行——所以我们可以在那里添加别名、环境变量和全局函数。bash
打开一个新的 Bash 解释器实例,但它会创建一个资源密集型进程链,如下所示:.bashrc
有效地重新加载文件。种方法是使用内置source
命令,如下所示。
source ~/.bashrc
.bashrc
脚本。第二种方法是用内置exec
命令替换当前的 shell 实例。
exec bash
bash
手动输入或打开新的终端窗口更好、更有效率。通过铃声和警报了解任务完成情况
ls
和pwd
。但是,有时,他们必须使用终端命令启动长时间运行的任务。例如,由于深度依赖安装,React 应用程序或 React Native 应用程序创建命令通常需要更多时间。
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com
⚡ sleep 5; printf "\a"
sleep
命令完成后播放哔声。但是,如果有多个长时间运行的命令,而您的扬声器已静音怎么办?然后,我们可以使用预定义的alert
别名,如下所示。
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com
⚡ sleep 5; alert
alias
通知Ubuntu上的命令完成alert
别名在大多数 GNU/Linux 发行版中都可用,但如果它不适合您,您可以将以下代码段添加到您的.bashrc
文件中以激活它:# 为长时间运行的命令添加“alert”别名。使用像这样:
# sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
使用终端作为计算器
curl
这样的命令行工具。bc -l
我们可以使用命令(-l
启用浮点计算)打开一个命令行计算器。看下面的预览:bc
),但它支持变量定义、复杂表达式和数学函数。如果您需要使用现代语言语法执行数学运算,您还可以将 Python REPL 用作简单的计算器。例如,以下 Python 表达式计算半径为 7 个单位的圆的周长:
2 * math.pi * 7
子shell、命令组合和大括号扩展
(cd backend; npm i)
PORT=5000 ./linuxmi.py
PORT
只为 Python 脚本执行环境设置环境变量,不更新原始 shell 实例。&&
我们可以使用、||
、|
和等 Bash 运算符将多个命令连接成一个命令;
。命令替换功能还可以帮助我们组合多个命令。例如,我们可以使用以下命令仅将当前目录的文本文件作为参数发送到脚本:
./linuxmi.py `find . -name "*.txt"`
{1..5}
扩展定义生成一个以空格分隔的整数列表,范围为1
到5
。同样,/path/{bin,src}
返回以下输出:
/path/bin /path/src
mkdir
命令和大括号替换来一次创建多个子目录。
mkdir linuxmi/{linux,debian,ubuntu,fedora}
相关文章