先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
5、把符合要求的文件名添加.bak后缀
find . -name “*.jpg” -print0 | xargs -0 rm -I {} mv {} {}.bak
注意:其中的-I {}是告诉xargs,后面的命令中,用{}表示占位符,将会被实际的参数替代。这样就行了。
其他有用的参数还有:
-n: 用于指定每次传递几个参数
-d: 用于指定切分输入内容时,具体的分隔符,其他更多的参数,就参考man xargs吧。
6、后台启动程序并且不输出任何log信息
./test &>/dev/null & 等价于 ./test 2>/dev/null >/dev/null&
cat test.txt &>/dev/null &
7、查看内存和cpu
top //查看cpu占用率
adb shell top -m 30 -t -d 3 -s cpu
adb shell top -m 30 -t -d 3 -s cpu | grep <进程名> //只显示某个进程中线程的信息
注:-m 30:只显示cpu占用率最高前30;-t :只显示线程而不是进程 ;-d 3:每3秒更新一次;-s cpu:按cpu占用率排序
procrank //查看内存。Uss:为当前程序所占内存(不包括库文件等)
adb shell dumpsys meminfo //查看内存占用率
adb shell dumpsys meminfo <pid/包名> //查看个程序的内存占用率
8、nm查看动态库、静态库、可执行文件
nm:选项
-A 在每个符号信息的前面打印所在对象文件名称;
-C 输出demangle过了的符号名称;
-D 打印动态符号;
-l 使用对象文件中的调试信息打印出所在源文件及行号;
-n 按照地址/符号值来排序;
-u 打印出那些未定义的符号;
nm -A ./* | grep h264
nm -A *.a
nm -a *.so
nm -A a.out
9、ffmpeg命令参考
ffmpeg -f v4l2 -i /dev/video0 output.mp4 //ffmpeg 获取摄像头/dev/video0并输出.mp4文件
//Camera出来的数据为yuv格式
ffplay -f rawvideo -video_size 1920x1080 a.yuv //ffplay播放yuv文件命令
//将mp4视频中的音视频信息,以json格式返回
ffprobe -v quiet -print_format json -show_format -show_streams video.mp4
或
ffprobe -show_format -show_streams video.mp4
//ffplay播放rgb原始数据
ffplay -f rawvideo -pixel_format rgb24 -s 480*480 video.rgb
//ffplay播放16bit 2通道 44100采样频率的pcm音频数据
ffplay.exe ./play.pcm -f s16le -channels 2 -ar 44100
10、android进入recovery模式更新固件
adb reboot recovery
11、查看modem的log
adb logcat -b radio -s RIL
12、操作指定的多个文件
chmod +x /home/{run.sh,build.sh}
13、查看进程对应的log信息
adb logcat | grep “993” //bluetooth情况
14、查看进程所打开的文件
adb shell lsof 993
adb shell lsof audio.primary.so
15、以root权限查看文件
adb shell su -c ‘cat /data/misc/wifi/wpa_supplicant.conf’
du -sh /data
16、date在logcat中使用
adb logcat -s NetlinkEvent | tee $(date “+%Y:%m:%d-%H:%M:%S”.log)
adb logcat | packages-$(date “+%Y-%m-%d-%H:%M:%S”-123.log)
17.编译android与tar打包命令
//test.sh
make update-api -j$(grep -c ^processor /proc/cpuinfo)
make -j$(grep -c ^processor /proc/cpuinfo) 2>&1 | tee build_All.log
make otapackage -j$(grep -c ^processor /proc/cpuinfo) 2>&1 | tee build_ota.log
OUTPUT_FILE=“packages-$(date “+%Y-%m-%d-%H-%M-%S”-ROM)”
mkdir $OUTPUT_FILE
tar -zcvf ${OUTPUT_FILE}.tar.gz $OUTPUT_FILE
18.解压rootfs.img跟文件系统方法
sudo mount -o loop rootfs.img /tmp
mkdir test
sudo cp -rf /tmp/* test
sudo chown user:user test
sudo chmod 777 test -R //不加权限,压缩会报错
tar zcvf test.tar.gz test
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!