Linux 常用命令速查表
查看进程内存映射
pmap -x <pid> # 查看进程的内存映射信息查看系统架构
uname -m # 查看操作系统架构(x86_64 / arm64 等)find 查找当前目录及其子目录指定文件
find . -name "libt2sdk.so" # 在当前目录及子目录精确查找文件 libt2sdk.so find . -name "*t2*.so" # 模糊匹配:查找文件名包含 t2 且以 .so 结尾的文件 find . -iname "*t2*.so" # 忽略大小写匹配:t2/T2/tT 都能找到 find . -type f -name "*t2*" # 只查找普通文件(不匹配目录) find . -type d -name "*t2*" # 只查找目录 find . -maxdepth 1 -name "*t2*" # 只在当前目录查找,不递归子目录ps进程信息
ps -p <PID> -o lstart,etime,cmd # 查看进程启动时间+运行时长 # 示例 [zhangm@localhost work_mdb]$ ps -p 22282 -o lstart,etime,cmd STARTED ELAPSED CMD Wed Feb 4 14:00:26 2026 23:53:18 hsldp startdaemon ldp_test_zm123 usms#0 -s 10.20.203.120:21810 -zdu 磁盘与文件
du -sh /home/* # 查看 /home 下每个用户目录的大小(人类可读) du -sh /home/* | sort -h # 按大小升序排序 du -sh /home/* | sort -hr # 按大小降序排序 du -sh * # 查看当前目录下每个文件 / 子目录各自占用的磁盘空间split 拆分大 CSV 文件(每 1GB 一个)
# 将大 CSV 文件按 1GB 拆分为多个小文件,文件名前缀为 part_,后缀为 .csv split -b 1G --additional-suffix=.csv redo_shuym.csv part_ # 拆分后文件示例: # part_aa.csv # part_ab.csv # part_ac.csvpstack 进程堆栈查看
pstack <进程号> # 示例 pstack 12345 pstack 687782 > ./pstack_687782_3.log # 输出到文件pstack可以打印一个正在运行的进程的所有线程的堆栈信息,便于排查程序卡死、死锁或崩溃问题。
备注:可能导致主备切换,需要先杀备机,然后抓取主机的堆栈
grep 速查表
grep [选项] "关键字/正则" 文件 # 基本语法 grep "ERROR" 20250901* # 查找 ERROR grep -i "error" 20250901* # 忽略大小写 grep -v "TCP站点未完成连接" # 排除匹配行 grep "ERROR" 20250901* \ | grep -v "TCP站点未完成连接" \ | grep -v "向TCP服务端" # 等价写法(扩展正则) grep "ERROR" 20250901* \ | grep -Ev "TCP站点未完成连接|向TCP服务端" grep "begin setdbmode" 20250901* # 区分大小写 grep -i "begin setdbmode" 20250901* # 忽略大小写 grep -n "ERROR" 20250901* # 显示行号 grep -r "ERROR" ./logs # 递归搜索目录 grep -c "ERROR" 20250901* # 统计行数 grep -E "uses_fund_detail.*,init_date,20251110,.*" redo_partgroup_1.csv # 正则表达式匹配 grep -E -e "uses_fund_detail.*,init_date,20251110,fund_account,400022330400044579,money_type,0,.*,fund_enable_level,20,.*" -e ",uses_fund_detail,Clear" redo_partgroup_1.csv # 指定多个候选条件(使用 -e)cp 拷贝
cp -a /home/ss/dir/. /home/ss/dir2/ # 拷贝 /home/ss/dir 下的所有内容到 /home/ss/dir2 # 包括: # - 普通文件 # - 隐藏文件(以 . 开头的文件) # - 子目录及其内容 # 保留文件权限、时间戳、软链接等元数据 cp -r /home/ss/dir/* /home/ss/dir2/ # 递归拷贝目录和文件,但不一定保留所有元数据 cp -i /home/ss/dir/* /home/ss/dir2/ # 拷贝文件和目录前会提示确认,防止覆盖 cp -u /home/ss/dir/* /home/ss/dir2/ # 只拷贝源文件比目标新或目标不存在的文件 cp -v /home/ss/dir/* /home/ss/dir2/ # 拷贝时显示详细过程,方便查看哪些文件被拷贝mv 移动
mv /original/folder /target/folder # 把整个目录挪到目标目录(包含其内部所有文件与子目录)tar 打包解包
tar -czvf archive_name.tar.gz folder_name # 打包并压缩为 .tar.gz tar -xzvf archive_name.tar.gz # 解压 .tar.gz tar -cjvf archive_name.tar.bz2 folder_name # 打包并压缩为 .tar.bz2 tar -xjvf archive_name.tar.bz2 # 解压 .tar.bz2 tar -cJvf archive_name.tar.xz folder_name # 打包并压缩为 .tar.xz tar -xJvf archive_name.tar.xz # 解压 .tar.xz tar -cvf archive_name.tar folder_name # 仅打包(不压缩) tar -xvf archive_name.tar # 解包 .tar(无压缩)rsync 同步文件指令
将远程的 远程文件夹路径/ 拷贝到本地机器的当前目录下 示例
rsync -avzP -e "ssh -p 22" username@ip地址:远程文件夹路径/ .svn checkout完整用法
svn checkout --username 用户名 --password 密码 仓库URL 本地目录其他常用工具
top # 查看系统资源占用 htop # 更友好的进程监控(需安装) free -h # 查看内存使用情况 df -h # 查看磁盘使用情况 uptime # 查看系统运行时长和负载PWD
# 1. 查看自己在哪里 $ pwd /home/alice # 2. 查看某个进程在哪里运行 $ ps aux | grep nginx nginx 1234 0.0 0.1 ... $ pwdx 1234 1234: /usr/share/nginx/html # nginx进程的工作目录