Linux基础知识
技术在路上
这个作者很懒,什么都没留下…
展开
-
OPENWRT修改网卡MAC地址
问题:多台openwrt设备在同一网络中使用产生MAC冲突1.修改 lan,wan mac地址编辑 /etc/config/network修改其中一段config 'interface' 'lan' option 'type' 'bridge' option 'ifname' 'eth0.0' option 'proto' 'static' option 'netmask' '255.255.255.0' option原创 2021-03-18 19:07:16 · 13126 阅读 · 1 评论 -
linux根据进程名杀死进程
kill -9 $(pidof 进程名关键字)例如杀死两个进程ubiAnchor和tag等进程kill -9 $(pidof ubiAnchor tag)原创 2021-03-14 00:04:43 · 109 阅读 · 0 评论 -
ubuntu安装ssh和telnet服务器
如果经常需要给客户调试程序,还需要察看自己电脑上的程序,这个时候ssh服务器和telnet服务器就显得很重要了。只要自己电脑安装了ssh或者telnet服务器,可以在另一台电脑直接登陆自己的电脑,察看程序代码。一:安装ssh服务器1.安装ssh服务器端$ sudo apt-get install openssh-server2.启动ssh-server$ sudo /etc/init.d/ssh start(或者restart)出现以下提示表明server sshd已启动:Startin原创 2021-03-08 17:08:54 · 204 阅读 · 0 评论 -
Linux内核加载出现 Unknown symbol in module
编译驱动的时候碰到了 insmod: error inserting ‘./igb.ko’: -1 Unknown symbol in module 的问题,在网上看了下,说是查看 dmesg | tail 看输出信息中的Unknown symbol,加载上这些模块就好。我的输出信息是:[ 3548.357465] igb: Unknown symbol dca_remove_requester[ 3548.358569] igb: Unknown symbol dca_add_requester[原创 2020-10-29 11:58:06 · 2017 阅读 · 0 评论 -
linux内核插入模块时 Unknown symbol in module
编译驱动的时候碰到了 insmod: error inserting ‘./igb.ko’: -1 Unknown symbol in module 的问题,在网上看了下,说是查看 dmesg | tail 看输出信息中的Unknown symbol,加载上这些模块就好。我的输出信息是:[ 3548.357465] igb: Unknown symbol dca_remove_requester[ 3548.358569] igb: Unknown symbol dca_add_requester[转载 2020-10-26 17:46:02 · 1226 阅读 · 0 评论 -
tcpdump详细数据显示方法
抓取UDP某一个端口的数据,显示详细信息tcpdump可以将网络中传送的数据包完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。抓取发到服务器的某一个端口的数据:tcpdump udp port 18290 -XX -vvv -nn-v:当分析和打印的时候,产生详细的输出。-vv:产生比-v更详细的输出。...原创 2020-02-19 20:13:44 · 16198 阅读 · 1 评论 -
树莓派监控CPU负载,温度,内存和网络的工具htop和speedometer和s-tui
树莓派监控CPU负载,内存和网络的工具:1,htophtop 是Linux系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台或者X终端中),需要ncurses。与Linux传统的top相比,htop更加人性化。它可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。与top相比,htop有以下优点:可以横向或纵向滚动浏览进程列表,以便看到所有的进程和...原创 2020-02-15 15:22:02 · 6951 阅读 · 0 评论 -
linux : Address already in use 解决方案
第一:netstat -apn | grep 2181(这里的端口号,替换成你被占用的那个端口号,比如Tomcat是8080,namenode是8020之类的,还有最好用root来使用这些系统级的命令)然后得到这样的结果:最后一排其实就pid,然后我们通过kill -9 pid 就可以杀掉对应的进程(例如,kill -9 4438)但是kill前,我们还是要确定下到底这个哪里开的进程能不...转载 2019-10-26 01:48:30 · 507 阅读 · 0 评论 -
Linux下的 arm-linux-gcc 与 gcc 关于字节对齐问题
__attrubte__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐。#define __u8 unsigned char#define __u16 unsigned short/* __attribute__ ((packed)) 的位置约束是放于声明的尾部“;”之前 */struct str_struc转载 2016-03-15 17:08:05 · 3474 阅读 · 0 评论 -
如何用export修改环境变量 以及 PATH与$PATH的区别
修改profile文件:#vi /etc/profile在里面加入:export PATH="$PATH:/opt/au1200_rm/build_tools/bin"修改.bashrc文件:# vi /root/.bashrc在里面加入:export PATH="$PATH:/opt/au1200_rm/build_tools/bin"后两种方法一转载 2017-07-14 09:41:23 · 6210 阅读 · 0 评论 -
ubuntu终端ls颜色配置
ubuntu中没有LS_COLORS,/etc/目录中也没有DIR_COLORS,所以这里使用dircolor命令加以解决1. 利用dircolors命令,查看我们的系统当前的文件名称显示颜色的值,然后利用管道重定向到用户目录下的任意一个文件(这里我们创建了一个.dircolors文件) 命令1: cd ~ 命令2: dircolors -p > .dircolors2. 用vim打开 ....转载 2018-03-19 14:14:17 · 656 阅读 · 0 评论 -
关于device tree中的interrupts选项
随着Linux的发展,dts技术是大势所趋。里面的interrupts = < >这个里面的是1个数,有的是2个数,有的是3个数。这里啰嗦两句,笔记一下。这个数目,是由这个属性来定的。#interrupt-cells ,如果当前节点找不到,就是跟随父节点的。至于含义,说明如下。 一个cell的情况:当前interrupt 位于他的中断控制器的索引,比如: ...转载 2018-07-21 23:55:34 · 6090 阅读 · 0 评论 -
apt-get install terminator
apt-get install terminator原创 2019-07-16 20:05:42 · 281 阅读 · 1 评论 -
VirtualBox主机与虚拟机不能复制粘贴的解决办法
转载自:https://jingyan.baidu.com/article/574c521917db806c8d9dc18c.html常规高级里共享粘贴板已经选中双向,但还是不能复制粘贴,这时到虚拟机设置-存储-控制器SATA-勾选"使用主机输入输出(I/O)缓存",再同样在存储-控制器SATA-点击***.vdi-勾选"固态驱动器",重启虚拟机就可以了~ 虚拟机设置-存储-控制器...转载 2019-08-26 00:50:15 · 4202 阅读 · 5 评论 -
Ubuntu 16.04 安装VSCode
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/Among12345/article/details/818741171.通过官方PPA安装Ubuntu makesudo add-apt-repository ppa:ubuntu-desktop/ubuntu-makes...转载 2019-09-19 21:19:42 · 223 阅读 · 0 评论 -
Linux的权限和所有权模型
一个用户、一个组 我们来看一看 Linux 权限和所有权模型。我们已经看到每个文件属于一个用户和一个组。这正是 Linux 中权限模型的核心。您可以在 ls -l 清单中查看用户和组: $ ls -l /bin/bash -rwxr-xr-x 1 root wheel 430540 Dec 23 18:27 /bin/bash在这个特殊的示例中,转载 2015-10-14 16:43:37 · 945 阅读 · 0 评论 -
理解 Linux 的硬链接与软链接
转载http://www.ibm.com/developerworks/cn/linux/l-cn-hardandsymb-links/从 inode 了解 Linux 文件系统硬链接与软链接是 Linux 文件系统中的一个重要概念,其涉及文件系统中的索引节点 (index node 又称 inode),而索引节点对象是 Linux 虚拟文件系统 (VFS) 的四个基本转载 2015-10-14 16:31:23 · 394 阅读 · 0 评论 -
DVFS--动态电压频率调整
转载自http://blog.chinaunix.net/uid-24666775-id-3328064.htmllinux低功耗研究也有一段时间了,基本把低功耗的实现方式想清楚了(主要分成机制和策略),这段时间的工作主要在机制上。暂时想实现的主要的机制有:cpu级,设备驱动级,系统平台级。管理颗粒度不断递增,形成三驾马车齐驱的形势。 cpu级:主要实现比较容易的在系统处于目标在于转载 2014-02-20 16:13:39 · 905 阅读 · 0 评论 -
写Linux字符设备驱动模板--测试通过
1,首先,建立文件夹driver,在该文件夹下面新建globalvar.c和Makefile文件,然后编写驱动程序,保存到globalvar.c中/* * Simple Char_device Driver Test-- globalvar.c * Date 2012/08/21 * Author Jerryz */#include #include #include #原创 2013-03-14 15:00:56 · 927 阅读 · 0 评论 -
Linux 为什么存在线程及其使用方法
线程?为什么有了进程还需要线程呢,他们有什么区别?使用线程有什么优势呢?还有多线程编程的一些细节问题,如线程之间怎样同步、互斥,这些东西将在本文中介绍。我在某QQ群里见到这样一道面试题:是否熟悉POSIX多线程编程技术?如熟悉,编写程序完成如下功能:1)有一int型全局变量g_Flag初始值为0;2) 在主线称中起动线程1,打印“this is thread1”,并将g_Flag设转载 2013-03-14 13:59:38 · 827 阅读 · 0 评论 -
关于linux驱动(应用)程序头文件使用
关于linux驱动(应用)程序头文件使用 驱动程序:#include 是在linux-2.6.29/include/linux下面寻找源文件。#include 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件。#include 是在linux-2.6.29/arch/arm/mach-s3c2410/include/mach转载 2013-08-13 16:29:36 · 732 阅读 · 0 评论 -
设备驱动中的并发控制(自旋锁和信号量)
在驱动程序中,当多个线程同时访问相同的资源时(驱动程序中的全局变量是一种典型的共享资源),可能会引发“竞态”,因此我们必须对共享资源进行并发控制。Linux内核中解决并发控制的最常用方法是自旋锁与信号量(绝大多数时候作为互斥锁使用)。自旋锁与信号量“类似而不类”,类似说的是它们功能上的相似性,“不类”指代它们在本质和实现机理上完全不一样,不属于一类。自旋锁不会引起调用者睡眠,如果自转载 2013-08-29 14:40:09 · 1066 阅读 · 0 评论 -
关于linux驱动(应用)程序头文件使用
#include 是在linux-2.6.29/include/linux下面寻找源文件。#include 是在linux-2.6.29/arch/arm/include/asm下面寻找源文件。#include 是在linux-2.6.29/arch/arm/mach-s3c2410/include/mach下面寻找源文件。#include 在linux-2.6.31_TX244转载 2013-08-30 13:44:45 · 901 阅读 · 0 评论 -
linux 数据类型长度总结
32位与64位的数据类型长度是不一样的,而且windows和linux也有些许区别,下面把64位下的数据长度列表如下(无符号unsigned和有符号的长度一样): linux64 windows64 linux32 windows32char 8转载 2013-08-30 13:42:12 · 1198 阅读 · 0 评论 -
深入理解Linux中内存管理
我比较喜欢搞清楚一个技术本身的发展历程,简而言之就是这个技术是怎么发展而来的,在这个技术之前存在哪些技术,这些技术有哪些特点,为什么会被目前的技术所取代,而目前的技术又解决了之前的技术所存在的哪些问题。弄清楚了这些,我们才能比较清晰的把握某一项技术。有些资料在介绍某个概念的时候直接就介绍这个概念的意义,原理,而对其发展过程和背后的原理丝毫不提,仿佛这个技术从天上掉下来的一样。介于此,还是以内存管理转载 2013-11-25 21:22:35 · 772 阅读 · 0 评论 -
Linux系统下CPU频率的调整
为了可以对几种常见的CPU频率调节模式有个基本的理解,下面简单的总结了一下,根据不同方式的特点,自己来在性能与省电这两对矛盾之间做个取舍,找出适合自己的平衡点吧!1、ondemand:系统默认的超频模式,按需调节,内核提供的功能,不是很强大,但有效实现了动态频率调节,平时以低速方式运行,当系统负载提高时候自动提高频率。以这种模式运行不会因为降频造成性能降低,同时也能节约电能和降低温度。一般转载 2014-02-07 17:28:58 · 3001 阅读 · 0 评论 -
浮点加法、减法, 乘法、除法运算
浮点加法、减法运算 1.运算步骤 假设浮点数的阶码和尾数均用补码表示,在浮点加减运算时,为便于浮点数尾数的规格化处理和浮点数的溢出判断,阶码和尾数均采用双符号位表示。 ①对阶,小阶向大阶对齐 两个浮点数进行加减运算时,首先要使两个数的阶码相同,即小数点的位置对齐。若两个数的阶码相同,表示小数点的位置是对齐的,就可以对尾数进行加减运算。反之,若两个数的阶码不相转载 2014-02-08 11:08:10 · 44478 阅读 · 3 评论 -
浮点数的表示方法
根据国际标准IEEE 754,任意一个二进制浮点数V可以表示成下面的形式: (1)(-1)^s表示符号位,当s=0,V为正数;当s=1,V为负数。 (2)M表示有效数字,大于等于1,小于2。 (3)2^E表示指数位。举例来说,十进制的5.0,写成二进制是101.0,相当于1.01×2^2。那么,按照上面V的格式,可以得出s=0,M=1.01,E=2。十进制转载 2014-02-08 10:13:19 · 1496 阅读 · 3 评论 -
Linux内核中CPU主频和电压调整 -- (1)
通过动态改变CPU电压,可以调整CPU主频。通过改变时钟倍数可以动态改变CPU时钟频率。一些具有CPU主频率时钟倍数可调能力的处理器,能够在不同的主频率和工作电压之间动态切换;而不需要内核或者用户介入。术语定义策略 (Policy) : 在系统中,用户只能选择主频上限和下限,以及是否希望激进的省功耗模式或者更好的处理器性能模式。管理器(Governor): 在所有的其他转载 2014-02-10 16:50:05 · 1922 阅读 · 0 评论 -
Linux查找某一进程的PID(c语言)
目的:要在程序中检查某一个程序是否执行完毕,所以需要检测这个程序是否在运行状态.#include unistd.h>#include dirent.h>#include sys/types.h> // for opendir(), readdir(), closedir()#include sys/stat.h> // for stat()#include stdio.h>#in转载 2014-02-13 10:44:54 · 2419 阅读 · 0 评论 -
Linux内核中CPU主频和电压调整 -- (2)
从文章 Linux内核中CPU主频和电压调整 -- (1) 中已经知道,在目录/sys/devices/system/cpu/cpu0/cpufreq/下可以设置cpu0的频率及其相关的信息。于是我参考开源程序osdcpufreq,进一步做了修改,该开源程序的下载地址为http://sourceforge.net/projects/osdcpufreq/files/osdcpufreq/原创 2014-02-12 18:04:45 · 2097 阅读 · 0 评论 -
Linux下CPU利用率和CPU负载(附加代码实现)
第一节 CPU利用率和CPU负载在Linux/Unix下,CPU利用率(CPU utilization)分为用户态,系统态和空闲态,分别表示CPU处于用户态执行的时间,系统内核执行的时间,和空闲系统进程执行的时间。平时所说的CPU利用率是指:CPU执行非系统空闲进程的时间 / CPU总的执行时间。(上述代码中使用的方法为:1 - CPU空闲运行时间/总运行时间 ,与这个计算方法原理转载 2014-02-18 10:00:32 · 3174 阅读 · 0 评论 -
互斥锁与条件变量的通俗语义
互斥锁,我要对一块共享数据操作,但是我怕同时你也操作,那就乱套了,所以我要加锁,这个时候我就开始操作这块共享数据,而你进不了临界区,等我操作完了,把锁丢掉,你就可以拿到锁进去操作了条件变量,我要看一块共享数据里某一个条件是否达成,我很关心这个,如果我用互斥锁,不停的进入临界区看条件是否达成,这简直太悲剧了,这样一来,我醒的时候会占CPU资源,但是却干不了什么时,只是频繁的看条件转载 2013-03-14 13:38:54 · 704 阅读 · 0 评论