RHCE笔记-学习参考

2012-11-20

1、red hat 发布版的安装

  启动时输入 boot: linux askmethod    选择能够经过硬盘或者网络安装。
     boot:
     linux dd    driver disk 安装   如服务器安装时需首先安装阵列卡驱动
     linux ks     kickstart 安装    无人值守安装方式,原理直接配置文件安装,如:boot: linux ks=nfs:192.168.0.254:/var/ftp/pub/ks.cfg

二、分区:/boot     200M   必须

  swap 分区为内存的1到2倍

  /   根分区(需求不明确时能够把剩的空间划分为上述分区,若有需求如需安装oracle,能够需划分u01等分区)

上述为三个基本分区!

三、boot loader password   需设置,否则root密码形同虚设。

四、安装过程当中,ctrl+alt +F1 ---F7 之间切换 返回命令界面

五、linux 内核位置:/boot/vmlinuz-2.6.9-22.EL


界面转换:authconfig

2、linux操做系统的基本结构:

一、kernel   内核   
     uname -a   查看kernel的版本号!
二、modules  模块    三、 lib 库    四、app 应用程序

    不一样控制台之间发送消息:
      echo AAAAA> /dev/tty1
     who am i   查看当前登陆的用户
     w   查看控制台/或登陆用户
     skill 掉某个用户或终端命令:skill -9 pts/2
     默认为6个终端,修改如下配置文件能够更改:vi /etc/inittab
      vi  退出保存 :wq

      启动Xwindow   :startx   启动第一个xwindow
                                 startx -- :1  启动第二个xwindow

3、linux命令:

一、shell 的内部命令:shell 自己提供的功能
   
     提供帮助方法:help

二、shell 的外部命令:由外部文件提供

     提供简单帮助方法:命令+ --help
      man   +命令   提供详细的帮助方法
     使用方法 :搜索 /+关键字 或?+关键字     n向下滚动,shift+n  向上滚动   
     man 7 man 查看  共9种类型文件

info 帮助命令,使用得较少,与man类型,但比较详细。

三、linux 命令的习惯:
    一、命令及参数区分大小写;
    二、程序能否执行与扩展名无关;(添加chmod  x 权限便可)
    三、使用tab键来补全命令
    四、善用寻求帮助形式。

一些快捷键:
ctrl +c 直接暂停    ctrl+z  直接丢后台暂停   ctrl +l  清屏

4、文件操做命令:
一、touch 建立文件 ,更新文件,touch /etc/{a,b}   建立两个文件。
   
     mkdir  建立文件夹
    
     rmdir    删除文件夹  (只能够删除空的文件夹)--较少用
   
    查看文件属性详细信息命令:stat   如:stat a

     前面带点的文件为隐藏文件,如.a  ,查看时需这样操做:ls -a
   
      查看当前目录:pwd

二、ls   查看文件
    
     ls -F  查看文件类型,如文件夹为/a ,带@为连接文件 ,带 *号为执行文件。

三、mv  移动或重命名  

      mv  b c  更换b文件为c名

四、 rm 删除

     rm -f  删除一个文件不须要确认
     rm -r  删除一个文件夹
     rm -rf  删除一个文件夹包括里面全部文件,不须要询问

五、. 表明当前目录  ,  .. 表明当前目录的上一级目录, cd -  回到上一目录

六、 cat  查看文件内容,more和less也是查看文件内容
   more能够一页一页查看,但只能往下翻;
   less  也能够一页一页查看,能够上下翻;

七、vi  命令

   q!不保存退出

    u  撤消

    ctrl + r   重作

八、alias  别名

   如定义一个别名:alias ii ="ls -l"
   删除别名:  unalias ii

九、 重要,关于配置文件,vi ~/.bashrc  

十、添加用户:

   useradd ming  (添加用户时需设置密码才能够登陆)
   passwd ming  如不加用户名即修改当前用户的密码

十一、su ming  在当前界面切换账户,
       su - ming  切换到另外一账户

6-3 系统命令初步

查看计算机信息:
一、hostname   查看计算机名,更改时直接后面加上计算机名(重启不生效),更改如下配置文件永久生效:/etc/sysconfig/network

二、更改IP信息:
ifconfig eth0 192.168.1.80    (重启不生效)
vi /etc/sysconfig/network-scripts/ifcfg-eth0   (更改配置文件)

netconfig 
service network restart   (netconfig 后重启服务生效)

三、id

root 的id为0  组id也是为0

