Redhat Linux 9 学习笔记 (未完……)

第二章

2.1 开机
  linux引导程序GRUB/LILO加载内核linux kernel
  启动日志的位置 /var/log/dmesg
  执行/sbin/init 这是执行启动程序与script
  执行/etc/rc.d/rc.sysinit 脚本.(初始化相关)
  执行/etc/init 根据 /etc/inittab的内容选择“执行层级”
    0 关机 1 单用户 2 多用户无网络文件系统 3 完整的多用户多任务文字接口
    4 Runlevel 5完整的多用户多任务X11图形接口 6 重新开机
  由init 执行默认Runlevel目录中所有Scripts(/etc/rc.d/rc?.d)
  执行/etc/rc.d/rc.local 此处加入自己的脚本
  执行/bin/login
  打开登陆画面(根据Runlevel打开文字接口哎呀图形接口)
  Runlevel环境Rc?.d里有S开头和K开头的数值越小越早执行
  
  无法开机时的处理
    /boot/grub/grub.conf 或 /etc/lilo.conf 文件设置错误
    文件系统设置文件/etc/fstab设置错误
    系统init启动文件/etc/inittab设置错误,例如使用错误runlevel等
    以上问题均可用引导盘解决
    利用mkbootdisk命令制作引导盘
    uname -r 查询内核版本

2,2 关机
  将关机信息写在/etc/motd中,用户登陆后就可以看到
  在关机前最好先使用sync命令,将缓存写回硬盘

  shutdown 常见用法
    shutdown -k 5 /attention:system will shutdown系统5分钟后关闭,实际不执行只提示
    shutdown 2 attention:system will shutdown系统2分钟后进入单用户维护模式
    shutdown -h now 立刻关机
    shutdown 9:30 系统9:30分进入单用户维护模式
    shutdown +5 系统5分钟后进入单用户维护模式
    shutdown now 立刻进入单用户维护模式
    shutdown -r 9:30 系统在9:30分重新开机
    以上方法CTRL+C可以取消
    halt poweroff reboot 关机

2.3 系统登陆

  命令 su – 可以登陆到root并改变目录到root
  /etc/nologin文件可以禁止除root以外的用户无法登陆
  系统注销 logout

2.4 Vim 编辑器
  1进入编辑模式
    i 插入 a 增加 o 插入新行
  2 移动光标
    数字0 移至该行的行首
    G 最后一行行首
    $ 该行行尾
    { 向前一个段落
    } 向后一个段落
    ~ 改变大小写
  3 复制文字
    yy 复制一行
    yw 复制一个字
    数+yw 当前和后面几个字一起复制
    数+yy 当前行和后面几行一起复制
    p 粘贴
  4 删除文字
    d+方向键(上下左右)
    dd 删除当前行
    dw 删除当前所在字
    数+dd 删除本行以及下方的行共N行

    D 删除同行中光标后所有字符
    x 删除光标后所有字符
    数+x 删除光标与后方共N个字符
    数+X 删除光标前方共N个字符
  5 其它用法
    ctrl+g  显示总行数与当前所在行
    数+G  跳到指定的行
    r    取代字符
    R    一直取代直到按下ESC
    u    复原
    U    取消对行所做的所有改变
    .    重复上一个命令
    ZZ    保存并退出
    %    检查括号对应
    c+数+w  删除指定数目的字
  6 last line mode 下的命令
    e+文件名  建立一个文件
    n+文件名  加载另一文件
    w      保存
    ?字符串    向上查找n断续
    q      退出
    q!      强行退出
    wq      存盘并退出
    set nu    在每行行首加入行号
    set nonu    取消行号
    数+回车    光标移至该行
    /字符串    向下查找字符串

第三章 文件系统管理

3.3 创建文件系统
  fdisk /dev/装置名称
  fdisk -s /dev/sda 看硬盘大小
  fdisk -l 看信息
  m 帮助 L文件系统值 d 删除分区
  1 p查看当前情况
  2 n 加入分区
  3 t 选分区类型
  4 w 保存并退出 q退出不保存
  5 格式化 mkfs -t ext3 /dev/sda1
  6 创建加载路径 mkdir /test
  7 加载分区 mount /dev/sda1 /test
  8 自动加载 /etc/fstab
    /dev/sda1    /test    ext3    defanlts    1    2

