• Tab补全,Ctrl-r显示历史命令

  • Ctrl-u删除所有内容,Ctrl-w删除单词

  • Ctrl-x Ctrl-e在文本编辑器里面修改命令行

  • history查看命令行,!n执行之前第几条命令,!$执行最后一条

  • cd -回到上一个目录,cd -n回到上几次目录

  • pgrep根据名称查找进程号,pkill根据名称杀进程,killall根据名称杀掉所有进程

  • lsof -iTCP查看tcp端口使用,lsof -iUDP查看udp端口使用

  • alias查看命令别名,alias ll='ls -l'设置命令别名

  • 使用{,}匹配多种文件,比如ls *.{obj,mtl}会显示所有obj文件和mtl文件

  • 重定向多行输入

cat <<EOF
input
on multiple lines
EOF
  • man ascii查看ascii表
  • 使用fzf交互式的模糊查找文件,同时可以结合管道命令更灵活查找文件,例如find * -type f | fzf > selected
  • su username切换到用户,su - username切换到用户,环境变量也和该用户登录时一样
  • python交互命令行可以当计算器用
  • 使用find . -iname '*something*'查找文件,使用locate something全盘查找文件
  • 使用rg根据内容查找文件,通常用在项目代码中搜索,默认忽略.gitignore
  • rsync同步大量文件,增量传输
  • vimdiff a.txt b.txt可以直接在vim中对比两个文件
  • hd可以显示二进制文件
  • iconv -f utf-8 -t gbk a.txt -o b.txt转换编码
  • 使用ncdu查看磁盘占用情况
  • ldd查看动态链接库的情况
  • 使用perf进行性能分析
  • 使用demsg查看硬件驱动日志
  • 使用env查看环境变量
  • watch -n1 datewatch命令重复调用并刷新打印信息
  • strings,从二进制文件中分离字符串,利用>可以重定向到文件保存
  • patchelf给二进制动态链接库重新设置库路径(可以把绝对路径换相对路径)
  • tldr命令行更好的使用说明例子
  • nmap -snP 192.168.1.0/24 查找该网段里面所有的IP
  • 离线所有依赖包
sudo apt-get download $(apt-cache depends --recurse --no-recommends --no-suggests --no-conflicts --no-breaks --no-replaces --no-enhances --no-pre-depends build-essential | grep -v i386 | grep "^\w")

build-essential改成想要的包名,下载到/var/cache/apt/archives。拷贝到目标机器上执行

sudo dpkg -i *
  • 查看网络信号nmcli -f "CHAN,BARS,SIGNAL,SSID" d wifi list ifname wlo1,把wlo1改为网卡名称,使用ifconfig可以得到
  • git变基git rebase -i {COMMIT}
  • 查看usb设备的参数udevadm info --name=/dev/bus/usb/002/018/dev/bus/usb/002/018为usb设备路径,可以通过拔插usb设备判断