四、date

   date +%d    显示日期
    date +%m%d   显示月份日期
如建立  一个以时期命名的log:touch `date +y%m%d%`.log

五、file  查看文件类型(详细)
    file  a

六、mount   加载 

    mount  /dev/sda2 /mnt  把sda2 加载到mnt

     umount  取消加载

    加载u盘使用:mount  /dev/sdb1  /file1
    加载光驱使用: mount /dev/cdrom /mnt
    加载共享:mount -t cifs //192.168.0.2/tools /mnt
                    mount //192.168.0.2/tools /mnt
                     mount -o username=administrator //192.168.0.20/tools /mnt

   加载nfs   :mount 192.168.0.20:/var/ftp/pub  /mnt

七、cat /dev/cdrom > a.iso  
 mount -t iso9660 -o loop a.iso /mnt
查看光盘内容

八、du   查看文件的大小
   
     du a.tar  查看文件大小
     du -s a 查看文件夹大小
     du -sh a

九、df  显示分区大小状况

    df -h   显示分区大小使用量

十、ssh  远程登陆

    ssh 192.168.0.20
    ssh  scott@192.168.0.20  以什么用户远程登陆

十一、exit   退出当前shell
       logout  退出登陆shell

十二、关闭系统:
   shutdown -h now   关闭服务再关机
   init 0  直接关机 或: halt -p -f   或 poweroff 
      
1三、重启:

   shutdown -r now
    init 6
    reboot

6-4 用户及组管理

一、useradd  添加用户    用户信息存放在如下文件: /etc/passwd

例: useradd oracle –g oinstall –G dba –d /home/oracle –p ora123
系统将建立一个用户 oracle,oracle用户的首要组为 oinstal,次要组为 dba。Home 目录为/home/oracle,密码为 ora123 。

      userdel  删除用户   完全删除包括home下的目录文件:userdel -r ming
     usermod  更改用户属性
    如,把ming用户更改属性添加到多个组里:
   usermod -G root,bin,todd ming

  把多个用户加入到root组里:
 gpasswd -M ming,todd,ttt root

  用户密码文件:  vi /etc/shadow
  用户组密码文件 : vi /etc/gshadow 较少用
  用户组文件 : vi /etc/group
如:作一个用户迁移,把上述文件移动另外一个系统

 注:加入root组并就是有root权限,uid为0才是root

二、修改如下文件也能够更改用户属性通常经常使用:
   vi /etc/login.defs

三、向控制台发出信息:

   write
   mesg
   wall  给全部登录在本机用户发出信息
   last   查看登陆日志
   lastlog 查看所有登陆日志

6-5  linux系统文件的存储及权限

一、-表明普通文件,d 表明目录类型文件,l表明连接文件
      b c s p 管道文件   共7种文件

二、备份整个硬盘到一个加载u盘上:
    dd if=/dev/sda of=/mnt/a.img
    或者其中一个分区:dd if=/dev/sda1 of=/mnt/a.img

三、文件受权:
    644  二进制为: 110 100 100 即权限为:rw- r-- r--
   chmod 644 A
  如不用数字受权为:
  chmod ugo+x A   全部设置为都增长一个执行权限  u 表明拥有者,g表明拥有组,o表明其它
  chmod a-x A    同理减少一个X
  chmod a=rw A  都为rw权限

  chmod -R 777 /tmp/work   大写R参数表示把整个目录全部文件都设置为上述权限

四、修改文件的拥有者:
    chown ming a 把a文件的拥有者更改成ming用户
    若是加大写R参数跟chmod同样用法

五、改变文件的拥有组
    chgrp root a   用法跟上述同样,也能够带大写R参数

六、新建一个软连接:

   ln -s file1 file2    创建file1的软连接file2   ,如是硬链接则不加-s

四、linux下文件权限不叠加,如某用户对这个文件没有权限,但它所属的用户组有权限,最后权限是没权限,跟win不同


7--- linux 文件夹及文件的权限

   一、文件夹权限:X为重要权限,若是没有x权限则不能cd进去。
     r权限对应为 ls查看执行
    x   cd
    rx  cd   ls
   wx  cd  touch  rm   vi (本身的,其它人的)
   wxt  cd  touch rm  vi(只能够修改本身的)

    注:文件夹W权限很重要,若是一个用户对此文件夹有写的权限,那么对文件夹里面的权限一样可写!  
  : wq!   强制修改保存退出

  /tmp  权限为1777    ,1为sticky  权限
   umask 
   关于不一样用户建立文件或文件夹的权限:
    文件夹:777-umask
     文件:666-umask


