LINUX - 技术教程文章

Linux I2C总线设备驱动模型分析(ov7740)【代码】

1. 框架1.1 硬件协议简介1.2 驱动框架1.3 bus-drv-dev模型及写程序a. 设备的4种构建方法a.1 定义一个i2c_board_info, 里面有:名字, 设备地址 然后i2c_register_board_info(busnum, ...) (把它们放入__i2c_board_list链表) list_add_tail(&devinfo->list, &__i2c_board_list); 链表何时使用: i2c_register_adapter > i2c_scan_static_board_info > i2c_new_device 使用限制:必须在 i2c_register_adapter 之...

linux下Clang和gcc的区别

Clang 比 GCC 编译器的优势:编译速度更快编译产出更小出错提示更友 好,比如 clang 在编译过程可以直接指出相对简单的出错位置以及它 “ 认为 ” 正确的方式 。内置有静态分析工具,可以对代码进行静态分析 (clang—analyze) 。这也是 gcc 做不到的 。专注,因为 clang 只需要完成词法和语法分析,代码优化和机器代码的生成工作由 llvm 完成。所以和全部由自己包下的 gcc 比起来, clang 可以更专注地做好一件事。这种结构也使 cl...

Linux下安装Tomcat

Tomcat简介Apache JaKarta的核心开源项目。Tomcat是一个免费的Web应用服务器,也是JSP/Servlet容器,可以运行JavaEE程序。官网:http://tomcat.apache.org/ Tomcat安装tomcat下载进入官网,在左侧download中选择对应tomcat主版本,然后点击右侧的Archives,找到对应的具体版本后进入到bin目录下载tar.gz包,点击Which version查看Tomcat版本对应的JDK版本要求。这里我们下载的版本是7.0.73 安装步骤首先确保已经安装好了jdk,并且j...

Linux C/C++调用shell命令后获取shell返回值【代码】

Linux C/C++调用shell命令后获取shell返回值项目中C/C++调用shell命令后,某系处理返回值的过程是以“临时文件”的方式进行;即shell命令执行后将返回值存放在临时文件(如temp.txt),C/C++程序再访问文件,获取shell的返回值。最经典的就是调用WiFi(iwlist wlan0 scan )扫描指令查询WiFi节点,然后解析获取WiFi数量、名称、信号强度、加密方式等信息。通过“临时文件”的方式交互数据,是比较简单、易用和易理解的方式,在多进...

linux服务器性能优化

1.这里的吞吐率特指Web服务器单位时间内处理的请求。 2.压力测试的前提:1>并发用户数 2>总请求数 3>请求资源描述 3.用户平均请求等待时间主要用户衡量服务器在一定并发用户数的情况下,对于单个用户的服务器质量;而服务器平均请求处理时间与前者相比,则用于衡量服务器的整体服务质量,它其实就是吞吐率的倒数。 4.对http header中标记为Connection: Keep-Alive的请求,开启web服务器的长连接支持。减少系统调用accep...

linux命令:ifconfig route

网络配置文件位置: /etc/sysconfig/network 网络接口配置文件: /etc/sysconfig/network-scripts/ifefg-INTERFACE_NAME配置文件的内容设置:配置文件中的内容严格区分大小写DEVICE=eth0 (关联的设备名称,必须要与文件名的后半部分保持一致)BOOTPROTO={static|none|dhcp|bootp} 引导协议,static表示静态地址,dhcp表示动态获取IPADDR=IP地址 设置IP地址NETMASK=子网掩码 配置子网掩码GATEWAY=默认网关 设定默认网关...

Linux内核调优部分参数说明

#接收套接字缓冲区大小的默认值(以字节为单位)。net.core.rmem_default = 262144 #接收套接字缓冲区大小的最大值(以字节为单位)。net.core.rmem_max = 16777216 #发送套接字缓冲区大小的默认值(以字节为单位)。net.core.wmem_default = 262144 #发送套接字缓冲区大小的最大值(以字节为单位)。net.core.wmem_max = 16777216 #用来限制监听(LISTEN)队列最大数据包的数量,超过这个数量就会导致链接超时或者触发重传机制。net.core.so...

己动手创建最精简的Linux

