shell脚本对于系统管理非常重要,不会写也至少要能读懂

脚本开头有个特殊的注释:#!  这个是标注脚本所要用的解释器。

如#!/bin/bash    #!一定要合用。

test、[ ]

test的参数非常重要,不然就看不懂脚本
0表示成立,非0表示不成立
类型检测

-e:文件名是否存在,exist
-f:是否为文件,file
-d:目录
-b、-c、-s、-p、-L

权限

-r、-w、-x
-u、-g、-k  suid 、sgid、sbit (就是特殊权限)
-s:是否为空白文件

比较

-nt:newer than
-ot:older than
-et:equal than

数值判断

-eq: equal
-ne: not equal
-gt:  greater than
-lt:   less than
-ge: greater than or equal
-le:  less than or equal

字符串判断

-z:是否为空字符串
-n:是否为非空字符串
=
!=

多条件判断

-a:and 2个或多个条件一起满足
-o:or    满足一个即可

shell脚本的默认变量和函数的默认变量

shell

   sh shell.sh                opt1     opt2     opt3
           $0                       $1       $2         $3

function

function printit(){…}
printit    1
  $0       $1

shell的$1是脚本后面跟的参数,而函数的$1是函数后面的参数,两者不一致

判断、循环语句,[]主要用在if里面

if […]; then

elif […];then

….

else

….

fi
-—————————————————–

case $ in

“”)

……

;;

“”)

……
;;

*)

…..
;;

esac
-——————————————————-
while […]  成立的话一直运行。
do

…..

done
-——————————————————-
until [….] 成立的话就不再执行
do

…..

done
-——————————————————-
for ((   ..;   ..;   …   )) 两个括号是因为shell里面的数值运算多是先定义才能用的,不定义的话就要用(())括起来
do                             #for的的条件是清楚的,而while是不清楚的

………..

done
-———————————–
for var in  .. .. ..
do

……..

done

脚本调试

sh -x sh15.sh 可以针对脚本一步一步执行,便于找出问题所在

sh -n sh15.sh  检查语法错误,没错误的话不会显示任何东西

正则表达式对于系统管理来说是必备的知识点,可以说是基础中的基础,本章只是很简单的介绍了一下。
第十章、第十一章的相关字符处理的内容多放到这边来了

字符串处理

grep、sed     取行
cut、  awk     取字段

cut:

echo $PATH | cut -d ‘:’ -f 3,5   以:为分隔符 区第3个和第5个字段
echo $PATH | cut -c 3-            从第三个字符开始取后面所有的字符

awk:

cut处理不了多个空格为分隔符的数据,awk则可以处理
awk命令格式:awk ‘ ‘

cat /etc/passwd | awk ‘BEGIN         {FS=”:”}              $3 < 10                   {print $1    “\t”     $3}’
                                    条件        以:为分隔符     只要第3个字段<10     屏幕显示 第一个和第三个字段
                                                                                                             第一个和第3个字段中间tab隔开

其中BEGIN 是为了能从第一行开始处理,不加BEGIN则从第二行开始处理

last | awk ‘{print    $1    “\t lines:”              NR                  “\t columes:”                NF    } ‘

                                                       tab+文字    awk在处理第几行                              每一行有多少个字段

grep:

last | grep -v ‘root’                   选择没有root的行(反向选择)
grep -n ‘[^g]oo’ test.txt            选择oo前面不含g的字符的行
grep -n ‘^[g]’ test.txt               选择有g开头的行

鸟哥基础第十二章 - leaf - ------坚持雅操------

 其中第二个很有意思:除了第一行其他多显示出来了。

grep -n ‘g.o’ test.txt            .代表有任意一个字符,必须有1个字符
grep -n ‘go*‘ test.txt            *代表有0个或多个重复的前面的字符。如g、go、goo、gooo等等
                                           .*就是0个或多个任意字符