8---linux 编译器及vim初步:

一、rhel5  把vi省去,需直接输入vim

二、u   撤销undo  ,ctrl+r   重作

三、"a3yy 复制      "ap  粘贴     自定义剪贴板 a,能够为b,c等,3表明复制3行。

四、:set nu  显示行数


9--文件查找与压缩:

一、which  查找可执行命令  如: which  ls  注:只能够查找命令

    echo $ PATH    输入路径为which查找的路径

二、whereis   跟which 类似

三、locate 查找东西比较快,且查找全部目录 ,查找前需更新db:updatedb

   ls ‘which locate’-l
   locate aaa.tar.gz
   locate -r '.*newfile.*'

cat  /etc/cron.daily/   计划任务里的内容

四、find  命令(比较慢):
   语法:find /etc -name newfile.txt
             find /etc -name "*newfile*"
  直接加文件名为在当前目录查找。

   find /etc -name "*network*" -exec ls { } \ ;   把查找出来的内容再执行ls命名
    find /etc -name "*network*" -ok rm { } \ ;   把查找出来的内容再执行ls命名,但需确认,exec不需交互。

     find /etc -等等  参数。

    find / -perm -777 -type d -ls     从根目录下开始查找全部权限为777的目录

五、grep  对指定文件内容进行查找(只查找文本文件):
  
    grep -R -l shrek /etc    查找全部带shark字母内容的文件关ls出来


六、压缩工具:

   gzip  压缩
    gunzip   解压缩

   bzip2    压缩 ,跟gzip差很少,但压缩比较高
   bunzip2 

七、tar  打包:
  
   tar cvf  /tmp/root.tar /etc/network   把network 打包到tmp下
    tar rvf  /tmp/root.tar /etc/network /etc/passwd
    tar xvf  /tmp/root.tar -C /tmp/dd/  解压到指定目录下xvf
    tar tvf  /tmp/root.tar   预解压文件tvf

  tar cvfz  /tmp/root.tar.gz /etc/network    打包后再压缩cvfz
   rvf不能够加z使用
  tar xvfz  /tmp/root.tar.gz -C /etc/network   解压解开到   xvfz

注释:c  建立新的档案文件
          r  把要存档的文件追加到档案文件后面
          t  列出档案文件的内容,查看已经备份了哪些文件
          u 更新文件
          x  从文档文件中释放文件
          v  详细报告
          f  使用档案文件或设备
  

八、history  查看历史命令


10--文本处理及正则表达式----

一、对文本文件操做命令:cat,more(只能往下),less

  head 显示文件的头部内容,默认显示前十行,参数-n 指明显示行数
  如;head -n 20 /etc/passwd 显示passwd的前20行。

  tail  显示文件结尾部分,用法与head同样。

注意:tail -f /var/log/message 实时监控日志文件更新信息,很是重要
-f 若是文件的大小在增加的话,tail 将跟随文件的增加而显示。

    sort -t : +2 -n  /etc/passwd  排序以:分隔 +2第三列,-n数字  (默认从大到小,加-r 即从小到大)
    sort -t : +2 -n  /etc/passwd  > /tmp/a  排序后并输出到a文件
 
    sort -t : +2 -n  /etc/passwd  | head -n 3 输出前3行

二、抓取文本中的一部份内容:
      cut -d: -f1 /etc/passwd    以:为分隔符抓取第1行

       cut -d: -f1 /etc/passwd | grep shrek  以:为分隔符抓取第一行,再取出带shrek的行
    
       cut -c1-3 /etc/passwd   取第一至三个字符下来

三、常见参数:
     grep -v -l -R -c -A2 -B2    -v不包含
     cut -d:  -f2-4   -c1-5 
     sort -n -r -t: +2

   注:grep执行时需加‘’号,如: grep 'ming' /etc/passwd

四、wc  统计文件的行,词,字数
   能够加如下参数: wc -l -w -c /etc/passwd

五、uniq  只显示不一样的单词:

六、diff  两个文件做对比:

    diff a b

七、正则表达式:
     .  表示任意一个单一字符

     .* 表示任意多个单一字符

     ^a 表示以a为首的行

    a$  表示以a为尾的行
  
    \<good 表示以good开头的单词

   good\>  表示以good结尾的单词

    [abc] 表示当前位置 a、b或c

    [^abc] 表示除了a、b、c之外的字符

   a*  表示多个a

    a?  表示一个或单个单独的a

  a+   表示a、aa、及至更多个a

   a\{n\}   表示重复了n次的a


