许多应用程序需要记录它们的活动。系统程序经常需要向控制台或日志文件写消息。这些消息可能指示错误、警告或是与系统状态有关的一般信息。例如,su程序会把某个用户尝试得到超级用户权限但失败的事实记录下来。
通常这些日志信息被记录在系统文件中,而这些系统文件又被保存在专用于此目的的目录中。它可能是/usr/adm或/var/log目录。对一个典型的Linux安装来说,文件 /var/log/messages包含所有系统信息,/var/log/mail包含来自邮件系统的其他日志信息,/var/log/debug可能包 含调试信息。你可以通过查看/etc/syslog.conf文件来检查系统配置。
下面是一些日志信息的样例:
这里,我们可以看到记录的各种类型的信息。前几个是Linux内核在启动和检测已安装硬件时自己报告的信息。接着是任务安排程序cron报告它正在启动。最后,su程序报告用户neil获得了超级用户权限。
查看日志信息可能需要有超级用户特权。
有些UNIX系统并不像上面这样提供可读的日志文件,而是为管理员提供一些工具来读取系统事件的数据库。具体情况请参考系统文档。
虽然系统消息的格式和存储方式不尽相同,可产生消息的方法却是标准的。UNIX规范为所有程序提供了一个接口,通过syslog函数来 ......
在向大家详细介绍linux编译之前,首先让大家了解下Linux脚本Shell命令。然后讲解在shell脚本中可以使用任意的unix命令。
语法基本介绍
1.开头
程序必须以下面的行开始(必须方在文件的第一行):
#!/bin/sh
符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。
当编辑好脚本时,如果要执行该脚本,还必须使其可执行。
要使脚本可执行:
编译 chmod +x filename 这样才能用./filename 来运行
2.注释
在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚本的作用及工作原理。
3.变量
在其他编程语言中您必须使用变量。在linux脚本shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。要赋值给一个变量,您可以这样写:
#!/bin/sh
#对变量赋值:
a="hello world"
# 现在打印变量a的内容:
echo "A is:"
echo $a
有时候变量名很容易与其他文字混淆,比如:
num=2
echo "this is the $numnd"
这并不会打印出"this is the 2nd",而仅仅打印"this is the " ......
本来我电脑装的是windows和redflag linux,后来感觉没有虚拟机下用着舒服,就准备卸载linux。
1、在windows下的我的电脑——管理——磁盘管理,会看到没有名字的linux分区,在上面点右键,删除逻辑分区
2、重新启动,改动bios启动顺序,把从磁盘启动给禁用,一定要禁用。
3、保存bios设置,并重新启动,插入windows安装盘,当出现安装画面是选择故障恢复控制台,就是按R,进入控制台。
4、会出现选择在那个地方安装windows,然后输入1,代表是在c盘了,实质上并不是安装windows,所以不要害怕。
5、然后运行fixmbr命令,会说什么没有主启动文件,问是否创建?输入y,创建了。
6、然后运行exit命令,退出重启,把bios中的启动顺序改回来就可以了。 ......
linux下查看gcc版本
gcc -v
输出结果中
Target: i486-linux-gnu
i486应该是虚拟机的问题,现在主流cpu应该均为i686.
i386,i486,i586分别是针对80386,80486,80586编译的包,i686就比较广泛了,从p2开始x86处理器就进入了p6构架的时代,一直到现在都是p6架构。新架构的cpu向下兼容为旧架构编译的软件包.
i386.rpm与i686.rpm有什么区别?
x86体系结构虽然指令都一样,但是不同时代的具体实现,在编译优化上还是有自己的特点,而且后一代往往会多出一些指令,所以编译RPM时,可以针对不同的体系结构作不同的编译选项优化。
一般而言, 所有x86处理器都能执行386的指令集
80486处理器当然需要 486 的优化
Pentium 就是 586
PentiumPro (P6) 之后的统称为686, 包含了PentiumPro, PentiumII, PentiumIII和P4
出于效率考虑,在编译核心和glibc这样的软件包的时候,都是为不同体系结构编译不同的包,安装的时候选择适合自己机器的,以便得到最好的效率。
目前而言,只要有686的包,那就不必考虑386的包。 ......
刚开始接触linux,不知道linux命令到底怎么执行,觉得它里面的各个参数那么多,到底哪样子用呢,经过几天的总结,结合鸟哥的私房菜,如下:
command [-options]... parameter1 paremeter2 ...
说明:
0. 一行命令中第一个输入的绝对是“命令(command)” 或 “可执行文件”。
1. command为命令的名称,例如变换路径的命令为cd等。
2. 中括号 [] 并不存在于实际的名录中,加入参数设置时,通常为 - 号,例如 -h,有时候完整参数 名称会输入 --符号,例如 --help。
3. ...表示这里的选项可以同时设置多个,选项可以放在一个-后面,例如:-al,也可以分开,中间以空格分开,例如 -a -l。
4. 参数,可以设置多个,每个参数之间也是以空格分开的,例如 ls中的[FILE]...就表示参数,date中的[+FORMAT]表示参数,表示是command的参数
5. command, -options, parameter1.. 它们中间以空格来 ......
1. Linux 脚本编写基础
1.1 语法基本介绍
1.1.1 开头
程序必须以下面的行开始(必须方在文件的第一行):
#!/bin/sh
符号#!用来告诉系统它后面的参数是用来执行该文件的程序。在这个例子中我们使用/bin/sh来执行程序。
当编辑好脚本时,如果要执行该脚本,还必须使其可执行。
要使脚本可执行:
编译 chmod +x filename 这样才能用./filename 来运行
1.1.2 注释
在进行shell编程时,以#开头的句子表示注释,直到这一行的结束。我们真诚地建议您在程序中使用注释。
如果您使用了注释,那么即使相当长的时间内没有使用该脚本,您也能在很短的时间内明白该脚本的作用及工作原理。
1.1.3 变量
在其他编程语言中您必须使用变量。在shell编程中,所有的变量都由字符串组成,并且您不需要对变量进行声明。要赋值给一个变量,您可以这样写:
#!/bin/sh
#对变量赋值:
a="hello world"
# 现在打印变量a的内容:
echo "A is:"
echo $a
有时候变量名很容易与其他文字混淆,比如:
num=2
echo "this is the $numnd"
这并不会打印出"this is the 2nd",而仅仅打印"thi ......