您的当前位置:首页linux学习笔记(系统管理篇)

linux学习笔记(系统管理篇)

2021-07-24 来源:爱问旅游网


很久前就打算把这些笔记写下来,由于种种原因一直没动,打算从今天起慢慢的把自己学习linux的过程写下来,对与错请CU的各位前辈指点,非常感谢牛海峰(JohnBull)老师,您是我的linux启蒙老师,俗话说“师傅领进门修行靠个人”,非常汗颜,我自打离开长城后就很少拿出精力来研究linux了,磕磕绊绊走过了一年,现在工作有了着落,静下心来把一年的心情整理一番,也把学习笔记拿出来,请CU前辈指正。

jinscan

linux入门: linux入门很重要,刚开始自学linux时懵懵懂懂好不容易装好了linux,大喜过后一脸无奈,这是哪跟哪呀~~~~~~里面的所有东西都不知道做什么用,自信对window有研究的我顿时手足无措,在给linux相了一天面后还是格掉了:(此后开始看书,慢慢的找感觉~~~~~~~~~~~一直到长城开始系统的学才自以为找到了感觉(也就是入门了)。自我评价:学习linux找感觉最重要,不管是看书还是自己安装后琢磨,坚持着看和做,肯定能成。如果仅仅看了两天书就认为入门了那肯定是自欺欺人。

Linux安装: 安装linux并不是很难,一般用光盘安装,安装时硬盘默认分为三个:引导分区;根分区;交换分区;分区弄明白了安装也就没什么障碍了。还有从硬盘安装,我当初从硬盘安装linux时颇费一番周折,幸亏有platinum和shadowmin老师的及时指点才得以顺利安上,再次感谢一下:)附硬盘安装原文:

http://bbs.chinaunix.net/viewthread.php?tid=572758&extra=&page=1

注:装linux是要写规范主机名。如host.abc.com

作服务器时系统CMOS时间应设为格林威治时间,即国际标准时间

linux基本命令:

挂接:单根文件系统使用多个设备的方法。

mount 设备 挂接点

dmesg | grep cd 此命令可看光驱在哪

