常见os和各操做系统特色linux
Linux启动过程shell
第一阶段:BIOS 硬件自检(POST,有问题会发出不一样含义的蜂鸣)——启动顺序(排在第一的储存设备)vim
第二阶段:主引导记录 第1-446字节:调用操做系统的机器码xcode
第447-510字节:分区表(partition table)缓存
第511-512字节:主引导记录签名(0x55和0xAA)安全
第三阶段:硬盘启动网络
第四阶段:操做系统 控制权交给操做系统后,内核首先被载入内存less
Linux基本命令socket
目录管理 文件操做 文本查看命令 用户管理 权限管理 ui
系统设置命令 磁盘管理命令 网络通讯命令 备份压缩 通用命令
vi命令
i 进入编辑模式 esc退出编辑 wq保存退出 q!强制退出 文件不会被保存
o 跳到下一行 空行 a当前光标右移 s删掉字符 backspace 左移
vi 带两个文件名 编辑两个文件 :n切换到下一个文件 :N返回上一个文件
命令模式(command mode /通常模式)按“ESC”进入
文本输入模式(input mode /编辑模式)
末行模式(last line mode/指令命令模式)也称ex转义模式,执行完自动回到命令模式
vi 文件名 若是文件存在,则直接进入,若是不存在,则表示新建一个文件
vi +2 文件名 进入文件的第二行
末行模式下,ctrl+6 切换两个文件
vim -o 文件1 文件2 分横屏
vim -O 文件1 文件2 分竖屏
复制粘贴:yy复制一行 p粘贴 nyy复制n行
剪切删除:dd删除一行 ndd删除光标后的n行
以上两种是在命令模式下
%s所有文档 1,10表示1至10行 替换:%s/源/目标替换/g 显示行号:set un(末行模式)
rm命令
rm-rf 强制删除,不询问
rm -i 删除文件或目录给予提示
wc命令
wc -c 统计字节数
-m统计字符数
-l统计行数
-L打印最长行的长度
-w统计字数(带有空白)
文本查看命令
cat 显示文件内容,能够同时显示多个文件,一次全显示
-n 显示行数
-b 显示行数,可是空白不显示
head 输入文件最前面的几行
-行数 文件名
more 分页显示 q退出
-num 每页显示多少行
+num 从第几行开始显示
tail 用的最多 从尾部读取指定行数 不加-n默认显示10条
tail -f -n 50 filename 动态查看文件后50条记录
less 分页浏览,能够向前,向后翻页
p 退出 d 下翻页 u 上翻页
Find命令 命令在目录结构中搜索文件,并执行指定操做
find -name 按照文件名查找
-perm 按照文件权限
-user 按照文件所属的用户查找
-group 按照文件所属的组查找
-mtime -n/+n 按照文件的更改时间,-n表示更改时间距如今n天内,+n表示前
-type 查找某一类型的文件 d 目录 l 软链接 f 文件 c 字符设备 b 块设备
能够多条件组合 如,find ./ -size -1M -o -mtime 0 或 find ./ -not -type f
查询文件大小小于1M或者文件的修改时间在24H内
sort命令
sort 文件名 正序
sort -r 文件名 倒序
Grep命令
grep -c 只输出匹配行的计数
-i 不区分大小写
-h 查询多文件时不显示文件名
-l 查询多文件只输出包含匹配字符的文件名
-n 显示匹配行及行号
-s 不显示不存在或无匹配文本的错误信息
-v 显示不包含匹配文本的全部行
参数能够重叠使用
通配符
* 匹配任意字符 ?匹配任意1字符 [] 匹配括号内的 [-] -匹配范围
stat命令
stat 文件名 查看文件的建立时间,修改时间和更改权限时间
用户目录管理命令
/etc/passwd 用户帐号相关信息 /etc/group 组帐号相关信息
/etc/shadow 用户密码及相关属性 /etc/gshadow 组密码及相关属性
useradd tester1 添加用户tester1 (也能够倒过来 adduser tester1 )
-f 缓存天数 指定在密码过时后多少天当即关闭该帐号
-g 群组 指定用户所属的群组
-G 群组 指定用户所属的附加群组
-m 自动创建用户的登入目录
-M 不要自动创建用户的登入目录
-n 取消创建以用户名称为名的群组
-r 创建系统帐号
-s shell 指定用户登入后所使用的shell
-u UID 指定用户ID
-p 加密型的密码,查看使用tail -1 /etc/shadow
passwd tester1 对tester1 用户设置密码
不能太简单(连续两次enter,强制进入) 重置次数不能超过三次
设置密码建议:
使用数字、大写字母、小写字母及特殊字符至少3种
使用非规律密码且够长
按期更换
cat /etc/passwd 查看全部用户
cat /etc/passwd | grep tester1 将tester1过滤出来
每一个冒号就是一个分割点 总共有7个字段
名称 密码 UID GID 对用户的信息说明(注释) 用户的家目录 用户的shell
cat /etc/shadow | grep tester1
名称 密码 最后更密码的时间(从1970.1.1开始) 密码变动锁定天数 密码使用期限
密码变动前警告期 密码过时宽限时间 帐号失效日期 保留字段
usermod 修改用户帐号
-c 备注 修改用户帐户的备注文字
-d 登入目录 修改用户登入时的目录
-e 有效期限 修改帐号的有效期限
-f 缓存天数 修改在密码过时后多少天关闭该帐号
-g 群组 修改用户所属的群组
-G 群组 修改用户所属的附加群组
-l 帐号名称 修改用户帐号名称
-L 锁定用户帐号名称
-s shell 修改用户登陆后使用的shell
-u UID 修改用户ID
-U 解除密码锁定
userdel 删除用户帐号
-r 帐号 删除用户帐号及home目录,不加参数仅删除用户帐号
groupadd 创建用户组
-g ID号 组名 指定组ID号
-o 容许建立ID重复的用户组
-r 建立系统用户组 低于499系统帐号
使用/etc/group 便可查询组员
groupmod 更改群组识别码或名称
-g 群组识别码 设置欲使用的群组识别码
-o 重复使用群组识别码
-n 新群组名称 设置欲使用的新群组名称
Linux用户类型ID分配: UID(user ID) GID(group ID)
系统管理员ID:0(root用户ID)
普通用户ID:1-655
系统用户ID:1-499(CentOS 6)1-999(CentOS 7)
登陆用户ID:500~ (CentOS 6)100~ (CentOS 7)
groupdel 删除群组
须要先将群组中的用户删除才能删除群组
Linux权限管理
ls-l
-a 显示全部
-F 在每一个输出行追加文件类型标识符,文件为普通文件时不输出任何符
*表示具备可执行权限的普通文件 /表示用@表示符号连接 |表示命令管道FIFO =表示sockets套数字
-file-type 与F相同,可是不显示“*”
-k 以kB显示文件大小
-l 以长格式显示内容列表
chmod 修改文件权限
chmod 权限 文件名 便可修改
+ 添加指定权限
- 删除指定权限
如,[root@localhost]$ chmod u+x* 文件名 修改文件拥有者权限
[root@localhost]$ chmod g+rx* 文件名 修改文件所属组的权限
chown 修改文件全部者和所属组
-R 递归修改,修改目录及其子目录
全部者:所属组 都改 :所属组 只改组 全部者 只改全部者
chgrp 修改所属用户组
同上,可是修改所属用户组比较方便,楼上修改用户组须要加:
diff 比较两个文件的不一样
diff 文件1 文件2
-u 文件1 文件2(合并格式) ---表示变更前的 +++表示变更后的 以@为首尾分界
-c 文件1 文件2(上下文格式) +后者文件比前者多 —后者比前者少 !二者有差异的行
history 能够查找历史命令
history | grep ‘find’ 从历史命令中查找特定的命令
file 文件名 检测文件类型
which 查找命令是否存在及命令的存放位置,只能够查找PATH
whereis 只用于搜索程序名 且只搜索二进制文件、man文件(-m)和源代码文件(-s)
alias(系统设置命令)
[root@localhost]$ alias rm= ‘rm -i’ 给命令起别名 别名放前面
[root@localhost]$ unalias rm 删除别名
echo (系统设置命令)
显示文本行或变量取值 或者把字符串输入到文件中
对于linux系统,必须使用-e是转义符生效
\c 不换行 \t制表符 \n换行
e.g echo -e “hello\tboy” 输出 hello boy
echo “\ “\” “ 输出“” 输出特殊字符须要用\(转义符号)
export(系统设置命令)
设置环境变量 var_name=value;export var_name
查看环境变量取值 echo $var_name
删除某个变量 unset var_name (只会从当前用户进程中删除,不会从/etc/profile删除)
source 脚本名 是变量生效
cmp
cmp 文件1 文件2 比较两个文件是否有差别,如有差别会标明第一个不一样和编号
-c或print-chars 除标明差别的十进制也显示该字符所对应的字符
-i 字符数 指定一个数目
-l或verbose 标出不同的地方
-s或-quiet或-silent 不显示错误信息
内容上以多的做为基准来比较,输出少的,空行也算字符
diff显示内容,cmp显示差别处,如有相同的则不会显示