
Linux Programming
guilanl
这个作者很懒,什么都没留下…
展开
-
标准错误和标准输出的重定向
1: 标准输出2: 标准错误一般情况下:./run > 1.txt以上命令只能讲标准输出重定向到1.txt.如果想把标准错误也重定向到1.txt, 命令如下:./run > 1.txt 2>&12>&1表示: 标准错误也重定向到标准输出。原创 2015-12-10 14:56:10 · 988 阅读 · 0 评论 -
25 simple examples of Linux find command
Basic examples1. List all files in current and sub directoriesThis command lists out all the files in the current directory as well as the subdirectories in the current directory.$ find../原创 2017-03-08 11:01:03 · 409 阅读 · 0 评论 -
Linux kernel 的source code 官网
google 搜索 linux kernel , 官网是:https://www.kernel.org/可以把 kernel download 下来, 也可以在线看。如果在线浏览某个版本的source code, 则点击 "brownse " 进行。原创 2017-01-23 15:52:33 · 1827 阅读 · 0 评论 -
sbrk() 函数是干什么的?
brk和sbrk主要的工作是实现虚拟内存到内存的映射.在GNU C中,内存分配是这样的: 每个进程可访问的虚拟内存空间为3G,但在程序编译时,不可能也没必要为程序分配这么大的空间,只分配并不大的数据段空间,程序中动态分配的空间就是从这一块分配的。如果这块空间不够,malloc函数族(realloc,calloc等)就调用sbrk函数将数据段的下界移动,sbrk函数在内核的原创 2017-02-21 13:47:23 · 14711 阅读 · 0 评论 -
linux grub.cnf grub64.efi 文件
在 ubuntu 14.04 和 Red Hat 7.2 系统中,如果系统是EFI 启动的,那么在 /boot/efi/EFI/ 目录下有 grub64.efi 和 grub.cnf 文件。grub64.efi 是EFI启动文件grub.conf 是配置文件原创 2017-01-22 16:43:36 · 2243 阅读 · 0 评论 -
关于stack 以及相关的寄存器的知识(x86 结构)
1. stack 通常是从高地址到低地址增长的。2. EBP: base pointer. ESP: stack pointer. EBP 指向stack 的基址。 ESP: 总是指向 stack 的顶端。3. 下面以一个函数调用为例来讲解函数调用过程: #include原创 2017-02-16 16:54:25 · 902 阅读 · 0 评论 -
linux 互斥锁和读写锁的区别与联系
读写锁特点:1)多个读者可以同时进行读2)写者必须互斥(只允许一个写者写,也不能读者写者同时进行)3)写者优先于读者(一旦有写者,则后续读者必须等待,唤醒时优先考虑写者) 互斥锁特点: 一次只能一个线程拥有互斥锁,其他线程只有等待原创 2016-08-26 16:42:29 · 1778 阅读 · 0 评论 -
Linux 互斥锁 pthread_mutex_t 的使用
在线程实际运行过程中,我们经常需要多个线程保持同步。这时可以用互斥锁来完成任务。 互斥锁的使用过程中,主要有pthread_mutex_init,pthread_mutex_destory,pthread_mutex_lock,pthread_mutex_unlock这几个函数以完成锁的初始化,锁的销毁,上锁和释放锁操作。一,锁的创建 锁可以被静态或者原创 2016-08-26 16:29:46 · 2054 阅读 · 0 评论 -
Linux线程同步读写锁 rwlock
读写锁比mutex有更高的适用性,可以多个线程同时占用读模式的读写锁,但是只能一个线程占用写模式的读写锁。1. 当读写锁是写加锁状态时,在这个锁被解锁之前,所有试图对这个锁加锁的线程都会被阻塞;2. 当读写锁在读加锁状态时,所有试图以读模式对它进行加锁的线程都可以得到访问权,但是以写模式对它进行枷锁的线程将阻塞;API接口说明:1) 初始化和销毁#inclu转载 2016-08-26 15:44:08 · 450 阅读 · 0 评论 -
使用 /etc/fstab 进行 samba 配置
工作中需要经常从一个file server 上copy 文件。于是配置了一下 samba, 使本地的一个文件夹挂载 file server 上的某个文件夹。首先在本地建一个文件夹:/home/12/345sudo 编辑 /etc/fstab, 加上下面的语句://shwde7xxx.ccr.corp.xxxxx.com/SE_DailyBuild /home/1原创 2016-08-25 16:55:28 · 8722 阅读 · 0 评论 -
升级ubuntu linux kernel 和 ubuntu version 的办法
1. 升级 linux kernelStep 1: #sudo apt-get updateStep 2: #apt-cache search linux-imageNote: after this command, we could see all the available kernel resources, saying: linux-image- 4.2.0-27-原创 2016-08-18 11:57:46 · 4155 阅读 · 0 评论 -
shell 使用中碰到的问题及解决方法
1. 如果脚本是带参数的,那么在脚本中如下引用参数:eg:./test.sh -f config.conf -v --prefix=/home* $0 : ./test.sh,即命令本身,相当于c/c++中的argv[0]* $1 : -f,第一个参数.* $2 : config.conf* $3, $4 ... :类推。* $# 参数的原创 2016-03-09 16:54:47 · 470 阅读 · 0 评论 -
awk 用法简单接触
假如一个目录下有好几个csv 文件,想把这些文件挑选出来,用下面的语句可以实现:ls *.csv | awk '{print $1}' awk是用来提取列的主要工具;{print $1}就是将某一行(一条记录)中以空格为分割符的第一个字段打印出来把结果保存在变量logs 里面:logs=$(ls *.csv | awk '{print $1}' )原创 2016-03-08 13:15:44 · 228 阅读 · 0 评论 -
vim插件ctags的安装和使用
【ctags的安装】1)在线安装:sudo apt-get install ctags (ubuntu)【生成tags文件】 安装成功后,要为源码文件生成tags文件,才可享受ctags为阅读代码带来的便利。$ ctags -R递归的为当前目录及子目录下的所有代码文件生成tags文件【给使用vi 带来的便利】设原创 2016-03-04 13:59:11 · 333 阅读 · 0 评论 -
Linux 的pthread_create 和 pthread_join 函数的一些新的理解
1. pthread_create:pthread_create 创建之后,如果线程函数结束了,那么所创建的线程也随之结束了。2. pthread_join:代码中如果没有pthread_join主线程会很快结束从而使整个进程结束,从而使创建的线程没有机会开始执行就结束了。加入pthread_join后,主线程会一直等待直到等待的线程结束自己才结束,使创建的线程有机会执行。原创 2015-11-26 15:15:10 · 2357 阅读 · 0 评论 -
Integer Promotion
Almost every programmer has learned about C, and a lot of them use it for their career. Yet, C can be really tricky and behave unexpectedly sometimes. One of those dodgy side of C is integer promot原创 2017-03-29 10:57:24 · 899 阅读 · 0 评论