获取文件夹个数
ls -l | grep '^d' | wc -l
获取文件个数
ls -l | grep '^-' | wc -l
查找目录下的所有文件,是否包含www.dutycode.com字符串:
grep "QT_QPA_PLATFORM_PLUGIN_PATH=" ./* -r
grep -rn -i abc
nm -D ***.so | grep string
删除最旧的一个文件
sudo ls -tr | head -1 | xargs -i -n1 rm -rf {}
linux查看修改线程默认栈空间大小
1.linux查看修改线程默认栈空间大小 ulimit -s
a、通过命令 ulimit -s 查看linux的默认栈空间大小,默认情况下 为10240 即10M
b、通过命令 ulimit -s 设置大小值 临时改变栈空间大小:ulimit -s 102400, 即修改为100M
c、可以在/etc/rc.local 内 加入 ulimit -s 102400 则可以开机就设置栈空间大小
d、在/etc/security/limits.conf 中也可以改变栈空间大小:
#<domain> <type> <item> <value>
* soft stack 102400
ubuntu虚拟机 识别串口
sudo vim /etc/udev/rules.d/70-ttyusb.rules
增加如下内容:
KERNEL=="ttyUSB[0-9]*",MODE="0666"
保存并退出,重新插入USB转串口,就可以打开串口了
检查动态库的依赖以及问题
ldd -r ***.so
nm -u ***.so
arm-***-readelf -d/-r **.so
出现undefined symbol
定位:
c++filt _ZN17QAbstractItemView11eventFilterEP7QObjectP6QEvent
拓展
{
nm [option(s)] [file(s)]
有用的options:
-A 在每个符号信息的前面打印所在对象文件名称;
-C 输出demangle过了的符号名称;
-D 打印动态符号;
-l 使用对象文件中的调试信息打印出所在源文件及行号;
-n 按照地址/符号值来排序;
-u 打印出那些未定义的符号
}
地址转行号
[root@localhost work]# addr2line 0x0000000008048394 -e main -f
main
/work/main.c:4
ssh传输
sudo scp /boot/uImage root@192.168.10.3:/boot/uImage
deb包安装
sudo dpkg -i ****.deb
加载模块
sudo modprobe usbmon
批量改名字: .c -> .cpp
rename 's/\.c$/\.cpp/' *.c
加环境变量
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lgs_tmp/....
Linux查版本
lsb_release -a
查看某个进程的运行状态
ps aux | less | grep ***
top命令、top -H命令....
-Bsymbolic 优先使用本地符号(当动态库和应用程序使用了同名的全局变量时)
QMAKE_LFLAGS += -Wl,-Bsymbolic
把dd命令的执行返回值写到文件中
dd if=/dev/sda of=/dev/null bs=1M count=100 2> ./cmd.txt
[Linux]学习与工作过程中的小笔记(持续更新)
最新推荐文章于 2022-10-16 22:07:27 发布