3.4 文件系统的基本命令操作
  1 显示目前工作目录 pwd
  2 ls
    -l 显示详细信息,每行一个
    -a 显示所有文件
    -A 显示所有不包括 . ..
    -c 以更改时间排序
    -h 以K,M,G显示文件大小
    -H 同上单位 1000
    -i 显示inode号
    -L 显示原始链接信息
    -m 用 , 分隔文件名
    -n 用户识别码和组训别码替换名称
    -o 不列组名
    -r 反向排序
    -R 递归
    -s 显示大小以块为单位
    -S 用文件与目录大小排序
    -t 用变动时间排序
    -u 以最后存取时间排序
    -U 不排序
    -v 版本排序
    -X 最后扩展名排序
    –full-time 显示完整时间
    -F 在文件后边加符号
    
  3 目录切换 cd

  4 cp mv rm
    cp:复制
      -a  与-dpR相同
      -b  删除,覆盖之前先备份
      -d &

nbsp;如有链接,复制链接
      -f  强行复制
      -i  覆盖之前先询问
      -l  建立硬链接
      -p  保存来源的属性
      -r(R)  递归
      -s  建立符号链接
      -S  修改备份字符串
      -u  比较更新
      -v  显示执行过程
      -x  处理同一文件系统
    mv:移运与更名
      -b  -f  -i  -S  -u  -v 意义同上
    rm:删除文件
      -d  直接删除硬件连接数会导致辞必须用fsck检查磁盘
      -f  -i  -r  -v  意义同cp
例:cp -ax /test1 /test2  复制目录树

  5 目录新增与删除 mkdir rmdir
    例:  mkdir /test 建立test目录
      rm -rf /test 删除整个目录树
      rmdir /fax 只能是空目录

  6 创建链接文件 ln
    -b  删除前先备份
    -d  指定目录的符号的硬链接(实际为软链接的硬链接)
    -f  强行建立硬链接
    -i  先询问
    -n  当文件对待
    -s  建立符号链接
    -S  备份字符串
    注意:硬链接不能用在目录上或跨扇区

  7 查看文件内容 cat
    -A  与-vET相同
    -b  在非空白行前加编号
    -e  与-vE相同
    -E  每行最后加上$
    -n  每行加编号包括空白行
    -s  当空白行超过一行,以一行显示
    -t  同-vT
    -T  TAB以"^I"表示
    -v  除换行和TAB以外,其它控制以^表示,高位用M-表示

  8 分页显示文件内容 more
    -s  连续空白行合并成一行
    -<行数>  指定每次显示的行数
    +/<字符串>  在文件中查找指定字符串
    +<行数>  从指定行数开始显示

  9 交互操作显示文件内容 less

  10 识别文件类型 file
    -f<>    指定名称文件
    -L    显示符号链接指向的类别
    -m<魔法数字文件>  /usr/share
    -z    尝试解读压缩文件内容

  11 输出文件内空前面与后面的部分 head tail
    head
      -c<显示数目>    byte计算
        b=512  k=1024  m=1048576
      -n<显示行数>    或 -<行数>
    tail
      同上
      +<数目>    从第几行到结尾

3.5 文件权限基本概念
  1 文件权限修改 chmod
    -R  递归
    -v   显示执行过程

  2 变更拥有者 chown
    -R 递归
    例:chown root.root /root/ssj

  3 指定文件默认权限屏蔽 umask
    -S以文本方式显示
      新建文件为0666    目录为0777    如屏蔽为0022
      0666-0022=0664=-rw-r–r–

3.6 I/O重新导向及管道
  1 linux的标准输入输出共有3种形态
    标准输入(stdin) 从键盘或文件
    标准输出(stdout) 输出到终端机或屏幕
    标准错误输出(stderr)
  
  2 输出导向 >
    例:ls -al /etc > /test1/etc.txt

  3 附加输出导向

  4 输入导向 <

  5 附加输入导向 <<
    自定义一个字符串,系统在收到此字符串前会持续地将数据输入文件
    例:#mail shashijie@qq.com << quit
      >test
      >quit
      #
  6 错误输出导向 &>

  7 管道 pipe
    将其它程序的输出结果当另一个程序的输入
    例: #ll /etc | less 或 #ll /etc | more

第四章 磁盘管理

