linux高级编程
帅气的东哥
这个作者很懒,什么都没留下…
展开
-
rpm和tar的安装方法
alien工具的作用:一个将rpm包转换为deb包的工具alien工具的安装:apt-get install alienalien的使用:先进入rpm包的目录,再在终端使用命令alien xxx.rpm即可在本目录下生成一个xxx.deb然后你就可以dpkg -i xxx.deb了(或者干脆双击),来安装deb包了(这个是我转的)debian就是一种linux系统 ubun转载 2014-02-11 16:19:42 · 2034 阅读 · 0 评论 -
Linux下eclipse中shell脚本编程环境的搭建
本文主要是介绍在linux平台下的eclipse下编写shell脚本所需要的配置,主要的步骤如下:1、下载并配置好eclipse。2、下载并安装ShellEd依赖组件man-page viewer plug-3、下载并安装ShellEd组件1、下载并配置好eclipse 1)到eclipse的官网上去下载一个eclipse,推荐下载已经继承了CDT的那个原创 2013-12-31 10:56:22 · 7247 阅读 · 0 评论 -
鸟哥私房菜2nd之Linux磁盘与文件系统管理 - 2/3
原创 2013-12-27 20:25:38 · 1516 阅读 · 0 评论 -
鸟哥私房菜2nd之Linux磁盘与文件系统管理 - 3/3
原创 2013-12-26 23:16:38 · 1368 阅读 · 0 评论 -
鸟哥私房菜2nd之文件的压缩与打包
原创 2013-12-26 22:42:30 · 2408 阅读 · 0 评论 -
鸟哥私房菜之认识 bash shell
原创 2013-12-26 22:07:16 · 1295 阅读 · 0 评论 -
鸟哥私房菜之认识 bash shell - 2
原创 2013-12-26 12:42:18 · 1370 阅读 · 0 评论 -
鸟哥私房菜之认识 bash shell - 4
原创 2013-12-25 17:13:55 · 1462 阅读 · 0 评论 -
鸟哥私房菜之认识 bash shell - 6
原创 2013-12-24 22:19:08 · 1285 阅读 · 0 评论 -
动态库的基本使用
一、动态库的编译1. 什么是动态库(共享库)动态库是可以执行的,静态库不能执行但动态库没有main,不能独立执行动态库不会连接成程序的一部分程序执行时,必须需要动态库文件2. 工具ldd 查看程序需要调用的动态库ldd 只能查看可执行文件(共享库文件或elf文件)readelf -h (-h表示原创 2014-02-06 15:46:03 · 2607 阅读 · 0 评论 -
main函数的两个参数
详细一点。C语言规定main函数的参数只能有两个,习惯上这两个参数写为argc和argv。因此,main函数的函数头可写为: main (argc,argv)C语言还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组。加上形参说明后,main函数的函数头应写为:main (argc,argv)int argv;char *argv[];或写转载 2014-02-04 16:14:34 · 1626 阅读 · 0 评论 -
make与makefile的基本使用与深入
一、 工具make的使用与makefile脚本背景:make编译脚本解释编译脚本makefilemake -f 脚本文件 目标脚本文件:1. 文本文件 (例如 demo.mk)2. 基本构成语法基本单位目标target目标名:依赖目标\t目标指令\t目标指令\t@目标指令 //加上@以后,在运行的原创 2014-02-06 17:36:30 · 2421 阅读 · 0 评论 -
Linux C编程——在指定位置输入指定长度的字符串
#include int main(){ initscr(); char name[9] = {0}; mvaddstr(4,10,"user:[ ]"); int r = mvgetnstr(4,16,name,8); mvprintw(7,10,"---->%s\n",name); refresh();原创 2014-02-10 16:44:32 · 2435 阅读 · 0 评论 -
ubuntu默认root密码
安装完Ubuntu后忽然意识到没有设置root密码,不知道密码自然就无法进入根用户下。到网上搜了一下,原来是这麽回事。Ubuntu的默认root密码是随机的,即每次开机都有一个新的root密码。我们可以在终端输入命令 sudo passwd,然后输入当前用户的密码,enter,终端会提示我们输入新的密码并确认,此时的密码就是root新密码。修改成功后,输入命令 su root,再输入新的密码就ok转载 2014-02-11 10:57:44 · 1401 阅读 · 0 评论 -
Linux C编程中的环境变量
二、环境变量 1.使用main的参数 int main(int args,char *argv[],char **arge) { } 命令行参数argv与环境行arge都是字符串数组. 约定:最后一个字符串是NULL/0 2.在C的标准库提供:外部变量 extern char **environ;以下3个例子都是用于演示如何获取环境变量:原创 2014-02-09 18:31:26 · 2545 阅读 · 0 评论 -
Fedora缺少头文件curses.h的解决
Fedora12在配置BusyBox时make menuconfig时出现HOSTCC scripts/kconfig/lxdialog/checklist.oIn file included from scripts/kconfig/lxdialog/checklist.c:24:scripts/kconfig/lxdialog/dialog.h:31:20: error: c转载 2014-02-09 11:30:05 · 1836 阅读 · 0 评论 -
libdl.so的基本使用
一、 使用libdl.so库动态库加载原理动态库中函数的查找已经封装成哭libdl.solibdl.so里面有4个函数:dlopen//打开一个动态库dlsym//在打开的动态库里找一个函数dlclose//关闭动态库dlerror//返回错误dl.c#include #include int m原创 2014-02-06 16:01:09 · 24794 阅读 · 1 评论 -
静态库的基本使用
一、 静态库的编译1. 编译过程 (*.a) a是achieve的缩写1.1 编译成目标文件-static 可选gcc -c -static 代码文件.c1.2 归档成静态库ar工具 (常用-r -t选项)ar -r 静态文件名被归档的文件名ar -r add.aadd.onm工具(查看函数符号表)nm 静态库或动态库原创 2014-02-06 10:32:37 · 2094 阅读 · 0 评论 -
gcc的基本使用
1. gcc-o 输出文件名-O-O1-O2-O3//编译优化-g-g1-g2-g3//产生调试信息-Wallerror//-Wall 显示所有警告-Werror 将警告当成错误提示-w//关闭所有警告-c//只编译不连接,产生 .o文件(目标文件)-E//预编译-S//汇编。 产生 .s文件(汇编文件) 编译过程是原创 2014-02-06 11:32:21 · 4403 阅读 · 0 评论 -
IO高级编程——获取特定位置上的数据(lseek函数的使用)
1、demo1.c#include #include #include #include #include struct stu{ int no; char name[20]; float score;};/*1.判定文件是否存在,存在打开,不存在创建2.输入记录3.保存记录4.提示继续输入5.继续/不继续6.关闭文件*/int open原创 2014-02-05 11:40:16 · 2036 阅读 · 0 评论 -
鸟哥私房菜之认识 bash shell - 7
原创 2013-12-24 21:41:32 · 1303 阅读 · 0 评论 -
鸟哥私房菜之认识 bash shell - 5
原创 2013-12-25 12:22:07 · 1347 阅读 · 0 评论 -
鸟哥私房菜之Linux 文件和目录管理 - 4
\原创 2013-12-28 23:40:54 · 1496 阅读 · 0 评论 -
LINUX下ECHO命令详解(转)
linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下echo的用法echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。该命令的一般格式为: echo [ -n ] 字符串其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo转载 2013-12-29 11:43:08 · 2162 阅读 · 0 评论 -
shell 中变量的定义
shell中的变量一般是以字母或者下划线开头,后面可以跟任意长度的字符,数字或者下划线。例如,下面一个shell变量的定义和赋值:$ name=mingqi #分配变量$ echo $name #打印变量值输出:mingqi由以上例子可以看出变量的赋值方式为:先写变量名称,紧接着是赋值符号,最后是新值。赋值号两边没有任何空格。当想取shell变量的值时,需转载 2013-12-29 11:29:02 · 1402 阅读 · 0 评论 -
$@ 与 $*区别
一、编写shell脚本文件在shell中,$@和$*都表示命令行所有参数(不包含$0),但是$*将命令行的所有参数看成一个整体,而$@则区分各个参数eg:for i in "$@"do echo $i #会经历$#次循环donefor i in "$*"do echo $i #只会进行一次循环,如原创 2013-12-29 11:16:27 · 9844 阅读 · 0 评论 -
Bash Shell let命令
整数运算一般通过 let 和 expr 这两个指令来实现,如对变量 x 加 1 可以写作:let "x = $x + 1" 或者 x=`expr $x + 1‘,个人感觉,二者差不多,前者表达比较简单,择优用之 在bash中,let可以用来做数值运算bash-2.05b$ export n=20bash-2.05b$ n=n+1bash-2.05b$ echo $n转载 2013-12-29 10:36:50 · 4303 阅读 · 0 评论 -
鸟哥私房菜2nd之Linux磁盘与文件系统管理 - 1/3
原创 2013-12-28 13:42:00 · 1605 阅读 · 0 评论 -
想要在linux上深入发展可以在两个方面上专研,虚拟内存和进程
...............原创 2013-12-14 09:56:03 · 1311 阅读 · 0 评论 -
linux高级编程的理解
《深入理解linux虚拟内存管理》原创 2013-12-14 09:47:45 · 1441 阅读 · 0 评论 -
关于/dev/null及用途
本文转载自http://blog.csdn.net/kaiwii/article/details/7308729把/dev/null看作"黑洞". 它非常等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到. 然而, /dev/null对命令行和脚本都非常的有用.禁止标准输出.1 cat $filename >/dev/null转载 2013-12-29 10:01:47 · 1495 阅读 · 0 评论 -
通配符集
通配符集表达式遵守 POSIX 常规表达式(RE)括号表达式定义. 字符集合元素描述示例^(抑扬符号)抑扬符号产生一个排除在字符集合外的字符集合。跟着它的字符将不匹配字符集合。抑扬符号仅在其是字符集合的第一个字符时才有此特殊意义。否则它仅仅是代表抑扬符号字符本身。[^a-z]匹配所有除了小写 ASCII 字符以外的字符。转载 2013-12-29 10:49:53 · 1409 阅读 · 0 评论 -
Shell位置参数
1.$0, $1, $2,等等:位置参数,从命令行传递给脚本,或者是传递给函数.或者赋职给一个变量.以下用一个例子来说明这3个参数具体是什么东西,让读者有一个感性的认识 1)编写shell脚本 #!/bin/bashecho " $0 hahah, $1 , $2"exit 2)在命令行中输入sh tt8.sh 10 12这时你会看到的运行结果是: tt8.s原创 2013-12-29 11:26:39 · 2793 阅读 · 0 评论 -
鸟哥私房菜之Linux 文件和目录管理 - 1
原创 2013-12-23 20:17:55 · 1314 阅读 · 0 评论 -
鸟哥私房菜2nd之文件的压缩与打包
原创 2013-12-24 11:48:51 · 1441 阅读 · 0 评论 -
鸟哥私房菜之Linux的档案属性和目录配置 - 2
原创 2013-12-23 14:35:01 · 1423 阅读 · 0 评论 -
Linux C编程——more命令的实现
#include #include #include #define PAGELEN 24#define LINELEN 512void do_more(FILE *);int see_more(FILE *);int main(int argc, char *argv[]){ FILE *fp; if (argc == 1) do_more(s原创 2013-12-31 16:26:18 · 1897 阅读 · 0 评论 -
Linux C编程的一个小例子——实现一个简单的who命令(第一版)
在贴代码之前,有一些东西是需要讲清楚的。1)Linux C编程用到了一些只有Linux下才有的函数。而将这些放到Windows下的话,会报错。也就是说,讲一下代码在windows下运行是会报错的。。。2)有人会有疑问。书本上的是,先使用VI编辑who.c文件,然后再命令行的状态下使用GCC命令,生成一个.o文件,然后在运行该文件。假如使用eclipse在Linux进行C编码原创 2013-12-31 11:50:48 · 3042 阅读 · 2 评论 -
Linux C编程小例子——pwd命令的实现
#include #include #include #include #include ino_t get_inode(char *);void printpathto(ino_t);void inum_to_name(ino_t, char *, int);int main() { printpathto(get_inode(".")); /* print path原创 2013-12-31 16:18:33 · 3219 阅读 · 4 评论 -
Linux C变成小例子——实现ls命令
/* * ls2.c * * Created on: Dec 30, 2013 * Author: fedora */#include #include #include #include #include #include void show_file_info(char* filename, struct stat* info_p) { char* ui原创 2013-12-31 15:22:10 · 2217 阅读 · 0 评论