目录
一. 应用程序命令与系统命令的关系
1. 文件位置
系统命令:一般在/bin/sbin目录下,或者为Shell内部指令
应用程序:通常在/use/bin和/usr/sbin目录中
2. 主要用途
系统命令:完成对系统的基本管理工作,例如IP配置工具
应用程序:完成相对独立的其他辅助任务,例如网页浏览器
3. 使用环境
系统命令:一般只在字符操作界面中运行
应用程序:有些程序可以在图形界面中运行
运行格式
系统命令:一般包括命令字,命令选项和命令参数
应用程序:通常没有固定的执行格式
二. 典型的应用程序的目录结构
文件类型 | 保存目录 |
---|---|
普通执行程序文件 | /usr/bin |
服务器执行程序文件和管理程序文件 | /usr/sbin |
应用程序配置文件 | /etc |
日志文件 | /var/log |
应用程序文档文件 | /usr/share/doc |
应用程序手册页文件 | /usr/share/man |
三. 典型应用程序的目录文件
封装类型 | 说明 |
---|---|
rpm软件包 | 扩展名为“.rpm” |
deb软件包 | 扩展名为".deb" |
源代码软件包 | 一般为".tar.gz"、".tar.bz2"等格式的压缩包包含程序源代码 |
附带安装程序的软件包 | 以压缩包内提供的install.sh、setup等安装程序或者以".bin"格式的单个执行文件提供 |
绿色免安装的软件包 | 在压缩包内提供的已编译好的执行程序文件解压后直接使用 |
四. rpm软件包
1、由Red Hat公司提出,被众多Linux发行版采用
2、建立统一的数据库文件
3、详细记录软件包安装、卸载等变化信息
4、自动分析软件包依赖关系(yum)
5、bash-4.1.2-15.e16_4.x86_64.rpm
bash:软件名称 4.1.2:版本号 15.e16_4发布次数 x86-64:适用平台
rpm 安装、升级、卸载RPM软件包;查询、验证PRM软件包信息;维护RPM数据库信息
命令格式
查询已安装的rpm软件
rpm -q 查找是否存在指定文件
rpm -qa 查看系统中已安装的所有RPM软件包列表
rpm -qi 查看指定软件的详细信息
rpm -ql 查询指定软件包所安装的目录、文件列表
rpm -qc 查寻指定软件包的配置文件
rpm -qd 文档指定软件包的文件
rpm -qf 查询rpm软件包的程序
查询未安装的RPM包文件
rpm -qpi 通过.rpm包文件查看该软件的详细信息
rpm -qpl 通过.rpm安装包内所包含的目录、文件列表
安装
rpm -i 安装一个新的rpm软件包
rpm -U 升级某个rpm软件,若未安装,则进行安装
rpm -F 更新某个rpm软件,若未安装,则放弃更新
卸载
rpm -e 卸载指定的rpm软件
rpm --nodeps 忽略依赖关系
辅助
rpm -h 以#号显示安装进度
rpm -v 显示安装过程中的详细信息
重建RPM数据库
rpm --rebuilddb
rpm --initdb
导入验证公钥
rpm --import
五. 编译安装
优点:获取最新的软件版本,及时修复bug;根据用户需求,灵活定制软件功能
tarball封包:.tar.gz和.tar.bz2格式居多
完整性校验:md5sum校验工具
确认源代码编译环境:安装支持C/C++程序语言的编译器
流程:1、下载源代码安装包文件
2、tar解包(解压释放源代码包到指定的目录)
3、./configure配置(设置安装目录、安装模块等选项)
4、make编译(生成可执行的二进制文件)
5、make install 安装(复制二进制文件到系统,配置应用环境)
6、测试及应用、维护环境
在步骤二的时候需要配置 –prefix=软件安装目录
六. 管理用户和组账号
1. 基本说明
UID:用户标识号(默认:超级用户为0,程序用户1-499,人为创建用户500-60000)
GID:组标识号
用户账号:超级用户、普通用户、程序用户
组账号:基本组(私有组,一个账户只能属于一个基本组)
附加组(公共组,一个账户可以属于多个附加组)
2. 用户账号文件
位置:/etc/passwd
每一行对应一个用户的账号记录
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
/bin/bash:可登录 /sbin/nologin:不可登录
位置:/etc/shadow
每一行对应一个用户的密码记录
root:$6$KkUpqaeGEivJlhxQ$Ujy1jrh.: :0:99999:7: : :
1 2 3 4 5 6 7 8 9
tcpdump:!!:19469: : : : : :
1 2 3 4 5 6 7 8 9
文件每一行内容包含九个用":"分割的配置字段
1.用户登录名 2.用户密码(!!为禁止登录;$为可以登录)
3.该账户上次修改密码日期距离1970.1.1(Linux元年)相隔多少天
4.密码最短使用期限,0代表无限制
5.密码最长使用期限,99999代表无限制
6.密码过期前N天,提醒更改密码
7.密码过期后宽限天数,超过宽限期限,账户不可用,需要管理员解锁
8.该账户密码过期时间日期距离1970.1.1(Linux元年)相隔多少天
9.保留未使用
useradd
格式:
useradd [选择] 用户名
常用选项:
useradd -d 指定宿主目录,缺省为/home/用户名
useradd -u 指定UID标记符
useradd -e 指定账户失效时间
useradd -g 指定用户的基本组名(或UID号)
useradd -G 指定用户的附加组名(或GID号)
useradd -M 不为用户建立并初始化宿主目录(一般被建设程序账户使用)
useradd -s 指定用户的登录Shell(一般普通用户指定为/bin/bash,程序用户为/sbin/nologin)
新建用户账号家目录下的文件来源在/etc/skel目录复制而来。
主要的用户初始配置文件:
~/.bash_profile:用户每次登录时执行
~/.bashrc:每次进入新的Bash环境时执行
~/.bash_logout:用户每次退出登录时执行
passwd
格式:
passwd [选项] 用户名
常用选项:
passwd -d 清空用户密码,使之无需密码即可登录
passwd -l 锁定用户账号
passwd -S 查看用户账号状态(是否被锁定)
passwd -u 解锁用户账号
usermod
格式:
usermod [选项] 用户名
常用选项:
usermod -l 更改用户账号的登录名称
usermod -L 锁定用户账户
usermod -U 锁定用户账户
usermod -d 更改账户的家目录
以下选项与useradd命令中的含义相同
-u -d -e -g -G -s
注意:如果想要将账户的家目录进行修改,使用完usermod命令后还需要mv指令进行文件的移动
userdel
格式:
userdel [-r] 用户名
选项:
有-r全部删除
无-r留有目录
3.组账号文件
文件位置:/etc/group
文件位置:/etc/gshadow
groupadd
格式:
groupadd [-g GID] 组账号名
gpasswd 设置组账号密码(极少用)、添加/删除组成员
格式:
gpasswd [选项] 组账号名
常用选项:
-a 向组内添加一个用户
-d 从组内删除一个用户
-M 定义组成员列表,以逗号分隔(在列表内的加入组,没在表内的删除)
groupdel
格式:
group 组账号名
4.账号查询命令
id命令
id [用户名] 查询用户身份表示
group命令
groups [用户名] 查询用户所属的组
finger命令
finger [用户名] 查询用户账号的详细信息
users\w\who命令 查询已登录到注意的用户信息
七. 权限
1. 文件/目录的权限和归属
访问权限
读取r:允许查看文件内容、显示目录列表
写入w:允许修改文件内容,允许在目录中新建、移动、删除文件或子目录
可执行x:允许运行程序、切换目录
r/w/x可以使用数字表示,分别为4,2,1
r+w 6
r+x 5
w+x 3
r+w+x 7
目录有执行权没读取权:可切换到目录下,但目录下无文件
目录无执行权有读取权:可查看目录下文件,但切换不到目录下
归属(所有权)
属主:拥有该文件或目录的用户账号
属组:拥有该文件或目录的组文件
最后的r–代表既不是root用户也不是root组的用户的权限
2. 命令
chmod
格式一:
chmod [ugoa] [+-=] [rwx] 文件或目录
u:属主 g:属组 o:其他用户 a:所有用户
+:增加 -:去除 =:设置
格式二:
chmod nnn 文件或目录
nnn:3位八进制数
例如:
r-- --- r-x
4 0 5
rwx rwx rwx
7 7 7
选项:
-R 递归修改指定目录下所有子目录
chown
格式:
chown 属主 文件或目录
chown :属组 文件或目录
chown 属主:属组 文件或目录
选项:
-R 递归修改指定目录下所有子目录
3. 文件底层属性
权限控制之上的对象底层属性,权限高于rwx
lsattr 查看底层属性
"-"代表次控制位没有附加任何底层属性
chattr 修改底层属性
格式:
chattr [+/-/= i/a] 文件或目录
选项:
+,-,=用法等同于chmod
-i: 全锁
目录:可修改已有对象,不可建立删除子对象
文件:不可删除,改名,追加,修改
-a: 修改锁
目录:可以建立修改子对象,不可以删除子对象
文件:可以追加内容,不可以修改删除。(多用于日志)
4. 附加权限SET位
SET位:可以使无权限的用户拿到程序的 最高权限
SET位权限:为可执行的文件设置,权限字符为“s”(s与r\w\x相同)
其他用户执行该文件时,将拥有属主或属组权限
SET位权限类型:
Suid:对属主用户增加SET位
Sgid:对属组内的用户增加SET位权限
chomd +s 文件或目录
5. 粘滞位
让多个用户在同一设置了开放权限的目录中只可以修改属于自己的文件
chomd o+t 文件或目录
八. 补充
卸载光盘:umount /dev/sr0
挂载到/media目录:mount /dev/sr0 /media