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