
linux操作
wssjn1994
这个作者很懒,什么都没留下…
展开
-
添加动态库路径
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:动态库路径只对本次上电的本个终端有效转自:https://blog.youkuaiyun.com/byxdaz/article/details/88857720转载 2020-04-14 16:28:05 · 639 阅读 · 0 评论 -
linux硬盘空间被占满,干掉cupsd!
详细情况看链接吧,完美契合我的问题https://code.evink.cn/2017/12/post/how-to-disable-ubuntu-cupsd-server/转载 2020-01-03 15:03:22 · 934 阅读 · 0 评论 -
gdb调试程序,不按顺序执行
因为在linux下程序在编译的时候做了代码优化,如果想要在调试时按顺序执行的话可以通过设置makeCFLAGS="-g-O0"来使得编译器不做代码优化-O就是优化等级-O0就是不做优化...转载 2019-12-27 16:46:20 · 566 阅读 · 0 评论 -
gdb调试手段总结
.gdb的操作常用指令list 函数名 :显示该函数名附近的代码。 bt :显示堆栈跳转情况。堆栈跳转的意义是,计算机执行时的缓存很小,所以在执行每一个函数时都要把该函数的相关信息压栈,然后再获取这个函数的资源,嵌套函数或下一个函数再把新的函数压栈。这样每一个函数的信息都被保存在了堆栈中,通过bt指令看到的堆栈调用信息就是函数的执行情况,再通过跳转堆栈查看当时的该函数的相关信息,即可定位出问...原创 2019-03-20 09:55:16 · 209 阅读 · 0 评论 -
makefile中控制宏定义
makefie -D+宏定义名称,可定义宏,这提供了调试手段。如 -DMAXNUM原创 2019-03-20 09:56:40 · 1360 阅读 · 0 评论 -
linux杀死进程
一般的进程在job指令中可以看到它的进程号,使用kill %进程编号就能杀死该进程。但今天遇到一个应用程序异常退出终端,导致再次开启终端时job指令无法看到该进程,但在top指令中可以看到。解决办法:首先用ps axuf查看进程树杀死该进程的方法为 top -9 进程PID...原创 2019-03-12 13:51:27 · 537 阅读 · 0 评论 -
vi ctrl+s卡死
ctrl+s是锁定屏幕的意思按ctrl+q解锁屏幕即可转载 2019-03-12 13:54:56 · 449 阅读 · 0 评论 -
linux查看内存问题
编写两个小程序打算顺便看看有没有经常犯的内存泄漏问题,结果就遇到了这样的状况。程序占用空间和cpu都太小,top指令看不到实时的占用情况。ps axuf能看到进程,但是看不到相应的资源。解决办法:cat/proc/进程pid号 这个目录下保存了这个进程的相关情况,但具体怎么查看还有待研究,可查看的东西太多。...原创 2019-03-12 20:07:12 · 1401 阅读 · 0 评论 -
linux用脚本杀死已知名字的进程
sp_pid=`ps -ef | grep sp-tomcat | grep -v grep | awk '{print $2}'`if [ -z "$sp_pid" ];then echo "[ not find sp-tomcat pid ]"else echo "find result: $sp_pid " kill -9 $sp_pid注意:使用时,需要把第一行的 sp-...转载 2019-03-12 20:10:18 · 342 阅读 · 1 评论 -
linux格式化出用户自定义格式的时间
linux普通的获取时间的函数得到得是固定格式的字符串,若想获得不同格式的字符串就需要调用strftime和strptime,具体操作见链接转自:https://blog.youkuaiyun.com/hittata/article/details/8090228...转载 2019-06-13 18:02:04 · 408 阅读 · 0 评论 -
gdb设置断点的几种方式
1.b 行号直接在当前所在的文件添加断点2.b 函数名在该函数处添加断点3.b 要调试的文件距当前所在目录的相对路径:行号在其他文件中添加断点原创 2019-08-14 09:16:10 · 3318 阅读 · 0 评论 -
linux删除目录中所有的.svn文件夹
find . -type d -name ".svn"|xargs rm -rf;转自:https://blog.youkuaiyun.com/qzmrock/article/details/82740723转载 2019-08-19 16:01:11 · 854 阅读 · 0 评论 -
linux看编译时有没有加-g选项
指令:objdump --debugging libxxx.so带-g的比不带-g的多显示很多东西,但比如在gdb 某个应用程序的时候符号表加载不出来,就说明编译阶段-g加上原创 2019-08-27 18:01:32 · 3187 阅读 · 0 评论 -
代码行数统计
1.统计当前目录下,c文件数量:find . -name "*.c" |wc -l2.统计当前目录下,所有c文件行数:find . -name "*.c" |xargs cat|wc -l3.统计当前目录下,所有c文件行数,并过滤空行find . -name "*.c" |xargs cat|grep -v ^$|wc -l...转载 2019-08-27 18:04:31 · 586 阅读 · 0 评论 -
linux压缩和解压指令整理
1.解包或打包.tar或.tar.gz 或 .tgz 或 .gz后缀的解包:tar zxvf FileName.tar打包:tar zcvf FileName.tar DirName2.解包或打包.tar.bz2或 .bz 或 .bz2 后缀的解压:tar jxvf FileName.tar.bz2压缩:tar jcvf FileName.tar.bz2 Dir...原创 2019-03-06 17:51:00 · 234 阅读 · 0 评论 -
linux strip命令的用法
strip命令在编译时可加上该参数,使得生成的文件去掉符号信息,缩小体积。有的交叉编译器带strip类型的,用这种编译器编译就可以缩小程序的体积。比如:arm-hisiv300-linux-strip详细介绍和实验参看链接:由于版权问题就不转载了。https://blog.youkuaiyun.com/qq_37858386/article/details/78559490...原创 2019-03-06 17:28:19 · 489 阅读 · 1 评论 -
linux查看完整历史记录
1.命令history,但是如果及时记录很多,终端无法显示全。这是需要第二种方法解决。2.在用户家目录下有一个隐藏文件.bash_history,查看它即可原创 2019-03-06 13:36:51 · 38613 阅读 · 0 评论 -
嵌入式powerpc的Raid0制作
依次删除删除四个分区的所有分区表fdisk /dev/sdadwfdisk /dev/sdbdwfdisk /dev/sdcdwfdisk /dev/sdddw删除完毕后重启重启后lsblk看到设备树已经变成了表示之前的raid0已经完全删除干净。mdadm --create --auto=yes /dev/md0 --rai...原创 2018-10-11 10:48:29 · 248 阅读 · 0 评论 -
嵌入式powerpc配置从SD卡启动的方法
lsblk看到的mmcblk0就是SD卡fdisk /dev/mmcblk0 删除分区表mdddd直到没有分区了为止创建分区表np1+256Mnp2wp1 p2df –h 查看SD卡的使用情况mkfs.fat /dev/mmcblk0 给SD卡分配文件格式,并格式化mkfs.fat /dev/mmcbl...原创 2018-10-11 10:59:13 · 660 阅读 · 0 评论 -
嵌入式powerpc给自带的ftp(tcpsvd)添加用户名和密码
首先在文件系统的/etc/rc5.d下找到S21ftpvsd.sh,打开可以看到系统在启动之前就已经启动了ftp服务添加一个上电自启动程序,方法参考之前的一篇博客https://blog.youkuaiyun.com/wssjn1994/article/details/83008960在此脚本中添加如下代码#!/bin/shconfigfile=/home/root/app/userna...原创 2018-10-11 11:38:33 · 2484 阅读 · 0 评论 -
linux检测程序是否挂掉并自动重新运行的脚本
编写一个脚本替代应用程序的运行,也就是通过启动脚本来启动程序,并监测程序是否挂掉,若挂掉则重新运行#!/bin/shwhile truedops -ef | grep "$PWD/app/auto_run.sh" | grep -v "grep"if [ "$?" -eq 1 ]then/home/root/app/auto_run.sh #启动应用,修改成自己的启动应用脚本...转载 2018-10-11 11:41:11 · 7174 阅读 · 6 评论 -
unbuntu安装octave
sudo apt-get install octave之前尝试自己下载安装包进行./configure make make insatall来安装,但在./configure时出现缺少各种库和Blas库与F77不兼容的问题,又更新了libblas等相关库,但还是提示缺少库,最终使用apt-get安装成功,apt-get install 会自动帮我们装上依赖库安装时提示无法解析域名,是由于i...原创 2018-11-29 14:41:47 · 257 阅读 · 1 评论 -
awk字符处理指令
首先创建一个log.txt文件,内容如下,供测试使用 2 this is a test3 Are you like awkThis's a test10 There are orange,apple,mongo 1.找出该文件每行的第一个字符串和第三个字符串,并输出awk '{print $1,$3}' log.txt $1和$3代表每行的第一个字符串和第三个字符串,...原创 2018-12-29 15:30:09 · 354 阅读 · 0 评论 -
linux挂载服务器以共享文件
mount -t nfs -o nolock 192.168.0.220:/home/trainee/work/sjn /opt-t制定档案系统的形态-o nolock nfs mount 默认选项包括文件锁,依赖于portmap提供的动态端口分配功能,所以加上-o nolock参数 ...原创 2019-02-21 15:13:39 · 208 阅读 · 0 评论 -
vi/vim跨文件复制粘贴,撤销回撤,删除,查找
多行跨文件复制1、用vim打开一个文件1.txt2、在普通模式下,输入:":sp"(不含引号)横向切分一个窗口,或者":vsp"纵向切分一个窗口,敲入命令后,你将看到两个窗口打开的是同一个文件3、在普通模式下,输入:":e 2.txt",在其中一个窗口里打开另一个文件4、切换到文件(1.txt)的窗口,在普通模式下,把光标移到你需要复制内容的起始行,然后输入你想复制的行的数量(从光标...转载 2019-02-22 15:36:29 · 613 阅读 · 0 评论 -
应用程序引用动态库编译提示找不到库
问题的场景是在公司服务器上编写demo测试公司内部的库文件功能时,发现我的用户没有权限,无法将动态库复制到usr/lib下,只好尝试加-L参数,手动制定库文件路径,但是这个-L参数从来都没有起作用过,依然是在编译时找不到库文件。最终解决办法:编译时添加参数 ./动态库路径.so比如动态库路径为trainee/work/sjn/libxipc/libxipc.so头文件路径为trai...原创 2019-02-22 15:44:01 · 860 阅读 · 0 评论 -
linux看门狗机制
Linux系统上的Watchdog实现为了满足“高可用性”的需求,人们设计了”watchdog”,俗称“看门狗”。“Watchdog” 在实现上可以是硬件电路也可以是软件定时器,能够在系统出现故障时自动重新启动系统。硬件搜索 “watchdog card”和“看门狗卡”,可以找相关的信息,常见的是PCI接口和USB接口,...转载 2019-02-27 14:51:21 · 7307 阅读 · 0 评论 -
查看系统文件时使用cat要注意
文件/proc/cmdline权限为r--r--r--甭管什么用户都没有读写权限,所以不能使用vi查看文件,要用cat原创 2019-02-25 18:55:45 · 627 阅读 · 0 评论 -
静态库编译出错
现象是编译静态库正常,但引用静态库写应用的时候编译报错error adding symbols:Archive has no index;run ranlib to add one原因是静态库文件需要使用“ar”来创建和维护。当给静态库增建一个成员时(加入一个.o文件到静态库中),“ar”可直接 将需要增加的.o文件简单的追加到静态库的末尾。之后当我们使用这个库进行连接生成可执行文件时,链...转载 2019-02-26 13:38:56 · 7560 阅读 · 0 评论 -
gdb 调试step进不去函数内部
我的问题是在使用了有源码的库文件写应用时,包含源码路径编译,加-g参数,但gdb单步进不去库函数内部分析发现时库文件的makefile编译时没有加-g参数,也就是说所有参与调试的源文件编译时都要加-g参数才能使用gdb调试。...原创 2019-02-26 14:00:21 · 5676 阅读 · 0 评论 -
嵌入式powerpc上电自动挂载磁盘
在文件系统的/etc/profile中最后追加cd /home/root/app./auto_run.sh其实就是去执行一个脚本在/home/root/app下创建一个auto_run.sh 在里边写上你想要执行的代码如:#!/bin/shmkdir -p /run/media/nvme0n1 //若一层都没有,则循环创建这个路径mount /dev/md0...原创 2018-10-11 10:44:45 · 401 阅读 · 1 评论