4.1 磁盘管理基本命令与工具
  1 转换软盘数据—dd
    将软盘中的数据写成文件
      dd if=/dev/fd0 of=file
    文件写入软盘
      dd if=boot.img of=/dev/fd0 bs=1440k
    转换大小写 (小到大) ucase 小->大 lcase 大->小
      dd if=./text1 of=./test2 conv=ucase

  2 显示磁盘使用空间—du
    -a  显示所有文件大小
    -h  以K M G 显示大小
    -m  以1M为单位计算
    -s  仅显示总计

    例:[root@redhat Testsh]# du
      20 .
      [root@redhat Testsh]# du -ah
      4.0K ./Recursive.sh
      4.0K ./tmp.sh
      4.0K ./Fibonacci_while.sh
      4.0K ./Fibonacci_recursive.sh
      20K .
      [root@redhat Testsh]# du -am
      1 ./Recursive.sh
      1 ./tmp.sh
      1 ./Fibonacci_while.sh
      1 ./Fibonacci_recursive.sh
      1 .

  3 检查ext2文件系统 e2fsck
    -c    一并执行badblocks,检查是否有坏块
    -f    强制检查
    -F    先清缓冲区再检查
    -j&l

t;>    日志位置
    -t    时间信息
    -l<文件>  将文件中指定块加入损坏块列表
    -L    同步
    -n    只读 NO回答
    -y    yes回答
    -p    自动修复
    例:
      e2fsck /dev/sdc1  检查文件系统是否正确
      e2fsck -j ext3 -p /dev/sdc1  检查ext3文件系统正确性,并自行修复
      e2fsck -j ext3 -c /dev/sdc1  检查ext3正确性并执行badblocks以检查是否有损      毁块
      e2fsck -j ext3 -f /dev/sdc1  即使没有错误,也强制检查正确性
      e2fsck -j ext3 -f -t /dev/sdc1  同上+显示时间信息
      e2fsck -j ext3 -l badblockslist /dev/sdc1    检查正确性,并将badblockslist中指      定的块加到损毁块列表中
      e2fsck -L badblockslist /dev/sdc1  检查正确性,将损毁块列表设成与          badblockslist一致
      e2fsck -F /dev/sdc1    先清除缓冲区再检查
      e2fsck -y /dev/sdc1    非互动方式,以yes回答
      e2fsck -n /dev/sdc1    非互动方式,以只读方式检查,以NO回答
    返回值:0 无错误 1 发生错误并以修正 2 发生错误并修正如系统卸载须重启
        4 有错也没有修正 8 运行时发生错误 16 使用语法错 128共享函数错
  4 创建ext2文件系统—mke2fs
    -b  指定块大小
    -c  检查有无损毁块
    -F  不管设备强制mke2fs
    -i  指定inode块大小
    -j  建立ext3文件系统
    -N  指定inode数目
    -l<文件>    指定损毁块信息
    -L<标签>
    -m<百分比值>  指定给管理员保留的比例 默认5%
    -r   指定ext2文件系统版本
    -S  仅写入superblock与group descriptors
    -v  显示详细执行信息

4.2 系统加载—mount
    -a  加载/etc/fstab 中所有设备
    -o<选项>    exec 可执行二进制文件
          noexec 不可执行
          nouser  非管理员无法加载
          ro  只读
          rw  可读写
          remount  重新加载
    -r 只读加载
    -t<文件系统类型>

  卸载—umount

4.3 磁盘空间管理
  1 编辑 /etc/fstab
    例:LABEL=/home/home  ext3  defaults  usrquota,grpquota  1  2
      usrquota:限制用户使用空间
      grpquota:限制组使用空间
  
  2 重新开机
    或者使用: mount -o remount /dev/sdc1
    /etc/fstab 与 /etc/mtab

  3 执行 quotacheck
    -a  扫描/etc/fstab里加入quota设定的分区
    -c  不读取已存在的aquota库,重新扫描并存储
    -d  显示执行过程
    -g  扫描时,计算每个组所占用的目录和文件数并建立quota.group
    -m  强制执行
    -R  排除根目录所在分区,配合-a使用
    -u  计算每个用户所占用的目录和文件数目,并建立quota.user
    -v  显示过程

    例:quota -avguc

  4 edquota命令编辑aquota.group与aquota.user
    -g  设置组的空间限制
    -p  复制某用户或组的限制到另一用户或组
    -t  调协文件系统soft time限制
    -u  设置用户的quota(默认)
    例:edquota ssj  设置ssj的磁盘可用空间
      edquota -t  设置系统soft time(内定7days 可以是days,hours minutes,seconds)
      edquota -p root ssj    把root的空间限制复制给ssj
      edquota -p root -g grouptest    把root的空间限制复制给grouptest组
      edquota -g grouptest    设置组配额
  5 启动与关闭quota
    启动:quotaon
      -a  打开在/etc/fstab设定的
      -g  打开组的
      -u  打开用户的(默认)
      -v  显示执行过程
    例:quotaon -av  打开所有分区的限制
    
    关闭:quotaoff
      -a  关闭在/etc/fstab设定的
      -g  关闭组的
      -u  关闭用户的(默认)
      -v  显示执行过程

    查看限制:repquota
      -a  查看在/etc/fstab设定的
      -g  查看组的
      -u  查看用户的(默认)
      -v  显示执行过程
    例:repquota -augv | less

