
【linux学习笔记】
文章平均质量分 53
赵一弘
这个作者很懒,什么都没留下…
展开
-
linux 下 cd 提示权限不够的解决办法
ls 某abc文件夹需要文件夹有r权限。cd 某abc文件夹 需要文件夹有x权限。chmod a+x abcchmod a+r abc递归加权限使用-R 如 chmod 777 -R abcsudo cd 这种命令是不正确的,会被提示没有找到cd 因为sudo的功能时提升程序权限 而cd并非程序 是shell内置的一部分。原创 2013-03-30 10:32:57 · 9821 阅读 · 0 评论 -
linux编程学习笔记(八) 文件 定位 lseek pread pwrite
1IO的共享和效率read与write其中数据缓冲的大小建设设置为:getpagesize (一页的大小)或者40922 定位与读取数据(随机读取)read和write时自动移动读取位置lseek改变读取位置pread/pwrite在指定位置读写2.1lseek函数说明 off_t lseek(int fd, //文件描述符 off_t原创 2013-06-02 23:12:34 · 3166 阅读 · 0 评论 -
linux编程学习笔记(七) 文件IO
1 认识文件的描述符号不允许访问内核设备和内存但可以通过内核系统函数去访问但对每个内核对象进行编号ID:如果访问内核对象,只能通过ID编程模型:申请得到一个ID在内核系统函数中使用ID得到对应的内核对象数据2 怎么访问文件使用函数 传递一个文件 系统打开文件 加载文件 返回ID使用函数 传递ID 得到数据使用函数传递ID 告诉系统释放文件ID:文件原创 2013-06-02 23:00:48 · 824 阅读 · 0 评论 -
LINUX编程学习笔记(十三) 遍历目录的两种方法
1 默认情况下 实际用户和有效用户是一样的 实际用户:执行用户 有效用户:权限用户getuid() 实际用户geteuid() 有效用户chmod u+s 之后 ,其他人执行文件时,实际用户和有效用户会不一样2 目录相关函数int chdir(const char *path);改变当前目录int mkdir(const char *pathname原创 2013-06-19 12:38:54 · 932 阅读 · 0 评论 -
LINUX编程学习笔记(十四) 创建进程与 父子进程内存空间
1什么是进程:进程是一个执行中的程序执行的程序: 代码->资源->CPU进程有很多数据维护:进程状态/进程属性所有进程属性采用的一个树形结构体维护ps -a//所有进程ps -aue //有效进程 进程状态:(man ps) D Uninterruptible sleep (usually IO) R原创 2013-06-19 13:04:55 · 1182 阅读 · 0 评论 -
sudo apt-cache search 查找库所在的软件
转自 http://hi.baidu.com/idduqhddqervxyr/item/3909e1de19e7cd2b39f6f7c2 sudo apt-get install 相信大家都熟用在手了那么这条sudo apt-cache search会让你更得以应手,特别是在查找某个库时相当的有用例如creek@creek-laptop:~$ sudo apt-cache转载 2013-06-26 09:18:40 · 1935 阅读 · 0 评论 -
解决linux ping: unknown host www.baidu.com
解决linux ping: unknown host www.baidu.com转自 http://www.cnblogs.com/happyhotty/articles/2539951.html"ping: unknown host www.baidu.com" 解决方案: 如果某台Linux服务器ping不通域名, 如下提示: [root@localhost转载 2013-06-26 09:11:30 · 1047 阅读 · 0 评论 -
LINUX编程学习笔记(十五) 进程控制 文件锁 信号处理与屏蔽
一 进程的基本控制1 进程的常见控制函数1.1 为什么需要控制进程?1.2 休眠 pause/sleep/usleep1.3 on_exit atexitint atexit(void (*function)(void)); int on_exit(void (*function)(int , void *), void *arg);注册一个函数,在调用exit或者ma原创 2013-06-21 10:56:48 · 1106 阅读 · 0 评论 -
校园网下虚拟机用NAT访问网络
校园网或者PPPOE直连时 虚拟机只能用NAT上网. 你有路由器时用桥接很方便.原因是桥接需要使用额外的同网段IP,而校园网以及PPPOE这种验证上网是不可能让你平白无故使用IP的,所以我在校园网中时只能使用不占用额外IP的NAT.所谓的NAT也就是一个转发技术,访问资源时虚拟机的IP变成"你的本来IP:端口号"这样的形式.怎么设置NAT连接呢?1 将虚拟机设置原创 2013-10-10 16:08:54 · 2060 阅读 · 1 评论 -
curl命令总结
curl命令总结curl 是一个利用URL语法在命令行方式下工作的文件传输工具。它支持很多协议:FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。1、获得一张页面 使用命令:curl http://curl.haxx.se 这是最简单的使用方法。用这个命令获得了http://curl转载 2014-01-15 17:01:24 · 673 阅读 · 0 评论 -
SESC模拟器的安装方法
一种多核模拟器,全称superEscalar Simulator,能够模拟目前大多数的处理器结构,包括单核乱序处理器结构、多线程处理器结构、CMP、PIM以及线程级猜测(thread level speculation,简称TLS)等多种体系结构,而且能够有效地模拟多线程并行的结构和线程级猜测的结构。目前我正在进行异构CMP调度算法的研究,希望认识同样有使用该模拟器进行试验工作的,有些问题原创 2013-04-12 17:13:39 · 2223 阅读 · 3 评论 -
Awk Tutorial
AwkMon Mar 3 10:25:09 EST 2014Part of the Unix tutorials And then there's My blogTable of ContentsWhy learn AWK?Basic StructureExecuting an AWK scriptWhich shell to use with AW转载 2014-05-05 10:13:38 · 1595 阅读 · 0 评论 -
linux windows 互传文件
rz 是linux 接收文件sz 是linux 传出文件原创 2014-06-10 11:05:58 · 482 阅读 · 0 评论 -
vim中出现^[[37m^[[41m符号
今天重新装securecrt时,打开vim 在行号之前始终出现^[[37m^[[41mshile原创 2014-06-10 09:48:40 · 1784 阅读 · 0 评论 -
grep 与 egrep , 正则表达式与延伸正则表达式
grep 预设是不支持延伸正则表达式的yansh原创 2014-05-29 10:07:46 · 515 阅读 · 0 评论 -
linux编程学习笔记(十) C语言中的函数隐式声明
fun.cfloat fun(){ return 1.234;}test.c#include int main(){ float a = fun(); printf("%f\n",a); }gcc fun.c test.c zhao@ubuntu:~/unix/4$ ./a.out 1067316160.000000发现得到原创 2013-06-03 22:12:29 · 1267 阅读 · 0 评论 -
linux编程学习笔记(四) 编译工具和动态库
1 gcc 通用选项-o 输出的文件名-O -O1 -O2 -O3编译优化 -O默认情况下是最优化的-g -g0 -g1 -g2 -g3 产生调试信息-W 两个选项all error -Wall 显示所有警告 -Werror 所有警告当错误-w 关闭警告-E 预编译 直接会打印出来 所以一般和-o配合使用gcc map.c -E -o map.i原创 2013-05-30 20:15:22 · 1090 阅读 · 0 评论 -
linux编程学习笔记(十一) curses CUI界面
CUI 字符界面GUI:图形界面使用一套封装库 libcruses.so老版本 libcurses.so新版本 libncruses.so编译时需要-lcurses 或者-lncurses如果头文件curses.h不存在 则尝试使用ncurses.hprintf /scanf标准IO大部分标准IO重定向到 /dev/tty /det/pts/1原创 2013-06-11 23:05:03 · 1301 阅读 · 0 评论 -
Ubuntu9.10下安装低版本GCC方法
因为编译软件的需要,Ubuntu自带的gcc4.4.1版本太高,需要gcc3.x,因此需要安装低版本的gcc,我选择的是gcc3.4.4。第一、下载deb安装包,我选择源码包编译安装会出错,因此选择deb包安装;我下载的包为:gcc-3.4-base_3.4.6-6ubuntu3_i386.deb、gcc-3.4_3.4.6-6ubuntu3_i386.deb、cpp-3.4_3.转载 2013-03-30 13:30:12 · 649 阅读 · 0 评论 -
设置老版本ubuntu软件源 --以10.10为例
由于ubuntu不再维护一些老版本的软件源,无论你怎么设置更新源都会出现错误。看了很多文章,有的说要清空什么,有的说换做网易或者几个教育网的源,那都是错误的。因为这些源都只提供对最近几个版本的更新。你不得不这样做,设置软件源如下:1打开sources.list:sudo gedit /etc/apt/sources.list2将其修改为:deb http://old-原创 2013-04-02 22:08:47 · 2676 阅读 · 2 评论 -
Linux的五个查找命令:find,locate,whereis,which,type
最近,我在学习Linux,下面是一些笔记。使用电脑的时候,经常需要查找文件。在Linux中,有很多方法可以做到这一点。国外网站LinuxHaxor总结了五条命令,你可以看看自己知道几条。大多数程序员,可能经常使用其中的2到3条,对这5条命令都很熟悉的人应该是不多的。1. findfind是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。转载 2013-04-04 09:59:03 · 527 阅读 · 0 评论 -
ubuntu 菜单是英文解决方法
1 在系统-首选项-语言支持中选择简体中文,并将其拖到最上面。2 重启后,发现只有部分是中文,大多数还是英文界面。则sudo apt-get install language-pack-gnome-z安安装完退出登录,重新登录,都变中文了。原创 2013-04-08 23:54:34 · 956 阅读 · 0 评论 -
gcc: c-parse.c: No such file or directory 的解决方法
安装SESC时的编译 build-2-gcc-core 出现了这样的提示:gcc: c-parse.c: No such file or directorygcc: no input filesmake[1]: *** [c-parse.o] Error 1make[1]: Leaving directory `/home/horicul/sescutils/build-原创 2013-04-09 20:33:27 · 3718 阅读 · 0 评论 -
ubuntu 12.12 安装 gcc3.4.6出现问题解决方法。
在ubuntu 10.10上未出现下述错误。建议在gcc10.10以下版本中使用gcc3.4.6---------------------1 安装方法:先下载gcc-3.4_3.4.6-6ubuntu5_i386.deb,然后用 sudo dpkg -i xxx.deb命令安装安装过程中,缺少什么依赖关系装什么如果有相互依赖的关系,用sudo dpkg --f原创 2013-04-03 18:51:40 · 1244 阅读 · 0 评论 -
百度公开课 - linux后台服务开发 - 笔记整理
昨晚听完百度校园公开课,还得了个保温杯,好开心.现在把抄到的笔记整理下,东西不会很详细,但足够引出很多知识点感谢运维部的颜工来湖大讲课!1 环游linux一些常用的linux命令: ssh cd pwd ls tab mkdir rm cp mv cat more less 文本处理:head tail cat sort diff grep sed awk重定向:原创 2013-05-17 12:12:33 · 1692 阅读 · 0 评论 -
高级编程学习笔记(一) malloc的分配方法
1 linux 对内存的结构描述/proc/${pid}/ 存放进程运行时候的所有信息(包括内存结构)ps aue 查看pid进入这个目录cat maps 由于当进程存在时那个pid文件夹才存在,所以你需要写一个死循环保证程序一直在运行#include #include int main(){ printf("%d\n",getpid()); wh原创 2013-05-23 10:46:14 · 926 阅读 · 0 评论 -
高级编程学习笔记(二) 函数调用栈空间的分配和释放
1 函数执行的时候有自己的临时栈 (c++中函数调用时有两个栈空间,对象的栈空间和函数的栈空间) 2 函数的参数就在临时栈中,如果函数传递实参过去,则用来初始化临时参数变量。#include int add(int a,int b){ printf("%d,%d\n",a,b); return a+b;}int main(){ int (*fun)(in原创 2013-05-23 12:54:36 · 776 阅读 · 0 评论 -
linux编程学习笔记(三) 虚拟内存映射 brk sbrk mmap umap
1 问题: 一个程序为什么不能访问另外一个程序的地址指向的空间.理解:1.每个程序的开始地址0x800840002.程序中使用的地址不是物理,而是逻辑地址(虚拟内存).逻辑地址仅仅是编号.编号使用int 4字节整数表示.4294967296每个程序提供了4G的访问能力2 问题: 什么是内存映射? 什么是越界访问?为何出现段错误?逻辑地址与物理地址关联才有意义原创 2013-05-30 19:56:15 · 1550 阅读 · 0 评论 -
linux编程学习笔记(五) make的使用和Makefile
1 基本构成语法基本单位目标target目标名:依赖目标 依赖目标 #空格分开 '#是注释'\t@目标指令 #可以加@来隐藏打印命令\t目标指令make -f 脚本文件 目标名1输入一个整数判定是否是素数 input.c #include int input() { int r; printf("输入一个整数:"); s原创 2013-05-30 20:23:02 · 904 阅读 · 0 评论 -
linux编程学习笔记(六) 环境变量
1 使用main的参数命令行参数argv与环境行arge都是字符串数组约定:最后一个字符串是NULL/0#include int main(int argc,char ** argv,char **arge){ while(*arge) { printf("%s\n",*arge); arge++; } }2 在c的标准库里提供了外部变量原创 2013-06-02 22:54:19 · 683 阅读 · 0 评论 -
linux编程学习笔记(十二) 遍历目录
1 默认情况下 实际用户和有效用户是一样的 实际用户:执行用户 有效用户:权限用户getuid() 实际用户geteuid() 有效用户chmod u+s 之后 ,其他人执行文件时,实际用户和有效用户会不一样2 目录相关函数int chdir(const char *path);改变当前目录int mkdir(const char *pathname原创 2013-06-11 23:17:06 · 904 阅读 · 0 评论 -
linux编程学习笔记(九) 获取文件状态与文件映射mmap
1 fstat 获取文件状态 int fstat(int fd, struct stat *buf); struct stat { dev_t st_dev; /* ID of device containing file */ ino_t st_ino; /*原创 2013-06-02 23:20:39 · 1137 阅读 · 0 评论 -
ubuntu12.04下安装python3.4
ubuntu12.04下apt-get默认安装python3是3.2版本,因此需要自己更新源来安装python3.4 (目前的最新版本,以后需要更新的版本方法相同) sudo apt-get install python-software-properties #没有这步,下一步会提示add-apt-repository未找到. sudo add-apt-repository ppa:fkr原创 2015-07-30 21:40:30 · 1016 阅读 · 0 评论