RHCE学习笔记

RHCE学习笔记

 

RH033 Red Hat Enterprise Linux Essentials

 

一、Running Commands and Getting Help

1、设置系统时间

date -s 05/27/2013

date -s 13:12:00

 

2、The man Command

(1)格式

man passwd  = man1 passwd   :User commands

man 5 passwd                 :File format

man 8 lvm                    :Adminstrator commands

(2)man pages

/<keyword>:man中查找所有<keyword>

n/N:下一个/上一个

q:退出man

man -k <keyword>:查找所有包含<keyword>的命令

 

3、The info Command = web man

tab:movethe next link

n:下一小节

p:上一小节

u:上一层小节

s[<text>]:searchfor text

q:退出

 

二、Browsing the Filesystem

1、mountpoints

/media:floppy and CDRom

/mnt

 

2、Important Directories

/etc:systemconfig files

/boot:Kerneland bootloader

/dev:device

/usr:programs

/varand /srv:server data

/proc:systeminformation,是一个虚拟目录

 

3、Current Working Directory

pwd:Displaythe path

 

4、Copying Files and Directories

1)copy file

cp[option] file destination

cp/tmp/abc.txt /doc

cp –p/tmp/abc.txt /doc :保留所时间戳

 

2)copy directory

cp –r/tmp  /doc

cp  -r –p /tmp /doc:保留所时间戳

or

cp –a /tmp/doc

 

3)copy more file

cpabc.txt dd.txt /doc

 

5、Moving and Renaming Files and Directories

1)move or rename file

mv[option] file destination

mv/doc/aaa.txt /doc/bbb.txt  : rename

mv/doc/bbb.txt /tmp/aaa.txt

mv/doc/bbb.txt /tmp

 

2)move or rename Directory

mv jpgcalendar   :将目录jpg改为calendar

mv jpgdoc        :将目录jpg移入doc中

 

3)move more file

mv/doc/aa.txt /doc/bb.txt /jpg

 

6、Creating and Removing Files

1) Removing Files

rm[options] filenames

-i:interactive确认信息)

-r:recursive

-f:force

 

rmabc.txt = rm –i abc.txt

rm –fabc.txt

2) Removing Directory

rmdirjpg      :jpg必须为空目录

rm –r  jpg    :jpg可不为空

rm –f  jpg

 

3)Creating Files

touchfilenames

touch/tmp/aaa.txt

 

4)Createing Directory

mkdir/tmp/doc

 

5)Determining File Content

file[options] filenames)

filedoc/aaa.txt

 

6)Viewing an Entire Text File

i)cat显示文件所有内容)

cataaa.txt

cat –Aaaa.txt    :会出现换行符

cat –saaa.txt    :将2行以上的空白行合并为一个空白行

cat –baaa.txt    :显示行号

ii)less分页显示文件内容)

less aaa.txt

/text  – search for text

n      – next match

v      – open file in text editor

i      – insert mode

q      – quit

 

三、The bash Shell

1、wildcard通配符)

*      : zero or more characters

?      : any single character

[a-z]  : a range of characters

[^a-z]: all except the range除外)

 

lstest[1-2].*  : test1.txt test2.mp3

lstest[^1].*   : test2.mp3 test3.txt

2、 history历史指令)

history: 列出所有历史指令

!76    : 执行第76号历史指令  如:passwd–status user2

^2^1    :将上一个指令中的2改为1 :passwd –status user1

         ping 192.168.0.196

         ^196^1

         ping 192.168.0.1

3、Tilde~)

cd~  :回到当前用户的home目录

ce~user1 :回到user1的home目录只有root才有权限进入其它用户的home目录)

 

4、{}

touch{a,b}       : create file a and b

toucha{a,b}      : create file aa and ab

touch{a,b}.{1,2} : create file a.1  a.2  b.1 and b.2

 

5、Command output :在命令中输出其它命令的结果