4.4 软驱的使用
  1 软盘的加载与卸载
    例:mount /mnt/floppy    (不需要指定设备名)

  2 软驱命令—mtools
    可以用盘符代替挂载点在/etc/mtools.conf中设置
    命令通过mtools 来看

  3 格式化
    例1:mformat a:
    例2:mke2fs /dev/fd0

4.5 光盘的使用
  1 加载:
    mount /mnt/cdrom

第五章 用户与组管理

5.1 用户与组

账号
  1 标准用户
  2 标准组

5.2 用户账号信息—/etc/passwd
  /etc/shadow 文件
  /etc/login.defs  设置安全原则,如最小长度等

5.3 组账号信息—/etc/group
  /etc/gshadow

5.4 使用useradd命令新增用户账号
  注意:增加前最好用finger命令查看账号是否存在
  1 增加用户:useradd
    -c<备注>  
    -d<登陆目录>
    -e<有效期限>      月份/日期/年后两位
    -f<缓冲天数>      过期后几天关闭
    -g          指定所属组
    -G          指定附加组
    -m          建立登陆目录
    -M          不建立登陆目录
    -n          不建立与用户名相同的组名
    -r          建立系统账号
    -s<shell>        指定所使用的shell
    -u          指定uid

  2 设置密码:passwd
    -d  删除密码(root可以删除所有人的)
    -f  强制执行与-u一起用
    -u  解开以已上锁的账号
    -k  只有在密码失效后方可更新
    -l  锁定账号(root可以用)
    -S  列出密码的相关信息
    例:passwd  变更自己的密码
    如要解开密码为空的用户,使用-u的同时要使用-f

  3修改账号内:usermod
    -c<备注>  
    -d<登陆目录>
    -e<有效期限>      月份/日期/年后两位
    -f<缓冲天数>      过期后几天关闭
    -g          指定所属组
    -G          指定附加组
    -u          指定uid

5.5 用户密码管理
  上边的passwd

5.6 新增组账号
  1 增加组:groupadd
    -f  强制建立
    -g  设定组识别码
    -o  强制使用重复的组识别码,与-g一起使用
    -r  建立系统组
  例:groupadd test
    groupadd -g 700 test

  2 修改组:groupmod
    -g  设定组识别码
    -n  设置组名
    -o  强制使用组识别码
  例:groupmod newname oldname

5.7 删除用户及组账号
  删除用户要格外小心要考虑到的事如下
  1 在/etc/passwd中删除用户记录
  2 在/etc/shadow中删除记录
  3 在/etc/group删除同名记录
  4 删除用户主目录
  5 删除电子邮件 /var/spool/mail/username
  6 删除用户执行的后台程序
    ps -aux | grep "test"
    kill pid
  7 删除用户crontab
    rm /var/spool/cron/username
    或 /usr/bin/crontab -u username -d
  8 删除组账号
    groupdel groupname

5.8 新增大量用户账号
  略

5.9 管理帐号常用命令
  1 显示自身的用户名
    whoami 或 id -un
  2 显示所有登陆用户信息—w
  3 显示所有登陆用户信息—who
    ami    与whoami相同
    -b    系统最近启动时间
    -d    显示已死掉的程序
    -i    显示闲置时间
    -q    显示总人数
    -r    显示当前执行等级

  4 搜寻并显示用户信息—finger
  5 改变finger的内容—chfn
    chfn ssj1
  6 传送信息到其它登陆用户—write
    write ssj3
    >who are you?
    CTRL+C

发表回复

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