( 当老师讲到这里的时候机器出了点故障,鼠标不动了,老师用了一个命令就使鼠标复活,第一次感叹linux的神奇啊~~~~~原来鼠标还可以重起(windows下还真没想过)

顺便把老师用的命令也抄了下来,呵呵多学了个窍门

重启鼠标命令: /etc/rc.d/init.d/gpm restart

解除挂接:umount 挂接点

软盘写法: /dev/fd0

SCSI硬盘写法:/dev/sd(a)括号内可以依次排为b cd…….

USB硬盘SATA硬盘系统都做SCSI硬盘对待。

SCSI光驱写法:/dev/scd(0)括号内为数字零依次后派

USB口的光驱也被认为SCSI光驱。

注:只有先解除挂接可移动设备才可拿出来

shell和文件系统

shell命令: unix中绝大多数都是外部命令。内部命令常用的有cd 很少

dos | shell

dir | ls

type | cat

cd | cd

md | mkdir

rd | rmdir

del | rm

copy | cp

ds | dear

attrib | chown charp chmod

此上命令除了cd 全是外部命令

最重要的命令: man 主题

主题可是shell命令也可是配置文件,还可是C语言函数,但有时shell命令和配置文件相同时打入命令怎么办呢,此时用参数

man 1.命令 2.系统函数 3.标准库函数 5.配置文件

例:查passwd 默认 man passwd 会查到

man passwd(1)命令

此时要用 man 5 passwd 可查配置文件

模糊查找(匹配)参数: -k 例 man –k PPP 和大多数unix中一样k为小写.

第二个重要命令: vi 文件名 (文本编辑器)

它有三种工作模式,缺省为”命令模式”

输入I 进入”插入模式” 按ESC回到命令模式

常见命令: 删一个字符 x

删除一行 dd

恢复操作 u

复制 yy (光标在哪一行将复制哪一行)

粘贴 p (粘贴在光标下面)

在vi重复输入一些命令时,在前面加数字 如插入100个a 则在命令模式下先输入100 按I输入一个a 回到命令模式则会有100个a被插入 5行东西重复3次则输入5yy3p 存盘退出用大写ZZ

“末行模式”常见是搜索字符.用”/”在命令模式下输入

“/”加字符串.在手册中也能用

“;”会引发末行模式.可用”;”跳到某一行”;”加数字可直接到那

“;”还可用与文件操作

“;q”可直接退出

“;q!”强制退出

“;w”存盘不退出

“;wq”存盘退出

“;recover”可在出现以外后修复文件

“;w 文件名”另存为

shell命令的敲法:

命令 参数1 参数2

参数定界:用到” ‘ ‘”(单引号) 用单引号括起的如’abc def ‘是告诉shell消除语法歧义

如要建一文件叫 jack’s daily 却不能用单引号了,此时得用”\\”应写为: 例如:

touce jack\\’s\\ daily

“\\”为转意字符,取消反斜杠后一个字符的特殊含义

文件系统

在unix中”.”无特殊含义

unix下区分文件类型的命令 file

unix下是靠文件的头部说明来区分文件格式,所以操作系统不会理会扩展名的

(exe文件头两字母是MZ)

mount 直接回车是显示当前所mount的状态

df 察看磁盘利用状态 磁盘分区

du –h +子文件名 检测文件系统子目录所占空间

pwd查看当前子目录

unix下一个文件可以不可读而可执行,对于子目录而言x就是另外一层含义了,称之为检索。对子目录而言r就是列表权

(经验:不要安装基于文本界面的多媒体应用程序)

如何修改权限

修改属主: chown [-R] 新属主 文件

-R: 将文件夹中的所有文件也更改掉

修改属组: charp [-R] 先属组 文件

修改权限: chmod [-R] 新权限 文件

新权限有两种表示方法:

(1) 直观: 如 rw-r—r—

数字 6 4 4

110100100

(2)字母法: 如 rw-r--r--

u g o

修改文件的访问权限不必非得是root,文件属主也可以

windows文件权限策略是ACL,侧重与灵活性; unix文件系统策略是权限位,侧重用效率;

linux所有权限都放于一个16位的短整数里

linux特有功能(ext2 ext3所体现的):列出所有权限命令:lsattr

设置特殊权限: chattr

连接:

硬连接:硬连接本质使一个文件有两个文件名和windows不同windows中文件属性

和文件名是放在一块的,而linux文件名仅是文件名

命令:ln 原文件名 新文件名

硬连接有两限制:(1)不能给子目录建硬连接

(2) 不能跨文件系统建硬连接(即不能跨分区)

在unix下删除一文件的本质是断开一个硬连接,系统会将硬连接数减一,只要不为0则保留文件体。

符号连接:(路径跳转)

命令: ln –s 跳转去向 连接名

注:建符号连接得用绝对路径。写绝对路径此时可建成的在tem下看到的连接是红色的。“”后面指向的仅一个services但在当前目录即tem下却没有这个文件此时便出错了。

注: 符号连接可跨分区建立

shell

shell 使用: 在unix下常用的是bash

功能:(1)自动完成 按tab键支持路径,在参数位置上按tab会补齐文件名,按两

下tab键便可看所有系统命令。

(3) 命令历史:按↑↓ 可查看所打过的历史命令。注:在用户文件夹下有

个bash-histroy保存有上次使用的命令。

非shell功能, 虚拟终端功能:按alt+f1~f6切换

鼠标粘贴:左键选择右键粘贴,可跨终端。

*shell如何运行外部命令:

进程:一个正在运行的程序就是一个进程(不严密的解释)

派生:系统的所有进程都是由一个进程派生出来的

shell有一个父进程当接到一个命令时会产生一个子进程,而shell则进入休眠状态,等待子进程结束,子进程完后交给父进程一信息,父进程激活等待。

后台运行命令: 命令 &

作业控制:ctrl+z 把前台作业挂起(暂停)挂起后都会保存在内存中。

怎么知道有作业呢?用jobs命令

fg + 作业号 是把后台暂停作业调回前台

bg + 作业号 是把前台作业换到后台

shell的基本配置:

bash的基本配置是由配置文件组成的./etc/profile称之为shell的全局配置文件。

另外一个文件在个人的目录下 个人目录/.bash-profile

还有个文件在个人的目录下/etc/bashrc 是第二个全局配置文件,保存的是(函数别名等)在个人目录下也有个配置文件~/.bashrc

etc下的文件是全局文件,一经修改所有的用户设置都改了

shell的具体概念:

环境变量: 变量名=变量值 例: LANG=en 是设置语言为英文

LANG=zh-CN.GB18030是设置语言为中文

通过设置shell的变量来决定子进程继承什么样的值。

{变量名=变量值

export 变量名

可简化为 export 变量名=变量值 注:export 不能省略,另外此时定义的变量

是当前shell的值,一旦注销便没有了,想固化得修改profile文件

命令env 可查看所有环境变量里面有个path非常重要,它定义了shell命令执行的路径。

Linux下命令执行仅搜索path路径,不会搜索当前目录的外部命令,所以在当前目录下要执行当前目录中的命令需要加”./”命令。

3.引用变量的值: $变量名 例:export PATH= $PATH:/etc/xxx

例如:echo $LANG echo 回显命令 可察看LANG的值

例 export CMD =ls

$CMD –l 等于ls –l

shell管道与重定向

一个进程的缺省标准输入输出分为标准输入;标准输出;标准错误输出三个管子。

控制终端:缺省情况下进程的三个管子通向控制端

输入重定向:命名 < 文件名 解释:原来要从终端读取的命令改成从文件读取。

例如:cat < /etc/hosts 则cat读取的文件不是从键盘而是从hosts文

件,cat不知道所要读取的标准输入输出被换成/etc/hosts和cat /etc/hosts不一样,此时是cat直接读取hosts

输出重定向:(1)命名 > 文件名 原来要输出到终端的命令改成输出到文件

(此时叫覆盖式重定向)

(2)命名 >> 文件名

(追加式重定向)

例如: gcc 命令 0:标准的输入

1:标准输出

2:标准错误输出

解释linux最精简的一句话是:linux下一切都是文件。

管道:匿名管道,unix传统进程间通信。

写法: 命令1 | 命令2

命令2处经常出现的是more 或 grep

例如: cat /etc/services | grep ‘http’ 意思是包含有http的输出

磁盘的分区格式化

分区: fdisk -l 列出分区表

fdisk 磁盘而不是某分区 (/dev/had)

command :p 看分区

n 新建分区

d 删除分区

q 不保存退出

w 保存退出

生成文件系统(格式化)

mkfs (make file system)

mkfs -t ext2 /dev/hda5

mkfs -t ext2 –j /dev/hda5 挂接:mount /dev/hda5

:格式化成ext3格式

shell 脚本本身就是程序,是用shell命令构成的,小规模、结构化、模块化、程序设计。

命令: echo 输出信息用

read 输入信息 read+ 变量名

sleep 休眠 sleep+ 秒数

在终端上算数表达式写法: echo $ ((1x2x3))这是整数运算不能带小数点。

/ :除

% :余

shell脚本格式:

第一行必须是 #!/bin/sh

有三种结构 顺序结构 分支结构 循环结构

顺序结构

wait 命令 保证进程同步 等待一个子进程结束 多个并发就用多个wait

例如: #!/bin/sh

echo “1”

sleep 5&

echo “3”

echo “4”

wait

echo”5”

分支结构

if 判断 ; then T块

Else

F块

fi

判断 test语句

test 表达式 = 表达式]

[

表达式进行文件判断 -f 文件名(检测该文件是否存在且为普通文件

-d 目录名

-r 可读

-w 可写

-x 可执行

例如:

#!/bin/sh

echo “file”

read FileName

if [-f $FileName]; then

echo “yes”

else

echo “no”

fi

字符串比较 相等 串A =串B

不等 串A!=串B

-z 判断字符串是否为零 空为真 非空为假

数值比较: 大于 等于 小于 不等于

a > b $A –gt $B

a≥b $A –ge $B

a≤b $A –lt $B

a=b $A –le $B

a≠b $A –ne $B

逻辑比较: 条件A –a 条件B(与)

条件A-o 条件B (或)

!条件 (非)

例如:

#!/bin/sh

read MARK < /proc/sys/net/ipv4/ip_forward

echo $MARK

if [ $MARK = “0” ]; then

else echo “host”

echo “GATEWAY”

fi

‘ ‘ 反单引号: 如果反单引号后面有语句则将里面的语句运行完后将结果替换此处

例如:

#!/bin/sh

u=id –u

if [$u = ‘0’] ; then

echo “hello”

else

echo “permission denied”

fi

再例如:

#!/bin/sh

echo “username”

read userNAME

MARK = ‘cat /etc/passwd | grep 积极if [ -z $ MARE] ; then

echo “NO”

else

$userNAME:’‘

echo “YES”

fi

多分支结构

case 串1) 块1

;;

串2) 块2

;;

.

.

.

*)

