Linux系统基础学习
文章平均质量分 68
百云在飘
这个作者很懒,什么都没留下…
展开
-
gdb调试器命令学习总结笔记
Linux中包含有一个很有用的调试工具--gdb(GNU Debuger),它可以用来调试C和C++程序,功能不亚于Windows下的许多图形界面的调试工具。和所有常用的调试工具一样,gdb提供了以下功能: # 监视程序中变量的值 # 在程序中设置断点 # 程序的单步执行在使用gdb前,必须先载入可执行文件,因为要进行调试,文件中就必须包含调试信息,所以在用gcc或cc编译时就需要用-g参原创 2009-12-13 17:41:00 · 665 阅读 · 0 评论 -
syslog-ng filters(过滤器)
3.6. Filters Filters perform log routing within syslog-ng: a message passes the filter if the filter expression is true for the particular message. If a log statement includes filters, the messages are sent to the destinations only if they pass all filt转载 2011-03-03 14:12:00 · 7392 阅读 · 0 评论 -
crontab命令详解
crontab命令的功能是在一定的时间间隔调度一些命令的执行。在/etc目录下有一个crontab文件,这里存放有系统运行的一些调度程序。每个用户可以建立自己的调度crontab。 crontab命令有三种形式的命令行结构: crontab [-u user] [file] crontab [-u user] [-e|-l|-r] crontab -l -u [-e|-l|-r] 第一个命令行中,file是命令文件的名字。如果在命令行中指定了这个文件,那么执行 crontab命令,则将转载 2011-02-12 19:03:00 · 517 阅读 · 0 评论 -
Linux下查看文件编码,文件或文件名编码格式转换
Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。要想Linux正常显示中文,最后设置linux和windows都的编码方式都为UTF-8。 1. linux命令enca查看文件编码格式 [root@local ~]# enca test.txt Simplified Chinese National Standard; GB2312 该文件是windows下记事本编辑产生的文件,编码方式是GB2312 2. 设置linux系统支持UTF-8原创 2011-02-18 17:32:00 · 12050 阅读 · 0 评论 -
crontab与logrotate
crontab例行检查:如果是自己开发的程序,打开文件需要绝对路径或者chdir来改变当前工作目录。用getcwd来获取当前工作目录。原创 2011-03-16 09:36:00 · 2884 阅读 · 0 评论 -
应用 Valgrind 发现 Linux 程序的内存问题
Valgrind 概述 体系结构 Valgrind是一套Linux下,开放源代码(GPL V2)的仿真调试工具的集合。Valgrind由内核(core)以及基于内核的其他调试工具组成。内核类似于一个框架(framework),它模拟了一个CPU环境,并提供服务给其他工具;而其他工具则类似于插件 (plug-in),利用内核提供的服务完成各种特定的内存调试任务。Valgrind的体系结构如下图所示: 图 1 Valgrind 体系结构 Valgrind包括如下一些工具: Memchec转载 2011-03-16 14:42:00 · 624 阅读 · 0 评论 -
如何调试bash脚本
Bash 是Linux操作系统的默认Shell脚本。Shell是用来处理操作系统和用户交互的一个程序。Shell的脚本可以帮助用户自动化地和操作系统进行交互。你也可以理解为一种脚本式的编程。即然有编程,那么,程序的编译器,解释器,调试器就必不可少了,Bash也一样,但在调试方面可能会有一些和编程语言不一样的东西和技术,所以,下面这篇文章主要是说明调试bash脚本的各种技术。 跟踪脚本的执行 你可以让bash打印出你脚本执行的过程中的所有语句。这很简单,只需要使用bash的-x选项就可以做到,下面让我们来转载 2011-05-12 16:57:00 · 3504 阅读 · 0 评论 -
GDB中应该知道的几个调试方法
七、八年前写过一篇《用GDB调试程序》,于是,从那以后,很多朋友在MSN上以及给我发邮件询问我关于GDB的问题,一直到今天,还有人在问GDB的相关问题。这么多年来,有一些问题是大家反复在问的,一方面,我觉得我以前的文章可能没有说清楚,另一方面,我觉得大家常问的问题正是最有用的,所以,在这里罗列出来。希望大家补充。 一、多线程调试 多线程调试可能是问得最多的。其实,重要就是下面几个命令: info thread 查看当前进程的线程。 thread 切换调试的线程为指定ID的线程。转载 2011-05-12 17:03:00 · 661 阅读 · 0 评论 -
如何设置快速的debian源
如何设置快速的debian源 使用apt-spy,可以自动测试到哪个源的下载速度最快,并自动将最快的源写入配置文件 由于刚装好系统是没有apt-spy,所以先找个源先安装apt-spy 1)设置临时源 vi /etc/apt/sources.list #添加以下一行到文件最后 deb http://http.us.debian.org/debian stable main 2)更新软件包列表并安装apt-spy apt-get update apt-get转载 2011-03-27 16:27:00 · 712 阅读 · 0 评论 -
高科技:GDB回溯调试
也许大家知道,GDB 版本7.0 (2009年9月release) 会是第一次开始支持Reversable Debugging (回溯调式技术),这是一种可以让在debug程序时当我们运行单步调试或是运行到断点时,可以以逆向执行程序的一种技术。(这是GNU的新闻链接) 下面是GDB7.0版本所支持的回溯调试的命令,其中包括,continue,step,以及调试方向的设置。 reverse-continue (‘rc’) — 继续程序运行到断点,但是是逆向运行程序。 reverse-finish —转载 2011-05-12 17:05:00 · 1639 阅读 · 0 评论 -
Unable to connect to CUPS server localhost:631 - C
[2011/03/24 19:42:14, 0] printing/print_cups.c:cups_connect(68) Unable to connect to CUPS server localhost:631 - 拒绝连接 解決方法:於smb.conf中加入以下設定 load printers = no printing = bsd printcap name = /dev/null disable spoolss = yes 說明: When wou原创 2011-03-24 19:58:00 · 8617 阅读 · 0 评论 -
linux下分区、格式化、挂载新硬盘的详细过程
公司内网的服务器硬盘空间不足,将新买来的150G硬盘挂载并设置成samba的共享目录,关于samba请参考此文章http://blog.csdn.net/linglongwunv/archive/2010/01/19/5212875.aspx,下面介绍怎样将一块新硬盘分区、格式化、挂载到系统,如适合你请继续阅读。服务器上已经有两块硬盘,所以硬盘为sdc,后面就不做说明了,至于不知道sdc怎么回事的人,先去问问百度大哥再回来接着看。 1、# fdisk -l 查看当前磁盘信息,就会发现最下面显示新转载 2011-03-25 13:47:00 · 4497 阅读 · 0 评论 -
Linux系统下mail命令使用
1.查看mail的帮助信息 [root@local~]# mail -h mail: invalid option -- h Usage: mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] to-addr ... [-- sendmail-options ...] mail [-iInNv] -f [name] mail [-iInNv] [-u user]原创 2011-03-01 16:46:00 · 2233 阅读 · 0 评论 -
Syslog格式说明
Syslog格式说明 设备必须通过一些规则来配置,以便显示或者传递事件信息。不管管理员决定怎样配置对事件信息的处理,把这些信息发送到syslog接受者的过程一般都由下面部分构成:决定哪个帮助信息要被发送,要被发送的级别,定义远程的接受者。 被传输的syslog信息的格式主要有3个容易识别出来的部分,分别是PRI、HEADER、MSG。数据包的长度小于1024个 字节。PRI部分必须有3、4、5个字符,以“开头,然后是一个数字,并以“>”结尾。在方括号内的数字被称为优先级 (Prio原创 2011-02-11 13:38:00 · 1282 阅读 · 1 评论 -
说说/etc/rc.d/rc.local
凡是需要随系统自动启动的服务、程序等,只要系统没有提供Sys V风格的启动脚本,就把这些需求都到/etc/rc.d/rc.local。原创 2011-01-30 12:03:00 · 1032 阅读 · 0 评论 -
内核比较:2.4 和 2.6 上的 Web 服务
Web 服务在企业界扮演着重要的角色。为支持企业应用程序,2.6 内核有了显著的改进和变化。新硬件支持、软件支持和内部的内核改进给 2.6 内核带来了更好的扩展性和稳定性。2.6 内核在跨多个 CPU 和大内存时的高负载情形下性能比 2.4 更好。转载 2010-08-28 00:29:00 · 517 阅读 · 0 评论 -
内核比较: 2.6 内核中网络的改进
相对于 2.4 版本,新的 Linux 2.6 内核具有很多改进。内核网络选项是技术进步的一个方面。尽管与网络选项相关的大部分文件都有所改善,但本文只是关注影响整个系统的主要特性的改进和增加,而不是关注特定的文件。明确地说,在本文中我们将介绍网络文件系统 (Networking File System, NFS) 和 Internet 协议安全 (Internet Protocol Security, IPSec) 的改进。我们还将接触 TCP/IP 协议簇的两个新成员,流控制传输协议 (Stream Co转载 2010-08-28 00:04:00 · 553 阅读 · 0 评论 -
linux top-统计信息区
top显示的前五行是系统整体的统计信息。 第一行是任务队列信息,同uptime命令的执行结果。其内容如下: top - 15:09:51 up 17 days , 3:38 , 4 users , load average : 1.09 , 3.39 , 4.76 15:09:51 当前时间 up 17 days , 3:38 系统运行时间,格式为时:分 4 users 当前登录用户数 load average : 1.09 , 3.39转载 2010-09-18 16:23:00 · 689 阅读 · 0 评论 -
Windows与VMware下的Linux文件共享(vmware tools和Samba)
1.用vmware tools工具 SharedFolders是Vmware4 的一个新功能,更加方便了在Host,Guest操作系统间共享文件。但是使用前要安装vmware tools. 点击setting->vmware tools install mount /dev/cdrom /mnt/cdrom cd /mnt/cdrom 里面有一个vmware tools的tar包,解开执行vmware-tools-install.pl脚本,一路回车,一般没有问题。 点击Ed原创 2010-09-21 23:34:00 · 1308 阅读 · 0 评论 -
Unix/Linux 系统自动化管理: 日志管理篇
本文是Unix/Linux系统管理自动化系列中的一篇,主要讲述如何实现自动化监控系统日志中的错误以及警告信息并及时通知系统管理员。 系统日志Unix/Linux中一个非常重要的功能组成部分。它可以按照某种规范记录下系统所产生的所有行为。我们可以使用系统日志所记录的信息进行系统排错,系统性能优化,或者根据这些信息调整系统的行为。另外,系统日志还可以为系统的安全管理提供重要的信息。不同的操作系统可能会使用不同的日志方式,如AIX的Error log和Linux的syslog/syslog转载 2010-10-09 13:31:00 · 1553 阅读 · 0 评论 -
日志过滤及工具SWATCH简介
本文的第一部份将讲述如何制定过滤计划和所需要的信息,第二部份是日志过滤的实现。本文介绍的日志工具是Todd Atkins开发的swatch转载 2010-10-10 11:55:00 · 2617 阅读 · 1 评论 -
syslog(),openlog(),closelog()
openlog, syslog, closelog是一套系统日志写入接口。转载 2010-12-07 20:00:00 · 566 阅读 · 0 评论 -
linux下网路启动服务器安装和配置方法(pxe+tftp+dhcpd)
1. 本文用到的术语解释 PXE PXE(Pre-boot ExecutionEnvironment)是由Intel设计的协议,它可以使计算机通过网络而不是从本地硬盘、光驱等设备启动。现代的网卡,一般都内嵌支持PXE的ROM芯片。当计算机引导时,BIOS把PXE client调入内存执行,并显示出命令菜单,经用户选择后,PXEclient将放置在远端的操作系统通过网络下载到本地运行. DHCP DHCP(Dynamic Host Control Protocol) 动态主机控制协议.用于集中、动态的给客户转载 2010-12-24 13:34:00 · 2506 阅读 · 2 评论 -
getpass()函数
函数名: getpass 功 能: 读一个口令 用 法: char *getpass(char *prompt); #include #include int main(void) { char *password; password = getpass("Input a password:"); printf("The password is: %s/r/n", password); return 0;原创 2011-01-30 11:33:00 · 2322 阅读 · 1 评论 -
getopt_long()原型
由于 getopt_long_demo 几乎与刚刚讨论的 getopt_demo 代码一样,因此我将仅对更改的代码进行说明。由于现在已经有了更大的灵活性,因此还将添加对 --randomize 选项(没有对应的短选项)的支持。 getopt_long() 函数在 getopt.h 头文件(而非 unistd.h)中,因此将需要将该头文件包含进来(请参见清单 11)。我还包含了string.h,因为将稍后使用 strcmp() 来帮助确定处理的是哪个长参数。 truct globalArgs_t {原创 2011-01-30 11:35:00 · 708 阅读 · 0 评论 -
getopt()原型
int getopt( int argc, char *const argv[], const char *optstring );给定了命令参数的数量 (argc)、指向这些参数的数组 (argv) 和选项字符串 (optstring) 后,getopt() 将返回第一个选项,并设置一些全局变量。使用相同的参数再次调用该函数时,它将返回下一个选项,并设置相应的全局变量。如果不再有识别到的选项,将返回 -1,此任务就完成了。getopt() 所设置的全局变量包括: optarg原创 2011-01-30 11:36:00 · 1004 阅读 · 1 评论 -
rdiff工具使用方法
工具介绍http://librsync.sourcefrog.net/doc/rdiff.html通过rsync算法复制文件。signature rdiff [OPTIONS] signature INPUT SIGNATURErdiff signature generates a signature file from an input file. The sign转载 2011-10-28 14:41:22 · 1322 阅读 · 0 评论