11---输入输出重定向及管道:

  一、标准重定向输出:>   ls /etc/passwd > /tmp/a 
       >号只输出正确的信息,若是 是错误信息则是 2>
      如:ls /etc/afdsafdaf   2> /tmp/a

    注:上述重定向都会把a文件清空后再写入。利用此能够对文件删除清空。
           &>  表示错误正确的消息都写入
           >>  追加到文件后面
           &>>表示正确错误都追加到文件后

cat /dve/cdrom > /tmp/a.iso    将光盘作成iso镜像 

二、两个<<
     cat << aaa    等待输入

    tr “a-z” “A-Z”< /etc/passwd     把passwd所有输出变成大写

      cat  > b.txt << DDD   当输入DDD时 中断退出

    ls /etc/  | wc -l    统计有多少文件示例

    ls /etc -l  | grep '^d' | wc -l   统计有多少个文件夹应用

三、 tee  复制


12----进程控制
 
一、hostname   主机名,注当更改完主机名时必定要更改相关IP:
    vi /etc/hosts   更改里面的相对应 IP地址,如window 里的hosts文件

二、free 查看内存使用状况

三、proc  内核的一个小窗户,里面的文件都是虚的

四、日志  /var/log        查看相关日志 message(系统日志) ,secure,(安全日志) wtmp(安全加密日志),maillog(邮件日志)

五、查看进程:top   或 ps   ,ps -aux 显示全部进程,-f 查看进程树

    终结进程:kill  -l   能够查看相关号,如:kill -9    ,kill -11

   直接结束进程:kill  4811   强制结束:kill -9 4811

  杀掉全部httpd进程:  killall httpd -9
  
   杀掉某个用户的进程: skill -9 ming  

   关于进程状态:s  表明睡觉,T表明暂停,R表明 运行 ,Z 僵持进程,D深度睡眠进程,<:高优先级进程,N:低优先级进程
   
六、关于优先级:

   -20 到19    最大优先级 为-20

  top里面使用 r 来修改优先级。

   nice -n -20 updatedb   以高的优先级执行命令
    renice -20 1  把进程1的优先级更改成-20

七、jobs  查看后台任务,bg %1  把后台第一个进程运行起来,fg %1把后台第一个进程转到前台并中止,kill %1  结束第一个进程。ctrl + z  中止一个任务并丢到后台。

   nohup updatedb &   在shell退出后,后台进程仍在执行,做为系统进程


----13 bash 使用详解:

set  查看全部的变量,env  查看全局环境变量

一、  vi ~/.bash_profile    设置bash命令

定义一个变量,取出其值
   AA=aaaaaaaa
   echo AA
上述为普通变量,只能够在相应的bash下使用,下面定义全局变量使用:

export AA=aaaaaa

二、history -c  删除所有历史纪录

   若是想每次退出时清除命令历史纪录:
 
  vi   .bash_logout   在上述文件中加入history -c

 调用命令历史:ctrl + r


三、关于bash的字符(注:跟正则表达式不同):

  ! 表示执行等,~表示 主目录,( ) 声明一个函数如:a()

   "" 号只能把空号的意义的屏蔽,‘ ’把所有特殊符号屏蔽,`` 能够先执行``里面的命令,如:touch  `date + %y%m%d`log  (反引号是指~里下面的)

\  脱义符号  ,如touch  一个$的文件: touch \$  

;  能够连续执行两个命令: echo aaaa ; ls /etc -l

四、查看上述命令是否正常执行:echo $ ?  正常执行输出0。

五、两个&&号的使用:[   -f /etc/passwd   ]   &&  echo ok  若是前面为正确时执行后面的命令

六、两个||  号的使用 : [  -f /etc/passwdddd    ]  || echo ok   与上面命令相反,若是不正确时才执行。
(注:上述-f 表明查找文件,-d表明查找目录,-l 表明一个连接,-x表明是否能够执行,-r是否能够读,-w是否可写,-e  表示文件是否存在,-s  文件大小不为零)

同时需注意上述加空格表明判断,如:[  $USRE  =  root  ]  && echo it is root


七、定制bash

shell 脚本里通常初始化会执行如下几个参数配置文件:

     一、/etc/profile     针对全部用户的 ,公用 的
     2.   ~/.bash_profile  当前目录下的
     3.  ~/.bashrc         4.   /etc/bashrc  针对全部用户的