grep -n ‘go\{2,5\}’ test.txt    代表有2个指5个o的字符
-————————
egrep -n ‘go+d’ test.txt         扩展grep命令,+代表1个或多个o
egrep -n ‘go?d’ test.txt         ?代表没有或者1个o
egrep -n ‘gd|good’ test.txt    选有gd或者有good的行  | 是或的意思,不是管道命令

sed

先看printf命令

printf   ‘       %10s\t                 %5i\t                %8.2f \n      ’                        `cat printf.txt`

                      10个字符+tab      5个整数+tab       8个整数2个小数点+换行        先cat,在printf

nl /etc/passwd | sed ‘2a test’           在第3行加入 test为内容的一行。2a就是在第二行下面一行
nl /etc/passwd | sed ‘2i test’            在第二行加入test为内容的一行。
                                                        2i就是在第二行上面加一行,加入后test就是第二行了

nl /etc/passwd | sed ‘2,5c test’         把第二至第五行替换为test

ifconfig eth0 | grep ‘inet’|   \
sed ‘   s                    /                ^.*addr:           /                             /           g’                 | sed ‘s/Bcast.*$//g’
         s表示替换      /格式     要替换的内容      /格式    替换为空    /格式   g表示结束

cat /etc/passwd | sed -e ‘4d’ -e ‘6c no six line’ > /tmp/test/passwd

-e表示在直接在当前命令行上处理
4d 就是删除第4行
6c 就是把第6行替换为 no six line

字符转换命令

unix2dos、dos2unix:文档格式转换。

dos2unix -n old new   n表示保留旧文件
unix和ms的字符格式是不一样的:

unix是$
MS是M$

鸟哥基础第十二章 - leaf - ------坚持雅操------

 

tr:替换、删除字符串

tr默认是替换命令

last | tr ‘[a]‘ ‘[A]‘                      :a替换为A

tr -d 删除字符

cat /etc/passwd | tr -d ‘:’      :删除:

col:tab转为空格

col -x

expand:tab转为空格,转成多少个空格可以自定义

enpand -t 4

join:2个文件,如果第一个字段一致,就粘成同一行,且第一个字段放在第一个

join -t ‘:’ /etc/passwd /etc/shadow

以:作为分隔符,比较第一个字段,
如root这一行:
2个文件的第一个字段都是root,所以就把2个文件的root这一行合并在一起,
并且把第二个文件的root删除,只保留第一个文件的root,并且放在最前面

/etc/passwd      root:x:0:0:root:/root:/bin/bash
/etc/shadow      root:$1$tl3LqaXl$7CJiLfD9fbWtPjDluR1TT0:15594:0:99999:7:::
join后                root:x:0:0:root:/root:/bin/bash:$1$tl3LqaXl$7CJiLfD9fbWtPjDluR1TT0:15594:0:99999:7:::

paste:2个文件的内容粘在一起。默认tab分隔

paste /etc/passwd /etc/shadow
paste后        root:x:0:0:root:/root:/bin/bash root:$1$tl3LqaXl$7CJiLfD9fbWtPjDluR1TT0:15594:0:99999:7:::

其他重要命令

排序命令

sort:排序

cat /etc/passwd | sort -t ‘:’ -k 3     以:为分隔符,以第3个字段进行排序

uniq:重复的仅显示一次

last | cut -d ‘ ‘ -f 1 | sort | uniq       以空格为分隔符,取第一个字段,进行排序,再把重复的删除只留一个

wc:就是对文件的字数、行数、 字符数进行统计

cat /etc/passwd | wc      显示字数、行数、字符数,其中行数不包括空行

split:拆分命令(很有用)

split -b 300k /tmp/termcap  /tmp/1/term           拆分

显示结果:terma  termb termc

cat term* >> termcap                                       合并

xargs:参数代换

把前面的结果作为参数给后面的命令用

cat “$accountfile” | cut -d ‘:’ -f1 | xargs -n 1 useradd -m

