引言
作为一名计算机专业的学生和Linux系统爱好者,我深深体会到命令行工具在开发和管理工作中的重要性。经过多年的使用和积累,我整理了一些最常用、最高效的Linux命令行工具,这些工具极大地提升了我的工作效率。本文将分享这些工具的使用技巧和应用场景。
1. 文件与目录操作
1.1 exa - ls的现代替代品
1 2 3 4 5 6 7
| sudo apt install exa sudo dnf install exa
exa -l --icons --git exa -T --level=2
|
exa提供了更美观的输出、git集成和更好的颜色显示,是我日常替代ls的首选工具。
1.2 fzf - 模糊查找神器
1 2 3 4 5 6 7 8
| git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf ~/.fzf/install
vim $(fzf) kill $(ps aux | fzf | awk '{print $2}') cd $(find * -type d | fzf)
|
fzf可以与几乎所有命令结合使用,提供交互式模糊查找功能。
2. 文本处理三剑客
2.1 grep进阶用法
1 2 3
| grep -rni "keyword" . grep --include="*.js" "function" grep -v "exclude" file
|
2.2 awk实用技巧
1 2 3 4 5 6 7 8
| ps aux | awk '{print $1, $4}' | sort -k2 -nr
find . -name "*.py" | xargs wc -l | awk 'END{print}'
awk '{sum+=$1} END {print sum}' data.txt
|
2.3 sed实战示例
1 2 3 4 5 6 7 8
| sed -i 's/old/new/g' *.txt
sed '/^$/d' file.txt
sed -n '10,20p' file.txt
|
3. 系统监控与性能分析
3.1 htop - 增强版top
1 2 3 4 5 6 7
| sudo apt install htop
F5 - 树形显示进程 F6 - 按列排序 F9 - 杀死进程
|
3.2 glances - 全能监控工具
1 2 3 4 5 6 7
| pip install glances
glances glances -w glances -s
|
glances可以监控CPU、内存、磁盘、网络、温度等几乎所有系统指标。
3.3 ncdu - 磁盘空间分析
1 2 3 4 5 6
| sudo apt install ncdu
ncdu / ncdu -x /home
|
4. 网络工具
4.1 httpie - 现代curl替代品
1 2 3 4 5 6 7
| pip install httpie
http GET https://api.github.com http POST example.org name=John age:=30 http -f POST example.org/form name='John' file@photo.jpg
|
4.2 mtr - ping+traceroute组合
1 2 3 4 5 6
| sudo apt install mtr
mtr google.com mtr -c 100 -i 1 -n 8.8.8.8
|
4.3 ngrep - 网络层grep
1 2 3 4 5
| sudo apt install ngrep
ngrep -d eth0 '^GET' port 80
|
5. 开发辅助工具
5.1 jq - JSON处理利器
1 2 3 4 5 6
| sudo apt install jq
curl -s https://api.github.com/users/octocat | jq '.login, .id' cat config.json | jq '.config.database.host'
|
5.2 tmux - 终端复用器
1 2 3 4 5 6 7 8 9 10
| tmux new -s mysession Ctrl+b d tmux attach -t mysession
Ctrl+b c Ctrl+b , Ctrl+b % Ctrl+b " # 水平分割
|
5.3 tldr - 简化版man
1 2 3 4 5 6
| npm install -g tldr
tldr tar tldr --update
|
6. 实用小工具
6.1 bat - 带语法高亮的cat
1 2 3 4 5 6
| sudo apt install bat
bat main.py bat --list-languages
|
6.2 fd - 更快的find替代品
1 2 3 4 5 6
| sudo apt install fd-find
fd "\.py$" fd -e md -x wc -l
|
6.3 ripgrep (rg) - 超快代码搜索
1 2 3 4 5 6
| sudo apt install ripgrep
rg "TODO" rg -tpy "import"
|
7. 我的.bashrc实用配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| alias ll='exa -l --icons --git' alias grep='grep --color=auto' alias df='df -h' alias du='du -h'
shopt -s histappend export HISTFILESIZE=1000000 export HISTSIZE=1000000 export HISTCONTROL=ignoreboth export HISTIGNORE='ls:bg:fg:history'
shopt -s autocd alias ..='cd ..' alias ...='cd ../..'
extract() { if [ -f $1 ] ; then case $1 in *.tar.bz2) tar xjf $1 ;; *.tar.gz) tar xzf $1 ;; *.bz2) bunzip2 $1 ;; *.rar) unrar e $1 ;; *.gz) gunzip $1 ;; *.tar) tar xf $1 ;; *.tbz2) tar xjf $1 ;; *.tgz) tar xzf $1 ;; *.zip) unzip $1 ;; *.Z) uncompress $1 ;; *.7z) 7z x $1 ;; *) echo "'$1' cannot be extracted via extract()" ;; esac else echo "'$1' is not a valid file" fi }
|
8. 终端美化
8.1 starship - 现代化提示符
1 2 3 4 5
| curl -sS https://starship.rs/install.sh | sh
eval "$(starship init bash)"
|
8.2 lsd - 带图标和颜色的ls
1 2 3 4 5
| sudo apt install lsd
lsd -l --icon=always
|
结语
掌握这些命令行工具可以极大提升Linux环境下的工作效率。建议初学者从最基础的grep、awk、sed开始学习,逐步扩展到其他工具。记住,最好的学习方法就是实践——尝试在自己的日常工作中使用这些工具!