
linux
p.c.wang
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
scp
scp复制文件到指定端口1.scp基本格式scp file user@host:/dir 2.scp复制文件到指定端口scp默认连接的端口是22端口,如果ssh不是使用标准的22端口则使用-P(P大写)指定:scp -P 16022 file user@host:/dir 3.从远端主机将文件复制到另一台远端主机scp不仅可以将文件从本机复制到远端机器,还可...转载 2018-08-30 10:25:27 · 2513 阅读 · 0 评论 -
zImage和uImage的区别
zImage和uImage的区别一、简介对于Linux内核,编译可以生成不同格式的映像文件,例如:# make zImage# make uImagezImage是ARM Linux常用的一种压缩映像文件,uImage是U-boot专用的映像文件,它是在zImage之前加上一个长度为0x40的“头”,说明这个映像文件的类型、加载位置、生成时间、大小等信息。换句话说,如果直接从u转载 2015-01-18 16:47:15 · 847 阅读 · 0 评论 -
linux线程的属性
线程属性标识符:pthread_attr_t 包含在 pthread.h 头文件中。点击(此处)折叠或打开//线程属性结构如下:typedef struct{ int etachstate;//线程的分离状态 int schedpolicy;//线程调度策略 structsched_param schedparam; /转载 2015-02-05 14:19:45 · 787 阅读 · 0 评论 -
Linux线程调度策略与优先级(二)
上一篇文章介绍了Linux下的调度策略和优先级,在Ubuntu09.10上的一些特性,这里测试一下其中的两种特性,SCHED_OTHER和SCHED_RR,还有就是优先级的问题,是不是能够保证,高优先级的线程,就可以保证先运行。 下面的这个测试程序,创建了三个线程,默认创建的线程的调度策略是SCHED_OTHER,其余的两个线程的调度策略设置成SCHED_RR。我的Linux的内核版本是转载 2015-02-05 14:46:16 · 954 阅读 · 0 评论 -
Linux下查看静态和动态链接库的方法
Linux下动态库查看方法:nm -D libxxxx.so Linux下静态库查看方法:ar -t libaxxxx.a原创 2015-01-16 16:22:33 · 3090 阅读 · 0 评论 -
linux下的一些常识
1 ./etc/profile 这是一个全局配置文件,一般把对所有用户都要设置的环境变量放置在这个文件中。 ~/.bashrc 是设置给单用户使用. 如果你想给每一位用户都生效的别名,请把alias la='ls -al' 一行加在/etc/bashrc最后面(debain下是/etc/bash.bashrc)2.Red H原创 2014-12-04 13:32:44 · 837 阅读 · 0 评论 -
linux下编译C++程序
#sudo apt-get update 获得最近的软件包的列表;列表中包含一些包的信息,比如这个包是否更新过#sudo apt-get dist-upgrade 如果这个包没有发布更新,就不管它;如果发布了更新,就把包下载到电脑上,并安装。原创 2014-09-02 09:48:41 · 1002 阅读 · 0 评论 -
信号量,消息队列,共享内存中ket_t键值的生成函数ftok。
在System V中,我们经常用用key_t的值来创建或者打开信号量,共享内存和消息队列。这个在IPC的环境中十分的重要,比如说,服务器创建了一个消息队列,等待 客户机发送请求。那么如何创建或者打开已有的消息队列呢?一般而言,我们对于服务器使用的路径和项目id(proj_id)是已知的,所以客户机可以获取 相同的key来打开 消息队列并进行操作。下面就是ftok的使用原型:ftok函数原创 2014-08-28 15:33:14 · 3948 阅读 · 0 评论 -
Linux常用文件系统格式
Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会出错而退出启动。之后可以自动或手动挂载其他的文件系统。因此,一个系统中可以同时存在不同的文件系统。不同的文件系统类型有不同的特点,因而根据存储设备的硬件特性、系统需求等有不同的应用场合。在嵌入式Linux应用中,主要的存储设备为RAM(DRAM, SDRAM)和ROM(常采用FLASH存储器),常用的转载 2014-08-15 16:02:36 · 1843 阅读 · 0 评论 -
sigaction函数解析
sigaction函数的功能是检查或修改与指定信号相关联的处理动作(可同时两种操作)。他是POSIX的信号接口,而signal()是标准C的信号接口(如果程序必须在非POSIX系统上运行,那么就应该使用这个接口)给信号signum设置新的信号处理函数act, 同时保留该信号原有的信号处理函数oldactint sigaction(int signo,转载 2014-08-28 10:08:35 · 1204 阅读 · 0 评论 -
Linux下线程的调度策略与优先级(一)
Linux内核的三种调度策略:1,SCHED_OTHER 分时调度策略,2,SCHED_FIFO实时调度策略,先到先服务。一旦占用cpu则一直运行。一直运行直到有更高优先级任务到达或自己放弃3,SCHED_RR实时调度策略,时间片轮转。当进程的时间片用完,系统将重新分配时间片,并置于就绪队列尾。放在队列尾保证了所有具有相同优先级的RR任务的调度公平。Linux线程优先级设置转载 2015-02-05 14:41:11 · 1440 阅读 · 0 评论 -
Linux的系统时间和硬件时间
一.概念:Linux系统中时间分为系统时间和硬件时间:系统时间是指Linux内核中的时间;硬件时间是指主板上的硬件时钟所计算的时间。不同的时间,设置的方法也不一样。详细说明如下:1. “系统时间”与“硬件时间” 系统时间: 一般说来就是我们执行 date 命令看到的时间,linux系统下所有的时间调用(除了直接访问硬件时间的命令)都是使用的这个时间。 硬件时原创 2015-01-21 13:57:31 · 3294 阅读 · 0 评论 -
在linux下配置tftp服务器和nfs服务器
提示:该实验平台是在RedHatb6下进行的配置成功的前提有三个:(1):在window下能ping的通linux(2):关闭linux 防火墙 执行指令:/etc/init.d/iptables stop(3):使SElinux处于宽容模式 执行指令:setenforce permissive一、配置tftp服务器步骤(1):挂载磁盘,安装tptp-serv原创 2014-05-12 22:37:16 · 1929 阅读 · 0 评论 -
linux下编译动态链接库
我们预备的demo的文件组成1.testa.c[cpp] view plaincopy#include void Test_a() { printf("This is Test_a!"); } 2. testb.c[cpp] view plaincopy转载 2015-10-28 11:45:37 · 948 阅读 · 0 评论 -
linux下的小工具和小常识
一、linux下 查看系统信息命令:# uname -a # 查看内核/操作系统/CPU信息 # head -n 1 /etc/issue # 查看操作系统版本 # cat /proc/cpuinfo # 查看CPU信息 # hostname # 查看计算机名 # lspci -tv # 列出所有PCI设备 # lsusb -tv # 列出所有USB设备 # lsmod转载 2015-07-20 14:14:12 · 685 阅读 · 0 评论 -
Alignment trap
“Alignment trap”:遇到字节对齐的问题,直译意思为“对齐陷阱”。 Linux下对Alignment trap的处理有下面几种方式:(cat /proc/cpu/alignment) 0 (ignored) 1 (warn) 2 (fixup) 3 (fixup+warn) 4 (signal) 5 (signal+warn)我的嵌入式linux系统下的转载 2015-07-20 11:24:29 · 4061 阅读 · 0 评论 -
Ubuntu系统进程绑定CPU核
本文讲述如何在Ubuntu系统中,把指定的进程绑定到指定的CPU核运行。而通常是由操作系统负责管理进程和线程的调度,但是这种情况下是不清楚由哪个CPU核运行你的进程,因为操作系统的调度是基于资源的可用性进行判断的。可以这样,把指定的CPU核绑定到你的进程。taskset -cp 下面用一个简单的例子来说明怎样做到。例如:运行以下命令,把此转载 2015-08-11 09:12:18 · 1365 阅读 · 0 评论 -
给linux用户添加sudo权限
添加sudo权限方法: 需要在/etc/sudoers文件中添加想要条目以实现权限。 其添加有两种方法:(在root用户环境下运行的) 1:直接使用visudo(在root状态下),vim /etc/sudoers(首先要用root用户修改该文件的读写权限) 2:使用visudo命令修改 添加的位置:找到 root ALL=(ALL) ALL 后原创 2015-06-03 10:54:28 · 2358 阅读 · 0 评论 -
墙上时钟时间 ,用户cpu时间 ,系统cpu时间
一、 墙上时钟时间 ,用户cpu时间 ,系统cpu时间定义与联系时钟时间(墙上时钟时间wall clock time):从进程从开始运行到结束,时钟走过的时间,这其中包含了进程在阻塞和等待状态的时间。用户CPU时间:就是用户的进程获得了CPU资源以后,在用户态执行的时间。系统CPU时间:用户进程获得了CPU资源以后,在内核态的执行时间。 进程的三种状态为阻塞、就绪、运行原创 2015-05-11 15:54:59 · 2600 阅读 · 0 评论 -
Linux系统编程之错误处理:perror,strerror和errno
1,在系统编程中错误通常通过函数返回值来表示,并通过特殊变量errno来描述。errno这个全局变量在头文件中声明如下:extern int errno;errno是一个由POSIX和ISO C标准定义的符号,看(用)起来就好像是一个整形变量。当系统调用或库函数发生错误的时候,比如以只读方式打开一个不存在的文件时,它的值将会被改变,根据errno值的不同,我们就可以知道自己的程序发生了什么转载 2015-05-11 14:30:50 · 1424 阅读 · 0 评论 -
栈让我用完了
问题:从事一个项目的开发已经好几个月了,多了一个模块就task_create()一下。昨天当我将串口的代码加入到项目工程文件中进行编译的时候,(还没有调用串口驱动程序,知识初始化一下),但是导致的结果是程序运行不是预期的效果。解决方法:靠人品本来想从系统的__start处,彻底的想追踪一下代码的运行情况,但是我潜意识告诉我,随便从app层来下个断点试试,我就在不同的任务创建处,原创 2015-04-16 17:01:15 · 1199 阅读 · 0 评论 -
linux下使用优盘的方法
步骤如下:root@debian:/home# fdisk -l Device Boot Start End Blocks Id System/dev/sdc1 8064 15646719 7819328 b W95 FAT32root@debian:/home# mount原创 2015-04-03 15:34:05 · 801 阅读 · 0 评论 -
Linux C 学习之 - fcntl 函数
本文转自:http://blog.chinaunix.net/uid-26811955-id-3479469.html小编在这片文章中就不说 fcntl 如何使用了,如果有不明白的地方,请转到去问度娘:“ Linux fcntl”, 她会告诉我们一大堆。在这里我把我今天用这个函数遇到的一些问题列举下,如有写的不对的地方,还望各位高手指正,不甚感激!1转载 2014-08-24 15:56:32 · 814 阅读 · 0 评论 -
获得文件属性的函数调用实例
获取文件属性信息,在终端下可以直接利用ls- l命令,在编程时,用到以下三个函数:#include#include#include int stat(const char *file_name, struct stat *buf);函数说明: 通过文件名filename获取文件信息,并保存在buf所指的结构体stat中返回值: 执行成功则返回0原创 2014-08-24 11:37:51 · 1081 阅读 · 0 评论 -
Linux系统结构 和linux kernel基本架构
linux的基本体系结构由下面两张图可以简单的概括(两张图是一样的,只是侧重点有点不同) 从上图得知,Linux由用户空间和内核空间两部分组成。内核空间与用户空间是程序执行的两种不同状态,通过系统调用和硬件中断能够完成从用户空间到内核空原创 2014-05-15 16:15:29 · 2710 阅读 · 0 评论 -
程序故障分析coredump
core dump原创 2014-05-07 18:28:18 · 1795 阅读 · 0 评论 -
linux c之gdb
一、gdb的功能:1、启动被调试程序。2、让被调试的程序在指定的位置停住。3、当程序被停住时,可以检查程序状态4、动态的改变程序的执行环境 二、gdb的基本使用流程:1、编译生成可执行文件 :gdb -g hello.c -o hello2、启动gdb :gdb hello3、在某处设置断点原创 2014-05-07 16:20:39 · 963 阅读 · 0 评论 -
linux C编程之gcc的使用
前言:我们知道GCC是C语言的编译器,使用GCC由C语言源文件生成可执行文件的过程,要经过四个相互关联 的步骤:(这里以hello.c为源文件名)预处理:preprocessing 将一些宏展开,其中包括头文件的展开 执行的命令: gcc -E hello.c -o hello.i (预处理后的文件后缀是i原创 2014-05-07 11:11:25 · 1117 阅读 · 0 评论 -
Ubuntu下Vim的配置
这几周突然对linux感兴趣。于是装了Ubuntu的虚拟机。在下边自己配置Vim,走了不少弯路。今天算是终于初步配出来了。现将自己的配置的功能简述如下: 1、实现语法高亮;按照C 语言格式自动缩进;括号匹配;支持鼠标等基本功能; 2、安装TagList插件; 3、自动补全及加速自动补全的插件SuperTab。 注:此过程参考http://blog.csdn.n转载 2014-04-02 15:48:02 · 723 阅读 · 0 评论 -
硬链接(hard link)和符号连接(symbolic link)的区别
硬链接(hard link)和符号连接(symbolic link)的区别:通俗一点理解,可以把硬链接当成源文件的副本,他和源文件一样的大小但是事实上却不占任何空间。符号链接可以理解为类似windows一样的快捷方式。一、链接文件链接文件有两种方式,符号链接和硬链接。1、符号链接文件符号链接,这个文件包含了另一个文件的路径名。可以是任意文件或目录,也可以链接不同文件系统的文转载 2014-04-29 17:53:13 · 2348 阅读 · 0 评论 -
ubuntu 重启命令和重启网卡方法
ubuntu 重启命令,ubuntu 重启网卡方法ubuntu 重启命令重启命令:1、reboot2、shutdown -r now 立刻重启(root用户使用)3、shutdown -r 10 过10分钟自动重启(root用户使用)4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)如果是通过shutdown命令设置重转载 2014-03-29 11:38:17 · 7172 阅读 · 0 评论 -
vkfork死循环
实例: 这么一个简单的小程序,当把里面的exit(0),改为return 0,就会出现未定义的结果。then Why?The vfork() function shall be equivalent to fork(), except that the behavior is undefined if the process created by vfo原创 2013-11-24 17:04:35 · 929 阅读 · 0 评论 -
ubuntu的默认密码
安装完Ubuntu后忽然意识到没有设置root密码,不知道密码自然就无法进入根用户下。到网上搜了一下,原来是这麽回事。Ubuntu的默认root密码是随机的,即每次开机都有一个新的root密码。我们可以在终端输入命令 sudo passwd,然后输入当前用户的密码,enter,终端会提示我们输入新的密码并确认,此时的密码就是root新密码。修改成功后,输入命令 su root,再输入新的密码就ok转载 2013-10-27 23:19:55 · 1438 阅读 · 0 评论 -
linux下的用户和用户组
一、用户(user)和用户组(group)概念1、用户(user)的概念;通过前面对Linux 多用户的理解,我们明白Linux 是真正意义上的多用户操作系统,所以我们能在Linux系统中建若干用户(user)。比如我们的同事想用我的计算机,但我不想让他用我的用户名登录,因为我的用户名下有不想让别人看到的资料和信息(也就是隐私内容)这时我就可以给他建一个新的用户名,让他用我所开的用户名去折原创 2014-05-11 15:14:56 · 959 阅读 · 0 评论 -
linux下的基本命令
接下来介绍的命令,是针对RedHat版本下的基本命令。压缩和戒烟的过程需要使用不同的命令来处理。其压缩和解压的命令是不一样的,所以要根据不同后缀名,来进行不同的命令来处理。*.gz gzip命令压缩的文件*.bz2 bzip2命令压缩的文件*.tar tar命令打包的文件*.tar.gz tar打包后,再经过gzip压缩的文件*.tar.bz2 tar命令打包后,原创 2014-05-11 17:01:20 · 1036 阅读 · 0 评论 -
linux的网络配置
该博客的实验平台是:varemwork 9 +redhat enterprise 6在没说配置之前首先要明确一点:由于是在虚拟机下进行linux的网络配置,所以,要涉及到Vmware网络设置和linux的网络设置首先是:Vmware网络设置VMWare提供了三种网络工作模式供用户选择,它们分别是:1. bridged(桥接模式) 2. NAT(网络地原创 2014-05-12 15:58:07 · 1188 阅读 · 0 评论 -
putty连接不上虚拟机下的ubuntu
问题: sudo apt-get install ssh (安装完成即可) 然后使用Putty就可以登录了原创 2014-08-21 15:07:39 · 1670 阅读 · 0 评论 -
在虚拟机下安装ubuntu 10.04 64bit,并修改root用户密码
实验的环境: 笔记本是:HP 虚拟机:VMware 9 准备安装的操作系统: ubuntu 10.04 64bit实验步骤: 一:让自己的hp支持虚拟化技术(由于ubuntu 10.04 64bit需要CPU支持虚拟化技术,所以要通过bios来更改电脑的默认设置) 启动时根据提示按 Esc 键 按 F10 键以配置 BIOS原创 2014-08-20 21:29:33 · 2766 阅读 · 0 评论 -
内核中_init,_exit中的作用
__init, __initdata等属性标志,是要把这种属性的代码放入目标文件的.init.text节,数据放入.init.data节──这一过程是通过编译内核时为相关目标平台提供了xxx.lds链接脚本来指导ld完成的。 对编译成module的代码和数据来说,当模块加载时,__init属性的函数就被执行; 对静态编入内核的代码和数据来说,当内核引导时,do_basic_set转载 2014-07-31 20:16:27 · 1499 阅读 · 0 评论 -
《Linux内核设计与实现》笔记-1-linux内核简介
一、Linux内核相对于传统的UNIX内核的比较:(1):Linux支持动态内核模块。尽管Linux内核也是整体式结构,可是允许在需要的时候动态哦卸除(rmmod xxx)和加载内核模块(insmod xxx.ko).(2):Linux支持对称多处理(SMP)机制,尽管许多UNIX的变体也支持SMP,但是传统的UNIX并不支持这种机制。(3):Linux内核可以抢占(preempti原创 2014-05-25 17:45:08 · 1092 阅读 · 0 评论