安装系统
启动过程
内核引导:当计算机打开电源
后,首先是BIOS开机自检
,按照BIOS中设置的启动设备
(通常是硬盘)来启动。操作系统接管硬件
以后,首先读入 /boot 目录下的内核文件
。
初始程序:系统所有进程的起点,其首先要读取配置文件 /etc/inittab。
运行级别:根据"运行级别",确定开机要运行哪些程序。
# 内核引导
# 初始进程
# 运行级别
# 初始系统
# 建立终端
# 用户登录
# 系统关机
# 备注:许多程序需要开机启动。Windows:"服务"(service);Linux:"守护进程"(daemon)。
# 参考:http://www.runoob.com/linux/linux-system-boot.html
目录结构
命令目录:bin
核心目录:boot
外部设备:dev
配置目录:etc
用户目录:home
类库目录:lib
媒体目录:media
临时系统:mnt
安装目录:opt
内存映射:proc
超级用户:root
安装目录:usr
日志目录:/var/log
共享目录:/usr/share
安装目录:/usr/local
忘码解决
# http://www.runoob.com/linux/linux-forget-password.html
远程登录
//三种方式
文件属性
/**********基本属性***********/
//查看:
ls -l
//理解:
文件类型(第一个字符):
目录:d
文件:-
链接:/
设备:b
设备:c
属主权限(第一组字符):(所有者权)
可读:r
可写:w
可执:x
无权:-
属组权限(第二组字符):(同组用户)
可读:r
可写:w
可执:x
无权:-
他户权限(第三组字符):(其他用户)
//更改
//更改属主:chown [–R] 属主名 文件名
//更改属组:chgrp [-R] 属组名 文件名
//chown [-R] 属主名:属组名 文件名
//更改权限:(数字法)
chmod 770 .bashrc
//权限数字对照表
r:4
w:2
x:1
//权限转数字计算
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0
//更改权限的语法
chmod [-R] xyz 文件或目录
//更改权限:(字母法)
chmod u=rwx,g=rwx .bashrc
//身份字母对照表
属主:u
属组:g
其他:o
所有:a
//操作字母对照表
加入:+
减去:-
设定:=
//权限字母对照表
可读:w
可写:r
可执:x
//更改权限的语法
chmod [-R] xyz 文件或目录
//练手:
//创建文件
touch test1
//查看权限
ls -al test1
//修改权限
chmod u=rwx,g=rx,o=r test1
//查看权限
ls -al test1
//修改权限
chmod a-x test1
//查看权限
ls -al test1
//删除文件
rm -f test1
//查看内容
cat 由第一行开始显示文件内容
tac 从最后一行开始显示,可以看出 tac 是 cat 的倒著写!
nl 显示的时候,顺道输出行号!
more 一页一页的显示文件内容
less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
head 只看头几行
tail 只看尾巴几行
more /etc/ssh/sshd_config
操作说明:
向上翻页:b
向下翻页:space
向下翻行:Enter
向下搜字:/字串
显示行数::f
退出查看:q
目录管理
//两种路径
绝对路径:/
相对路径:./
//常用命令
ls: 列出目录
cd:切换目录
pwd:显示目前的目录
mkdir:创建一个新的目录
rmdir:删除一个空的目录
cp: 复制文件或目录
rm: 移除文件或目录
可以使用 man [命令] 来查看各个命令的使用文档
//列出目录
ls -al
//参数说明:
含隐藏文:a
包含权限:l
不含子录:b
//切换目录
cd ~
cd ..
//创建目录
mkdir -p test1/test2/test3/test4
参数说明:
多级创建:p
设置权限:m
//删除目录
rm -i bashrc
//参数说明:
强制删除:f
删前询问:i
递归删除:r
//移动目录
//命名目录
//复制目录
//粘贴目录
用户管理
//添加账号
useradd –d /usr/sam -m sam
useradd Login
/usr/sbin/useradd -c koala -d /opt/code/home/koala -g staff -G apache -m -u 9013 koala
参数说明
属主目录:d
属组目录:g
附组目录:G
添加描述:c
登陆方式:s
用户编号:u
//用户标识对照表
超级用户:0
管理账号:1~99
普通用户:100开始。
//删除账号
userdel -r sam
//修改账号
usermod -s /bin/ksh -d /home/z –g developer sam
//密码创建
passwd sam
参数说明
-l 禁用口令。
-u 口令解禁。
-d 使无口令。
-f 强迫用户下次登录时修改口令。
//密码删除
passwd -d sam
//禁止登陆
passwd -l sam
//解除禁止
passwd -u sam
//批量添加
//http://www.runoob.com/linux/linux-user-manage.html
//添加群组
groupadd -g 101 group2
参数说明
组标识号:g
可否重复:o
//删除群组
groupdel group1
//修改群组
groupmod -g 102 group2
参数说明
组标识号:g
可否重复:o
更改名字:n
//切换群组
newgrp root
//创建用户
useradd ymc
//查看目录
ls -l /home
//查看权限
ls -l /home/ymc
//查看详情
cat /etc/passwd
//更改用户
//创建密码
passwd ymc
//查看密码
cat /etc/shadow
# 某一用户
cat /etc/shadow | grep "admin"
//创建群组
groupadd -g 101 ymc-home.top
//查看详情
cat /etc/group
//删除用户
userdel -r ymc
//查看目录
ls -l /home
重要文件
/etc/passwd
//内容查看:cat /etc/passwd
//每行格式:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
//组标识号
//户标识号
/etc/shadow
//每行格式:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
/etc/group
//每行格式:组名:口令:组标识号:组内用户列表
磁盘管理
//列出用量
df [-ahikHTm] [目录或文件名]
du [-ahskm] 文件或目录名称
//磁盘分区
fdisk [-l] 装置名称
//盘格式化
mkfs [-t 文件系统格式] 装置文件名
//磁盘检验
fsck [-t 文件系统] [-ACay] 装置名称
//磁盘挂载
mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点
//磁盘卸除
umount [-fn] 装置文件名或挂载点
文本编辑
//进编辑器
//vi runoob.txt
//四种模式
命令模式:输入的是命令
输入模式:输入的是字符
底线模式:
可视模式:
//模式切换
//i 切换到输入模式
//: 切换到底线命令模式,以在最底一行输入命令。
//esc 退出输入模式,切换到命令模式
//esc退出底线 命令模式。
//v 切换到可视模式
//命令模式命令
//光标左移:h
//光标下移:j
//光标上移:k
//光标下移:l
//下移三十:30j
//输入模式命令
字符按键以及Shift组合,输入字符
ENTER,回车键,换行
BACK SPACE,退格键,删除光标前一个字符
DEL,删除键,删除光标后一个字符
方向键,在文本中移动光标
HOME/END,移动光标到行首/行尾
Page Up/Page Down,上/下翻页
Insert,切换光标为输入/替换模式,光标将变成竖线/下划线
//底线模式命令
:wq
w 保存文件
q 退出程序
//可视模式命令
删除
dd:剪切当前行
ndd:n表示大于1的数字,剪切n行
dw:从光标处剪切至一个单子/单词的末尾,包括空格
de:从光标处剪切至一个单子/单词的末尾,不包括空格
d$:从当前光标剪切到行末
d0:从当前光标位置(不包括光标位置)剪切之行首
d3l:从光标位置(包括光标位置)向右剪切3个字符
d5G:将当前行(包括当前行)至第5行(不包括它)剪切
d3B:从当前光标位置(不包括光标位置)反向剪切3个单词
dH:剪切从当前行至所显示屏幕顶行的全部行
dM:剪切从当前行至命令M所指定行的全部行
dL:剪切从当前行至所显示屏幕底的全部行
复制
yy:复制当前行
nyy:n表示大于1的数字,复制n行
yw:从光标处复制至一个单子/单词的末尾,包括空格
ye:从光标处复制至一个单子/单词的末尾,不包括空格
y$:从当前光标复制到行末
y0:从当前光标位置(不包括光标位置)复制之行首
y3l:从光标位置(包括光标位置)向右复制3个字符
y5G:将当前行(包括当前行)至第5行(不包括它)复制
y3B:从当前光标位置(不包括光标位置)反向复制3个单词
粘贴
p
管软件包
'内核脚本'
/***********编写脚本********/
//定义变量
your_name="runoob.com"
//引用变量
${your_name}
//or $your_name
//删除变量
unset your_name
//作用范围
//局部:
//全局:
//变量类型
//字符:
//数组:
//运算操作
//流程控制
//函数
/******输入输出*****/
//覆盖
command > file
command < file
n > file
//追加
command >> file
n >> file
//合并
n >& m
n <& m
//区间
<< tag
/*
文件描述符
标准输入文件(stdin):stdin的文件描述符为0,Unix程序默认从stdin读取数据。
标准输出文件(stdout):stdout 的文件描述符为1,Unix程序默认向stdout输出数据。
标准错误文件(stderr):stderr的文件描述符为2,Unix程序会向stderr流中写入错误信息。
*/
//文件包含
. ./test1.sh
// or source ./test1.sh
/***********运行脚本********/
//作为可执行程序
chmod +x ./test.sh #使脚本具有执行权限
./test.sh #执行脚本
//作为解释器参数
/bin/sh test.sh
/**********命令大全*******/
文件管理
文档编辑
文件传输
磁盘管理
磁盘维护
网络通讯
系统管理
系统设置
备份压缩
设备管理
http://www.runoob.com/linux/linux-command-manual.html
//查看版本
sudo -V
//查看帮助
sudo -h
//列出己权
sudo -l
//查看配置
sudo -L
//以某身份编辑文本
sudo -u uggc vi ~www/index.html
//查看帮助
sudo -h
usage: sudo -h | -K | -k | -L | -V
usage: sudo -v [-AknS] [-g groupname|#gid] [-p prompt] [-u user name|#uid]
usage: sudo -l[l] [-AknS] [-g groupname|#gid] [-p prompt] [-U user name] [-u user name|#uid] [-g
groupname|#gid] [command]
usage: sudo [-AbEHknPS] [-C fd] [-g groupname|#gid] [-p prompt] [-u user name|#uid] [-g groupname|#gid]
[VAR=value] [-i|-s] [<command>]
usage: sudo -e [-AknS] [-C fd] [-g groupname|#gid] [-p prompt] [-u user name|#uid] file ...
Options:
-a type use specified BSD authentication type
-b run command in the background
-C fd close all file descriptors >= fd
-E preserve user environment when executing command
-e edit files instead of running a command
-g group execute command as the specified group
-H set HOME variable to target user's home dir.
-h display help message and exit
-i [command] run a login shell as target user
-K remove timestamp file completely
-k invalidate timestamp file
-L list supported sudoers Defaults values
-l[l] command list user's available commands
-n non-interactive mode, will not prompt user
-P preserve group vector instead of setting to target's
-p prompt use specified password prompt
-S read password from standard input
-s [command] run a shell as target user
-U user when listing, list specified user's privileges
-u user run command (or edit file) as specified user
-V display version information and exit
-v update user's timestamp without running a command
-- stop processing command line arguments