把前面的用户名,每次一位的取给后面的useradd命令做参数用
也就是
for ((i=1;i<=n;i++))

do

useradd -m f1

done

xargs -n 3 finger

-n 就是一次取3个参数,也就是 finger 参数1 参数2 参数3 。然后循环的取直到取完结束。

xargs -p finger

-p就是询问y 还是n

diff:以行为单位比较

diff /etc /tmp/test  

cmp:以字符为单位比较

cmp /etc/passwd /tmp/test

patch:打补丁命令

pr:打印

pr /etc/passwd

第十章

vi编辑器非常重要,分为3种模式

一般模式:可以查询、增删、替换字符等
编辑模式:增删、替换字符
命令模式:主要是参数设置、内容保存等命令
vi的操作记录多记录在~/.viminfo文件中

如果觉得太复杂,可以使用nano文本编辑器,很好用。
当然vi只针对命令行环境的时候。如果是图形环境,编辑的软件多了。

第十一章

bash shell 是通向系统管理的基础。是重点中的重点。
本章主要讲变量和shell环境设置,字符操作的相关命令放在第十二章一起讲

摘录
系统的shell分很多种,最重要的2种:/bin/bash  和 /sbin/nologin    

linux支持的shell文件:/etc/shells
ubuntu好像用/bin/false来代替/sbin/nologin的用途的

变量

变量书写规则:

变量赋值用=号,=号两边不能用空格:m=123
累加变量的内容:                                “$PATH”:/HOME
取消变量用 unset:                              unset m

export用于不同程序之间传递变量值,就是设置为环境变量

“”表示保持变量的内容
‘’表示把内容变为字符
··表示先执行··里面的命令再执行··外面的命令

大写变量为系统默认变量,小写变量为自定义变量。系统默认变量一般是${}表示
有些字符比较特殊,需要转义:前面加上\

变量的相关操作

查看环境变量

env 、set、export

设置环境变量

export 变量
declare -x 自定义环境变量

定义变量类型

declare -a 数组
declare -i  整数
declare -x 自定义环境变量
declare -r 变量设置为只读

变量赋值:

普通变量赋值:

m=123

数组变量赋值

m[1]=1
m[2]=2
m[3]=3

还有键盘赋值

 read -p “please keyin your name:” -t 30 name    

name就是变量名,read就是获取键盘输入,然后把内容给name

查看变量

echo $变量名      echo $PATH

取消变量

unset m

shell环境的相关设置文件

用户登陆时,bash shell会依次执行:

/etc/profile—>.bash_profile—>.bash_profile—->.bash_login—->.profile,最后执行.bashrc

/etc/profile

设置PATH、mail路径、history记录条目等

/etc/bashrc

每个用户初始设置是这个文件进行设置的,然后才是用户各自的.bashrc

