文章目录
- Linux命令行技巧
- 简介
- 目录切换(Navigating Directories)
- 清屏(Clearing the Terminal)
- 其他切换目录的命令(Navigating Directories with a Different Tool)
- 最小化应用(Minimizing an App)
- 复原最小化的应用(Restoring an App)
- 重复上一个使用sudo执行的命令(Repeating the Last Command with sudo)
- 浏览命令执行历史(Review the Command History)
- 一个更好的方式执行历史命令(A Better Way to Run Previous Commands)
- 使用时间戳优化历史命令的查看(Making Previous History Search Even Better With Timestamps)
- 一些没用但酷炫的命令(Take the Blue Pill)
- 快速调整字体大小(Adjust Font Size)
- 清空当前正在输入的命令行(Clearing a Line)
- 移动光标到命令行开头(Moving to the Front of the Line)
- 移动光标到命令行末尾(Moving to the End of the Line)
- 其他移动光标快捷键
- 多命令连接在一起执行(Chaining Commands Together)
- 实时查看文件(Tailing Files)
- 清空文件(Truncating Files)
- 使用column命令格式化输出(Using the Column Command)
- 总结
- 参考
Linux命令行技巧
简介
总结了一下工作中常用的快捷命令与使用技巧,帮助大家提高工作效率与命令行使用体验。
目录切换(Navigating Directories)
cd /etc
# 返回之前的目录,可以回到/etc目录
# -相当于变量$OLDPWD
cd -
# 进入home目录
cd ~
# 不加参数,也可以直接进入当前用户的home目录
cd
清屏(Clearing the Terminal)
# 清空屏幕
clear
# 或者使用快捷键
Ctrl + L
# 清空屏幕后,其实可以用鼠标滚轮,向上找到清空的内容
# reset命令也可以达到上述清屏效果,但是鼠标滚轮向上翻,是没有记录的
reset
其他切换目录的命令(Navigating Directories with a Different Tool)
更详细操作可以参考Linux中的pushd和popd。
# 使用pushd与popd切换目录,dirs可以查看目录栈内容
# 将指定目录压栈,执行成功后,也会切换到该目录
push /
# 查看目录栈
dirs -v
# 出栈操作,出栈后,当前目录会与栈顶目录保持一致
popd
dirs命令参数及含义
选项 | 含义 |
---|---|
-p | 每行显示一条记录 |
-v | 每行显示一条记录,同时展示该记录在栈中的index |
-c | 清空目录栈 |
最小化应用(Minimizing an App)
# 打开任意文件
vim /something/file
# 使用Ctrl + Z命令将当前程序“最小化”
Ctrl + Z
# htop查看计算机进程信息,同样可以最小化
复原最小化的应用(Restoring an App)
# fg(front-ground)复原“缩小后的程序”
fg
重复上一个使用sudo执行的命令(Repeating the Last Command with sudo)
# 使用某些命令,忘记在前面添加sudo,而执行失败时,可以使用如下命令重复执行
sudo !!
浏览命令执行历史(Review the Command History)
# 搜索命令行历史
Ctrl + R
# 输入一些命令关键字,可以查找到之前输入的命令
# 例如,我这里输入'docker e',就会提示出相关的命令历史。直接回车,就可以重复执行这条命令。
Last login: Tue Nov 1 20:40:40 2022 from 192.168.3.209
(reverse-i-search)`docker e': docker exec -it 47505843a62c /bin/bash
一个更好的方式执行历史命令(A Better Way to Run Previous Commands)
# 查看命令行历史
history
# 重复执行某个命令
!<命令序号>
# 例如,如下方式可以直接执行序号为139的命令'll'
!139
使用时间戳优化历史命令的查看(Making Previous History Search Even Better With Timestamps)
# 定义历史命令查看的格式
HISTTIMEFORMAT="%Y-%m-%d %T "
# 重新执行history命令,即可看到每个命令执行的具体时间
history
一些没用但酷炫的命令(Take the Blue Pill)
# 黑客帝国代码雨
cmatric
快速调整字体大小(Adjust Font Size)
Ctrl + 鼠标滚轮
清空当前正在输入的命令行(Clearing a Line)
Ctrl + U (Undo):从光标处向前
删除所有字符
Ctrl + W (Word):从光标处向前
删除一个单词(以空格为分割符)
Ctrl + K (Kill):从光标处向后
删除所有字符
Ctrl + Y (Yank):将Ctrl + U
与Ctrl + K
删除的字符,恢复原状
移动光标到命令行开头(Moving to the Front of the Line)
Ctrl + A:移动光标到开头,与Home
键效果相同
移动光标到命令行末尾(Moving to the End of the Line)
Ctrl + E:移动光标到末尾,与End
键效果相同
其他移动光标快捷键
Ctrl + ←、→:将光标移动一个单词的距离
多命令连接在一起执行(Chaining Commands Together)
# 使用';'隔开命令,无论第一个命令是否成功,都会执行第二个命令
command1 ; command2
# 举例说明, 两个命令均会执行(即使第一个命令报错)
ls -l ; echo "sucessful"
# 使用'&&'隔开命令,只有第一个命令执行成功,才会执行第二个命令
command1 && command2
# 举例说明,第一个命令执行报错,第二个命令不会执行
ls -l /this/doesnt/exist && echo "sucessful"
实时查看文件(Tailing Files)
# 从文件末尾实时查看文件内容
tail -f /path/to/file
# Ctrl + C 停止查看
清空文件(Truncating Files)
一般有如下选择,可以将文件内容清空:
-
删除后,重建
-
使用truncate命令
truncate -s 0 /path/to/file
-
使用echo
echo "" > /path/to/file # 或者,我比较喜欢的用法,省略echo命令 > /path/to/file
使用column命令格式化输出(Using the Column Command)
mount | column -t