八、更改成中文界面

   查看当前系统语言:echo  $LANG

  vi ~/.bashrc   打开上述文件添加如下:
  export LANG="zh_CN.UTF-8"
  export LC_ALL ="zh_CN.UTF-8"

上述只针对当前用户,如更改整个系统的语言则更改如下:
vi /etc/sysconfig/i18n    添加以上便可


-----14.shell 脚本编程详解:

一、声明一个bshell 脚本以:#!/bin/sh

二、重设shell环境  :reset     ,man bash  录求帮助

三、在当前的shell里来执行:   .  ./backup


四、查看脚本的执行:bash -vx  ./b  能够查看脚本的一步步执行(调试使用), bash -v ./b  查看脚本的执行  


五、if 语法:
如下为一个bash 示例:

#!/bin/bash

read AA

if [  $AA = root ]  then echo 'hello root'
       elif  [  $AA = ming ]  then echo 'hello ming!!'
     else
              echo 'you are a bish!'
fi

六、case……in 语法:

#!/bin/bash

read AA

case $AA in
            ming)  echo 'hello ming, welcome to here!!'
              ;;
            root)  echo 'hello root ,i miss you so mush !!'
            ;;
        *) echo 'you are a bish ,get out here!!'
            ;;
esac


七、/etc/rc.d/init.d/   上述为系统初始化时的shell路径

八、file1  -nt  file2   文件file1 比文件file2更新
     file1  -ot   file2   文件file1比文件file2 更老

九、数值运算符比较:

相同  -eq  =
不一样  -ne  !=
大于  -gt   >
小于  -lt   <
大于或等于  -ge
小于或等于  -le
为空  -z
不为空  -n

十、下述为kill 掉httpd的例子:

AA="`pgrep httpd`"

[  -z  "$AA"  ]  &&  echo 'httpd is not running !!'  && exit
for i in $AA
    do 
          kill -9 $i
    done
echo  'httpd has killed'

十一、循环100次:

for   i  in `seq 1 100`

十二、while 循环:

  AAA=0

while [ $AAA -lt  100 ]
      do
             AAA =$[$AAA+1 ]
             echo \ "$AAA"
    done
 
1三、编写一个输入某个数循环:
    
1四、sed  使用:

sed -n -e '/ming/p'   /etc/passwd  默认输出带ming的项 ,-e表示执行后面的命令,-n表示默认输出,p打印

sed -n -e '/\<ming\>/s/bash/nologin/p'  /etc/passwd   把bash替换成nologin ,s表示替换 。

sed -e 's/nologin/login/' /tmp/ddd/passwd   把全部nologin 替换成login

sed -n -e '/ming/s/bash/nologin/g' /tmp/passwd > /tmp/ddd/a 替换后并输出,g表明所有替换。

sed -e '/^\#/d' -e '/^$/d' /tmp/ddd/squid.conf  > /tmp/ddd/bb
删除以#开头以及为空的行, d表明删除

1五、把 '' 里面的命令写成一个文件ss,而后再sed执行:
sed -f ss /tmp/ddd/passwd

1六、软件安装:

   一、rpm -ivh   ....i386.rpm     安装某个rpm软件包,-i表示安装,v表示显示百分比,h显示过程。
   强制从新安装:rpm -ivh --force  ...i386.rpm
   强制安装:rpm -ivh --nodeps  ...i386.rpm     --nodeps 强制安装无论其它关联关系
   安装:rpm -ivh --aid  ...i386.rpm   --aid  解决一层关联关系,只有rhel4以前系统有。
   强制删除rpm:rpm -e --nodeps httpd                --nodeps是强制删除无论其它关联关系

二、rpm -q httpd 查看httpd安装的包
  
     rpm -qa   查看全部已经安装的包。
  
     rpm -qi       查看已经安装的包的详细信息

     rpm  -ql   查看包的安装路径

     rpm -qpi   a.rpm    查看未安装的包的信息


三、解压出来的原代码进行编译安装:

./configure   --prefix=/usr/local/httpd  --with-mpm=worker
 (指定安装在哪个目录下面)

make 

make install


17------xwindow 图形界面

ctrl+alt + 退格    :关闭x-window界面

18------安全方面:

nmap -sS -O -P0  www.baidu.com
扫描端口

更改ssh端口: vi /etc/ssh/sshd_config
                    service sshd restart

 node

相关文章
相关标签/搜索