esac

字符串 in

例如:

#!/bin/sh

echo “command”

read CMD

case $CMD in

start)

/etc/rc.d/init.d/named start

;;

stop)

/etc/rc.d/init.d/named stop

;;

estart)

/etc/rc.d/init.d/named stop

/etc/rc.d/init.d/named start

;;

*)

echo “usage : $0 {start|stop|restart}

;;

esac

*知识点: . 脚本 让shell不打开子进程,在当前shell进程中运行脚本

看脚本切忌一行一行的看,要一层一层的看,就像剥玉米.

Shell脚本

循环 1)当形循环

2)条件循环

while 判断; do

循环体

done

例如:

#!/bin/sh

i = 0

while [ $i –lt $n] ; do

j=0

while [ $j –lt $ (($i+1))] ; echo “\\*”

j=$(($j+1))

done

echo

i=$(($i+1))

done

do

定时循环 00:00:00: 1970-01-01 utc 称之为unix元年

data +%s 是取从unix元年至少过了多少秒

date +%H:%M:%S 显示时分秒格式

例如:

#!/bin/sh

intime = ‘date +%S’ –le $ [ (intime+5)] ; do

echo “.” ##echo后面加-n 输出就不回车了,横向输出

done

利用date命令可以方便的实现定时循环

shell风格的循环 for 循环 (枚举循环)

