![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Linux下编程
文章平均质量分 69
neverforgetZYP
这个作者很懒,什么都没留下…
展开
-
printk的那点事
对于做嵌入式或者熟悉linux内核的人来说,对printk这个函数一定不会感到陌生。printk相当于printf的孪生姐妹,她们一个运行在用户态,另一个则在内核态被人们所熟知。 printk是在内核中运行的向控制台输出显示的函数,Linux内核首先在内核空间分配一个静态缓冲区,作为显示用的空间,然后调用sprintf,格式化显示字符串,最后调用tty_write向终端进行信息的显示。 printk与printf的差异,是什么导致一个运行在内核态而另一个运行用户态?其实这两个函数的几乎是转载 2010-09-14 15:00:00 · 610 阅读 · 0 评论 -
Linux命令行技术大全
<br /> 第1章磁盘管理命令 1.1目录管理命令 1.1.1切换工作目录--cd 1.1.2显示工作目录--pwd 1.1.3列出目录内容--ls 1.1.4树状目录列表--tree 1.1.5建立目录--mkdir 1.1.6删除目录--rmdir 1.1.7链接目录内容--lndir 1.1.8列出目录栈内容--dirs 1.1.9目录入栈--pushd 1.1.10目录出栈--popd 1.2MS-DOS文件系统磁盘管理命令 1.2.1切换目录--mcd 1.2.2目原创 2010-10-18 21:55:00 · 1336 阅读 · 0 评论 -
Linux安全体系的文件权限管理
<br /><br />自主访问机制(Discretionary Access Control,DAC) 指对象(比如程序、文件或进程等)的的拥有者可以任意的修改或授予此对象相应的权限。Linux的UGO(User、Group、Other)和ACL(Access Control List,访问控制列表)权限管理方式就是典型的自主访问机制。<br />Linux支持UGO和ACL权限管理方式,UGO将权限位信息存储在节点的权限中,ACL将权限位信息存储在节点的扩展属性中。不同的文件系统权限位的存储和处理方式不转载 2010-10-09 10:13:00 · 6485 阅读 · 0 评论 -
Linux命令小集
linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和Linux命令。Linux基本操作命令 首先介绍一个名词“控制台(console)”,它就是我们通常见到的使用字符操作界面的人机接口,例如dos。我们说控制台命令,就是指通过字符界面输入的可以操作系统的命令,例如dos命令就是控制台命令。我们现在要转载 2010-10-08 20:24:00 · 494 阅读 · 0 评论 -
Linux下的硬链接和符号链接
<br />硬链接和软链接的几点区别: <br /> <br /> <br /><br />1.硬链接文件和原文件指向同样的数据块,有相同的inode号和文件属性,当删除原文件时,硬链接文件仍然存在有效。但硬链接文件不同于文件的复制。应该说硬链接文件的产生只是原文件所在目录文件的内容发生改变,原文件的数据并没有得到复制,而复制文件,磁盘上有两份数据。简单说,硬链接就是一个类似于别名的概念。当原来的名字没有了,别名照样可以使用。<br /> <br /> <br />2.符号链接也称为软链接,它是包含在文件中转载 2010-10-08 20:01:00 · 799 阅读 · 0 评论 -
Linux文件及目录的Suid/Guid和T属性
<br />1. 4000---调整用户号<br />2000---调整组号<br />1000---粘着置位<br />2. suid/guid程序<br />当一个程序的用户或组被置位的时候,即4000或2000时,可实现某些特殊的功能一般来说,一个运行中的程序为运行这个程序的用户所拥有,但如果该程序是suid/guid程序,则运行的程序则为文件所有者拥有,运行中的程序在程序运行期间拥有文件所有者的全部权限如果一个普通用户运行了一个属于根用户的带s标志的程序,则该程序不考虑用户权限, 自动拥有在系统中读原创 2010-10-09 10:30:00 · 1309 阅读 · 0 评论 -
vi编辑器使用技巧
<br />vi编辑器的启动与退出 <br />直接进入编辑环境<br />$ vi<br />进入编辑环境并打开(新建)文件<br />$ vi myfile<br />退出vi编辑环境 <br />输入末行命令放弃对文件的修改,并退出编辑器<br />:q!<br /><br />文件的打开与读取操作 <br />打开新文件 <br />打开新的文件到vi编辑器中<br />:e filename <br />打开新的文件到vi编辑器中,并放弃对当前文件转载 2010-10-08 22:01:00 · 731 阅读 · 0 评论 -
linux用户态和内核态切换理解
1. 用户态和内核态的概念区别究竟什么是用户态,什么是内核态,这两个基本概念以前一直理解得不是很清楚,根本原因个人觉得是在于因为大部分时候我们在写程序时关注的重点和着眼的角度放在了实现的功能和代码的逻辑性上,先看一个例子:1)例子void testfork(){ if(0 = = fork()) { printf(“create new process success!/n”); } printf(“testfork ok/n”);}这段代码很简单,从功能的转载 2010-10-07 10:39:00 · 661 阅读 · 0 评论 -
setgid, setuid, sticky文档权限
<br /> 一般情况下,一个普通文档或目录的文档属性如下: <br />-rw-r?r? 1 pinker users 61967 2006-06-22 21:39 frogleap.swf<br />“-rw-r?r?”<br />顺次意思为:“-”这个文档是普通文档,“rw-”表示文档属主pinker有可读可写权限,“r?”表示属主所在组有可读权限,最后的“r?”表示其他<br />用户只有可读权限。该权限用8进制表示是0644或644(省去前面一个特别权限位)。具体能够参考这一份文档。<br />这原创 2010-10-09 10:27:00 · 753 阅读 · 0 评论 -
Linux下ar、nm命令用法小结
当我们的程序中有经常使用的模块,而且这种模块在其他程序中也会用到,这时按照软件重用的思想,我们应该将它们生成库,使得以后编程可以减少开发代码量。这里介绍两个命令ar和nm,用来对库操作。 1、ar基本用法 ar命令可以用来创建、修改库,也可以从库中提出单个模块。库是一单独的文件,里面包含了按照特定的结构组织起来的其它的一些文件(称做此库文件的member)。原始文件的内容、模式、时间戳、属主、组等属性都保留在库文件中。 下面是ar命令的格式: ar[-][abcfilNoPsSuvV][member转载 2010-09-16 17:10:00 · 4680 阅读 · 0 评论 -
Linux下编程辅助工具vim+ctags+taglist+cppcomplete+cscope+global
各个工具的主要功能:vim:这个是Linux下功能十分强大的编辑器,就不说了。ctags:生成tag文件的命令,这个是其它工具的基础。taglist:需要ctags的支撑,直接在左边列出函数列表,全局参数列表。cppcomplete:需要ctags的支撑,可以补全类型或者函数名。cscope:比较强大,可以对函数以及部分类型定义进行跳转,其实cscope是用来替代ctags功能的。global:貌似和cscope,taglist功能一样,据说对于大型的工程表现不错。各个工具的安装:1)vim,ctags,c转载 2010-09-14 15:56:00 · 862 阅读 · 0 评论 -
uname 命令
<br />uname 命令<br />用途<br />显示当前操作系统名称。语法<br />uname [ -a | -x | -SName ] | [ -l ] [ -L ] [ -m ] [ -M ] [ -n ] [ -p ] [ -r ] [ -s ] [ -TName ] [ -u ] [ -v ]描述<br />uname 命令将正在使用的操作系统名写到标准输出中。机器 ID 号码包括以下数字格式的 12 个字符 xxyyyyyymmss。xx 位置指示系统且始终为 00。yyyyyy 位置包原创 2010-10-19 20:25:00 · 954 阅读 · 0 评论