``or$) : ``为键盘~下的`

echo “Hostname : `hostname`”

ehco “Hostname : $hostname)”

 

6、重定向 > >>  <

>  : 输出重定向覆盖 overwrite)

>>:输出重定向append)

<  : 输入重定向

 

0 :standard  input

1 :standard  output默认)

2 : standard  error

 

find/etc –namepasswd 1 > stdout   = find /etc –namepasswd > stdout

find/etc –name passwd2 > stderr

find/etc –namepasswd 2 > errs 1 > output :错误导出到errs,输出导出到output

find/etc –namepasswd > alloutput 2 >&1 : 错误和输出都导出到alloutput

find/etc –namepasswd &> alloutput : &表示0,1,2..

 

tr'A-Z' 'a-z' < .bash_profile : 将.bash_profile中所有大写字母改为小写字母

 

7、cut : 显示某列信息

-f :specifies field or column –指定字段或列

-d :specifies field delimiterDefault is TAB) –指定分隔符

-c :cuts by characters  –显示指定位置的字符

 

cat/etc/passwd

    root:x:0:0:root:/root:/bin/bash

    bin:x:1:1:bin:/bin:/sbin/nologin

    daemon:x:2:2:daemon:/sbin:/sbin/nologin

cut -f3-d: /etc/passwd

    0

    1

    2

cut-c4-8 /etc/passwd  –显示第4列到第8列的字符

    t:x:0

    :x:1:

    mon:x

 

8、sort :排序,但不改变文件内容

-r : 反向排列

-f : 不区分大小写

-u : 唯一,去重 unique

-t : 设定栏位之间的间隔符

-n : 按数值排列

-k : 按指定列排序

 

sort-ruf aaa.txt

sort-t: -k3 -n /etc/passwd

 

9、Pipes |

ls -l/etc | less

cut -f1-d: /etc/passwd | sort -r | less

 

10、mail

SendingMail:

mail -s "1st mail" user2 回车输入内容 回车 .一定在第一列,表示mail结束) Cc:回车发送

ReadingMail:

cat /var/spool/mail/user2

or

mail x离开: 邮件不删除,q离开:删除阅读过的邮件,将邮件移到~user2/mbox)

ls -l | mail -s "3rd mail" user2 : 将ls -l的内容用邮件发送给user2

 

11、xargs

catdelete_file.txt | xargs rm -f : 无提示信息的删除delete_file.txt文件中文件名所对映的文件

delete_file.txt的内容:

f1.txt

f2.txt

f3.txt

 

12、tee :资料分流

cut -f1-d: /etc/passwd | tee cut.file |sort | tee sort.file | less :将cut的内容导出到cut.file,然后排列,并将排列后的内容导出到sort.file中,并在桌面一面一面的显示

 

四、Users Groups and Permissions

1、User

less/etc/passwd

用户名:有无密码x有,空无) :

uid :gid : 说明 :home目录   :  默认shellu

user1:  x                 : 502 : 503 :      :/home/user1 :  /bin/bash

less/etc/shadow

用户名 : 有无密码$1$开头表示设定好密码,!!开头表示密码未设定)

user1  : $1$dg5H312o$z29/fGPRtpvnKltYZTCRg/ :15854:0:99999:7:::

 

2、Groups

less/etc/group

组名   : 有无密码: gid : 组成员

user1  : x      : 503 :

 

less/etc/gshadow

组名 : 有无密码 : gid : 组成员

dba  :   !     :     : oracle

 

3、File Security

-r :read           4)

-w :write          2)

-x :execute        1)

 – : no permission  0)

 

4、chmod

chmod[-R] mode file : -R表示将整个目录的文件设定为指定状态

mode:

   u : owner

   g : group

   o : other

   a : all

  

chmodgo+w doc

chmod-R ugo-r doc

chmod-R 754 doc

 

五、vi Editor Basics and Printing

1、Three Modes of vi

1)Command mode

2)Insert mode a or i,ESC退出到Command mode)

3)Extended mode:)

 

2、Cursor Movement

  Command mode :

      w: 下一个单词

      b: 上一个单词

      : 上一个句子

      ): 下一个句子

      {: 上一个段落

      }: 下一个段落

     

3、Entering Insert Mode

  a : append after the cursor

  i : insert before the cursor

  A : append to end of line

  I : insert at beginning of line

  o : open a line below在光标下方新增空白行)

  O : open a line above在光标上方新增空白行)

 

4、Change Delete YankCopy) and Putpaste): Command mode

                  Change       Delete   YankCopy)

Line          :    cc           dd        yy

Letter字母)  :     cl           dl        yl

Word          :    cw           dw        yw

 

p : 行paste在上方,单字则在光标后面

P :行paste在下方 ,单字则在光标前面

 

5dd : delete5 lines

5yy :copied 5 lines

5x  : delete 5 characters

 

u : 撤消上一个编辑操作 undo)

U : 行撤消,撤消所有在前一具编辑行上的操作

ctrl +r : 恢复,即回退前一个命令redo)

 

5、Searching for Text : Command mode

/text :向下查找指定关键字

?text :向上查找指定关键字

 

n :相同方向继续查找

N :相反方向继续查找

 

6、Saving and Quitting : ex mode

:w  : savingWriting)

:q  : Quitting

:wq :Saving and Quitting

!   : Forcing

 :w!  : Forcing Save

 :q!  : Forcing Quit

   :wq! :Forcing Save and Quit

 

7、Printing in Linux

1)system-config-printer :  打开打印机设置

2)lprlp) : 打印文件 

lpr abc.txt 

lpr –Pmylp abc.txt  :指定名为mylp的打印机打印

or

lp –dmylp abc.txt

 

3)lpqlpstat)  : 查看所有打印机的打印池 ,Queue地址为/var/spool/cpus

lpq  -Pmylp

or

lpstat

 

4)lprmcancel) :删除指定jobid的打印文件

lprm 2

or

cancel 2

 

5)lpmove : 切换打印机打印

lpmove mylp1-9 mylp2 : 将打印机mylp1中的jobid为9的文件切换到mylp2打印

 

6)lp:插队

lp -i17-q51 : 将jodid为17的文件的优先级设为51(默认为50)

disablemylp1 : 停用mylp1

/user/bin/enablemylp1 : 启用mylp1首先打印优先级高的文件)

 

rejectmylp1 : 不能向打印机mylp1的池增加打印文件

acceptmylp1 : 可以向打印机mylp1的池添加打印文件

 

7)Printing Utilities

enscript: Converts text to PostScriptps)

enscript abc.txt -p abc.ps

ggv : 查看ps or pdf文件

ggv abc.ps  orggv abc.pdf

ps2pdf: ps to pdf converter

ps2pdf abc.ps > abc.pdf

pdf2ps: pdf to ps converter

pdf2ps abc.pdf > abc.ps

mpage :将多页合并为一页打印

mpage -4 abc.ps > mpageabc.ps 4页到1页)

 

六、FileSystem In-Depth

1、ln : 创建快捷方式symbolior soft) Links单独的一个文件,指向目标)

ln -ssrcfilename objfilename

ln -stest testlink;

ls -l :可以查看link,

    ls -li Desktop/

ls -i :可以查看inode-no. inode-no对应inode-table相当于分区表)

 

2、Hard Links : 将多个的文件对应到一个inode-no(ls -i 的inode-no相同)

lndoc/doc1 backup

 

3、The Seven Fundamental Filetypes

- file

ddirectory

lsymbolic link

b blockspecial file如:/dev/sda1)

ccharacter special file如:/dev/mice 鼠标、键盘等)

p namedpipe(如:/dev/initctl)

ssocket如:/dev/gpmctl)

 

4、checking  FreeSpace

  df : 查看目录使用空间情况

  df -h

  df doc

  df -h doc

  du:查看目录中文件使用空间情况

  du -s:查看指定目录总共使用多少空间

  du -h /tmp

  du -sh /tmp

 

5、Removable Media

beforeaccessing, media must be mounted

beforeremoving, media must be unmounted

 

6、Mounting CD and DVD

Gnome/KDEAutomatically Mount /media/cdrom

mkdircdrom

mount/dev/hdc cdrom

ls -lcdrom

umountcdrom = eject cdrom

 

7、mounting USB media

对应设备文件:/dev/sdaX(linux将USB视为一个scsidevices)

Gnome/KDEAutomatically Mount /media/<Device ID>

mount/dev/sda1

 

8、Mounting Floppy Disks

mount  /dev/fd0 /media/floppy/

umount/media/floppy/

9、Formatting Floppy Disks

1) a low level format:低格

    fdformat /dev/fd0H1440

2) a filesystem

    mkfs -t ext2 /dev/fd0

    mke2fs /dev/fd0

    mkfs -t vfat /dev/fd0

 

10、tar:打包文件,但不压缩

1)打包文件

tar cvfarchive_name files….

  -c : creates a new archive

  -v : produces verbose messages:显示打包了的文件

  -f : archived_name is name of new file:f后面跟的是打包文件名

  -p : 保留原属性

  -z : 使用gzip压缩文件

  -j : 使用bzip2压缩文件

tar cvf~/doc.tar doc

tarcvfz ~/doc.tar.gz doc : 使用gzip压缩文件

tarcvfj ~/doc.tar.bz2 doc : 使用bzip2压缩文件

2)查看打包文件

tar tfarchive_name.tar:只显示清单

tar tvfarchive_name.tar:清单和详细信息

tarztvf arch_name.tar.gz :查看含gzip属性的tar文件

 

3)解压打包文件

tar xvfarchive_name.tar

  tar zxvf /tmp/etc.tar.gz /tmp

  tar zcvpf /tmp/etc.tar.gz /tmp

 

11、压缩文件

(1)gzip  gunzip

        -v : 显示压缩比

    -c : 保留原文件,新增压缩文件

     gzip filename:只保留压缩文件,原文件删除

       gzip abc.txt : 只剩abc.gz,abc.txt 删除

       gzip -vc abc.txt > abc.gz : abc.txt保留,该命令只能压综文件,不能压缩目录

     gunzip filename

       gunzip abc.gz

   

(2)bzip2  bunzip2

 

七、Configuring the bash Shell

1、查看Variable

set:查看所有变量

env: 查看环境变量

 

2、查看指定变量

echo$ORACLE_HOME

 

3、the PS1 Local Variable

PS1 :sets the prompt提示符)

    \d : today's date

\h :short hostname

\t:current time

\u:user name

\w:current working directory

\! :thehistory munber of current command

\$:shows $ or #root)

\l :theshell's terminal device name. ==tty<number>

echo$PS1

    [\u@\h \W]\$

PS1='[\u@\h \w \l \d \t \!]\$'

 

4、Aliases别名)

aliaslf='ls -laF'

 

nautilus:打开图形文件框

 

八、Advance Topics in Users,Groups and Permissions

1、/etc/passwd /etc/shadow and /etc/group files

/etc/passwd: User Database

/etc/shadow: Password Database,用User ID and Password以 MD-5 hash

/etc/group: Group Database

 

2、Changing Your Identity

passwdusername :只有root可以修改所有用户密码

passwd :修改自已密码

passwd–status username:查看密码状态

 

3、su

suusername : 切换用户,不切换环境变量

su -username : 切换用户,同时切换环境变量

su : 切换到root

su – :切换到root,同时切换环境变量

 

4、User Information Commands

whoami: 查看当前用户

groups: 查看当前用户属于哪些组

id : 查看用户详细信息

users :查看当前登陆系统的用户名

who : 查看当前登陆系统的用户名、登陆时间点、登陆地点

w : 查看当前登陆系统的用户名、登陆时间点、登陆地点、使用的指令、占用的CPU

last : 查看用户的历史登陆时间和reboot的记录

 

5、Default Permissions

DefaultPermissions for file is 666 ugo:rw-rw-rw-)

DefaultPermissions for directories is 777 ugo:rwxrwxrwx)

Defaultumask is 002

RootDefault umask is 022

File666 umask 002 = 664 ugo:rw-rw-r–)

root666 umask 022 = 644 ugo:rw-r–r–)

File666 umask 033 = 644 ugo:rw-r–r–)

 

6、Special Permissions特殊权限)

suid4): user    s or S  以文件所有者身分执行命令,而不是执行者本身的权限来执行

sgid2): group   s or S  以文件所在组身分执行命令

sticky1): other t or T  以文件所在组的other组身分执行命令

 

chmodu+s filename1 

  -rwxr-xr-x —>  rwsr-xr-x

chmodg+s filename2 = chmod 2755 filename2 2表示g)

  -rwxr-xr– —>  rwxr-sr-x

chmodo+s filename3

  -rwsr-xr-x —>  rwxr-sr-t

  -rwsr-xr– —>  rwxr-sr-T

chmod7755 filename4  第1个7表示4+2+1=suid+sgid+sticky)

  -rwxr-sr-x —>  rwsr-sr-t

 

 

 

 

九、Advanced Users of the vi Editors

1、File Repositioning文件中快速定位)

  G : go to last line in file

  1G : go to first line in file

  Ctrl+d : go down half a screen

  Ctrl+u : go up half a screen

 

2、Screen Repositioning屏幕中快速定位)

H : goto first line on screenhigh)

M : goto middle lin on screen middle)

L : goto last line on screenlow)

z+Enter: make current line first line on screen将光标所在行变为屏幕的第一行)

z-:make current line last line on screen将光标所在行变为屏幕的最后一行)

 

3、Filtering

   The output of a command can be placed in thefile : 将指令执行的信息插入到当前编辑的文件中

   The data int the file can be used as input :将文件内容当作命令的输入使用

   Examples:

   vi编辑文件时,在CommandMode下输入

   !!ls -l : ls -l的结果插入到光标所在位置

   !!date : date的结果插入到光标所在位置

   !}sort : 光标后的内容排序,也就是将文件内容当成命令的输入在使用

   !}fmt -w60 : 将文件宽度设为60

  

4、Search and Replace extended mode,也称末行模式last line mode—执行待定命令)

   :s/This/That : 将当前行中第一个的this替换为That

   :s/This/That/g : 将当前行中所有的this替换为That

   :1,10s/This/That/g : 将第1行到第10行中所有的this替换为That

   :1,$s/This/That/g : 将文件中所有的this替换为That. $表示文件最后面,%也是同样功能

   :.,.+10s/This/That/g : 将当前行开始+10行共11行)中所有的this替换为That.  +表示向下,-表示向上

 

5、Advanced Reading and Saving

   :r file1 : 将file1中内容输入到当前文件中

   :1,20w file2 : 将当前文件中1到20行内容写入file2中覆盖file2中原有内容)

   :1,$w file3 : 将当前文件中所有内容写入file3中覆盖file3中原有内容)

   :1,20w>> file4 : 将当前文件中中1到20行内容append到file3中

  

   同时用vi开启多个文件时:

   :n   :  move to the next file

   :rew :  rewind to the first file

   :n#  :  jump to the previous file, thustoggling between two files两个文件之间互相切换)

 

6、Configuring vi

   :set :  查看基本设备选项

   :setall :查看所有可以设定的设定选项,以no开头的表示没有设定

       nonumber : 表示没有设定启用行号,设定后变为number

       :set number       : 显示行号

       :set nonumber     : 不显示行号    = :set nonu

       :set ignorecase   : 表示设置不区分大小写

       :set noignorecase : 表示设定区分大小写 = :set noic 

       

       

 

十、Introduction to String Processing

1、head

  head file1 : 默认显示文件前10行

  head -n 15 file1 : 显示文件前15行

  head –lines 17 file1 : 显示前17行  

  head -12 file1 : 显法前12行

 

2、tail

  -f : ,持续显示,文件更新后立即显示

  tail file1 : 默认显示文件最后10行

  tail -n 15 file1 : 显示文件最后15行

  tail –lines 17 file1 : 显示最后17行  

  tail -12 file1 : 显法最后12行

  tail -f file1 : 文件更新后立即显示

 

3、wc字数统计)

  -l : 统计行数line)

  -w : 统计单词数word)

  -c : 统计字符数character)

  wc readme = wc -lwc readme

  cat /etc/passwd | wc -l : 查看系统用户数量

 

4、uniq去掉文件中相邻的相同的行)

  -c : 查看重复的行有多少

  uniq filename

  uniq -c filename

  所以,可以先sort后,再uniq

  sort filename | uniq = sort -u filename

 

5、Other String Processing Tools

    1)paste: 将多个文件的内容合并到一个文件中

      paster file1 file2 file3 > merge2  : 水平合并

      =

      cat file1 file2 file3 > merge2     : 垂直合并

    2)tr : 字符转义器

      tr 'A-Z' 'a-z' < .bash_profile :将bash_profile中所有大写改为小写

     

      cat -A file4 | tr '$' '\r' >file4.txt  : 将file4中$转为\r

          cat -A file4 : 显示file4所有内容,包含段落标记

          unix2dos file4 : 将unix转为dos格式

 

6、Version Comparison with diff

  tail ABC abc : 显示ABC与abc文件

  diff ABC abc : 比较两个文件不一样   = sdiff ABC abc 以|表示不一样)

      1c1 : 表示第1行不一样

      <  :表示在第1个文件中ABC)

      >  :表示在第2个文件中abc)

     

7、Spell Checking with aspell拼写检查)

  aspell check letter   : 以/usr/share/dict/words中的内容为蓝本

  look exer : 查看以exer开头的单词

 

8、Formatting Tools

expandfile > test : 将file中的TAB转化为空格

fmt -u-w50 read   : -u格式化空格的规格1个空格),-w规定行宽

pr -5/tmp/words | more :  按打印机格式排版5列)

 

 

 

 

 

RH133 Red Hat Enterprise Linux SystemAdministrator

 

一、Installation

1、Device Node Examples

1)Block Devices512/1024 bytes)

/dev/hda: IDE Drives

/dev/sda: SCSI Drives

/dev/fd0: Standard floppy

ls –l /dev/sd*

2)Character Devices1 byte)

/dev/tty[0-6]: virtual consoles

/dev/st0      : SCSI tape drive

ls –l /dev/tty* | more

3)Symbolic links

ls –l /usr/ |grep ^l | more :列出开头为l的文件

 

2、Sample Partition Structure

MBR :512bytes

boot loader : 446bytes

parition table : 64bytes

magic : 2bytes

 

3、Configuring File Systems

Swapspace is typically 2x physical RAM

Typicalmount points : /boot /home /usr /var /tmp /usr/local /opt

 

4、Software RAID

RAID 0: High speed、unsafe  and Size is N

RAID 1: Low speed、 Safe  and Size is N/2

RAID 5: Highter speed than RAID1、Safer than RAID 0 and  N-1

 

5、LVM : Logical Volume Manager

PVPhysicalVolume) —> VGVolume Group) —> PEPhysical Extent)

 

6、Validating the Installation

dmesgand /var/log/dmesg

/var/log/messages

/root/instll.log

 

7、Post-Install Configurationsystem-config-?)

system-config-date  : 打开日期图形设置界面

system-config-display : 打开显示分辩率图形设置界面

system-config-network  : 打开网络图形设置界面

 

 

二、System Initiazation and Services

1、Boot Sequence Overview

BIOS —>MBR —>Kernel —>init

 

2、GRUB  and grub.conf

1)GRUB : the GRand Unified Bootloader

2)/boot/grub/grup.conf

default=0: 默认选择第1组one title)开机

timeout=5: 选择时间为5秒

passwordredhat : 将进入GRUB的密码设为redhatp进入)

或用grub-md5-crypt加密grub密码

password –md5 $1$94afadfpaT0/tkpLsrhDKgY

hiddenmenu: 隐藏开机选项windows or linux)

kernel/vmlinuz-2.6.9-5.EL ro root=LABEL=/ rhgb quiet

  ro : read only

  LABEL=/ : root的根目录位置.  =  root=/dev/sda2/ 所在分区)

rhgb : 以图形界面方式显示开机信息,如以文件显示刚删除rhgb

quiet : 不显示错误信息,如要显示则删除quiet

3)/sbin/grub-install /dev/had : 重新安装bootloader

4)edit grub

a :append.只能在ro root=LABEL=/ 后面追加命令,不能修改

grup append> ro root=LABEL=/ 1 :以Single usermode启动

e: edit.在选择需修改的行后,按e修改。

c:command-line

 

3、/etc/inittab :

id:5initdefault)—>/etc/rc.sysinit—>/etc/rc5.d/* /etc/rc.local) —>/sbin/mingetty—>/etc/X11/prefdmifis 5) or Text Modeis not 5)

 

4、Run levels

0 : Halt关机Do not set initdefault to this)

1 :Single user modes,only the root can be logged on,Used to perform Mantenance

  run level 1 : init —> /etc/rc.sysint—>/etc/rc1.d/*

run level S : init —> /etc/rc.sysint

run level emergency : init —> some /etc/rc.sysint

2 :Multi-user,without NFS networking

3 :Full multi-user modeIncludes networking)

4 :Userdefinable,but duplicate of runlevel 3 by default默认与3相同)

5 :X11includes networking)

6 :RebootDo not set initdefault to this)

 

initnumber : 进入相应的run level,如xll下init 3,则进入textmode

runlevel: 显示前一个级别和当前级别.如5 3 表示从5到3

 

5、/etc/rc.d/rc<5>.d

/etc/init.d/httpdstart  : start http

/etc/init.d/httpdstop   : stop http

/etc/init.d/gpmstart    : start gpm鼠标)

/etc/init.d/gpmrestart    : restart = reload

/etc/init.d/gpmreload

/etc/init.d/gpmstatus

 

6、Controlling Services

1)default startup

ntsysv: 设置启动/停止的自动服务默认只是当前runlevel)

ntsysv –level35 : 设置在runlevel 3和5上的启动/停止的自动服务.

chkconfiggpm –level123 off : 在1、2、3的runlevel上关闭gpm鼠标)服务

ls –l/etc/rc*.d/*gpm

chkconfiggpm –list : 查看gpm服务在所有runlevel上设定情况

system-config-services: 图形界面下设置启动/停止的自动服务(只能设定345)

2)manually startup

service: 手动立即启动/停止服务不建议使用,建议使用/etc/init.d/?? start)

service gpm stop

/etc/init.d/gpm start

chkconfigtelnet offon)

system-config-services

 

7、System Shutdown

shutdown–h now

halt

poweroff

init 0

 

8、System Reboot

shutdown–r now

reboot

init 6

 

三、Kernel services and Configuration

1、The /proc Filesystem

/procis a virtual filesystem containing information about the running kernel

cat /proc/cpuinfo

cat /proc/meminfo

/procsubdirectories:

/proc/scsi/ 、 /proc/sys/ 、/proc/<PID>/

 

Echo “1” >/proc/sys/net/ipv4/icmp_echo_ignore_all: 禁用icmp包

将/proc/sys/net/ipv4/icmp_echo_ignore_all的内容设为1,禁用icmp包

Echo “0” >/proc/sys/net/ipv4/icmp_echo_ignore_all: 启用icmp包

将/proc/sys/net/ipv4/icmp_echo_ignore_all的内容设为0,启用icmp包

 

2、/proc/sys configuration with sysctl

 修改/proc/sys中的参数,只是临时有效,重启后失效

 Sysctl修改后,永久有效,会写入/etc/sysctl.conf中

 Sysctl –p :显示sysctl.conf中内容

 

3、System Monitoring and Process Control

Top :display snapshot of processes

gonme-system-monitor: display snapshot of processes图形界面下显示)

Vmstat: reports virtual memory stats

  eg : vmstat

us : user space |  sy : system call  |  id :idle  | wa : waiting

Free :summary of system memory usage

Renice: chang priority of a process

Kill :send system signal to a process

 

四、Filesystem Management

1、Managing Partitions

1)fdisk

fdisk –l/dev/sda : 查看sda分区

fdisk /dev/sda  : n –> 回车 –>回车–>输入大小 –>w

m :help

p : 查看分区表

2)partprobe : 重新初始化kernel的partition table(不用reboot)

 

3)mke2fs [options] device

dumpe2fs/dev/sda1 | more : 查看sda1分区的详细说明

 

-b : 设定Block size的大小,default为1024=1K, 最大为4K.

emke2fs –b 4096/dev/sda1

-c :check the device for bad blocks before creating the filesystem

-i : 设置每个inode的大小

emke2fs –i 4096/dev/sda1

-N : 设定inodes的总数量

emke2fs –N 20000/dev/sda1

-m : 设定分区上保留多少空间给super userroot),default to 5%

emke2fs –m 10/dev/sda1

-L : 设定分区的label

emke2fs –L data/dev/sda1

-j : createan ext3 journal inode and filesystemext3格式文件系统)

emke2fs –j/dev/sda1

 

2、Ext3 : journaling ofr ext2 filesystem

ext2转ext3 : tune2fs -j /dev/sda6资料会保存)

ext3转ext2 : emke2fs  /dev/sda1 重新格式化)

 

3、Filesystem Labels

e2label/dev/sda1 : 查看sda1的label

e2label/dev/sda1 /date : 设定sda1的label为/data

注意:不要改变sda1至sda5的label,未则可能造成不能开机

4、mount

mkdir/data

mount :查看所有挂载点的信息

mount/dev/sda6 /data

以label名来mount

mount-L /data /data : 将label为/data第一个) mount 到/data目录第二个)

 

mountoptions:

mount [-t vfstype] [-o options] device mount_point

-t : vfstypevfat ext2 ext3 iso9660 ) ,but notnormally needed

mount -t iso9660 -o ro,loop boot.iso /iso : 将boot.iso mount到/iso

-o :

     suid: suid or sgid file modes honored

ro : read only access

rw : read write access

Default option for the ext2/ext3 filesystem:

rw,suid,dev,exec,auto,nouser and async

mount-o remount,ro /data : 将/data目录重新mount为read only模式

mount-o noexex /dev/sda6 /data : mount后,禁止/data目录下文件的执行权限

 

 

5、umount

umountdevice | mount_point

umount/dev/sda6

umount/data

 

6、fuser

-v : 显示哪个所有者或服务正在使用指定目录

fuser -v /data

-k : killprocesses accessing the named file

-m : showall processes using the named filesystems

fuser -km /data

umount /data 当设备忙时,可以先fuser-km 后,umount)

 

7、Connectiong Network Resources

1)NFS

showmount-e ip : 查看指定ip的共享

showmount -e 192.168.0.144

mount ip:/shared/dir /mnt/nfs : 持载 共享目录

mkdir /mnt/nfs

mount 192.168.0.144:/var/ftp /mnt/nfs

ls -l /mnt/nfs

2)SMB

smbclient -L ip -N : 查看指定ip的smb共享

smbclient-L 192.168.0.165 -N

mount //ip/share_name /mnt/smb -ousername=account%password

  mkdir /mnt/smb

  mount//192.168.0.165/RHCE /mnt/smb -o username=administrator%123456

  ls /mnt/smb/

 

8、/etc/fstab  : auto mount

cat/etc/fstab

设备

挂载点

文件类型

参数

dump_freq

fsck_order

LABEL=/boot

/boot

ext3

defaults

1

2

tmpfs

/dev/shm

tmpfs

defaults

0

0

devpts

/dev/pts

devpts

gid=5,mode=620

0

0

sysfs

/sys

sysfs

defaults

0

0

proc

/proc

proc

defaults

0

0

/dev/VolGroup00/LogVol01

swap

swap

defaults

0

0

/dev/sdb1

/tools

ext3

defaults

1

2

 

dump_freq:是否备份(0不备份、1每天备份、2每2天备份…..)

fsck_order:自检顺序(0不自检、1第一个自检)和2(第二个自检)自检、如根分区为1则其它分区只能是2)

 

example:

cp /etc/fstab  /etc/fstab.bak

vi/etc/fstab

yy复制一行

p粘贴

修改为:/dev/sda6  /data   ext3    defaults    1   2

文件系统类型用mount查看

:wq

reboot

 

/etc/mtab: 当前挂载点记录

 

9、auto.master : 监控mount

1)设定auto.master文件

vi/etc/auto.master

增加:

/mnt/nfs   /etc/auto.nfs  –timeout=60  60秒无操作自动卸载,auto.nfs可自定义文件名)

:wq

2)设定auto.nfs

cp/etc/auto.misc /etc/auto.nfs

vi/etc/auto.nfs

新增

server1    -ro,soft,intr      192.168.0.144:/var/ftp

:wq

server1: 自定义名称

soft    : nfs故障时给使用者传回信息

intr    : 允许中断

3)杳看共享内容

cd/mnt/nfs

ls 无结果)

serviceautofs restart :启动auto.master服务

cd/mnt/nfs

ls 无结果)

cdserver1

ls 有结果)

mount可看到servier1r的挂载点)

 

10、ext2/ext3 Filesystem Attributes

1)lsattr: display file attributes

lsattr

lsattr/data

lsattr/data/abc.emp

2)chattr: changes file attributes

chattr+-)=attribute file

A : 不修改文件存取的时间

a : 只能append,不能修改以前的内容

d : 备分时,不备份该文件

i : 不能将文件删除和改名

j : 将文件的meta-data记录在ext3的journal内

S : 文件被修改后,立刻将内容写入到磁盘里否则先buffer)

example:

lsattr test

chattr +a test

lsattr test

cat > test   : Operation notpermitted

cat >> test  :可append

chattr -a test

lsattr test

 

chattr =aAS test  : 在test上设定a、A、S属性

lsattr test

chattr = test  : 取消所有属性

lsattr test

 

11、Virtual Memory

1)createswap partition

fdisk /dev/sda  :

 n 

回车

+100M  

t修改partition’s system id)

7刚建立,是最后一个)

L查看所有partition’s system id,82为swap)

82

p查看partition table)

w

partprobe让partition table立刻生效)

mkswap /dev/sda7  写入特定的swap识别标识)

vi /etc/fstab

/dev/sda7   swap    swap    defaults    0   0

:wq

  swapon -s 杳看swap启用状态)

swapon -a 启用所有swap分区)

swapon -s 杳看swap启用状态)

 

2)createswap file

dd if=/dev/zero of=/swapfile bs=1M count=100

dd:Convertand copy file

if:inputfile

/dev/zero:与/dev/null一样是一个伪文件,产生连续不断的二进制零流,写入人的输出会丢失不见. 而从/dev/zero读出一连串的null也比较因难,可通过od或16进制编辑器来做到.主要用来创建一个指定长度的初始化空文件。就像临时交换文件

of:outputfile

bs:blocksize

swapfilesize = bs*count = 1M*100 = 100M

ls -lh/swapfile

mkswap/swapfile  写入特定的swap识别标识)

vi/etc/fstab

/swapfile   swap    swap    defaults    0   0

:wq

swapon-s 杳看swap启用状态)

swapon-a 启用所有swap分区)

swapon-s 杳看swap启用状态)

 

12、Filesystem Maintenance

1)fsck: check filesystem

检查之前先umount,检查有问题就会copy到lost+found目录中

umount/data /data = /dev/sda6)

fsck -y/dev/sda6  :  -y 表示任何问题都回答yes

mount/data

 

2)sulogin:  系统出现严重错误时,系统会进入sulogin模式

实验:

vi/etc/fstab

将LABLE=/ 修改为LABLE=abc

:wq

reboot

出现错误,系统无法挂载根目录

ortype Control-D to continue):

输入root的密码

Repairfilesystem) 1 #   : 进入了sulogin模式

ls该状态下可能输入指令)

vi/etc/fstab   readonly mode)

将LABLE=abc 修改为LABLE=/

:wq!  报错,因为此时要目录的partition是readonly模式挂载)

:q!

mount-o remount ,rw /dev/sda2  : 将根目录/重新挂载为rw

vi/etc/fstab

将LABLE=abc 修改为LABLE=/

:wq!

reboot

 

13、Adding a Drive

实验:

增加10G硬盘一个

fdisk-l检查硬盘,未检测到新硬盘,重启

fdisk-l

fdisk/dev/sdb  输入n/p/1/回车/回车/w

fdisk-l

mkfs -text3 -c /dev/sdb1   //format

cd /

mkdirfujian

mount/dev/sdb1 /fujian

df -h

vi/etc/fstab

文件最后填加以下内容,让系统自动挂载

/dev/sdb1      /fujian      ext3   defaults   1  2

reboot

df -h

 

五、Network Configuration

1、Device Recognition

/etc/modprobe.conf : 为每个网卡定义别名

alias eth0 vmnics

 

2、ifconfig

将eth0的IP设为10.0.1.100临时有效)

ifconfig eth0 10.0.1.100 netmask 255.0.0.0 broadcast 10.0.1.254

 

3、ifup/ifdown : start or stop network interfaces

ifdowneth0

ifupeth0

 

4、Interface Configuration files

Locaktedin : /etc/sysconfig/network-scripts/

 

ls/etc/sysconfig/network-scripts/ifcfg*

cat/etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=nonestatic、dhcp)

HWADDR=00:50:56:A3:78:BC

ONBOOT=yes开机启动)

NETMASK=255.255.255.128

IPADDR=192.168.1.144

GATEWAY=192.168.1.254

TYPE=Ethernet

USERCTL=no

IPV6INIT=no

PEERDNS=yes

 

5、Configuration Utilities

(1)netconfigtext)

cd/etc/sysconfig/network-scripts/

lsifcfg*

rmifcfg-eth0

lsifcfg*

 

netconfig   : default is eth0

lsifcfg*

catifcfg-eth0

DHCP:

DEVICE=eth0

BOOTPROTO=dhcp

ONBOOT=yes

Static:

DEVICE=eth0

BOOTPROTO=static

ONBOOT=yes

NETMASK=255.255.255.128

IPADDR=192.168.1.144

GATEWAY=192.168.1.254

ifconfig

ifdowneth0

ifupeth0

ifconfig

 

设定指定网卡:

netconfig –device eth1  : 设定eth1

 

手动设定网卡:

vi ifcfg-eth0

DEVICE=eth0

BOOTPROTO=static

ONBOOT=yes

NETMASK=255.255.255.128

IPADDR=192.168.1.144

GATEWAY=192.168.1.254

:wq

cat ifcfg-eth0

ifconfig

ifdown eth0

ifup eth0

ifconfig

 

(2)system-config-networkGraphical)

neat and system-config-network都可打开网卡设置图形界面

图形界面设置网卡会产生不必要的文件

在sysconfig中查找关键字192.168.1.144的文件

grep -rl 192.168.1.144 /etc/sysconfig

/etc/sysconfig/network-scripts/ifcfg-eth0

/etc/sysconfig/networking/devices/ifcfg-eth0

/etc/sysconfig/networking/profiles/default/ifcfg-eth0

只需保留/etc/sysconfig/network-scripts/ifcfg-eth0就可以了

 

6、Binding Multiple IP Addresses

绑定少量IP:

必须以ifcfg-ethX:xxx形式设定文件

实验:在eth0上增加IP :192.168.1.156

cp ifcfg-eth0 ifcfg-eth0:0

ls ifcfg*

vi ifcfg-eth0:0

修改:DEVICE=eth0:0

IPADDR=192.168.1.156

:wq

cat ifcfg-eth0:0

ifconfig

ifdown eth0

ifup eth0

ifconfig

 

绑定大量IP:

以ifcfg-ethX-rangeX形式设定文件

实验:在eth0上增加10个IP :192.168.1.157-166

cp ifcfg-eth0:0 ifcfg-eth0-range0

ls ifcfg*

vi ifcfg-eth0-range0

修改:DEVICE= eth0-range0

删除IPADDR

IPADDR_START=192.168.1.157

IPADDR_END=192.168.1.166

:wq

cat ifcfg-eth0-range0

ifconfig

ifdown eth0

ifup eth0

ifconfig

 

7、Global Network Parameters

/etc/sysconfig/network

NETWORKING=yes | no

HOSTNAME=<fqdn by default>  —fqdn : short name + .+ domain name

GATEWAY=<gateway IP>

NISDOMAIN=<nis domain name>

 

8、Static Routes

    系统连接多个网段时,由kernel自动产生route

配置文件:

/etc/sysconfig/network-scripts/route-eth0

图形工具还会将设置写到: 

/etc/sysconfig/networking/devices/route-eth0

Display with:

route -n

netstat -rn

 

Manual set Route:

route add -net 10.0.1.0 netmask 255.255.255.0 gw 192.168.0.144

net:表示加入一整个网段

route-n

  reboot后失效,如要长期有效,则要写入/etc/sysconfig/network-scripts/route-eth0文件中.

   cd /etc/sysconfig/network-scripts/

   vi route-eth0 不存在,新增)

      10.0.2.0/24 via 192.168.0.144

10.0.3.0/24 via 192.168.0.144

10.0.4.0/24 via 192.168.0.144

       :wq

cat route-eth0

route -n

ifdown eth0

ifup eth0

9、Name Resolution

hostname : 查看主机名,

主机名存放位置:/etc/sysconfig/network

 

10、DNS

hosts文件与DNS

在/etc/nsswitch.conf文件中的设定是默认先搜索/etc/hosts,再查找DNS

将/etc/nsswitch.conf中的hosts:  files dns这行改为hosts:dns files则先搜索DNS

 

11、DNS Client configuration

/etc/resolv.conf

    defines which name servers to use

    servers arc checked in order listed

   

cat /etc/resolv.conf

serch domain.com        : hostname =simple name + domain namedomain.com)

nameserver 192.168.0.1  : DNS server

nameserver 192.168.1.1  : DNS server

 

ping server1时,自动为ping server1.domain.com

 

12、DNS Utilities

1)host: gather host/domain ifnormation

    host ns1.redhat.com   :显示ns1.redhat.comhas address 66.187.233.210

    host -a redhat.com    : 显示redhat.com主机上的DNS记录

    host -a redhat.com | grep'^[^;]'   : 过滤分号开头的行

 

2)dig: send queries to name server directly

    dig ns1.redhat.com : 显示redhat.com主机上的DNS记录

    dig ns1.redhat.com | grep'^[^;]'   : 过滤分号开头的行

    dig @ns1.redhat.com mx redhat.com| grep '^[^;]'

        在ns1.redhat.com服务器上查找domain为redhat.com的邮件服务器

        mx : 邮件服务器

 

13、Network Diagnostics

ping : network packet loss and latency measurement tool

traceroute 、mtr : displays network path to adestination

netstat : Multi-purpose network information tool

 

六、RPM and Kickstart

1、 RPM Package Manager

1)RPMComponents

    local database : /var/lib/rpm

    rpm and related executables

    package files

   

2)PrimaryFunctions

    install/remove

    query

    verify

    build

   

2、Installing and Removing Software

1)PrimaryRPM options

    Install : rpm -ior–install)  —-新旧并存

    Upgrade : rpm -Uor–upgrade)  —-升级旧版本,无旧版本则安装

    Freshen : rpm -For–freshen)  —-更新旧版本,无旧版本则不会安装

    Erase   : rpm -eor –erase)    —-删除

2)OutputOptions

    -v : 表示输出

    -h : 显示安装进度

   

3)Example:

   rpm -ivhsysstat-5.0.5-1.i386.rpm   : 安装iostat工具

   rpm -e sysstat                      : 删除sysstat

   rpm -Uvhftp://192.168.0.144/pub/RedHat/RPMS/sysstat*.rpm : 网络安装rpm包

   uname -r  : 查询kernel的版本

 

3、RPM Queries

1)InstalledPackage Options已安装)

    rpm -qa               : lists installed packages

    rpm -qf filename      : shows owning package从哪个包安装的)

    rpm -qi package_name  : general information列出已安装包的标准详细信息)

    rpm -ql package_name  : lists files in package

 

2)UninstalledPackage Options未安装)

    rpm -qip package_file.i386.rpm

    rpm -qlppackage_file.i386.rpm   : 列出rpm包的文件内容

 

4、RPM Verification

Installed RPM file Verification:

rpm -Va  : verifieds all installedRPMs against the RPM database

rpm -V package_name : verifies the installed package_name  against

the RPM database

rpm -Vp package_file.i386.rpm: verifies the installed package_name  

against the package_file

 

5、Other RPM Utilities and Features

1)rpm2cpio

rpm只能root能用,cpio所有用户可用

rpm2cpio sysstat-5.0.5-1.i386.rpm > sysstat.cpio

cpio -it < sysstat.cpio : 查看sysstat.cpio内有哪些文件,都是以相对路径格式,所以最好是放在单独目录中解压

mkdir sysstat

mv sysstat.cpio sysstat

cd sysstat

cpio -id < sysstat.cpio  : 解压sysstat.cpio

 

2)rpmdb-redhat: 记录本rpm包依赖性的资料库

3)system-config-packages: 打开add or Remove Packages图形界面

 

6、Automatic Dependency Resolution(自动安装有依赖性的包)

1)条件:

用rpmdb-redhat资料库

有依赖性的包必须都在一个目录中

安装时加上-aid参数

2)Example

rpm -ivh rpmdb-redhat-4-0.20050107.i386.rpm

rpm -ivh xsane-0.92-13.i386.rpm

error : Failed dependencies

Suggested resoltions:

libieee1284-0.2.8-4.i386.rpm

sane-backends-1.0.14-6.i386.rpm

rpm -ivh xsane-0.92-13.i386.rpm –aid

 

7、Using kickstart to Automate Installation自动安装RHEL)

ks.cfg : 应答配置文件

Example:

system-config-kickstart

error:command not found

system-config-packages

打开add orremove packages,在system的administratortoos中选中system-config-kickstat,Update,

rpm -ivhsystem-config-kickstart-0.2.5.16-12.noarch.rpm

system-config-kickstart

打开Kickstart Configurator对话框,一定要设定root密码

SAVE /root/ks.cfg

也可以直接编辑/root/ks.cfg文件

vi /root/ks.cfg 

 

8、Network Installation Server网络安装服务器)

1)Server  : RedHat.iso

2)Server  : Shares the Redhat.isoDirectoryNFS、FTP、HTTP)

3)Clients : 放入ks.cfg 的软盘

4)Clients : 用RedHat.iso启动Linux安装

5)Clients : Linux安装界面的boot: 输入linux ks=floppy

 

七、User Administrator

1、/etc/passwd

finger username : 显示指定用户的信息

finger oracle

chfn -o value username : 给指定用户加上注解

 chfn -o 在中国 oracle

如果/etc/passwd最后一栏是/sbin/nologin,表示只能从ftp登陆

  ftp192.168.0.144  ftp/ftp登陆

如果/etc/passwd最后一栏是/bin/false,表示只能从发邮件,不能登陆

ls -l /etc/passwd 

-rw-r–r–,必须将read权限开放给所有用户,所有用户登陆时都要读取该文件

chmod 600 /etc/passwd

-rw——-

  user1登陆

error: id cannot find name foruser ID 501

 

2、Adding a New User Account

1)新增用户:useradd username

  edit /etc/passwd、 /etc/shadow 、/etc/group  组名=用户名)

  create andpopulate home directory

  set permissionsand ownership

 

useradd user3

cat /etc/passwd

user3:x:503:504::/home/user3:/bin/bash

cat /etc/shadow

user3:!!:15861:0:99999:7:::

cat /etc/group

user3:x:504:

2)修改密码 :passwd username

passwd user3

cat /etc/shadow

user3:$1$qOfqkG4g$CVBYtVokSSZXDEvxhAGBU/:15861:0:99999:7:::

 

3)批量建立用户 : newusers

新建newuser文件

vi newuser

格式:

用户名:密码:UID:GID:FullName:HOME:SHELL

user4:user4:505:505::/home/user4:/bin/bash

user5:user5:506:506::/home/user5:/bin/bash

user6:user6:507:507::/home/user6:/bin/bash

cat newuser

newusers newuser

 

3、Group Administrator

1)groupadd

groupadd group1  : 新增组group1

2)groupmod

group -n group2 group1 : 将group1重命名为group2

3)groupdel

groupdel group2 : 删除group2

 

4、Modifying or Deleting User Accounts

1)edit /etc/passwd

2) Modifying  User  : usermod

  id user3  : 显示user3的基本资料

 

mkdir /home/user-3

chown user3.user3 /home/user-3 :将user-3目录所有者改为 user3

usermod -d /home/user-3 user3 : 将user3的home目录修改为/home/user-3

 

usermod -G groupname username

usermod -G user3 user1 : 将用户user1加入user3组中

usermod -g groupname username

ussermod -g user3 user1 : 将用户user1的组更改为user3

 

usermod -L user1 : 锁定用户user1

usermod -U user1 : 解锁用户user1

3)、Deleting User : userdel

userdel  -rusername  只删除/etc/group中相关组下的成员,不会删除所在组)

userdel -r user3

groupdel  user3 如果组中没有成员,则可删除)

 

5、Password Aging Policies(密码有效期)

1)Edit/etc/login.defs

 

2)chage

格式: chage [options] username

 

cat /etc/shadow

user3:$1$qOfqkG4g$CVBYtVokSSZXDEvxhAGBU/:15861:0:99999:7:::

第一栏 : 用户名

第二栏 : 密码,$1$开头表示密码已设定好,!!表示未设定,!表示锁定不能登陆

第三栏 : 最后一次变更密码的日期,从1970年1月1日开始起算,chage -d

第四栏 : 密码最少要使用多久才能变更,0表示无限制,随时可以更改. chage -m

第五栏 : 密码每隔多久就要变更,99999表示无限制,可以永不变更.chage -M

第六栏 : 密码到期前多久就要提示用户变更密码.

第七栏 : 密码过期多久后,还未更改就锁定用忘户帐号. chage -I

第八栏 : 密码到期时间,sinceJan 1 1970. chage -E

第九栏 :保留

 

chage -l user3 :  查看user3的密码情况

chage -d 20013-06-05 user3 : 将用户user3的密码最后变更日期改为20013-06-05

chage -m 10 user3 : 用户user3最少要在10天后才能变更密码,也就是该密码最少要用10天

chage -M 30 user3 : 用户user3每隔30天就必须变更密码

chage -I 3 user3 : 密码过期3天后,还未更改就锁定用user3帐号

chage -E 2013-08-31 user3 : 设定user3的密码到期日为2013年8月31日

 

6、Login Shell Scripts(用户登陆时执行的shell

用户登陆时:

第一步:系统首先执行/etc/profile,

第二步:/etc/profile执行 /etc/profile.d/下所有shell: /etc/profile.d/*.sh

cat /etc/profile :

for i in /etc/profile.d/*.sh ; do

    if [ -r"$i" ]; then

        if ["$PS1" ]; then

            . $i

        else

            . $i>/dev/null 2>&1

        fi

    fi

done

第三步:系统执行~/.bash_profile

第四步:.bash_profile 执行~/.bashrc

cat ~/.bash_profile

if [ -f ~/.bashrc ]; then

        .~/.bashrc

fi

第五步:.bashrc 执行/etc/bashrc

cat ~/.bashrc

if [ -f /etc/bashrc ]; then

        ./etc/bashrc

fi

 

7、Non Login Shell Scriptssu username)

第一步:执行~/.bashrc

第二步:.bashrc 执行/etc/bashrc

第三步:执行 /etc/profile.d/下所有shell: /etc/profile.d/*.sh

cat /etc/bashrc

if ! shopt -q login_shell ; then # We're not a loginshell

        # Need toredefine pathmunge, it get's undefined at the end of /etc/profile

    pathmunge ) {

                if! echo $PATH | /bin/egrep -q "^|:)$1$|:)" ; then

                        if [ "$2" ="after" ] ; then

                                PATH=$PATH:$1

                       else

                                PATH=$1:$PATH

                       fi

                fi

        }

 

        # Onlydisplay echos from profile.d scripts if we are no login shell

    # andinteractive – otherwise just process them to set envvars

    for i in/etc/profile.d/*.sh; do

        if [ -r"$i" ]; then

            if ["$PS1" ]; then

                .$i

            else

                . $i >/dev/null 2>&1

            fi

        fi

    done

 

        unset i

        unsetpathmunge

fi

 

8、Switching Accounts

su : Non Login Shell Scripts方式切换到root用户

su – : Login Shell Scripts方式切换到root用户

su oracle  : NonLogin Shell Scripts方式切换到oracle用户

su – oracle : Login Shell Scripts方式切换到oracle用户

su username -c command : 以指定user身份执行一次指定的命令

su oracle -c ‘echo $HOME’: 以oracle用户身份执行echo $HOME命令

 

9、sudo其它用户可以执行root才能执行的命令)

修改/etc/sudoers文件

vi /etc/sudoers : 只能以readonly方式打开文件

visudo /etc/sudoers : 才可以执行write操作

  #User aliasspecification

  User_AliasWWW=www1,www2  : 新增用户别名为WWWADMIN. 并指定用户www1和www2. 命

名是包含大写字母、下划线以及数字,但必须以一个大写字母开头

 

  #Cmnd aliasspecification

  Cmnd_AliasCHttp=/etc/init.d/httpd :新增命令别名WWW执行/etc/init.d/httpd命令.

必须是文件或目录的绝对路径

 

  #User privilegespecification

  root ALL=ALL)ALL

  WWWALL=CHttp  : WWW在任何地点ALL)都可以执行命令CHttp

:wq

 

su – www1

sudo /etc/init.d/httpd restart

Password:输入www1的密码

重启httpd服务

 

su – user1

sudo /etc/init.d/httpd restart

Password:输入user1的密码

error : user1 is not in the sudoers file. This incidentwill be reported.

并向root发一封mail

 

exit回到root)

mail 查看mail)

& 1 : 查看第一封mail,可看到sudo的详细错误

 

 

 

 

 

 

 

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注