格式 for 变量名 in 值列表 ; do

循环体

done

##值列表:核心部分,一系列由空格分开的字符串

例如: #!/bin/sh

for n in asd 4r3 56h er34 657 tr ger ; do

echo $n

done

要自动下载列表中的东西编shell的

#!/bin/sh

cd /tmp/dl

for url in cat /etc/urls ; do

wget $url

done

>/etc/urls

补充知识: 参数传递

命令 参数1 参数2 …………

例如:

#!/bin/sh

n=$1

i=0

while ($i-lt $n); do

echo “xxxx”

ii= $ (($$+1))

done

$0 $0就是命令本身

编后:此处讲的都是基本的shell应用,老师推荐看《bash编程》

Linux系统管理

1. 用户管理

添加账户 useradd 用户名

passwd 用户名

groupadd 组名 usedel -r 用户名

/etc/group /etc/passwd /etc/shadow 三个重要文件

group 文件 格式: 组名:x :组ID:组成员

passwd文件 格式: 用户名:x:用户ID:组ID::用户目录:shell

用户在passwd文件中体现的组关系称为用户组属组,而在group组中体现的是额外组。

false:运行起来就是个恒假。正确利用false给用户,将false添加到/etc/false下用户名字后这样用户就被拒之门外。如mail用户 通过修改用户的shell来限制用户登陆提高网络安全性。

top命令:察看机器负载情况

which命令:查看外部命令的路径

top被弄成用户shell时切记在linux下可用,因在linux下top是安全模式的,而在其他unix中并不一定安全,通过敲击热键可能会打出一shell。

shadow文件 shadow里面的口令是散列,散列是不可逆的

批量添加150个用户 u001—u150

#!/bin/sh

i=1

while [$i–le 150] ; do

if [ $i -lt 10] ; then

uname =u00$i

else

uname=u$i

fi

useradd $uname

i = $(($i+1))

done

passwd 命令规定只能在终端上手动输入,只有用stdin参数便可解决

作业: 从一表中将已知用户名导入useradd

网络配置

linux 下有两套网络配置,第一套为BSD方式,另一套是linux方式。linux中高级网络功能只能用linux方式。