己动手创建最精简的Linuxhttp://blog.sina.com.cn/s/blog_71c87c170101e7ru.html 首次 LFS 搭建全过程http://zmyxn.blog.51cto.com/3029175/1641350 自己动手做一个Mini Linuxhttp://soysauce93.blog.51cto.com/7589461/1718917/ http://www.360doc.com/content/13/0305/14/10165904_269444188.shtml 原文:http://www.cnblogs.com/chulia20002001/p/7513930.html

Linux 文件基本属性【代码】

Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户訪问同一文件(包含文件夹文件)的权限做了不同的规定。 在Linux中我们能够使用ll或者ls –l命令来显示一个文件的属性以及文件所属的用户和组,如: <span style="font-size:14px;">deng@deng-Lenovo:~$ ls -l 总用量 56 drwxrwxr-x 6 deng deng 4096 6月 9 17:56 dump drwxrwxr-x 3 deng deng ...

查找Linux系统中的占用磁盘空间

目录的来查看空间占用情况du -sh /* 先看看根目录下面让文件夹下的文件让文件按大小排序方法一:# ls -lhSl 长格式显示,h human readable模式,大小单位为M,G等易读格式,S size按大小排序。方法二:# du -h * | sort -ndu : 计算出单个文件或者文件夹的磁盘空间占用.sort : 对文件行或者标准输出行记录排序后输出.head : 输出文件内容的前面部分.# du -a /var | sort -n -r | head -n 10也可以结合管道查看文件夹内最大的几个文件...

Linux之实现Internet,DNS架构【图】

实现Internet,DNS架构 有7台虚拟机,架构如图所示。所有主机基于根DNS都做了key验证,根服务器可以基于PSSH轻量级运维工具对所有主机进行配置。先说说排坑,这些台linux主机都是基于pxe自动安装的,最小化安装,配置基本类似,所有内置了yum本地源和epel源(sohu epel生效中),然后当我在web服务器上安装httpd时,由于网卡无外网地址,会报错,不走本地源,只好禁用epel。httpd服务安装成功。还有就是rndc reload这个命令,默认是...

linux 安装redis【代码】

安装步骤# wget http://download.redis.io/releases/redis-2.8.3.tar.gz # tar xzf redis-2.8.3.tar.gz # cd redis-2.8.3 # make如果make失败;执行$ make MALLOC=libc启动redis#redis-server在另一个客户端测试#redis-cli测试是否安装成功原文:http://www.cnblogs.com/hxyphp/p/4235960.html

Linux下Qt4.5.3开发环境搭建

操作系统:Ubuntu12.04搭建环境:Qt4.5.3开发环境--编译库文件和qmake工具①到http://download.qt.io/archive/qt/4.5/网站下载编译源文件,然后放到Ubuntu系统里进行解压:tar –xzvf qt-x11-opensource-src-4.5.3.tar.gztar –xzvf qt-embedded-linux-opensource-src-4.5.3.tar.gz这两个源码包的作用:QT-X11-4.5.3是运行于linux平台下用于仿真QT应用程序的软件,这样你便可以在linux平台下把你应用程序都调试好,然后再利用QT4.5...

linux学习命令总结⑩⑤【代码】

#文件的特殊权限SetUID权限s,当s这个标志出现在文件所有者的x权限的时候,此时就被称为SetUID权限,简称为SUID权限。SUID要求的条件和它的主要功能:1、SUID权限仅对二进制程序(binary program)有效2、执行者对于改程序必须有x权限3、这个权限只有在运行的时候才会有效(run-time)4、执行者将会拥有该程序所有者(owner)的权限[root@VM_168_102_centos etc]# ls -l /etc/gs*- -rw------- 1 root root 479 Aug 25 15:27 /etc/g...

Linux下安装Nginx服务器【代码】【图】

安装Nginx之前,首先要安装好编译环境gcc和g++,然后以CentOS为例安装Nginx,安装Nginx需要PRCE库、zlib库和ssl的支持,除了ssl外其他的我们都是去官网下载:  Nginx:http://nginx.org/  PCRE:http://www.pcre.org/  zlib:http://www.zlib.net/  首先将包准备好,上传至服务器下,开始安装  首先释放pcre,并不用安装:tar -xvzf pcre-8.38.tar.gz  然后释放zlib:tar -xvzf zlib-1.2.8.tar.gz  安装openssl:yum...

jstat命令查看jvm的GC情况 (以Linux为例)【图】

jstat命令可以查看堆内存各部分的使用量,以及加载类的数量。命令的格式如下: jstat [-命令选项] [vmid] [间隔时间/毫秒] [查询次数] 注意!!!:使用的jdk版本是jdk8. 类加载统计:Loaded:加载class的数量Bytes:所占用空间大小Unloaded:未加载数量Bytes:未加载占用空间Time:时间 编译统计Compiled:编译数量。Failed:失败数量Invalid:不可用数量Time:时间FailedType:失败类型FailedMethod:失败的方法 垃圾回收统计...

linux的安装【图】

我的安装是用光盘安装的Centos6.5(因为我是想要安装MySQL,但是在Centos7上面的默认安装的是MariaDB)。首先从http://www.centoscn.com/CentosSoft/iso/2013/1205/2196.html下载镜像文件,然后通过镜像文件刻录光盘,把光盘放入光驱,开机,F2选择从光盘启动, 选择第一项:安装或更新系统,回车(不敲回车系统会在倒数结束时自动开始安装)。一、系统会弹出这样的一个框框 测试安装的光盘的意思,因为光盘是我自己刻的,肯定是安...

Linux(10):期中架构(2)--- NFS存储服务【代码】【图】

1. 共享存储服务概念:# NFS是Network File System的缩写,中文意思是网络文件系统, # 它的主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录。2. NFS共享存储服务的应用:# 将数据存储到一台服务器上,实现数据统一一致,共享访问 # NFS存储服务器中主要存储哪些信息:用户上传的图片 音频 视频 附件等信息 # NFS服务是分为服务端和客户端 # 存储服务器:NFS服务端 网站web服务器:NFS客户端# 实现共享...

zabbix-监控Linux服务器【图】

一、zabbix监控1、关闭防火墙[root@localhost ~]# systemctl stop firewalld[root@localhost ~]# systemctl disable firewalld关闭SELinux[root@localhost ~]# sed ‘s/=permissive/=disabled/‘ /etc/selinux/config[root@localhost ~]# setenforce 0按搭建lamph环境[root@localhost ~]# yum install httpd mariadb mariadb-server php -y[root@localhost ~]# systemctl start httpd mariadb配置zabbix yum源[root@localhost ~]...

linux CA 加密解密技术

一、基础知识对称加密: 加密和解密方使用同一个密钥,用来解决数据机密性,但是密钥通过何种方式传递给对方不容易实现;公钥加密:密钥是成对出现的,分别为Secret key(密钥)和Public key(公钥)公钥加密必须使用与其相对应的私钥进行解密并且公钥是从私钥中提取出来的,有私钥可以知道公钥是什么,但是知道公钥是不能知道私钥的,公钥是公开的,而私钥是不公开的,但是公钥加密比对称加密慢3个数量级(1000倍),加密速度相当...

Linux简单口令

创建文件1、touch2、echo "">>file_name3、vim 文件名创建文件夹1、mkdir -p /abc/cc/bbb删除文件rm -f 文件删除文件夹rm -rf 文件夹复制文件cp 文件 目标位置scp 主机位置:文件 目标主机位置:文件复制文件夹搜索文件1、locate2、find ./ -name haha -ctime -5编辑文件1、vim命令模式:x保存退出 :w保存 :q退出 :wq!强制保存退出i 进入编辑模式esc 进入命令模式查看文件,管道符cat tail -fn 100 logs/catalina.outcat more ...

Linux_jdk path (execute and install)【代码】【图】

作者:潇湘隐者出处:http://www.cnblogs.com/kerrycode/1:echo $JAVA_HOME使用$JAVA_HOME的话能定位JDK的安装路径的前提是配置了环境变量$JAVA_HOME,否则如下所示,根本定位不到JDK的安装路径[root@localhost ~]# java -versionjava version "1.7.0_65"OpenJDK Runtime Environment (rhel-2.5.1.2.el6_5-x86_64 u65-b17)OpenJDK 64-Bit Server VM (build 24.65-b04, mixed mode)[root@localhost ~]# echo $JAVA_HOME 2:which j...

linux命令13

文件查找方法[root@localhost ~]# which useradd   #查看可执行文件位置/usr/sbin/useradd[root@localhost ~]# whereis !$  #查看可执行文件的位置以及相关文件whereis useradduseradd: /usr/sbin/useradd /usr/share/man/man8/useradd.8.gz grep  过滤#grep ^# a.txt  #以#开头显示 #grep ^$ a.txt  #显示空行 [root@localhost ~]# vim a.txt11111111111112222222222222333333333333344444444444445555555555555...

linux7.0开机进入命令行

systemctl set-default multi-user.targetln -sf /lib/systemd/system/multi-user.target /etc/systemd/system/default.target如果想改回来用图形界面用ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.targetsystemctl set-default multi-user.target 开机进入命令行界面systemctl set-default graphial.target 开机进入图像界面修改开机默认运行级别命令 systemctl set-default multi-user.target或...

linux学习笔记10---命令nl

nl命令在linux系统中用来计算文件中行号。nl 可以将输出的文件内容自动的加上行号!nl命令读取 file 参数(缺省情况下标准输入),计算输入中的行号,将计算过的行号写入标准输出。在输出中,nl命令根据您在命令行中指定的标志来计算左边的行。输入文本必须写在逻辑页中。每个逻辑页有头、主体和页脚节(可以有空节)。除非使用-p选项,nl 命令在每个逻辑页开始的地方重新设置行号。可以单独为头、主体和页脚节设置行计算标志(例如...

linux 配置IP【图】

1、确认本机网卡2、虚拟机配置网卡3、linux系统输入命令ifconfig 查看本机IP和MAC地址4、编辑eth0网卡 使用命令vim /etc/sysconfig/network-scripts/ifcfg-eth05、wq!保存退出,使用命令service network restart 重启网卡 原文:https://www.cnblogs.com/dwdw/p/10976972.html

实验二 Linux系统简单文件操作命令【图】

实验二 Linux系统简单文件操作命令1 实验目的学习在Linux系统终端下进行命令行操作掌握常用命令行操作并能通过命令行操作解决简单问题2 实验内容首先要打开终端大家在自己的系统中找到一个自己习惯的方式打开就可以了,但是也要了解常用打开终端的方式,因为你有可能在别人的机器上进行操作。(1)查看当前目录 pwd #显示用户当前工作目录问:提示符$与#的区别?(2)在用户主目录(家目录)下面创建一个以自己学号命名的目录并查看...

***linux下用cron定时执行任务的方法

名称 : crontab 使用权限 : 所有使用者 使用方式 : crontab file [-u user]-用指定的文件替代目前的crontab。 crontab-[-u user]-用标准输入替代目前的crontab. crontab-1[user]-列出用户目前的crontab. crontab-e[user]-编辑用户目前的crontab. crontab-d[user]-删除用户目前的crontab. crontab-c dir- 指定crontab的目录。 crontab文件的格式:M H D m d cmd. 基本格式 : * * * * * command 分 时 日 月 周 命令 M: 分钟(0-59)...

linux内核源码“双向链表list_head”续

上篇博文《linux内核源码“双向链表list_head”》中以一个实例介绍了list_head双向链表的用法,只有实例的代码,并没有list_head链表的代码,考虑到各位好学博友的强烈愿望,今天把list_head的代码即list.h头文件粘贴到此,供各位好学博友使用。一、list.h头文件源码[root@bdkyr cstudy]# cat list.h #list.h头文件 #ifndef _LINUX_LIST_H #define _LINUX_LIST_H #include <stdlib.h> #undef offsetof #ifdef __compil...

嵌入式linux教程【图】

串口通信minicom $ sudo apt-get install minicom ///安装 # minicom –s //运行 //CTRL+A Z 弹出菜单? ? ?2.NFS网络文件配置 1、主机(host)的设置: 安装nfs-kernel-server:ky@ubuntu:~$ sudo apt-get install nfs-kernel-server?在主机/mnt目录下创建nfs目录,并利用文本编辑器编辑修改/etc/exports文件,增加如下内容: /mnt/nfs (rw,no_root_squash) 将主机的/mnt/nfs目录设置为能够通过网络文件系统访问可...