1, 主板信息 .查看主板的序列号 -------------------------------------------------- #使用命令 dmidecode | grep -i 'serial number' #查看板卡信息 cat /proc/pci ------------- ... 1, 主板信息 .查看主板的序列号 -------------------------------------------------- #使用命令 dmidecode | grep -i 'serial number' #查看板卡信息 cat /proc/pci -------------------------------------------------- 2, cpu信息 -------------------------------------------------- #通过/proc文件系统 1) cat /proc/cpuinfo #通过查看开机信息 2) dmesg | grep -i 'cpu' # 3)dmidecode -t processor -------------------------------------------------- 3, 硬盘信息 -------------------------------------------------- #查看分区情况 fdisk -l #查看大小情况 df -h #查看使用情况 du -h # hdparm -I /dev/sda # dmesg | grep sda -------------------------------------------------- 4, 内存信息 -------------------------------------------------- 1) cat /proc/meminfo 2) dmesg | grep mem 3) free -m 4) vmstat 5) dmidecode | grep -i mem -------------------------------------------------- 5, 网卡信息 -------------------------------------------------- 1) dmesg | grep -i 'eth' 2) cat /etc/sysconfig/hwconf | grep -i eth 3) lspci | grep -i 'eth' -------------------------------------------------- 6, 鼠标键盘和USB信息 查看键盘和鼠标:cat /proc/bus/input/devices 查看USB设备:cat /proc/bus/usb/devices 查看各设备的中断请求(IRQ):cat /proc/interrupts 7, 显卡信息 -------------------------------------------------- 1)lspci |grep -i 'VGA' 2)dmesg | grep -i 'VGA' -------------------------------------------------- 8, 声卡信息 -------------------------------------------------- 1)lspci |grep -i 'VGA' 2)dmesg | grep -i 'VGA' -------------------------------------------------- 7, 其他命令 .用硬件检测程序kuduz探测新硬件:service kudzu start ( or restart) .dmesg (查看所有启动时检测到的硬件信息) .lspci (显示外设信息, 如usb,网卡等信息) .cat /etc/sysconfig/hwconf .mpstat 8, 需要手动安装的工具 lshw,hwinfo,hal-device-manager
8:正则表达式快速学习
正则表达式对于初学者来说有很大难度,简单的说一下它的概念,正则表达式就是符合某些复杂规则的字符串,记录文本规则的代码,我把自己做的一个概述笔记发布出来,以供大家分享.如题只是一个快捷的学习,深度不敢期求达到,只是起到一个抛砖引玉的作用.
1.^ $ "^a" 以a开头 "b$" 以b结尾 "^abc%" 以abc开头,以abc结尾的字符串 ^$就表示是空行,中间什么都没有. 2. "abc" 匹配包含abc的字符串 3.* + ? 这三个字符只管它前面的一个字符 * 前面的字符0个1个或者多个 + 前面的字符1个或者多个,至少1个 ? 前面的字符0个或者1个 "ab*" 匹配以a开头,以0个b;1个b或者多个b结尾的字符串 "ab+" 匹配以a开头,以1个b或者多个b结尾的字符串 "ab?" 匹配以a开头,以0个b或者1个b结尾的字符串 "a?b+$" 匹配以0个a或者1个a再加上一个以上b结尾的字符串 可以在大括号里面限制字符出现的个数: "ab{2}" a后面要跟2个b "ab{2,}" a后面跟2个b或者2个以上的b "ab{2,5}" a后面跟2到5个b --------------------------------------有的书写到,需要验证比如:---------------------------------------- g后面跟两个或者5个o,写为 g\{2,5\} g后面跟两个以上的o,写为g\{2,\} 加上小括号的情况: "a(bc)*" a后面跟0个1个或者多个bc "a(bc){1,5}" a后面跟1个到5个bc 4.| 类似于or,或关系 "hi | hello" 匹配包含有hi或者hello的字符串 "(b | cd)ef" 匹配bef或者cdef的字符串 "(a | b)*c" 匹配包含有N个(包含0)a或者b以c结尾的字符串 5. . .代表所有的单一字符,但不代表"\n",如果要匹配"\n",那么使用"[\n.]" "a.[0-9]" 1个a加上0到9间的任意一个数字 "^.{3}$" 3个任意字符结尾 所以假设要表达good grtd gttd等时候,使用g..d就可以来表示 6. [] 中括号括住的只代表单一的字符 "[ab]" 匹配1个a或者1个b,等同于 "a | b" "[a-d]" 匹配a到d的单一字符,等同于"a | b | c | d"或者[abcd] "^[a-zA-Z]" 匹配大小写开头的字符串 "[0-9]%" 匹配形如x%的字符串 ",[a-zA-Z0-9]$" 匹配以一个逗号加一个大小写字母或者数字结尾的字符串 在[]中使用^,就是将^后面所跟的字符排除. "%[^a-zA-Z]%" 匹配含有两个%中间非字母的字符串 "[^a-z\.!^ -]" 表示没有小写字母,没有. 没有! 没有空格 没有- 7.总结 \< 匹配任何词开头的空字符串。 \> 匹配任何词结尾的空字符串。 当匹配类似于邮箱用户名的正则表达式时候,邮箱名中间可能会有-或者_,那么_和-的表达只能放在整个正则表达式的最前面或者最后面,放到中间不行,那样的话就会引起错误. 如果含有'-', 最好把它放在最前面或者最后面, or 或者一个范围的第二个结束点[a-d-0-9]中间的‘-’将有效. ()将部分内容合成一个单元组.比如 要搜索 glad 或 good 可以这样 'g(la|oo)d' 8.grep与正则表达式 grep -a 以文本文件方式搜索 -c 计算找到的符合行的次数 -i 忽略大小写 -n 顺便输出行号 -v 反向输出,输出没有"搜寻字符串"的内容 -i 忽略大小写 -E, --extended-regexp 采用规则表示式去解释样式,等同于egrep,egrep是grep -E的别名. -F 如果想在文件中找到包含星号字符的行,则需要使用此参数 [root@localhost tmp]# grep -F '*' /tmp/* /tmp/123:* [root@localhost tmp]# grep -F "*" /tmp/* /tmp/123:* /tmp/123:1*2 /tmp/123:1111*77 9. \. 和 // \.代表. //在正则表达式中是特殊符号,所以要用\来转义 在windows DOS下生成的文本文件,换行会加上^M字符,处理windows的文本时候需要注意,将^M删除.在linux中^M等同于\r 比如: cat dos_file | tr -d "\r" > linux_file
9: 问:
在Linux下,有两种方式设置ip地址
静态方式: 1.用ifconfig命令(暂时修改)2.直接修改配置文件/etc/sysconfig/networking/ifcfg-eth1指定静态ip
dhcp方式:修改配置文件/etc/sysconfig/networking/ifcfg-eth1 指定ip获取方式为dhcp
那如果我想在这两种方式之间进行切换,应该怎样实现了?除了修改上述配置文件外有没有其他的方法
答:
或者写三个配置文件,一个是静态的ifcfg-eth1.static、一个是dhcp的ifcfg-eth1.dhcp、一个就是ifcfg-eth1了。 想使用静态的,cp ifcfg-eth1.static ifcfg-eth1 service network restart 想使用动态的,cp ifcfg-eth1.dhcp ifcfg-eth1 service network restart
10:
SSH显示中文乱码的解决方法
(1) 打开/etc/sysconfig/i18n 设置为: LANG="zh_CN.GB2312" LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN" SUPPORTED="zh_CN.GB18030:zh_CN.GB2312:zh_CN.UTF-8:zh:en_US.UTF-8:en_US:en:ja_JP.UTF-8:ja_JP:ja" SYSFONT="lat0-sun16" SYSFONTACM="8859-15"
其中LANG="zh_CN.GB2312" 是必须的(如果你不想让中文乱码的话!!!) 其它的可以按照自已的需求来改变。 (2) 打开smb.conf 添加:
display charset=cp936 unix charset=cp936 doc charset=cp936
11: MBR简单构成
硬盘的前512Byte,MBR是前446byte,447-510共计64个字节是DPT(Disk Partition Table)分区表.因为总共只能有4个分区,每个分区占用16个字节,4个分区就是4*16=64。最后2位是奇偶校验,校验这个MBR和DPT是否完整.
引导扇区在每个分区里都存在,但是我们常说的*主引导扇区*是硬盘的第一物理扇区。它由两个部分组成:即主引导记录MBR和硬盘分区表DPT
MBR(Main Boot Record)--“主引导记录区”位于硬盘0磁道0柱面1扇区
12:netstat命令常用的可选项:
选项 |
说明 |
-r或--route |
显示路由表 |
-a或--all |
显示所有连接信息 |
-t或--tcp |
显示TCP传输协议的连接状况 |
-u或--udp |
显示UDP传输协议的连接状况 |
-c或--continuous |
持续列出网络状态,监控连接情况 |
-i或--interfaces |
显示网络界面信息表单 |
-l或--listening |
显示监控中的服务器的Socket |
-n或--numeric |
使用数字方式显示地址和端口号 |
-p或--programs |
显示正在使用Socket的程序识别码和程序名称 |
-s或--statistice |
显示网络工作信息统计表 |
13:ACL
ACL可以对某个文件设置该文件具体的某些用户的权限,意思就是通过ACL可以对一个文件权限做扩展,可以不同的用户对某个文件有不同的权限。
语法: getfacl <文件名> 获取文件的访问控制信息
setfacl设置文件的acl -m 修改文件的acl -x 取消对文件的设置
setfacl –m u:用户名:权限 文件名 setfacl –m g:组 名:权限 文件名 setfacl –x 用户名 文件名 setfacl –x g:组名 文件名
大家新建一个文件,然后使用getfacl来查看这个文件 :getfacl file
一个文件的标准权限就这这样,没有ACL的情况下
现在我们把redhat用户加上一个RWX的权限:setfacl -m u:redhat:rwx file
和设置ACL前有哪些区别? 用ll看,权限后面有个+就可能是设置了文件权限,所以没必要没个文件都用gefacl 去看
在查看acl的内容时候,我们看见多了行,redhat 用户有了rwx的权限
有兴趣的可以测试.
然后我们用相似的命令把redhat组也加进去.给他RW的权限:setfacl -m g:redhat:rw file
现在我们取消redhat用户的权限:setfacl -x redhat file
我们发现user:redhat:rwx这一行已经没有了哈~
现在我们也取消redhat组的权限:setfacl -x g:redhat file
现在group:redhat:rw-这一行也没有了哈。
注意,撤消ACL操作: 对用户直接加用户名字就可以了 对组,在前面加g:组名
14:终端类型
由于在很多朋友对终端的概念一直不是很清楚,因此写了这个FAQ,希望能够帮助大家理解这些概念。不妥之处,还请大家来信指出。
Q:/dev/console 是什么?
A:/dev/console即控制台,是与操作系统交互的设备,系统将一些信息直接输出到控制台上。目前只有在单用户模式下,才允许用户登录控制台。
Q:/dev/tty是什么?
A:tty设备包括虚拟控制台,串口以及伪终端设备。 /dev/tty代表当前tty设备,在当前的终端中输入 echo “hello” > /dev/tty ,都会直接显示在当前的终端中。
Q:/dev/ttyS*是什么?
A:/dev/ttyS*是串行终端设备。
Q:/dev/pty*是什么?
A:/dev/pty*即伪终端,所谓伪终端是逻辑上的终端设备,多用于模拟终端程序。例如,我们在X Window下打开的终端,以及我们在Windows使用telnet 或ssh等方式登录Linux主机,此时均在使用pty设备(准确的说应该pty从设备)。
Q:/dev/tty0与/dev/tty1 …/dev/tty63是什么?它们之间有什么区别?
A:/dev/tty0代表当前虚拟控制台,而/dev/tty1等代表第一个虚拟控制台,例如当使用ALT+F2进行切换时,系统的虚拟控制台为/dev/tty2 ,当前的控制台则指向/dev/tty2
Q:如何确定当前所在的终端(或控制台)?
A:使用tty命令可以确定当前的终端或者控制台。
Q:/dev/console是到/dev/tty0的符号链接吗?
A: 目前的大多数文本中都称/dev/console是到/dev/tty0的链接(包括《Linux内核源代码情景分析》),但是这样说是不确切的。根据内核文档,在2.1.71之前,/dev/console根据不同系统的设定可以链接到/dev/tty0或者其他tty*上,在2.1.71版本之后则完全由内核控制。目前,只有在单用户模式下可以登录/dev/console(可以在单用户模式下输入tty命令进行确认)。
Q:/dev/tty0与/dev/fb*有什么区别?
A: 在Framebuffer设备没有启用的系统中,可以使用/dev/tty0访问显卡。
15:ssh 指定登陆用户,如何让ssh只允许指定的用户登陆
如何让ssh只允许指定的用户登录 方法1:在/etc/pam.d/sshd文件第一行加入 auth required pam_listfile.so item=user sense=allow file=/etc/sshusers onerr=fail 然后在/etc下建立sshusers文件,编辑这个文件,加入你允许使用ssh服务的用户名,不用重新启动sshd服务。 方法2:pam规则也可以写成deny的 auth required pam_listfile.so item=user sense=deny file=/etc/sshusers onerr=succeed 方法3:在sshd_config中设置AllowUsers,格式如 AllowUsers a b c 重启sshd服务,则只有a/b/c3个用户可以登陆
16:
日志远程备份小测
|
|
|
日志服务器:192.168.1.220【系统平台:Red Hat Enterprise Linux Server release 5.2 (Tikanga)】
测试机:192.168.2.206【系统平台:Red Hat Enterprise Linux Server release 5.3 (Tikanga)】
日志服务器:
1、编辑/etc/sysconfig/syslog:
SYSLOGD_OPTIONS="-m 0"
为
SYSLOGD_OPTIONS="-m 0 -r"
2、重启syslog服务,会发现UDP的514端口处于监听状态。
测试机:
1、编辑/etc/syslog.conf:
cron.* /var/log/cron
为
cron.* @192.168.1.220
2、重启syslog服务;
3、在crond处于启动状态的情况下,crontab -e
*/5 * * * * /usr/bin/free >> ~/free.log
4、逢5、逢10的时候,会发现/root/free.log在不断增大,但是/var/log/cron并没有任何的变化.
测试效果:
查看192.168.1.220的/var/log/cron,会发现:
Feb 8 16:20:01 192.168.2.206 crond[2328]: (root) CMD (/usr/bin/free >> ~/free.log)
Feb 8 16:25:08 192.168.2.206 crond[2341]: (root) CMD (/usr/bin/free >> ~/free.log)
Feb 8 16:30:01 192.168.2.206 crond[2345]: (root) CMD (/usr/bin/free >> ~/free.log)
17:
LINUX下的21个特殊符号 |
LINUX下的21个特殊符号
1. > 重定向输出符号。
2. >>重定向输出符号,但有追加的功能。
3. 2>错误重定向输出符号,覆盖原文件内容。
4. 2>>错误重定向输出符号,有文件内容追加的功能。
5. * 匹配任意字符。
6. ?匹配任意一个字符。
7. | 管道符号。
8. & 后台进程符。
9. &&l逻辑与符号。用法:命令1 && 命令2 表示如果命令1执行成功,继续执行命令2。
10.|| 逻辑或符号。用法:命令1 | | 命令2 表示如果命令1执行成功,不执行命令2;但如果命令1执行失败才执行命令2。
11.逻辑非符号。排除指定范围。
12.[x-y]表示一定的范围。
13.# 注释符。
14.” ” 双引号表示把它所包含的内容作为普通字符,但` ` $ \ ‘ ‘ 几个符号除外。
15.’ ’ 单引号表示把它所包含的内容作为普通的字符,无特殊例外。
16.$ 变量符。
17.\ 转义字符。
18.’ ’倒引号,表示它所包含的内容。
19.;命令分隔符。
20.< 重定向输入符。
21.()表示整体执行命令。
| | | |
17: linux下怎样查看硬盘型号和硬盘序列号
hdparm -i /dev/hda
18:netstat命令
| netstat(network statistics)主要用于检测主机的网络配置和状况, 可以查看显示网络连接 (进 站和出站)、系统路由表、网络接口状态。netstat 支持 Unix、Linux 及Windows 系统,功能也 是非常滴强大哈。 netstat 命令格式: netstat [可选项] netstat 常用的可选项: 选项 说明 -r 或--route 显示路由表 -a 或--all 显示所有连接信息 -t 或--tcp 显示TCP传输协议的连接状况 -u 或--udp 显示UDP传输协议的连接状况 -c 或--continuous 持续列出网络状态,监控连接情况 -i 或--interfaces 显示网络界面信息表单 -l 或--listening 显示监控中的服务器的 Socket -n 或--numeric 使用数字方式显示地址和端口号 -p 或--programs 显示正在使用 Socket 的程序识别码和程序名称 -s 或--statistice 显示网络工作信息统计表 | 19:
Apache2.0 的DSO功能简要说明:
- 编译并安装已发布的Apache模块,比如编译
mod_foo.c 为mod_foo.so 的DSO模块:
$ ./configure --prefix=/path/to/install --enable-foo=shared $ make install
- 编译并安装第三方模块,比如编译
mod_foo.c 为mod_foo.so 的DSO模块:
$ ./configure --add-module=module_type:/path/to/3rdparty/mod_foo.c --enable-foo=shared $ make install
- 配置Apache以便以后安装共享模块:
$ ./configure --enable-so $ make install
- 用
在Apache源码树以外编译并安装第三方模块,比如编译mod_foo.c 为mod_foo.so 的DSO模块:
$ cd /path/to/3rdparty $ apxs -c mod_foo.c $ apxs -i -a -n foo mod_foo.la
-
共享模块编译完毕后,必须在httpd.conf 中用 指令使Apache启用该模块
20:有关于DSO和Apache
Apache HTTP服务器是一个模块化的软件,管理员可以通过选择服务器中包含的模块进行功能增减。
1:模块可以在编译时被静态包含进 二进制文件,
2:也可以编译成独立于 二进制文件的动态共享对象(DSO)。
DSO模块可以与服务器一起编译,也可以用Apache扩展工具( )单独编译。
21: 关于安装源码安装php后,在启动apache时候报的一个错误,报错原因,解决方法。
bigb89: Hi, I am trying to install PHP and configure it to work with Apache. So far I have Apache 2 and MySQL 5 working just fine, but after intalling PHP I tried to restart Apache and I get the following error:(报错:Cannot load /www/modules/libphp5.so into server: /www/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied What's causing this error is the following line on my httpd.conf file: LoadModule php5_module modules/libphp5.so. Could anyone explain to me what's causing this error and how can I fix it? Thanks in advance!
rlee923: Hi, I assume you are using one of those linux with Selinux enabled. The problem is caused by the security system - (原因selinux), blocking it's access to libph5.so. (解决方法chcon -t texrel_shlib_t /usr/local/apache/modules/libphp5.so )This is the magic line of the code, change the path so it points to the directory where you've installed apache2 if necessary.
22:
理解端口,系统服务,系统进程概念
|
|
|
端口
计算机“端口”是英文port的义译,可以认为是计算机与外界通讯交流的出口。其中硬件领域的端口又称接口,如:USB端口、串行端口等。软件领域的端口一般指网络中面向连接服务和无连接服务的通信协议端口,是一种抽象的软件结构,包括一些数据结构和I/O(基本输入输出)缓冲区。
在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用于连接其他网络设备的接口,如RJ-45端口、SC端口等等。二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。
系统服务
在Windows 2000/XP/2003系统中,服务是指执行指定系统功能的程序、例程或进程,以便支持其他程序,尤其是低层(接近硬件)程序。通过网络提供服务时,服务可以在Active Directory(活动目录)中发布,从而促进了以服务为中心的管理和使用。
服务是一种应用程序类型,它在后台运行。服务应用程序通常可以在本地和通过网络为用户提供一些功能,例如客户端/服务器应用程序、Web服务器、数据库服务器以及其他基于服务器的应用程序。
系统服务的作用
(1)启动、停止、暂停、恢复或禁用远程和本地计算机服务。
(2)管理本地和远程计算机上的服务。
(3)设置服务失败时的故障恢复操作。例如,重新自动启动服务或重新启动计算机。
(4)为特定的硬件配置文件启用或禁用服务。
(5)查看每个服务的状态和描述。
进程
进程是指在系统中正在运行的一个应用程序;线程是系统分配处理器时间资源的基本单元,或者说进程之内独立执行的一个单元。对于操作系统而言,其调度单元是线程。一个进程至少包括一个线程,通常将该线程称为主线程。一个进程从主线程的执行开始进而创建一个或多个附加线程,就是所谓基于多线程的多任务。
系统服务和系统进程之间有些关系。有的进程要依靠系统服务才可以运行的。
系统服务和系统进程有的会打开一些端口,以取得某些功能。
"服务"是一种后台处理(或帮助)程序,主要是用来协调系统的某项或某些功能,以使系统更好用。进程是维持服务运行的程序组件,一个服务可能需要多个进程来支持,同样一个进程也可能同时支持多个服务运行。 |
23: |
sun官网jdk各版本下载链接
每次要找一个jdk的版本的时候, 总是在sun的官网转得晕头转向也找不到,其它网站的又不敢下,终于不知道在那里点到了archrive(档案库),记录下来,sun的各java产品的各个版本都全
| | |
|