Linux
iamgengyiping
I do what I do!
展开
-
switch语句中编程错误:jump to case label
问题原因:在case 0 中定义了变量b,在这个程序中,直到遇到switch的“}”右花括号,b的作用域才终结,也就是说在case 1 和 default 分支中 变量b依然是可以访问的。考虑这样一种情况,如果switch匹配了case 1,这样case 0的代码被跳过了,那么b就没有定义,如果此时在case 1的代码中访问了b,程序会崩溃的。如果谁也不匹配,执行default也会有同样的危险。1,将case 0 标记 的代码用 {}括起来,这样b的作用域在这个花括号内。在其他的case 标记中不能访问。原创 2022-12-28 18:19:31 · 1933 阅读 · 0 评论 -
手机连接电脑传文件的两种方法详解
5-电脑端打开我的电脑,在地址栏输入ip地址和端口。1、物理连接:使用传输数据线,这里不做介绍。3-点击右上角或者分类里的远程管理。1-手机和电脑连接同一个wifi。2-打开手机文件夹app。4-设置用户名和密码。原创 2022-12-15 15:26:54 · 4450 阅读 · 0 评论 -
make: warning: Clock skew detected. Your build may be incomplete.
问题现象:make: warning: Clock skew detected. Your build may be incomplete.PS:通过date命令可以查看当前系统时间,通过date -s来修改当前系统时间。问题分析:根据报警提示,应该问题出现时钟问题。问题原因:当前系统的时间在编译文件日期之前。问题解决:将当前系统时间更新到正确时间。原创 2022-10-10 12:32:04 · 5589 阅读 · 0 评论 -
dpkg: dependency problems prevent configuration in Ubuntu Linux问题解决
问题现象:在安装deb程序时,遇到dpkg: dependency problems prevent configuration in Ubuntu Linux等报错信息。问题分析:通过报错信息来看,是缺少相关依赖,因为有大量的dpkg: dependency problems会depend on sth。问题解决:通过如下命令行,来解决dpkg安装时所需要的依赖。PS:系统一定要联网,否则谁也solve不了。原创 2022-09-20 15:30:52 · 2527 阅读 · 0 评论 -
ubuntu清空回收站命令
PS:其中ubuntu为用户名称,如果你不是ubuntu需要把它替换。问题现象:ubuntu界面清空回收站会卡和无效。原创 2022-09-20 15:26:58 · 4675 阅读 · 0 评论 -
Linux查看网卡模式和速率
问题现象:偶发PC与Linux工控机网络连接异常问题分析:绿灯不亮,表示物理层握手失败问题原因:怀疑是通讯速率不匹配导致问题解决:将PC网卡更改为100M全双工,Linux工控机也为100M全双工PS:1、PC网卡在设备管理器中更改2、Linux工控机在如下查看和更改:cat /sys/class/net/{ethXXX}/speed #查看某网卡的速率(MB)(百兆or千兆等)...原创 2022-03-08 18:02:35 · 1000 阅读 · 0 评论 -
windows下实现svn提交后自动生成版本信息文件
问题现象:程序的版本信息保存在version.h中,每次需要手动去添加svn版本很麻烦问题分析:可以通过自动生成的方式来实现问题解决:1、使用svn info将版本信息搜集,使用findstr来筛选信息2、echo结果到version.h3、设置svn hook,当有提交动作后,自动执行1 2步编写的脚本指令问题经验:1、svn info出的信息是中文:把subversion 目录 C:\Program Files\SlikSvn\Share\Locale\zh_CN\LC_ME原创 2022-02-22 18:51:15 · 723 阅读 · 0 评论 -
在Linux中使用命令将串口通信数据保存
问题现象:在嵌入式开发中,往往需要手动编写串口驱动代码来实现串口数据的记录问题分析:在Linux中有很多脚本命令可以直接使用问题解决:1. 获取串口号在Linux系统中一切皆为文件,所以串口端口号也不例外,都是以设备文件的形式出现。也就是说我们可以用访问文本文件的命令来访问它们。a. 一般串口都是以/dev/tty**的格式显示,所以第一个连接的串口就是/dev/tty**,第二个连接的串口就是/dev/tty**…以此类推。b. USB转串口适配,没有额外驱动,它们会显示为/dev原创 2022-01-04 14:19:08 · 2635 阅读 · 0 评论 -
linu快速删除文件
问题现象:在linux运行环境下,程序会记录日志,由于flash容量有限,需要定期删除7天以外的日志问题分析:先找出距离当前时间7天以外的文件,然后删除问题解决:找文件使用find,删除使用rm,如下所示:1、在/log/目录中查找更改时间在7日以前的文件并删除它们:$ find logs/ -type f -mtime +7 -exec rm -f {} \;2、在/log/目录中查找更改时间在7日以内的文件并删除它们:$ find logs/ -type f -mtime -7 -ex原创 2021-12-27 18:08:02 · 191 阅读 · 0 评论 -
time_wait的快速回收和重用
问题现象:PC与工控机之间通信,工控机发送SYN,PC一直回复FIN或者RST问题解释:1. time_wait产生的原因及作用下面我们先来简单回顾一下TCP连接关闭动作:在Linux环境下我们可以如下的方式来统计TCP连接的情况:# netstat -nat | awk '/^tcp/ {++S[$NF]} END{for(a in S) print S[a], "\t", a}'1 LAST_ACK57 LISTEN113953 ESTABL原创 2021-10-13 13:05:29 · 2143 阅读 · 0 评论 -
linux线程卡死分析
问题现象:linux线程卡死导致程序无响应问题分析:通过ps查看当前线程状态,通过top查看当前线程资源使用情况问题跟踪:通过strace -T -tt -e trace=all -p pid(通过ps查看到的线程Id)来跟踪线程卡在什么位置问题解决:通过追踪到的代码卡的位置来反推代码原因...原创 2021-09-15 20:18:12 · 2183 阅读 · 0 评论 -
linux解决时间不同步和错乱问题
问题现象:linux使用date发现时间与windows时间相差8个小时问题原因:由于Linux默认是UTC 0时区,与上海时间相关8小时问题解决:问题现象:A7核心板如何将系统时间同步到RTC问题解决:hwclock -w把当前的系统时间设置到 RTC 中。问题现象:A7核心板系统时钟断电后会恢复初始值?问题解决:在启动时自动执行RTC时间同步到系统时间,需要修改/etc/init.d/rcS文件,在其最后添加 hwclock –s语句,使每次开机时读取 RTC时间,并同步...原创 2021-08-31 15:38:24 · 1660 阅读 · 0 评论 -
当linux reboot不成功时怎么办
问题现象:当linux终端输入reboot命令,没有任何作用问题分析:reboot命令没有起作用,可能是有相应的进程在死循环问题解决:可以reboot-f 这是强制重启命令原创 2021-08-31 13:02:46 · 8509 阅读 · 1 评论 -
linux时钟设置
问题现象:linux默认时区是伦敦,所以时间上与北京时间不匹配,具体时区见UTC详情问题解决:1、查看系统时钟,使用date命令:[root@EPC-M6G2C ]# date Fri Oct 11 11:33:15 UTC 20192、设置时钟,并永久有效 设置系统时钟,先使用date命令设置好时间,然后使用“hwclock -w”命令将时间写入硬件RTC。3、举例: 例如:设置硬件RTC时间为2019-10-11,11:30:00,则可以使用如下命令:[root@EP原创 2021-08-28 12:28:22 · 527 阅读 · 0 评论 -
Linux下clock_gettime的使用和注意点
1、函数声明:函数"clock_gettime"是基于Linux C语言的时间函数,可以用于计算时间,有秒和纳秒两种精度。函数原型:int clock_gettime(clockid_t clk_id, struct timespec *tp);其中,cld_id类型四种: a、CLOCK_REALTIME:系统实时时间,随系统实时时间改变而改变b、CLOCK_MONOTONIC,从系统启动这一刻起开始计时,不受系统时间被用户改变的影响c、CLOCK_PROCESS_CPUTI..原创 2021-08-20 11:43:24 · 5651 阅读 · 0 评论 -
Linux对于eth0配置子网络和虚拟网络
问题现象:一个物理网卡可以对应多个子网络和虚拟网络问题分析:物理网卡:物理网卡这里指的是服务器上实际的网络接口设备,这里我服务器上双网卡,在系统中看到的2个物理网卡分别对应是eth0和eth1这两个网络接口。子网卡:子网卡在这里并不是实际上的网络接口设备,但是可以作为网络接口在系统中出现,如eth0:1、eth1:2这种网络接口。它们必须要依赖于物理网卡,虽然可以与物理网卡的网络接口同时在系统中存在并使用不同的IP地址,而且也拥有它们自己的网络接口配置文件。但是当所依赖的物理网卡不启用时(Dow.原创 2021-07-30 11:53:47 · 1225 阅读 · 0 评论 -
解决ubuntu中apt-get /var/lib/dpkg/lock 问题
问题现象:在ubuntu中进行apt-get install相关软件时,报如下错误Could not get lock /var/lib/dpkg/lock问题分析:有其他进程占用着问题解决:sudo rm /var/lib/dpkg/lock-frontendsudo rm /var/lib/dpkg/locksudo rm /var/cache/apt/archives/lock...原创 2021-06-24 18:24:31 · 151 阅读 · 0 评论 -
ssh密码无法登录问题 一直要求输入密码
问题现象:ssh密码无法登录,一直提示要求输入密码问题分析:没有相关权限,因为已经确认ssh服务是开启的问题解决:1、修改/etc/ssh/sshd_config:PasswordAuthentication yes2、重启ssh服务sudo service ssh restart...原创 2021-06-24 18:21:57 · 8110 阅读 · 4 评论 -
交叉编译arm版本Linux工具
1、git上找到源码并且下载源码2、解压源码:举例:abc-2.1.0.tar.gztar -zxvfabc-2.1.0.tar.gz3、配置编译:第一步:./configure --prefix=/home/${usrname}/rsync_install --host=arm-linux CC=arm-linux-gnueabihf第二步:make第三步:make install4、复制到开发板cp abc /usb/bin5、进入开发板运行如果想方便,需要将..原创 2021-06-22 11:08:06 · 225 阅读 · 0 评论 -
Linux tar 命令
1、压缩文件tar -czvf test.tar.gz a.c //压缩 a.c文件为test.tar.gz2、解压文件tar -zxvf test.tar.gz //解压test.tar.gz文件到当前目录原创 2021-06-22 10:50:50 · 102 阅读 · 0 评论 -
JVM致命错误日志(hs_err_pid.log)分析
当jvm出现致命错误时,会生成一个错误文件 hs_err_pid<pid>.log,其中包括了导致jvm crash的重要信息,可以通过分析该文件定位到导致crash的根源,从而改善以保证系统稳定。当出现crash时,该文件默认会生成到工作目录下,然而可以通过jvm参数指定生成路径(JDK6中引入):-XX:ErrorFile=./hs_err_pid<pid>.log该文件包含如下几类关键信息:日志头文件 导致crash的线程信息 所有线程信息 安全点和锁信息原创 2020-11-05 17:43:15 · 480 阅读 · 0 评论 -
ubuntu apt-get的update和upgrade的区别
解释:apt-get作为包管理器,其实类似于咱们在windows上使用的软件管家类的软件。内容:当运行apt-get update命令的时候,实际上相当于软件管家的“查找更新”操作。它会同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引信息(软件包的版本信息、系统要求、翻译、依赖关系等等)。内容:当运行apt-get upgrade命令的时候,实际上相当于软件管家的“一键更新”操作。它会对已经安装有更新的软件进行自动升级。由于确定要原创 2020-10-16 14:30:11 · 1286 阅读 · 0 评论 -
linux下查找文件夹下匹配的内容grep指令
问题现象:遍历当前目录下的所有文件,查找文本所在的文件问题解决:grep指令问题实现:grep -r "xxx" ./问题扩展:其他grep参数,参考grep --help原创 2020-03-15 15:08:18 · 2072 阅读 · 0 评论 -
树莓派 VNC Viewer 远程桌面配置教程及文件传输
1、在树莓派中运行sudo raspi-config2、启用vnc,默认安装,安装完成自启动3、在pc上安装vnc client,下载地址:https://www.realvnc.com/en/connect/download/viewer/4、创建连接:ip地址可以在树莓派中通过ifconfig来查看,使用whoami命令查看你所使用的登录名称,记住不是用hostname来查看主机名...原创 2020-03-08 14:07:56 · 5184 阅读 · 0 评论 -
VMware中Manjaro安装VMwaretools的正确姿势及解决无法复制粘贴的问题
问题现象:VMware中安装完Manjaro后,无法与主机进行文件的复制和粘贴工作问题原因:Manjaro原版中的open-vm-tools与VMware不匹配问题解决:1、卸载open-vm-toolssudo pacman -R open-vm-tools2、下载vmwaretools补丁git clone https://github.com/rasa/vmwa...原创 2020-01-07 14:35:53 · 8171 阅读 · 1 评论 -
shell脚本syntax error near unexpected token `$’do\r”报错问题
问题现象:运行shell脚本shell脚本,运行出错:syntaxerrornearunexpectedtoken`$’do\r问题分析:通过nodepad++看不出来有$符号,应该是隐藏了问题原因:打开notepad++,单击视图->显示符号->显示所有符号,发现Linux和windows下的回车换行符不兼容unix为: <LF>...原创 2019-11-11 17:41:57 · 960 阅读 · 0 评论 -
VMware虚拟机下Manjaro18.1.1安装详细教程
1、为什么选择Manjaro?打算实测体验之后,后续更新2、哪里下载Manjaro?https://manjaro.org/get-manjaro/3、安装步骤: 打开VMware虚拟机软件(这个软件直接百度到官网下载,但是需要购买后才能使用,没有关系,激活码百度即可),点击新建虚拟机,选择典型模式创建即可。 2 点击下一步进入【新建虚拟机向导】界面,不用管第一项...原创 2019-10-17 11:54:50 · 20884 阅读 · 7 评论 -
找回忘记的Ubuntu账号密码,Ubuntu12.04版本举例,解决Authentication Token Manipulation Error问题
1、选择右上角关机按钮,找到Shut Down->Restart。2、按住shift键,直到出现如下界面,点击recovery mode3、进入如下界面,选择root界面:4、输入 passwd Ubuntu(ubuntu),发现用户不存在。5、查看系统所有用户,输入cat /etc/passwd6、重新输入passwd 用户名,并根据提示修改密码,如果报错pas...原创 2018-12-14 16:48:52 · 508 阅读 · 0 评论 -
linux ping不通本机(windows),而本机(windows)却能ping通linux
如果本机可以ping通linux虚拟机,虚拟机的配置又没有其他问题,可以尝试关闭本机防火墙 关闭步骤也可以直接将防火墙关闭: 找到两个Ipv4 linux可以ping通本机,外网也可以联了 ...原创 2018-12-07 18:10:12 · 7292 阅读 · 10 评论 -
linux下jar包的开机自动启动
开发环境运行 因为这个消息转发就是接入SDK,然后对消息进行处理,处理完毕之后按着C#程序员给我的格式,对处理完毕的消息进行类型转换并json一下,然后发送到MQ队列,很简单,所以就打算用jar包的形式做后台跑在linux服务器上,那么我们很简单的方法可以实现这个问题:nohup /usr/java/jdk1.8.0_112/bin/java -jar /root/java/MessageF...原创 2018-11-12 17:27:20 · 8582 阅读 · 1 评论 -
Linux开机自启动方法shell脚本
设置命令行自启动开机自启动脚本为/etc/rc.d/rc.local,可以将开机需要进行设置的命令可以在此脚本中加入。假设开机时自动执行/root/loop.sh,在/etc/rc.d/rc.local中加入#source /etc/rc.d/qt_env.sh#source /etc/rc.d/apps.sh &cd //root/loop.sh ...原创 2018-11-12 14:35:56 · 697 阅读 · 0 评论 -
Linux下安装jdk8(java)步骤详述
作为Java开发人员,在Linux下安装一些开发工具是必备技能,本文以安装jdk为例,详细记录了每一步的操作命令,以供参考。0.下载jdk8登录网址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html选择对应jdk版本下载。(可在Windows下下载完成后,通过文件夹共享到...原创 2018-11-08 21:01:11 · 162 阅读 · 0 评论 -
linux命令行即-/bin/sh:xx(命令) not found 的几种原因和解决办法
问题现象:解压jdk的包,执行java -version,出现-sh:java not found问题原因:关于-/bin/sh:xx(命令) not found 的几种原因:1./bin/目录下没有这个命令;2.bin/目录有这个命令,只是执行权限不够,或者程序执行权限不够;3.程序需要的静态库或者动态库没有;解决办法:原因一的解决方法:安装busy box将busy ...原创 2019-01-31 18:45:51 · 27296 阅读 · 3 评论 -
Linux中记录终端输出到一个文本文件
一,把命令运行的结果保存到文件当中:用 > 把输出转向就可以了 例子: $ ls > ls.txt #或者 ls-->ls.txt #把ls命令的运行结果保存到文件ls.txt中 说明: > 是把输出转向到指定的文件,如文件已存在的话也会重新写入,文件原内容不会保留 >> 是把输出附向到文件的后面,文件原内容会保留下来...原创 2019-01-30 23:13:39 · 1835 阅读 · 0 评论 -
linux top命令VIRT,RES,SHR,DATA的含义
VIRT:virtual memory usage 虚拟内存1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等2、假如进程申请100m的内存,但实际只使用了10m,那么它会增长100m,而不是实际的使用量RES:resident memory usage 常驻内存1、进程当前使用的内存大小,但不包括swap out2、包含其他进程的共享3、如果申请100m的内存,实际使用...原创 2019-02-20 13:24:12 · 292 阅读 · 0 评论 -
解决linux下sudo更改文件权限报错xxx is not in the sudoers file. This incident will be reported.
问题现象:Linux中普通用户用sudo执行命令时报”xxx is not in the sudoers file.This incident will be reported”错误问题原因:在/etc/sudoers文件里没有给该用户添加权限问题解决:1.切换到root用户下 方法为直接在命令行输入:su,然后输入密码(即你的登录密码,且密码默认不可见)。2./etc/su...原创 2019-07-02 13:22:42 · 893 阅读 · 0 评论 -
linux下 ping百度提示: unknown host www.baidu.com”解决方法
问题现象:ping www.baidu.com,提示unknown host www.baidu.com问题原因:没有配置域名服务器resolve.conf问题解决:1、创建resolv.conf文件sudo vi /etc/resolv.conf2、在/etc/resolv.conf中添加 DNS (默认Google的DNS) nameserver 8.8.8.8...原创 2019-07-02 13:27:36 · 8891 阅读 · 2 评论 -
Linux Setup Static IP with NetworkManager解决手动设置ip无效
问题现象:手动设置静态ip地址:sudo vi /etc/network/interfaces发现dns无效,怎么配置都无法上网问题原因:/etc/resolv.conf是旧时生成文件,重启之后失效问题解决:使用NetworkManager设置静态ip,方法如下:1、Check netowrk connection:pi@Smart4418SDK:~$ sudo nmcli co...原创 2019-07-03 14:23:17 · 1031 阅读 · 0 评论 -
两台linux机器 系统时间的同步ntp
目的:编写客户端服务器程序,需要客户端的系统时间跟服务器系统时间同步措施:NTP(网络时间协议是在数据网络潜伏时间可变的计算机系统之间通过分组交换进行时钟同步的一个网络协议,位于OSI模型的应用层)步骤:1、安装ntpdate命令行:sudo apt-get install ntpdate2、停止ntp服务命令行:sudo service ntpd stop3、重启nt...原创 2019-08-15 11:12:59 · 907 阅读 · 0 评论 -
scp远程拷贝文件出现permission denied
问题现象:scp FileName name@serverIp:/ 拷贝本地文件到远程主机,scp报错:scp:/FileName Permission Denied问题分析:/FileName没有权限写入问题解决:scp FileName name@serverIp:~问题原因:/FileName是远程主机的根目录下没有对name有写入权限PS:这里不是指本地的权限,而是指远程...原创 2019-08-23 12:58:17 · 3726 阅读 · 1 评论