BSD方式:1.查看 ifconfig 网卡名 BSD中必须指定网卡名

注释:

collisions 冲突 txqueuden 发送包的长度

网卡工作模式 mii-tool 媒体无关接口

ethtool+网卡名 查看命令更详细(需要网卡驱动支持)

netstat –r 查看路由

查看网络连接状态

netstat -ant 查看TCP的所有网络连接

-anu 查看UDP的所有套接字

一条TCP连接会产生两个套接字,两台机器均开。

ARP -n -n意思是不要进行反解 不转成名字

查看DNS cat /etc/resolv.conf

2.配置IP

ifconfig 网卡名 ip地址

配置路由 route add -net 网络地址 netmast x.x.x.x gw 网关

route add -host 网络地址 netmast x.x.x.x dev 网卡

route del -net 网络地址 netmast x.x.x.x gw 网关

route del -net 网络地址 netmast x.x.x.x dev 网卡

缺省写法: route add default gw 网关

route add default dev网卡

静态ARP arp -s IP地址 MAC地址

linux 方式:

ip 命令

ip addr show 查看IP地址 简写为 ip ad sh

ip route sh 查看路由 简写为 ip ro sh

ip neigh sh 查看静态ARP 简写为 ip ne sh

ipv6中取消了ARP 改用ICMP

具体配置:

ip ad add dev ip地址/掩码长度

ip route add ip地址/掩码长度 dev 网卡

ip route add ip地址/掩码长度 via 网关地址

激活/禁止某网卡

ifconfig dev down/up

linux下的:

ip link set up dev eth0

ip link set down dev eth0

此设置都是临时的,固化网络配置,在linux下 主机名/缺省网关: 修改路径

/etc/sysconfig/network

如果修改主机名顺便把hosts文件也得改 /etc/hosts否则有时服务会启动时挂起死等~~~~~~~~~~~~~~~~

固化IP 地址 /etc/sysconfig/network-scripts下的ifcfg-网卡名

例如: /etc/sysconfig/network-scripts/ifcfg-eth0

bootprotocol= static ##如果用动态IP则改成DHCP

ONBOOT=yes ##启动时激活,设置思想:作为外网网卡应该为NO,因防火墙启动之前将网卡先期启动会有被攻击的危险

静态ARP固化

/etc/ethers

写法: mac ip 例如 : 01:02:03:04:05:06 10.0.0.2

