1、目录和文件管理
•linux命令:用于实现某一类功能的指令或者程序,命令的执行依赖于解释器,例如bash。
•linux命令的分类:
内部命令:属于shell解释器的一部分
外部命令:独立于shell解释器之外的其他程序
•命令行模式下的辅助操作
‘\’:强制换行
ctrl + u:清除至行首
ctrl + k:清除至行尾
•获得命令帮助
help:查看内部命令
--help:查看大多数外部命令
man:查看帮助手册
•查看文件内容
cat:显示文件的内容
more:分页显示内容,空格键翻阅下页,回车键滚动一行,q退出
less:和more功能差不多,‘/‘可以查找内容,‘n’查找下一个,‘N’查找上一个
head:查看文件开头的内容,不加参数默认查看十行
tail:查看文件末尾的内容,不加参数默认查看十行
wc:统计文件中单词的数量;-l:行数,-w:单词数,-c:字节数
•检索和过滤文件内容
grep:在文件中查找并显示包含指定字符串的内容,-i:忽略大小写,-v:反向查找
•压缩命令gzip,bzip2,bzip2压缩比较高
-9:高压缩比
-d:解压缩
•归档命令tar
-c:创建.tar格式的包文件
-x:解开.tar格式的包文件
-v:输出过程信息
-f:使用归档文件
-p:打包时保留原始文件及目录权限
-C:指定解包的位置
-z:使用gzip
-j:使用bzip2
•文本编辑器vi
作用:创建或修改文件,维护linux中的配置文件
三种工作模式:命令模式,输入模式、末行模式
行内的快速切换:‘0’行首,‘$’行尾
‘gg’文件首,‘G’文件尾
行号显示:set nu,取消行号显示:set nonu
‘dd‘:删除光标所在行
‘d^’:删除光标之前的所有
‘d$’:删除光标之后的所有
‘#d’:删除光标开会的#行内容
‘yy’:赋值当前
‘p’:黏贴
‘/word’:从上往下找
‘?word’:从下往上找
‘u’:按一次取消一次,多次取消多次
‘U’:取消当前所有的操作
‘w 目录’:另存为
‘r 目录’:将另一个文件读取进来
‘s/old/new’:替换当前行的第一个
‘s/old/new/g’:替换当前行的所有
‘#,#s/old/new/g’:多少行之间的替换
‘% s/old/new/g‘:替换整个文本中的
‘s/old/new/c’:替换每个对象的时候需要用户确认
2、程序的安装以及管理
•应用程序和系统命令的关系
文件位置:
系统命令:一般放在/bin,/sbin下
应用程序:一般放在/usr/bin,/usr/sbin
主要用途:
系统命令:完成对系统的管理
应用程序:完成先对独立的其他任务
使用环境:
系统命令:文本界面处理
应用程序:文本和图形界面处理
运行格式:
系统命令:一般包括命令字、选项、参数
应用程序:无特定格式
• 常见的软件包封装类型
rpm包:.rpm
deb包:.deb
源码包:.tar.gz,.tar.bz2
•rpm包管理工具
格式:bash-4.1.2-15.e16_4.x86_64.rpm
软件名 版本号 发布次数 硬件平台
•查询rpm软件信息:
rpm -q[选项] 软件名称
‘-qa’:查看所有软件包列表
‘-qi’:查看指定软件的详细信息
‘-ql’:查看指定软件的目录以及文件列表
‘-qc’:查看软件的配置文件
‘-qd’:查看软件的文档
•查询目录或者文件属于哪个rpm包:
rpm -qf 文件名/目录名
•安装或者更新rpm软件
‘-i’:安装rpm
‘-U’:升级rpm
‘-F’:更新rpm
•卸载指定的rpm
rpm -e 软件名臣
•辅助选项
‘--force’:强制安装指定的软件包
‘--nodeps’:忽略依赖关系
‘-h’:以#显示安装进度
‘-v’:显示安装过程信息
•维护rpm数据库
rpm --rebuilddb
或者 rpm --initdb
•源码安装软件
特点:
获取最新的软件版本
根据企业需要定制功能
使用场景:
使用新版本
当前版本无法满足
扩展新功能
•完整性校验:
md5sum 文件名
3、账号和权限管理
•用户和组账号的概述
linux基于用户身份对资源的访问
用户账号:
超级用户:root
普通用户
程序用户
组账号:
基本组
附加组
UID:用户标识符
GID:组标识符
•/etc/passwd解读:
保存用户名称,密码占位符,UID,GID,宿主目录,登入shell基本信息
注意:所有用户都可以访问这个文件,但是只有root可以修改
•/etc/shadow解读
保存用户名,密码,账号有效期信息
•添加用户账号
useradd [选项] 用户名
‘-u’:指定UID
‘-d’:指定宿主目录
‘-e’:指定账号失效时间
‘-g’:指定基本组
‘-G’:指定附加组
‘-M’:不为用户指定宿主目录
‘-s’:指定用户使用的shell
•设置/更改用户口令
passwd [选项] 用户名
‘-d’:清空密码,可以无密码登入
‘-l’:锁定用户
‘u’:解锁用户
‘-S’:查看用户的状态(是否被锁定)
不指定用户名是表示修改当前用户的密码:passwd
•文件来源
新建用户账号时,从/etc/skel这个目录下copy而来
•主要的用户初始配置文件
‘~/.bash_profile’:用户每次登入执行
‘~/.bash_logout’:用户退出时执行
‘~/.bashrc’:用户进入新的bash环境时执行
•修改用户账号的属性
usermod [选项] 用户名
‘-l’:修改登入名称
‘-L’:锁定用户账号
‘U’:解锁用户账号
•删除用户账号
userdel [选项] 用户名
userdel -r 宿主目录也一起删除
/etc/group:保存组账号的基本信息
/etc/gshadow:保存用户组账号密码的信息
•添加组账号
groupadd [-g GID] 组账号名
•删除组账号
groupdel 组账号名
•查询账号信息
id [用户名]:查询用户身份信息
groups [用户名]:查询用户所属的组
finger [用户名]:查询用户账号详细信息
•文件/目录的权限
访问权限:
‘r’:读
‘w’:写
‘x’:执行
•设置文件或者目录的权限,chmod
‘-R’:递归修改指定目录下的所有子项的权限
•设置文件或者目录的属主属组,chown
4、磁盘和文件系统管理
•检测并确认新硬盘:
fdisk -l -->新磁盘末尾提示没有有效的分区表
fdisk:管理磁盘分区
fdisk [磁盘设备]:
•常用的命令:
m:查看帮助信息
p:查看分区信息
n:新建分区
d:删除分区
t:变更分区类型
w:保存退出
q:放弃退出
•使用partprobe探测硬盘分区变化
•创建文件系统
mkfs -t 文件系统类型 分区设备
•创建交换文件系统
mkswap 分区设备
swapon 分区 :启用新加的swap分区
swapoff 分区 :关闭新加的swap分区
•挂载、卸载文件系统mount
用途:挂载文件系统、ISO镜像到指定的文件夹
格式:
mount [-t 类型] 存储设备 挂载点目录
mount -o loop ISO镜像文件 挂载点目录
•卸载文件系统umount
umount 挂载点
umount 设备位置
•设置文件系统自动挂载
/etc/fstab配置文件
实例:
/dev/sdb1 /tmp ext4 defaults 0 0
分区 挂载点 文件系统类型
每次重新开机就会自动挂载
•查看磁盘的使用状况df
df 选项 文件
df -hT:以人类可读的方式输出显示,并且输出文件系统的类型
•LVM概述:Logical Volume Manager逻辑卷管理
作用:动态管理磁盘容量,提高磁盘管理的灵活性
注意:/boot分区用于存放引导文件,不急于LVM创建
•PV:Physical Volume物理卷-->包括4m的PE,Physical Extent基本单元
•VG:Volume Group卷组-->一个或者多个物理卷组成
•LV:Logical Volume逻辑卷-->从卷组中分割出一块搞文件系统
•LVM管理命令:
物理卷建立:pvcreate 设备1 设备2
卷组建立:vgcreate 卷组名 设备1
逻辑卷建立:lvcreate -L 容量 -n 逻辑卷名 卷组名
扩展:lvextend -L +容量 /卷组名/逻辑卷名
减少:lvreduce
resize2fs 更新文件系统
LVM分区类型是‘8e’
•创建逻辑卷的文件系统:mkfs.ext4 /dev/mail/alex
•磁盘配额
实现磁盘配额的条件:linux内核支持,安装quota软件
限制类型:
磁盘容量
文件数量
限制方法:
软限制
硬限制
•启用磁盘配额支持:
修改/etc/fstab配置文件
/dev/sdb1 /tmp ext4 defaults,usrquota,grpquota 0 0
•检测磁盘配额并且创建配额文件quotacheck
-u:检测用户配额
-g:检测组配额
-c:创建配额文件
-v:显示过程
-a:检查所有可用的分区
quotacheck -augcv
quotacheck -ugcv /dev/mail/alex
生成aquota.user,auota.group两个配额文件
•编辑用户和组账号的配额设置
edquota -u 用户名
edquota -g 组名
•关闭或者启用磁盘配额的功能
quotaon -ugv /tmp
quotaoff -ugv /tmp
用户角度查看:quota -u 用户名
文件系统角度:repquota 文件系统