在Linux中创建静态库和动态库
我们通常把一些公用函数制作成函数库,供其它程序使用。函数库分为静态库和动态库两种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需要动态库存在。本文主要通过举例来说明在Linux中如何创建静态库和动态库,以及使用它们。在创建函数库前,我们先来准备举例用的源程序,并将函数库的源程序编译成.o文件。第1步:编辑得到举例的程序--hello.h、hello.c和main.c;hello.c(见程序2)是函数库的源程序,其中包含公用
Linux下查看文件编码,文件编码格式转换和文件名编码
如果你需要在Linux中操作windows下的文件,那么你可能会经常遇到文件编码转换的问题。Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。下面介绍一下,在Linux中如何查看文件的编码及如何进行对文件进行编码转换。 查看文件编码在Linux中查看文件编码可以通过以下几种方式:1.在Vim中可以直接查看文件编码:set fileencoding即可显示文件编码格式。如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在~/.vimrc 文件中添加以下内容:set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936这样
lsmod命令
lsmod命令用来列出当 前系统加载的模块,可以当作硬件模块浏览器。使用权限:格式:lsmod [-hV] 主要选项:-h :显示帮助信息。-V:显示软件版本信息。应用说明:使用lsmod命令必须安装Linux安装盘中的modutils 软件包。我们看一个lsmod命令实例,如图1。图1 lsmod 列出当前系统中加载的模块Lsmod 即list modules,对每行而言,第一列是模块名称;第二列是模块大小;第三列是用量计数。lsmod命令用来列出当前系统加载的模块,同时也可以当作察看硬 件浏览器。从以上列表我们可以看到那些设备的驱动程序已经加载。如果后面为unused,则表
Linux 忘记密码解决方法
来源:百度博客 作者:victor_tlh 本文以Fedora Core (2.6.18.3) 为例说明用单用户模式删除root密码的方法前 提:grub没有设置密码1. 单用户模式启动系统启动进入grub列表界面时,选择Linux启动项,按e键编辑内核启动参数 root (hd0,7) kernel /boot/vmlinuz-2.6.18.3 ro root=LABEL=/ vga=0x303 rhgb quiet initrd /boot/initrd-2.6.18.3.img选择kernel /boot/vmlinuz-2.6.18.3 ro root=LABEL=/ vga=0x303 rhgb quiet 行,按e编辑修改为 kernel /boot/vmlinuz-2.6.18.3 ro 1 root=LABEL=/ vga=0x303 rhgb quiet这样做目的是使系统
8个实用而有趣Bash命令提示行
来源:酷壳 作者:赵锟很多人都对过命令行提示的重要性不屑一顾,甚至是一点都不关心。但是我却一点都不这么认为,一个好的命令行提示可以改变你使用命令的方式。为此,我在internet上找到一些非常实用,优秀,并有趣的bash的命令行提示。下面我将我最喜欢使用的一些命令行提示罗列如下。注意 - 要使用下面这些提示,你可以拷贝粘贴这些以”PS1″打头的内容到你的终端上,为了使你的改变永久生效,还要将这些内容粘贴到你使用用户的~/.bashrc文件中去。1. 在成功执行的命令上增加一个笑脸符号这个命令提示行可能是这个命令行提示列表中最有
RPM 的介绍和应用
作者:北南南北来自:LinuxSir.Org提要:RPM 是 Red Hat Package Manager 的缩写,原意是Red Hat 软件包管理;本文介绍RPM,并结合实例来解说RPM手工安装、查询等应用;++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++正文:++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++RPM 是 Red Hat Package Manager 的缩写,本意是Red Hat 软件包管理,顾名思义是Red Hat 贡献出来的软件包管理;在Fedora 、Redhat、Mandriva、SuSE、YellowDog等主流发行版本,以及在这些版本基础上二次开发出来的发行版
ubuntu10.10操作系统怎么直接进命令行模式
Ubuntu 10.10启动进入命令行模式非常之简单 1: 运行 sudo gedit /etc/default/grub 2: 找到 GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash” 3: 改为 GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash text” 3: 运行 sudo update-grub 重启 over 根本不需要任何对GDM的操作 另外 中文locale下在命令行界面显示中文可以非常简单的安装zhcon即可 还自带命令行下的中文输入法 sudo aptitude install zhcon zhcon --utf8 主意 一定要以 --utf8参数启动,zhcon默认是gb2312编码 如果控制台下没有输入中文的需要 ,那么可以
Linux下设置静态IP地址
Linux下设置静态IP地址 配置文件位于:/etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0 ONBOOT=yes BOOTPROTO=static IPADDR=192.168.1.46NETMASK=255.255.255.0GATEWAY=192.168.1.1使IP地址生效:/sbin/ifdown eth0/sbin/ifup eth0 通知网关更新信息:/etc/init.d/network restart [@more@]
rename命令的简单应用
rename命令的简单应用rename命令是Linux下功能非常强的的重命名工具,利用正则表达式使得其使用地非常灵活。rename命令的格式:rename [ -v ] [ -n ] [ -f ] perlexpr [ files ]-v, --verboseVerbose: print names of files successfully renamed.-n, --no-actNo Action: show what files would have been renamed.-f, --forceForce: overwrite existing files.简单的rename使用命令:字母的替换rename "s/AA/aa/" * //把文件名中的AA替换成aa修改文件的后缀rename "s/.html/.php/" * //把.html 后缀
Linux的关机与重启命令
Linux的关机与重启命令重启命令:1、reboot2、shutdown -r now 立刻重启(root用户使用)3、shutdown -r 10 过10分钟自动重启(root用户使用) 4、shutdown -r 20:35 在时间为20:35时候重启(root用户使用)如果是通过shutdown命令设置重启的话,可以用shutdown -c命令取消重启关机命令:1、halt 立刻关机2、poweroff 立刻关机3、shutdown -h now 立刻关机(root用户使用)4、shutdown -h 10 10分钟后自动关机如果是通过shutdown命令设置关机的话,可以用shutdown -c命令取消重启[@more@]
Vim中输入法与编码设置
目录输入法与编码设置的FAQ 1 中文输入法 1.1 Windows 1.2 Linux 2 编码问题 2.1 怎么让Vim正确识别编码? 2.1.1 关于编码的一些基础 2.2 为什么有乱码? 2.3 命令使用的细节 2.4 如何实时地手工设置某个文件的fenc与enc? 2.5 有没有办法提高识别率? 2.5.1 enca 2.5.2 MultiEnc.vim 2.5.3 chardet 3 小结 4 参考资料 Up: (dir) 输入法与编码设置的FAQ从去年到现在一直陆陆续续的都有人在问起中文输入法的设置和编码的设置这方面的问题。我将这些问题整理了一下,也许有些用处。1 中文输入法如果每次进出insert模式都要切换一下输入法是很
设置vim C/C++语法高亮显示和自动缩进
vim简介Vim(Vi Improved) 是一个类似于vi 的文本编辑器,在Vi的基础上增加了很多新的特性和功能。Vim以其强大的功能和可定制能力,成为Linux/Unix环境下开源的最重要的编辑器之一(另一个是 Emacs),被众多开发者所喜爱。笔者此时所用的是最新的7.1版本。与大部分其它编辑器不同,进入 Vim 后,缺省状态下键入的字符并不会插入到所编辑的文件之中。Vim 的模式(mode,可以简单地理解为“状态”)概念非常重要。需要知道,Vim 有以下几个模式:1) 正常(normal)模式,缺省的编辑模式;下面如果不加特殊说明,提到的命令都直接在正常模
解决vim在insert模式下面用backspace键无法删除的问题
vim 在插入模式下<BS>有几种工作方式,默认是设置成vi兼容,这样就会出现无法删除此次插入前文字的情况。改成 ":set backspace=indent,eol,start" 就好了。具体看 ":h 'backspace'" 的帮助。 [@more@]
Linux一句话收藏
1.删除0字节文件 find -type f -size 0 -exec rm -rf {} ; 2.查看进程 按内存从大到小排列 ps -e -o "%C : %p : %z : %a"|sort -k5 -nr 3.按cpu利用率从大到小排列 ps -e -o "%C : %p : %z : %a"|sort -nr 4.打印说cache里的 URL grep -r -a jpg /data/cache/* | strings | grep "http:" | awk -F'http:' '{print "http:"$2;}' 5. 查看http的并发请求数及其TCP连接状态: netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 6. sed -i '/Root /s/no/yes/' /etc/ssh/sshd_con
Linux 一句话命令收藏
1.删除0字节文件 find -type f -size 0 -exec rm -rf {} ; 2.查看进程 按内存从大到小排列 ps -e -o "%C : %p : %z : %a"|sort -k5 -nr 3.按cpu利用率从大到小排列 ps -e -o "%C : %p : %z : %a"|sort -nr 4.打印说cache里的 URL grep -r -a jpg /data/cache/* | strings | grep "http:" | awk -F'http:' '{print "http:"$2;}' 5. 查看http的并发请求数及其TCP连接状态: netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 6. sed -i '/Root /s/no/yes/' /etc/ssh/sshd_con
15个常用Linux命令行总汇
众多Linux管理员在使用Linux的时候会经常使用到很多Linux命令行,其中有绝大部分不是经常使用到的。在本文中主要为大家总结了经常使用的十五个最常用Linux命令行,希望对刚刚接触Linux命令行的使用者有所帮助。1. 最常用的命令列表下面列出十个在使用linux过程中使用频率最高的命令。这里只作简单介绍,具体用法请参考后面内容。cat,显示文件内容。cd,改变目录路径。cp,复制文件。find,查找文件。grep,搜索、过滤信息。ls,列出目录信息。more,分页显示。rm,删除文件或目录。vi,调用vi文本编辑器。who,显示登录用户信息。2. chmo
Linux中tty、pty和pts概念及区别
Linux中tty、pty和pts概念及区别基本概念①tty(终端设备的统称):tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备②pty(虚拟终端):但是如果我们远程telnet到主机或使用xterm时不也需要一个终端交互么?是的,这就是虚拟终端pty(pseudo-tty)③pts/ptmx(pts/ptmx结合使用,进而实现pty):pts(pseudo-terminal slave)是pty的实现方法,
VIM的配置 一例
set syntax=onset cinoptions+={2,0,p0,t0set nobackupset cindentset syntax=cppset formatoptions=tcqr"注释掉某行function Mycomm() call append(line(".")-1,"/*") call setline(line("."),getline(".")) call append(line("."), "date:".strftime("%c")) call append(line(".")+1, "*/")endf"往文件开头增加一个文件说明function Mytitle()call append(0,"/**********************************************"
suid,sgid,sticky的三个权限的详细说明
一个文件都有一个所有者, 表示该文件是谁创建的. 同时, 该文件还有一个组编号, 表示该文件所属的组, 一般为文件所有者所属的组.如果是一个可执行文件, 那么在执行时, 一般该文件只拥有调用该文件的用户具有的权限. 而setuid, setgid 可以来改变这种设置.setuid: 设置使文件在执行阶段具有文件所有者的权限. 典型的文件是 /usr/bin/passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权限, 从而可以更改用户的密码.setgid: 该权限只对目录有效. 目录被设置该位后, 任何用户在此目录下创建的文件都具有和该目录所属的组相
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} ;#-print 将查找到的文件输出到标准输出#-exec command {} ; —–将查到的文件执行command操作,{} 和 ;之间有空格#-ok 和-exec相同,只不过在操作前要询用户====================================================-name filename #查找名为filename的文件-perm #按执行权限来查找-user username #按文件属主来查找-group groupname #按组来查找-mtime -n +n #按文件更改时间