Linux学习
i为伱而搁浅
这个作者很懒,什么都没留下…
展开
-
Minx内核中scanf函数实现代码
#include #include #include "loc_incl.h"int scanf(const char *format, ...){ va_list ap; int retval; va_start(ap, format); retval = _doscan(stdin, format, ap); va_en转载 2014-07-17 16:16:19 · 1110 阅读 · 0 评论 -
Linux gcc 利用反汇编来研究C语言函数堆栈的分配方式
越来越感觉学习C和汇编才是最能接近计算机本质的途径。所以,今天开始研究汇编了,先从gcc反汇编开始。 首先是下面的C代码:#include int sum(int a,int b){ char s=1; return a+b;}int main(void){ int a,b; a = 1; b = 2;原创 2014-12-11 21:56:27 · 6461 阅读 · 0 评论 -
将LFS系统通过grub装到优盘上启动
最近在搞LFS,就是通过自己动手,亲自编译源代码的方式,建立自己的linux发行版。通过这个过程可以详细的深入了解linux内部的工作方式,对理解操作系统的机制有很大的帮助。 做这个项目,光是建立合适的宿主系统环境就是花了一个星期,因为LFS也不是从无到有直接凭空构造出来的,需要一个宿主操作系统。搞了一个星期,用过ubuntu做个宿主系统,后来换了kali linux,还是跌在了第一步上原创 2015-02-07 20:18:44 · 1740 阅读 · 0 评论 -
vnc不显示ubuntu桌面环境的解决方案之一
安装另一个Desktop Envrioment : Xfce4 lisp@lisp-ubuntu13:~$ sudo apt-get install xfce4 修改配置文件~/.vnc/xstartup如下[plain] #!/bin/sh转载 2015-01-21 00:55:35 · 5029 阅读 · 0 评论 -
Ubuntu删除Compiz之后 恢复方法
因为ubuntu14.10不能播放avi的问题纠结了很久,最终使用转码软件解决的。但是还是不甘心啊,总想解决这个问题或者知道问题的原因。 偶然看到了系统中的compiz软件,想到在网上看到的有人说是因为系统驱动和compiz产生了冲突所致,也不知道compiz是个什么东西,就删除了,想看看是不是就可以播放avi了,结果悲催了,系统窗口不能拖动了,三个经典的按钮也没了==最大最小化原创 2015-01-05 02:41:35 · 2736 阅读 · 1 评论 -
Ubuntu14.10 unity-tweak-tool 不能正常打开的解决方法
新的系统,风格都变了,折腾了一晚上,想安装个苹果主题,可是unity-tweak-tool 这个东西就是死活打不开。这么晚了,不想多说了,直接给解决方法吧: udo apt-get install unity-webapps-common udo apt-get install unity-webapps-service sudo ap原创 2015-01-05 03:41:45 · 6949 阅读 · 1 评论 -
linux系统备份命令
tar cvpzf backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/mnt --exclude=/sys --exclude=/media /用时23分钟原创 2015-02-16 19:14:27 · 716 阅读 · 0 评论 -
硬盘寻址能力的变换
1, 8G限制-硬盘寻址的限制硬盘最初使用的寻址方法是柱面/磁头/扇区CHS(Cylinder/Head/Sector),也称为3D模式,是硬盘最早采用的寻址模式。通过分别指定柱面、磁头、扇区来确定某个数据块的确切位置,它是在硬盘容量较小的前提下产生的。硬盘的C/H/S 3D参数既可以计算出硬盘的容量,也可以确定数据所在的具体位置。这是因为扇区的三维物理地址与硬盘上的物理扇区一一对应,即三维物转载 2015-03-07 22:36:37 · 1348 阅读 · 0 评论 -
Linux 调节并自动保存屏幕亮度,重启有效
用过几个Linux的发行版,发现在笔记本上每次调节亮度后,不能固定下来,重新开机后就又恢复最大亮度了。 之前一直用的是网上流行的方法,即往etc/rc.local文件写入命令,使其每次重新开机都会将亮度值写入特定的文件以控制屏幕亮度。虽然能满足大多数情况下的需要,因为人们一旦找到适合自己的亮度后,一般也不会再变了。但是这种方法每次开机都是将事先固定好了的亮度值写入设备文件的。原创 2015-05-25 23:01:47 · 2985 阅读 · 0 评论 -
kali linux安装搜狗输入法
昨天安装了kali linux2.0,感觉输入法没有以前好了。于是查资料安装搜狗输入法,还是搜狗输入法好使。 有几篇文章倒是谈到如何在kali上安装搜狗了,但是一方面是文章太老了,二是还得自己下载好多包,还有依赖关系,尼玛这些不都应该是包管理器自己该做的吗?我大概看了看文章,感觉那些包,一是原网站上已经没有了,因为文章里的都是老版本了,二也是太复杂了,没有必要。原创 2016-01-02 01:08:03 · 2496 阅读 · 0 评论 -
kali linux 解决风扇猛转
之前玩ubuntu的时候,就感觉风扇猛转个不停,之前是通过安装nvidia的闭源驱动,然后再安装一个管理双显卡的工具解决的,确实风扇及立马安静了下来。 http://www.linuxidc.com/Linux/2014-10/108483.htm,这是我参考的教程解决ubuntu风扇猛转的问题的网址。 现在我又玩kali linux,感觉风扇还是猛转,因为有先前的经验,所以我原创 2015-02-14 23:47:23 · 5346 阅读 · 2 评论 -
kali linux 安装Pidgin QQ
首先,需要kali开启PPA源。 PPA(Personal Package Archives:个人软件包档案)是Ubuntu Launchpad网络提供的一项服务,允许个人用户上传软件源代码,通过launchpad进行编译并发布为二进制软件包,作为apt/synaptic(新立得)源供其他用户下载和更新。在Launchpad网站上的每一个用户和团队都可以拥有一个或多个PPA。原创 2015-07-12 23:16:40 · 1794 阅读 · 1 评论 -
kail linux 安装QQ
腾讯QQ下载地址:http://www.ubuntukylin.com/appli ... p?lang=cn&id=23下载后解压得到wine-qqintl文件夹,里面有三个deb包:fonts-wqy-microhei_0.2.0-beta-2_all.deb、ttf-wqy-microhei_0.2.0-beta-2_all.deb、wine-qqintl_0转载 2016-04-10 15:01:59 · 2844 阅读 · 0 评论 -
Linux 安装远程桌面并设置添加分辨率
本来想用本地的kali linux来远程登陆centos的服务器,在远程服务器安装VM,再VM里安装Windows虚拟机,用作工作娱乐需要,尼玛八颗八核至强CPU,128G内存,2T硬盘,资源不能闲置不是? 一开始安装在服务器安装的XRDP,RDP是微软的一套remote desktop protocol协议,在本地安装rdesktop,再使用rdesktop -f -u u原创 2016-04-27 17:34:43 · 10696 阅读 · 2 评论 -
把vim打造成C++ IDE
目录(?)[-]准备工作第一个插件pathogenauto-pairsNERDTreeMiniBufExplorerctagstaglistomnicppcompletectagstaglistOmniCppCompleteSuperTab最终的配置文件总结对于windows上做C++开发的用户来说,vs为他们做了大量的工作,语法高亮、自动缩进、智能提示转载 2016-05-01 20:56:31 · 629 阅读 · 0 评论 -
LFS编译GCC GNU_USER_TARGET_OS_CPP_BUILTINS not declared in this scope
安装gcc-4.4(or 4.3), 重新链接,问题解决。 apt-get install gcc-4.4 g++-4.4 进入/usr/bin cd /usr/bin 建个软连接 ln -s gcc-4.3 gcc ln -s g++-4.3 g++原创 2015-02-04 22:30:40 · 1172 阅读 · 0 评论 -
安装ubuntu14.04后做的一些事情
ubuntu又折腾坏了,于是有重新装系统了。装完之后,美化美化:1.本来嫌每次都sudo麻烦,于是想将我的帐号设置为sudo不用输入密码,但是编辑sudoer文件的时候,格式错了,于是悲剧了,因为sudoer文件有错误,导致无法解析,所以sudo不能使用了,又因为是刚装完系统,还没设置root密码,所以也不能用root修正sudoer文件了(修改系统配置需要root权限)。所以我最后重原创 2015-02-01 15:48:16 · 906 阅读 · 0 评论 -
putty 登陆VMware虚拟机下的linux系统
一、PuTTy登陆CentOS虚拟机背景 物理机的操作系统是Windows XP。虚拟机是在VMware上安装的CentOS,版本是5.6。因为每次登陆虚拟机鼠标会被限定在虚拟机的登陆界面,所以想通过远程登陆工具来登陆虚拟机。虚拟机使用的网络是桥接模式。 注意:桥接模式下,虚拟机和物理机之间可以相互ping通,但是虚拟机无法ping通外网;NAT模式转载 2014-07-16 20:38:05 · 1071 阅读 · 0 评论 -
双系统Linux下突然挂载Windows分区失败
问题描述,装了双系统之后,一开始在Linux下还能访问原创 2014-07-18 18:37:28 · 3985 阅读 · 0 评论 -
Linux 0.11 内核在内核空间创建进程时不使用写时复制技术
在Linux0.12内核完全剖析中,原创 2014-06-25 10:04:54 · 1505 阅读 · 1 评论 -
scanf函数输入字符 %c之前要有空格分析
问题描述如下:原创 2014-07-17 16:10:37 · 5315 阅读 · 4 评论 -
深入理解Linux内核--信号
信号用于在用户态进程间通信。内核也用信号通知进程系统所发生的事情。1、信号的作用信号(signal)是很短的消息,可以被发送到一个进程或一组进程。发送给进程的唯一信息通常是一个数,以此来标识信号。使用信号的两个主要目的:让进程知道已经发生了一个特定的事件。强迫进程执行它自己代码中的信号处理程序。当然,这两个目的不是互斥的,因为进程经常通过执行一个特定转载 2014-07-27 14:51:39 · 906 阅读 · 0 评论 -
Linux 内核 由block_read和block_write函数引发的设备块号转换问题的思考
在1.2内核版本中,在Linux/fs原创 2014-09-07 12:26:31 · 2943 阅读 · 0 评论 -
bash提示符的配置:
bash提示符的配置: 如果您很容易使 shell 提示行变得色彩绚烂斓且带有更多信息,为什么还要坚持用单调的标准 shell 提示行呢?在这篇技巧中,Daniel Robbins 将说明如何获得符合您的意愿的 shell 提示行,并会说明如何动态更新 X 终端的标题栏。作为 Linux/UNIX 人,我们有很长的时间是在 shell 中工作,并且在许多情况下,下面这一行就是始终盯转载 2014-09-21 20:08:50 · 885 阅读 · 0 评论 -
kmalloc和vmalloc
对于提供了MMU(存储管理器,辅助操作系统进行内存管理,提供虚实地址转换等硬件支持)的处理器而言,Linux提供了复杂的存储管理系统,使得进程所能访问的内存达到4GB。 进程的4GB内存空间被人为的分为两个部分--用户空间与内核空间。用户空间地址分布从0到3GB(PAGE_OFFSET,在0x86中它等于0xC0000000),3GB到4GB为内核空间。如下图所示: 内转载 2014-08-16 22:09:51 · 790 阅读 · 0 评论 -
linux内核中内存相关的操作函数
1、kmalloc()/kfree()static __always_inline void *kmalloc(size_t size, gfp_t flags)内核空间申请指定大小的内存区域,返回内核空间虚拟地址。在函数实现中,如果申请的内存空间较大的话,会从buddy系统申请若干内存页面,如果申请的内存空间大小较小的话,会从slab系统中申请内存空间。有关buddy和slab,请参见《转载 2014-08-16 23:11:49 · 585 阅读 · 0 评论 -
Linux内核 申请和释放内存流程
1. 内核初始化: * 内核建立好内核页目录页表数据库,假设物理内存大小为len,则建立了[3G--3G+len]::[0--len]这样的虚地址vaddr和物理地址paddr的线性对应关系; * 内核建立一个page数组,page数组和物理页面系列完全是线性对应,page用来管理该物理页面状态,每个物理页面的虚地址保存在page->virtual中; * 内核建转载 2014-08-17 15:47:18 · 2192 阅读 · 0 评论 -
linux 下批量转换pdf的命令方法
由于在windows下的图形界面,难以批量进行原创 2014-09-18 13:07:49 · 1937 阅读 · 0 评论 -
linux 最简单的模块的编写和运行
第一次动手编写一个内核模块,但是查找了许多资料没有一个可以完美tong原创 2014-11-18 23:42:46 · 912 阅读 · 0 评论 -
ubuntu linux 触控板失灵的解决方案
这几天研究内核的模块机制,看到in s mo d原创 2014-11-17 21:12:01 · 9831 阅读 · 0 评论 -
截获或替换linux系统调用
直接上代码吧: hello.c:#include /*Needed by all modules*/#include /*Needed for KERN_* */#include /* Needed for the macros */#include //包含系统调用的相关定义和声明//若要打印相关目录,则需要包含以下的头文件#include #in原创 2014-11-19 20:51:28 · 2165 阅读 · 2 评论 -
ubuntu linux GAIM QQ
sudo add-apt-repository ppa:lainme/pidgin-lwqqsudo apt-get updatesudo apt-get install pidgin-lwqqsudo apt-get install pidgin 搞完这些东西,我们按 super 键,在 Applications 中搜索 pid,就会看见这个图标:打开这个应用:最开始转载 2014-12-15 17:22:57 · 1065 阅读 · 1 评论 -
linux主机远程桌面
利用xrdp+rdesktop可以实现原创 2016-04-21 19:38:35 · 507 阅读 · 0 评论