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 date
watch命令重复调用并刷新打印信息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设备判断