linux命令的使用、bash命令的使用、ctrl+r查看历史记录、tee命令

张开发
2026/4/10 16:39:30 15 分钟阅读

分享文章

linux命令的使用、bash命令的使用、ctrl+r查看历史记录、tee命令
文章目录字母表示的含义定位光标移动相关命令inputrc和ctrl退格键为什么不删除单词呢查看文件的实际路径mkdir 已存在目录会覆盖么linux 常用的颜色文件名有特殊符号的时候查看历史命令-history查看历史命令-ctrlrtee命令tee命令写内容tee命令只能替换不能追加吗?记录一些不好分类的命令。bash命令是个很大的课题。bash命令行界面的操作和vim文本编辑器的操作不相同需要分别记忆。字母表示的含义C-a # 对应ctrl键M-a # M是meta的意思对应alt键那么S是否对应shift键呢?定位光标移动相关命令移动到行首 # ctrla为什么用a呢个人感觉是b被占用了表示向后backward移动到行尾 # ctrleend of line这个比较好理解向前移动一个字符 # ctrlf或右箭头forward向前向后移动一个字符 # ctrlb或左箭头backward向后向前移动到下一个单词的结尾 # altf或ctrl右箭头向后移动后前一个单词的开头 # altb或ctrl左箭头注这两个命令一个是开头一个是结尾个人感觉方向键也很方便了。inputrc和ctrl退格键为什么不删除单词呢这个主要看inputrc是否支持。如果配置了就可以支持。inputrc是Readline 库的配置文件主要用于定义终端输入行为和键盘映射被 Bash、Emacs 等常见 shell 和程序使用。那么readline又是什么呢?readline库是Linux环境下用于增强命令行交互功能的库主要用于提供自动补全、行编辑、历史记录等功能。查看文件的实际路径linux中有很多符号链接如果我们想要查看实际路径怎么办pwd-P文件名# -P, --physical avoid all symlinks避免符号路径所以就是全路径mkdir 已存在目录会覆盖么实测一下mkdirdemo1;# 如果存在会提示 mkdir: cannot create directory ‘demo1’: File existsmkdirdemo1 demo2;# 存在的会提示 不存在的会创建结论如果存在会提示 File exists但是不影响后续的创建。linux 常用的颜色白色 普通文件蓝色 文件夹浅蓝色 链接文件绿色 可执行文件红色 压缩文件文件名有特殊符号的时候例如文件名有小括号。错误的写法(因为小括号是特殊符号)rm-ftest(1).txt正确的写法有2种办法1、文件名加双引号2、右斜杠转义小括号# 1、文件名加双引号rm-ftest(1).txt# 2、右斜杠转义小括号rm-ftest\(1\).txt查看历史命令-historyhistory# 查看所有history|grepaaa# 筛选某个命令查看历史命令-ctrlrctrlr相对来说方便些。操作步骤按ctrlr进入查找模式输入字符会动态的匹配 #按时间倒序(默认会是倒数第一条)如果想要往后找(例如倒数第二条第三条)继续按ctrlr,每按一次往后找一条在此模式下可以按退格键或继续输入字符注上下左右方向键、tab键、esc键等会退出查找模式。 # 建议用esc键吧tab键容易误解为切换(在这里ctrlr是切换键)回车键会退出查找模式并执行。# 因此不太建议直接用回车键容易错动态的匹配这个词不专业专业的叫法是增量搜索。tee命令tee命令的作用是一边标准输出一边输出到文件。这个命令很有用特别是某些交互式界面用这个命令可以两头操作。写文件时也非常好用vim需要进去才能编辑echo只能一行在文件多的时候用tee一下执行完比vim和echo都快多了。tee命令什么会这么命名?说来比较有趣这个命令的功能有点像T形管道所以就以tee命名了。ls|teels.txt# 常规的输出atop|teeatop.txt# atop这种交互式的输出tee命令写内容teea.ymlEOF version: 3.8 services: web: image: nginx:alpine ports: - 80:80 restart: always volumes: - ./html:/usr/share/nginx/html EOFtee命令只能替换不能追加吗?不但能替换而且能追加加上a就表示追加。tee-aa.ymlEOF version: 3.8 services: web: image: nginx:alpine ports: - 80:80 restart: always volumes: - ./html:/usr/share/nginx/html EOF注千万别惯性思维用替换。实际上这么用也不对人家echo也是右尖括号而不是左尖括号如echo111a.txt#echo222a.txt

更多文章