Ubuntu命令行调试指令大全

本文介绍了在Linux系统中使用apt管理软件包,如安装、升级、查看包状态的方法,以及进程管理、调试工具、U盘挂载、磁盘空间监控、SSH连接、FFmpeg视频处理和日志分析等实用技巧。
摘要由CSDN通过智能技术生成

apt相关

#下载某软件包(例如cmake)
sudo apt-get install cmake
#查看已安装的所有包
sudo apt list --installed
#查看有没有装某个包(例如ffmpeg)
sudo apt list --installed | grep ffmpeg
#将可升级列表拉到本地
sudo apt-get update
#将可升级的都升了
sudo apt-get upgrade
#查看可以升级的软件列表
sudo apt list --upgradable
#单独升级某个软件(package_name替换)
sudo apt install --only-upgrade package_name

进程相关

#打开任务管理器
gnome-system-monitor
#列出所有进程的详细信息
ps aux
#在这些进程中找某个进程,第二列是PID
ps aux | grep $(process_name)
#列出父进程ID与进程ID以及启动命令
ps -ef
#杀进程,PID用ps指令查
kill $(PID)
#强制杀进程
kill -9 $(PID)

调试指令

#循环打印df
while true; do df; sleep 1; echo "\n"; done
#循环查看内存剩余
while true; do cat /proc/meminfo | awk 'NR==1 || NR==2 || NR==3' ;sleep 1; echo ""; done
#查看CPU
jtop
#查看GPU:在jtop下按2

挂载U盘

#插入U盘后先创建一个空文件夹
mkdir ~/work/
#查看U盘信息
lsusb
#查看挂载路径
fdisk -l
#把u盘挂载到work路径下,成功后就可以在work下看到U盘内容了(不能处于该路径下执行)
sudo mount /dev/sda1 ~/work/
#卸载U盘,离开该路径后
sudo umount ~/work

#删除或增加分区表。例如有个盘有两个分区,可以在/dev下面看到sdc(设备节点),sdc1,sdc2(两个分区)
#执行前需要先解除挂载
sudo fdisk /dev/sdc
#p可以查看里面有几个分区
#d可以删除分区
#n新增分区
#操作结束后一定要w保存退出

#格式化,例如设备节点为/dev/sdc
mkfs.ext4 /dev/sdc

空间相关

#查看挂载和空间
df
#以人类可看懂的方式展示
df -h
#编程实现查看当前路径挂载盘符总大小(1k块的数量)
df ${path} | awk 'NR==2 {print $2}' | tr -d '\n'
#剩余大小
df ${path} | awk 'NR==2 {print $4}' | tr -d '\n'
#查看某文件夹大小
du -sh ~/folder
#列出该文件夹下所有文件夹和文件的信息
ls -lh
#查看当前路径下所有东西所占空间
du -h -d 1

ssh远程

#如没有则需要安装,服务端
sudo apt-get install openssh-server
#客户端
sudo apt-get install openssh-client
#查看ssh服务器是否已启动(在服务端机器上运行)
sudo service ssh status

#登录,该指令输入后再输密码(在本地机器上运行)
ssh user@hostname
#带端口号
ssh -p ${port} user@hostname
#例如登录192.168.1.123:10022
ssh -p 10022 admin@192.168.1.123

#scp (在本地机器上运行)
#将本地文件复制到远程服务器
scp /path/local/file username@remote_host:/path/remote/directory
#将远程文件复制到本地
scp username@remote_host:/path/remote/file /path/local/directory
#复制整个目录到远程服务器 -r表示递归
scp -r /path/local/directory username@remote_host:/path/remote/directory
#远程主机有端口号,从本地拷过去(拷回来只需要两个路径相反就行)
scp -P 2222 /home/user/test.txt user@192.168.1.100:/home/user/

#挂载远程到本地(在本地机器上运行)
#sshfs是SSH的文件传输工具,它可以通过远程的SSH连接将远端的文件系统挂载到本地,使得你可以像操作本地文件系统一样操作远程的文件。
#如没有sshfs则需要安装
sudo apt-get install sshfs
#挂载需要先创建一个空文件夹
mkdir ~/remote/
#挂载
sudo sshfs -o allow_other cidi@192.168.55.1:/ /home/admin/remote/

日志调试

#当日志一直在输出,想要持续看
tail -f log.txt
#打印日志最后200行
tail -n 200 log.txt

ffmpeg

#直接播放
ffplay video.h264
#ffplay拉流
ffplay rtsp://192.168.1.224/stream1
#输出视频信息
ffmpeg -i video.mp4
#mp4转flv      
ffmpeg -i test.mp4   -f flv output.flv
#h264转mp4  
ffmpeg -i test.h264 -f mp4 output.mp4
ffmpeg -i test.mp4 -acodec copy -f mp4   output.mp4 #-acodec copy   音频流执行copy, 视频流会重新解码、编码
ffmpeg -i test.mp4 -vcodec copy -f mp4   output.mp4 #-vcodec copy   视频流执行copy, 音频流会重新解码、编码
ffmpeg -i test.mp4 -codec  copy -f mp4   output.mp4 #-codec  copy   音频流和视频流都不会重新解码、编码
#视频转gif
ffmpeg -i test.mp4 out.gif #直接就能转成gif
ffmpeg -i test.mp4 -ss 0 -t 2 -r 10 out.gif #截取视频中前两秒的视频转为gif,并将帧率改为10fps -r修改帧率

#使用ffplay播放pcm格式音频
ffplay -ar 44100 -ac 2 -f s16le -i test.pcm #必须在播放时把pcm相关参数都写明,不然会播放失败

#jpg转yuv:
ffmpeg -i test.jpg -s 640x480 -pix_fmt yuv420p test.yuv
#播放yuv
ffplay -f rawvideo -video_size [width]x[height] -pixel_format [format] your_yuv_file.yuv
#例如1920*1080,yuv420文件out.yuv
ffplay -f rawvideo -video_size 1920x1080 -pix_fmt yuv420p out.yuv

#创建一个测试视频源文件 test.mp4:
ffmpeg -f lavfi -i testsrc=duration=5:size=1280x720:rate=30 test.mp4 
#上述命令可以生成一个时长为5秒,分辨率为1280x720,帧率为30的测试视频源文件test.mp4。

#对test.mp4进行压缩编码,生成输出文件output.mp4:
ffmpeg -i test.mp4 -c:v libx264 -crf 23 -preset fast -c:a copy output.mp4
#上述命令使用H.264编码器对test.mp4进行压缩编码,输出文件output.mp4。其中-crf 23表示压缩质量因子为23,越小则压缩质量越高;-preset fast表示使用快速压缩模式。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值