/etc/profiled/*

设置bash的规范

~/.bashrc
前面的设置多可以在这个文件里面设置,而且生效
默认:

鸟哥基础第十章、第十一章 - leaf - ------坚持雅操------

 在后面加就好了
如:umask 022
特别说明一点:我用的fedora4里面有些命令大不了,这些命令都是/sbin里面的
查PATH发现/sbin不包含在PATH里面,添加一下即可
export PATH=$PATH:/sbin

-————————————————————————————————-

语言环境设置:
/etc/sysconfig/i18n

鸟哥基础第十章、第十一章 - leaf - ------坚持雅操------

/etc/man.config

设置man文档路径 
如:MANPATH /usr/man

.inputrc

用来定义按键的功能,是readline()函数库的配置文件

登录消息提示
/etc/issue:登录前显示的内容

鸟哥基础第十章、第十一章 - leaf - ------坚持雅操------

 /etc/motd:登录后显示的内容

鸟哥基础第十章、第十一章 - leaf - ------坚持雅操------

 

-————————————————————————————————-

其他

type:查看命令的类型:内部、外部命令
ulimit:给程序或用户配额
alias:设置别名
unalias:取消别名
history:查看历史命令

history  3    列出最近3条命令
history  -w  把当前历史命令写入~/.bash_history中
!5               执行history中的第几条命令
!!                执行上一条命令

数据流重导向

>      覆盖
>>    累加到后面
<      文件输入
<<     结束的输入字符
2>     错误输出,覆盖
2>>   错误输出,累加
例子:

cat > catfile < somefile   

把somefile导入进来
用cat读取somefile文件
然后导出到catfile文件
< 比 > 优先处理

cat > catfile << eof

输eof的时候结束导出

;、&&、||、|

;表示一个程序一个程序执行
&&:表示前面的命令没有错误后再接下去执行
||:表示前面的命令错误后执行后面的程序

|:表示对前面的处理结果再处理。

EIGRP

能同时提供多种网络层协议的路由选择。
EIGRP通过hello包建立邻居关系。

邻居关系的三个条件:

收到hello包或者ack
相同的as号
相同的度量

度量包括:

带宽(默认)
延迟(默认)
负载
可靠性
MTU尺寸

建立邻居关系时,会发送整个路由表。之后只发送变化的部分
EIGRP通过RTP来传输,RTP是先用组播更新,再和没联系到的用单播更新。16次单播后宣告失效。
组播地址:224.0.0.10

EIGRP跳数:255
EIGRP有3张表:邻居表、拓扑表、路由表
EIGRP没有像ospf一样有区域0要求。

EIGRP分为内部路由(AD=90)和外部路由(AD=170)

EIGRP和RIPv2支持不连续子网的自动汇总,所以默认时图7.1是不通的。

因为172.16.10.0/24和172.16.20.0/24多汇总成172.16.0.0/16,所以路由器就把数据发回原路了。

EIGRP相关命令

(config)#router eigrp 10
(config-router)#network 172.16.0.0
(config-router)#network 10.0.0.0

其他还有

(config-router)#maximum-paths 6                   最大负载均衡链路支持6条
(config-router)#metric maximum-hops 255     最大跳数支持255
(config-router)#passive-interface s0/1             不发送或接收路由信息
(config-router)#no auto-summary                   不自动汇总

再发布命令

(config)#router eigrp 10
(config-router)#redistribute rip metric 10000000 20000 255 1 1500
(config)#router rip
(config-router)#redistribute eigrp 10 metric 1

验证命令

#show ip eitrp neighbors
#show ip eitrp topology
#show ip route
#show ip route eigrp                只显示eigrp项目

故障诊断命令

debug eigrp packet                  显示hello包数据
debug ip eigrp notification        网络变化(出错)时,显示变化的信息

OSPF

ospf一定要规定一个主干区域(区域0),然后其他区域必须有一个接口和主干区域链接。

ospf只能在代价相同的链路上实现负载均衡,而eigrp可以在不同代价的链路上实现负载均衡
路由器最好配置环回接口lo。这样就可以指定DB路由器

配置命令:
(config)#int loopback 0
(config-if)#ip address 172.16.10.1 255.255.255.255    要保证每个路由器的环回接口多是独立网段。

邻居和邻接

邻居:只要2个路由器有连接,就是邻居关系。

  hello包发送地址:224.0.0.5

邻接:建立邻居关系后,若发DBD包(用于选DB),则选好DB后就表明建立了邻接关系。

  建立邻接关系后,发LSA(链路状态通告),交换路由更新数据,共享路由信息。
  备注:只有DR和BDR和Dother建立邻接关系,Dother之间不能建链接关系,只能建邻居关系。
  参考:OSPF的邻接关系是怎么建立成功的
            OSPF两台路由器之间建立邻接关系过程

OSPF命令

(config)#router ospf 12         #12只是ospf的标识,跟区域没有关系,随便标多可以
(config-router)#network 192.168.10.0    0.0.0.255          area 0  
                                                           子网掩码反码      设置区域0

在发布命令

(config)#router eigrp 10
(config-router)#ip summary-address eigrp 10 192.168.10.60 255.255.255.224
(config)#router ospf 1
(config-router)#area 1 range 192.168.10.64 255.255.255.224

查看命令

show ip ospf                          ospf相关信息
show ip ospf interface f0/0    某个接口的ospf信息
show ip ospf database          查看路由器各个接口的ID和相邻路由器的ID
show ip ospf neighbor           查看邻居和邻接信息,这样DR和BDR也会显示出来

调试命令

debug ip ospf packet              显示hello包的收发
debug ip ospf hello                 显示hello包的收发,比上面的详细
debug ip ospf adj                    用于查看选举DR、BDR过程

DR的选举

DR的选举主要看优先级和IP的大小
优先级:

默认为1,越大就越能当DR,0就只能当Dother
(config-if)#ip ospf priority 0

IP的大小可以通过lo来设置

补充及实验:待续

第九章主要是tar,gzip,bzip,dd,cpio命令,都是系统资料备份的重要命令。
一般压缩命令和tar一起用了,所以就看3个命令就好了

tar:

tar -cvf /tmp/a.tar  /home/abc   :打包/home/abc这个目录,命名为a.tar,并放到/tmp下面
tar -xvf /tmp/a.tar  /home          :把a.tar解压到/home目录下
gzip压缩   tar -zcvf
bzip压缩   tar -jcvf

将某个目录排除之后再打包
tar –exclude /home/abc/a -cvf /tmp/a.tar /home/abc

dd:

用于系统备份比较多,功能很强大
备份分区   dd if=/dev/sda1 of=/mnt/sdb1/abc

cpio:

也是用于系统备份,数据备份。
备份:find /etc | cpio -o > /home/etc.cpio
还原:cd /etc | cpio -icduv < /home/etc.cpio

摘录

硬盘的构造:硬盘片、磁头、机械臂

鸟哥基础第八章 - leaf - ------坚持雅操------

 

上面的盘片就是硬盘片,能当镜子用
右下三角形的就是机械臂
机械臂头上就是磁头,很小很小,是个芯片
左下是磁铁,应该是操作机械臂用的

物理扇区是硬盘片上的最小存储物理量,是低级格式化而成的,包括柱面、磁道、扇区都是低级格式化而成的
传统物理扇区是512B的,现在改为4KB了
逻辑块是高级格式化后系统操作的最小存储单位,只能是512B的倍数

文件系统

高级格式化的时候进行文件系统的选择。文件系统就是对磁盘上的数据如何组织的一种方法。
就是如何存、如何找(取)的方法。

ext2文件系统会有2个区域。inode表和块区域

inode表是解决如何找的问题。
块区域就是负责存放

inode表存放:文件的属性、文件内容的位置
块区域存放:实际内容
这里要说一下目录的块区域:

目录(文件夹)的块区域是存放的是该目录内的文件的名称和文件存放位置
名称、位置、内容是对应的,这就是目录最重要的功能:关联性

注意一点:linux下也不是不要磁盘整理。linux的磁盘整理就是全部复制出来再格式化再复制回去就可以了。

查看inode和块的信息命令:dumpe2fs

这个命令是管理员命令,放在/sbin下
sudo dumpe2fs /dev/sda1

鸟哥基础第八章 - leaf - ------坚持雅操------

 

文件系统的操作命令:

df:查看分区的容量等情况

df -h:df默认单位为KB,-h后默认已GB为单位
df -a:列出所有分区,包括虚拟的/proc分区
df -T:就是显示分区的文件系统类型,如ext3、ntfs等等

du:列出某个目录的文件清单和所占容量,默认KB

du :仅列目录名称和目录的容量
du -a:列目录名称和其下的文件及容量
du -s:仅列总量

关于连接数

mkdir 1
ls -ld
drwxr-xr-x  3 qqq qqq 4096  9月 13 14:20 .
ls -ld 1
drwxrwxr-x  2 qqq qqq 4096  9月 13 14:20 1
上面的3 和2 就是连接数,空目录连接数为2,多一个目录+1。
空目录的连接如下
.      当前目录
..     上一层目录

分区、格式化等命令

分区:fdisk、cfdisk
格式化:mkfs  

mkfs -t ext3 -L “演示” /dev/sda6

磁盘检查:fsck
改卷标:e2lable /dev/sda6 演示2

挂载命令

相关文件:/etc/fstab;/etc/mtab
/etc/fstab:系统自动挂载的设备
/etc/mtab:系统当前挂载的设备

挂载命令:mount
mkdir /mnt/abc
mount -t iso9660  /dev/cdrom /mnt/abc :t tpye 就是告知系统以iso9660系统格式来挂载和管理/dev/cdrom设备

mount -t exit3 -o rw,sync /dev/sda6 /mnt/abc : o参数很有用,可告知对设备的操作权限等
文件系统参数见P162,.P169

第六章有几个命令就放在这边了

chmod、chown、chgrp:选项  -R  

摘录

环境变量PATH更改:具体可看一下第十一章

普通操作命令

mkdir、rmdir:其中mkdir -m 755 test  可更改文件夹权限
pwd:显示当前位置
ls: -a 隐藏文件也列出来。-l 列出包括属性等详细信息
cp:

-a 全部复制,包括属性、子目录等
-l   硬链接   -s 软链接   cp -l 相当于 ln;   cp -s  相当于 ln -s
-u 比源文件新才复制过去

rm : -r 递归
mv :-u 比源文件新才复制过去

查看文件命令

cat:cat -n 显示行号      nl 也是显示行号
tac:从最后一行开始显示
more:查看时只能往下翻
less:查看时能上下翻
head:head -n  20  查看前20行
tail:查看最后N行
od:查看二进制文件,挺有用的

touch:建空文件,另外还能改时间

时间有3种:

改了内容后会更新时间mtime    -m
改了文件属性后会更新时间ctime。这个时间是touch改不了的  -c
读了文件后会更新时间atime     -a

其他参数:
-t:  -t 201209121639
-d:-d 20120912

文件\文件夹权限

suid、sgid、sbit
文件权限除了rwx,还有sst
完整权限是:0000,sst由第一个数字表示   srwx srwx trwx
其中t表示该文件夹下的文件或目录只有管理员和他本人有权删除,其他人没有权删除
更改方法:chmod

文件的隐藏属性,只针对文件而非目录

文件的属性是指如文件大小,修改时间等等。而rwx是对文件操作的权利(权限),两者不一样
chattr   更改隐藏属性    attr:attribute
lsattr    查看隐藏属性

+:增加属性
-:减少属性
=:设定这个属性

属性有哪些呢
a:只能增加数据,不能删除
i:设置后不能对该文件做任何操作,包括增减数据、删除、改名、设置连接等等
S:改了什么立刻写入磁盘

搜索命令

which:which command  只查命令文件(相当于windows只查后缀为exe的文件)
whereis、locate

这2个文件是从指定的记录数据库里面查找的,所以速度比较快,缺点是当天新加的内容查不到
但你可以用命令updatedb更新数据库,这样再查就能查到了
更新命令:updatedb
数据库每日更新:/etc/cron.daily/slocate.cron
数据库存放位置:/var/lib/slocate/slocate.db
数据库存放位置更改:/etc/updatedb.conf里面改

find:

find功能很强大
find /home -name 123      在/home目录下查找名字为123的文件
find /home -prem +7000  在/home目录下查找有一项特殊权限的6、4、3、2、1就可以
find /home -prem -7000   在/home目录下查找有特殊权限的文件。必须是7000权限

find /home -perm -7000 -exec ls -l {} \;   -exec就是对搜索的结果进行进一步的处理

摘录

一个是文件属于谁 :user,group,other
一个是那些人对文件有哪些权力:read,write,execute

ls -l后第一个标识符含义:

-:文件
d:目录
l:链接文件,就是快捷方式
b:就是存储设备文件

ls /dev
brw-rw—-  1 root disk        1,   0 2012-09-10 07:32 ram0  内存就是属于存储设备,所以标识为b

c:就是输入输出信号的设备文件

crw-rw—-+ 1 root audio      14,   4 2012-09-10 07:32 audio 声卡做输入输出的设备,所以标识为c

s:就是用于网络数据链接

ls /var/run
srwxrwxrwx 1 root       root          0 2012-09-10 07:33 vmnat.1499 

p:管道文件,用于解决多个程序访问一个文件时遵守先来先用原则。

linux的文件目录,对于新手来说是让人困惑的一个知识点

鸟哥基础第六章 - leaf - ------坚持雅操------

 青蓝色的都是链接文件,不用管他
bin、sbin:存放命令文件,就是windows的exe文件
lib:存放库文件,相当于windows的dll文件
boot:存放内核和启动文件如grub
root、home:是存放用户文件的地方
dev:存放的是设备文件
cdrom、media、mnt:是用设备文件的时候必须要挂载,挂载的地方就是这2个地方
opt、usr:是存放程序的地方
proc:内存中的文件,反映硬件状况
selinux:专门的安全模块
srv:不太懂,说是存放某些服务所需要访问的数据目录
sys:和proc功能差不多。
tmp:临时文件夹
var:一直变化的文件,如log文件,每时每刻多在更新。数据库的文件也放在这里,网站源码也放在这里

vfs:
对所有文件系统的支持就是靠这个功能实现的。

摘录

yum更新源

参看:fedora17 yum更新源    里面有非常详细的说明
如163镜像:

http://mirrors.163.com/ 点fedora右边的使用帮助,里面有写使用说明

下载fedora-163.repo和fedora-updates-163.repo, 放入/etc/yum.repos.d/
运行yum makecache生成缓存

基本命令:

date   :  date +%Y/%m/%d       date + %H:%M
cal     : cal 2005     cal  12 2005
bc     
sync   :同步
reboot
halt
poweroff
shutdown:这边有几个选项还是比较重要的

shutdown -k +10 ‘将要在10分钟后关机’
shutdown -r  +10
shutdown -h +10
-—————————————–以上是分钟
shutdown -t  10      #10秒后关机
-—————————————–
shutdown -c            #取消关机

在线帮助:

man date   其中里面的数字含义和每段讲什么多应该了解一下,还有如何查询:/向下  ?向上 
info   date

忘记root密码

仅针对grub0.99

开机时按e,然后选kernel这一行再按e,进入编辑模式。在最后添加single,按确定。然后再按b启动
e->e->写入single->回车->b 启动

鸟哥基础第五章 - leaf - ------坚持雅操------

 以下为单用户界面

鸟哥基础第五章 - leaf - ------坚持雅操------

 然后更改/etc/shadow文件中的root密码

设备号

打印机  /dev/lp0-2
磁带机 /dev/ht0    /dev/st0     

磁带机对于大型数据存储非常重要

这里介绍的是fedora4的安装

selinux:安全限制比较严格,练习时还是关掉比较好
UTC:夏令时,不要勾选

关于多重启动,特别是先装了linux,再装windows的情况

装了linux后,用dd将主引导记录考出来,然后装了windows后,再写boot.ini将linux选项写上去就可以了
su
dd if=/dev/sda of=/home/123/mbr bs=512 count=1

这个版本有个好的一点就是直接包含了openldap的设置了

鸟哥基础第三章、第四章 - leaf - ------坚持雅操------