(小知识点:

万用脚本:/etc/rc.local 不管什么命令只要加在此,下次开机后便会自动运行,相当于autoexec.bat。在用户登陆之前便已经运行,注:在此文件中加命令时不可阻塞,如果命令执行时间过长则加“$”将其弄到后台执行。

三.计划任务 在linux和unix下是cron服务来实现的,每隔一分钟检查一次任务列表。

/etc/crontab

crontab 命令 -l (list)

-e (edit)

写时间格式:时分日月周 命令

例如:

05 5 * * 1,3,5 ##每周一三五运行

技巧:计划任务可用”,”“_””/”给分开

如果计划任务不执行此时主要原因是路径不对,看crontab便可知,PATH写的便是,第二原因是终端:不能读标准输入和写标准输出,但可用重定向往文件中写可以,不能使用终端如果要修改crontab文件则需要先停止cron服务。

/etc/rc.d/init.d/crond stop

修改~~~~~~~~~~~~~~~~~

/etc/rc.d/init.d/crond start

linux配置: 四 top 命令详解&进程管理

top 命令查看系统的资源状况

load average 表示在过去的一段时间内有多少个进程企图独占CPU

zombie 进程 :不是异常情况。一个进程从创建到结束在最后那一段时间遍是僵尸。留在内存中等待父进程取的东西便是僵尸。任何程序都有僵尸状态,它占用一点内存资源,仅仅是表象而已不必害怕。如果程序有问题有机会遇见,解决大批量僵尸简单有效的办法是重起。kill是无任何效果的

stop模式:与sleep进程应区别,sleep会主动放弃cpu,而stop是被动放弃cpu ,例单步跟踪,stop(暂停)的进程是无法自己回到运行状态的。

cpu states :

nice: 让出百分比 irq :中断处理占用

idle:空间占用百分比 iowait:输入输出等待(如果它很大说明外存有瓶颈,需要升级硬盘(SCSI))

Mem: 内存情况

设计思想:把资源省下来不用便是浪费,如添加内存后free值会不变,buff值会增大。 判断物理内存够不够,看交换分区的使用状态。

ps命令 列进程。列出所有进程

ps ax :tty值为“?”是守护进程,叫deamon 无终端,大多系统服务是此进程,内核态进程是看不到的,例木马

看进程树,以树形方式现实进程列表敲 ps axf

init是1号进程,系统所有进程都是它派生的,杀不掉

ps axm :会把线程列出来

在linux下进程和线程是统一的,是轻量级进程的两种方式。

ps axu :显示进程的详细状态。

vsz:说此进程一共占用了多大物理内存。

rss:请求常驻内存多少

终止进程: kill pid 本质是协商退出!(并不是强制退出)

全: kill -信号 pid

kill –KILL pid 是强制退出。

例如编写一kill杀不掉的程序

#!/bin/sh

while true j do

echo –n “.”

sleep 1

done

#!/bin/sh

trap “”15 ##捕获15号进程,kill就是15号进程

while true j do

echo -n “.”

sleep 1

done

修改进程优先级:

nice 命令 每个进程都有优先权,权值越小优先级越高。

nice –调整值 命令 ##范围“-20~19”

linux图形界面的优先级并不是最高的,它仅是一进程

nice命令在root下可随意调整,在普通用户状态下只能调低不能提高,不过还是可以恢复回去的。

局限性:必须敲命令之前敲nice ,它无法更改已经运行的程序的优先级。

如果要更改已经运行的用 renice 调整值 pid

即在线调整。

killall 命令: 杀死一系列进程,即杀死一系列由一个相同命令产生的进程例如killall fam

killall是根据命令名来杀的,kill以pid 来区别。

在top 里面可以直接杀死进程,按“K“输入PID可杀

按“R“可调整优先级

BSDunix 定义了32个信号 linux定义了64个信号。

五 启动管理

启动顺序: BIOS  MBR -> 启动扇区

MBR : 扫描分区表看哪个是可启动分区,再将那个扇区放入内存。

GRUB有两种装法: 1. MBR 2.启动扇区

GRUB有两个基本技巧:

1. 单用户启动模式: 见到GRUB启动菜单时按“e“选”“kernel“打头的那一行,再按“e”,然后在/ rhg后面加空格+“1” 再按“b”便以单用户模式启动了,输入init 3便进入正常启动模式。

在单用户模式下可以更改root口令,有很大危险。

防护方法: 给grub加口令

vi /etc/grub.conf ##在timeout后添加一行

password=1234567 ##密码

使生效:敲grub回车 等待一会 再敲quit

2. GRUB—> linux内核 -> init进程 ->1.进程指令运行级

2./etc/rc.local

3.虚拟终端

init配置文件 /etc/inittab

里面有一说明 0 –halt

1- single

3- full mutiluser

5- X11

id:5:initdefault ##缺省进入5 si::sysinit:/etc/rc.d/rc.sysinit 本,即init进程所调用的

trap ctrl – alt –delete

X11模式

##系统启动以后调用的第一个脚

ca:ctrlaltdel:/bin/

在文字界面下敲init –q 来使配置 立即生效

注:屏蔽三键热启动是非常重要的

虚拟终端的添加/减少也在此修改(数量修改)

如果想把linux弄成指纹识别的替换掉getty和bgin即可。

六文件包管理

文件包有 RPM包 源码包 二进制包

rpm包格式: 软件名-版本.平台.rpm

在http://rpmfind.net几乎可以搜索到所有的rpm包

rpm包的安装: rpm - i 软件名.rpm

rpm -i –nodeps 软件名.rpm ##不考虑依赖关系的安装

检查某个rpm包是否安装用此命令: rpm –qa | grep 包名

删除已安装rpm rpm -e

强制删除: rpm –e –nodeps 软件名

源码包:

格式: 软件名-版本.tar.gz/软件名-版本.tar.bz2

在进行源码处理的时候都要将源码拷在此处:/usr/load/src

解包:

tar –zxf 名称 ##gz解压

tar –jxf 名称 ##bz2的解压

运用:

进源码包 第一步 ./configure ##配置

第二步 make ##编译

第三步 makeinstall ##安装

大多书软件都安装到了/usr/local下

二进制包:

大多数都给制成一可执行文件,直接运行即可,而大多数都要求在X11下安装

例:java虚拟机的安装 (不是开放源码的包)

GUI

linux下的图形界面和windows图形界面的区别有哪些

linux X是一协议,规定了unix下图形终端,至今为X11R6 用XFree86软件包来实现的,分为图形终端和图形主机,图形终端为X服务器

大写X回车便启动一个图形终端,监听6000端口

X协议是可以基于TCP工作的,也可不基于TCP工作

XFree86提供了一个完整的服务器和几个常用的基本程序

主机配置在系统设置->登陆屏幕->把XDMCP启用,注销一次

主机 netstat –anu 查看177/udp

终端上敲: X –query 10.0.0.1回车

如广播域中有好几台X主机则用X –broadcast

在文字界面想进如图形界面敲 init5

快捷键

ctrl + alt + “ +”

“-”可动态调整分辨率

ctrl + alt + “←”可强制退出图形界面,在linux下X也仅仅是一个进程。

ctrl + alt + “F1~~~F6”回到文字界面

8硬件管理

查看CPU类型: /proc/cpuinfo

查看pci设备: lspci 表中能看到但linux不一定能驱动

查看usb设备: lsusb -v 显示详细列表,甚至电压都有

设备驱动情况: dmesg

在proc目录下有很多常用命令,在此还有以进程号为名的目录,可在目录中查看进程路径,在纯unix中仅有以进程名的子目录,在linux中多些系统配置

9.磁盘配额

基本要点:1.针对某个分区(ext2、ext3、reiser、…fat不支持)2.对于块的使用/文

件个数限额

步骤:1.不考虑限额情况下把分区挂好

2.进入挂接点 做 : 目的: 对u1限10M 1000个文件。

对两个文件 touch aquota.user aquota.group 加个“a”即高级

将两个文件属性改成600 chmod 600 aquota.user aquota.group

3.修改etc下的fstab vi /etc/fstab

在hda5这一行的defaults后面加一逗号写上usrquota,grpquota ##基于用户和组的限额。

4.重新挂接该点 mount - o remount /home ##不关机的前提下重新挂接一次

5.启用限额 quotacheck –u –g /home ##意思是启用之前检查此点的使用情况(经验:做限额要拿新分区来做)

quotaon -u –g /home(前五步是一次性的做完即好)

6.设置限额 edquota –u u1 回车后出现一表

解释表:

block – 以块为单位,已用了多少

soft/hard 软/硬限额

inodes 文件实体

修改后存盘退出即可。

edquota命令还有一种非交互性的

edquota –p 原型用户 -u 用户名 ##即将原型拥护的限额复制给新用户。

10.日志管理

1./var/bg/messages 此为主日志文件。注:出现服务器异常时要去看日志文件,调试服务器失败第一反应应去查看日志,而不是重装系统

2.syslog服务 命令: logger 例如:logger hello 便向日志文件添加一行“hello”

日志配置文件:/etc/syslog.conf

格式: 消息分类 消息去向

来源.级别 /var/log/

常用技巧:就地打印日志 将日志写到/dev/lp0 行式打印机打印出去

*远程日志: syslog服务器

配置syslog服务器

例如: 10.0.0.1为syslog服务器 10.0.0.111 为客户机

步骤: 1.服务端配置

vi /etc/sysconfig/syslog

sysLOGD_OPTIONS = “-r –m 0” ## -r 意思是接受远程的日志

重起/etc/rc.d/init.d/syslog restart

2.客户端配置

vi /etc/syslog.conf

在消息去向处添加 @10.0.0.1

存盘退出重起服务

/etc/rc.d/init.d/syslog restart

(知识点:直接查看日志尾部: tail /var/log/messages)

日志服务使用的端口是:514/udp

syslog日志服务器端不能根据源地址过滤,为了防止外网向日志服务器写垃圾信息要在网络拓扑中解决,网关上做限制外网访问514端口。

因篇幅问题不能全部显示,请点此查看更多更全内容