命令基础
-
命令的执行依赖于解释器(默认的解释器:/bin/bash)
- 用户---》解释器---》内核---》硬件
[root@localhost ~]# cat /etc/shells #查看当前系统有哪些解释器 -
命令行的一般格式基本用法
- 命令字 [选项]… [参数1] [参数2]…
-
Linux执行大多数命令,都要找到对应的执行程序
- which 查看命令对应的执行程序
- 大多数命令是有对应的执行程序的
- which 查看命令对应的执行程序
-
命令行的快捷键
- Ctrl+C 废弃当前编辑的命令行、结束当前正在运行的命令
- Ctrl+L 清空屏幕
- ALT/ESC+. 粘贴上一条命令的最后一个参数
- Ctrl+U 清楚光标前的内容
- Ctrl+W 以空格为界定,删除一个参数或命令
- Tab 自动补全
一、文件和目录管理
1.1、Linux系统的目录结构
- Linux系统的目录结构:树形结构
- 哲学理念:一切皆文件。
- 根目录:用 “ / ” 表示
- Linux系统的起点

- /root:管理员用户的家目录
- /bin :存放二进制可执行文件
- /boot:存放启动系统所需要的引导文件
- /etc :存放的是系统管理所用到的配置文件
- /home:存放普通用户家目录的
- /dev :存放硬件设备的目录
- /var :常态性变动的文件,包括日志文件以及某些软件运作所产生的文件
1.2、文件和目录的管理命令
1.2.1、pwd
- (Print Working Directory)显示出完整的当前工作目录的名称
[root@localhost ~]# pwd
/root
1.2.2、cd
-
(Change Directory)切换目录
-
命令格式:cd [目标文件夹位置]
[root@localhost ~]# cd /opt/
[root@localhost opt]# pwd
/opt
-
cd 命令常用的几种方式
- 直接使用 cd 会切换到当前登录用户的家目录、
[root@localhost opt]# cd [root@localhost ~]# pwd /root- cd .. 切换到当前目录的父目录
[root@localhost ~]# cd .. [root@localhost /]# pwd /- cd ~用户名 切换到目标用户的家目录
[root@localhost ~]# useradd nsd2005 [root@localhost ~]# cd ~nsd2005 [root@localhost nsd2005]# pwd /home/nsd2005 -
绝对路径和相对路径
- 绝对路径:以根目录开始的完整路径
- 相对路径:以当前所在的目录为参照物的路径
1.2.3、ls
-
(list)显示指定目录下的内容(列出当前工作目录所含文件及子目录)
-
命令格式:ls [选项] [目录或文件名]…
[root@localhost ~]# ls
anaconda-ks.cfg 公共 视频 文档 音乐
initial-setup-ks.cfg 模板 图片 下载 桌面
- 常用的选项
- -l 长格式显示文件的详细属性
[root@localhost ~]# ls -l /etc/passwd
-rw-r--r--. 1 root root 2727 6月 8 10:24 /etc/passwd
- -A 显示目标目录下所有的文件和目录,包括隐藏文件
[root@localhost ~]# ls -A /root/
- -d 显示目录本身的属性
[root@localhost ~]# ls -ld /etc
- -h 提供一个易读的单位
[root@localhost ~]# ls -lh /etc/passwd
- -R 递归显示内容
[root@localhost ~]# ls -R /etc/
1.2.4、du
-
统计文件或者目录使用硬盘空间的大小
-
命令格式 : du [选项] 文件或目录
-
常用选项
- -s 显示文件或目录的大小
- -h 加一个易读的单位
[root@localhost ~]# du -sh /etc/passwd
1.2.5、cat
-
将[文件]或标准输入组合输出到标准输出。
-
命令格式:cat [选项]... [文件]...
[root@localhost ~]# cat /etc/passwd
-
常用的选项
- -n 对输出的所有行编号
[root@localhost ~]# cat -n /etc/passwd
1.2.6、head和tail
-
查看部分内容的命令
-
head命令格式:head [-n] 数字 文件名
- 默认查看文件前10行
[root@localhost ~]# head /etc/passwd //显示前十行内容 [root@localhost ~]# head -2 /etc/passwd //显示前两行内容 -
tail命令格式: tail [-n] 数字 文件名
- 默认查看文件后10行
[root@localhost ~]# tail /etc/passwd //显示后十行内容 [root@localhost ~]# tail -2 /etc/passwd //显示后两行内容
1.2.7、grep工具
- 输出包含指定字符串的行
- 命令格式: grep 查找条件 目标文件
[root@localhost ~]# grep ^root /etc/passwd //查询以root开头的行
[root@localhost ~]# grep bash$ /etc/passwd //查询以bash结尾的行
-
常用选项
- -v 结果取反
- -i 忽略大小写
[root@localhost ~]# grep -v ^root /etc/passwd //查询不以root开头的行 [root@localhost ~]# grep -v bash$ /etc/passwd //查询不以bash结尾的行
1.2.8、mkdir
-
创建目录
-
命令格式:mkdir [选项]... 目录...
[root@localhost ~]# mkdir /opt/nsd2005
[root@localhost ~]# cd /opt/nsd2005
[root@localhost nsd2005]# pwd
/opt/nsd2005
-
常用的选项
- -p 创建一个目录并将它的父目录也创建出来(创建一个连续的目录)
[root@localhost nsd2005]# mkdir -p /opt/nsd2005/aa/bb/cc/dd/ee [root@localhost nsd2005]# cd /opt/nsd2005/aa/bb/cc/dd/ee [root@localhost ee]# pwd /opt/nsd2005/aa/bb/cc/dd/ee- -m 创建目录时指定权限
[root@localhost ~]# mkdir -m 444 /opt/nsd05 [root@localhost ~]# ls -ld /opt/nsd05 dr--r--r--. 2 root root 6 6月 8 10:50 /opt/nsd05
1.2.9、touch
- 创建文件
- 命令格式: touch 文件名
[root@localhost ~]# touch 1.txt //在当前目录下创建文件1.txt
[root@localhost ~]# touch /opt/1.txt //在指定目录下创建文件1.txt
1.2.10、rm
-
删除目录或文件
-
命令格式:rm [选项]... 文件...
-
常用的选项
- -r :递归删除(删除目录必须要有)
- -f : 强制删除
[root@localhost ~]# rm -rf /opt/1.txt [root@localhost ~]# rm -rf /opt/nsd05/ [root@localhost ~]# ls /opt/
1.2.11、mv
-
(move)移动文件或目录
-
路径不变的移动(重命名)
-
命令格式:mv 原文件… 目标路径
[root@localhost ~]# touch 1.txt [root@localhost ~]# mv 1.txt /opt/1.txt -
重命名
[root@localhost ~]# mv /opt/1.txt /opt/2.txt [root@localhost ~]# ls /opt/
1.2.12、cp
-
(copy)复制
-
命令格式:cp [选项]... 原文件1、原文件2… 目标路径
-
常用选项
- -r 递归复制,复制目录时必须有的选项
[root@localhost ~]# cp /etc/passwd /opt/passwd [root@localhost ~]# ls /opt/ [root@localhost ~]# cp /etc/passwd /opt/pass [root@localhost ~]# ls /opt/ [root@localhost ~]# \cp /etc/passwd /opt/
1.3、归档及压缩
-
归档:将多个文件或目录整理为一个文件,文件总大小不会改变。
-
压缩:按照某种算法减小文件占用空间的大小
-
Linux系统中常见的压缩格式
- .gz ==》 gzip
- .bz2 ==》 bzip2
- .xz ==》 xz
1.3.1、tar 集成备份工具
-
创建压缩包
- 命令格式1: tar 选项 /路径/压缩包的名字 /路径/被压缩归档的数据.........
-
释放压缩包:
- 命令格式2: tar 选项 /路径/压缩包的名字 -C(大写) /路径/
-
常用选项
- -c 创建归档
- -x 释放归档
- -f 指定归档文件名称,必须要有的选项,必须放在所有选项后面。
- -z 、 -j 、-J : 分别表示gz、bz2、xz
- -t : 显示归档文件中的清单。不执行解压缩的操作
- -C : 指定释放路径
[root@localhost ~]# tar -zcf /root/tarfile.tar.gz /boot /opt/
tar: 从成员名中删除开头的“/”
[root@localhost ~]# tar -tf /root/tarfile.tar.gz
[root@localhost ~]# mkdir /opt/tarfiles
[root@localhost ~]# tar -xf /root/tarfile.tar.gz -C /opt/tarfiles/
[root@localhost ~]# ls /opt/tarfiles/
boot opt
1.3.2、zip
-
zip归档工具:可跨平台的
- 归档+压缩
- zip -r 备份文件.zip 被归档的文件或目录
[root@localhost ~]# zip -r /root/zipfiles.zip /home /boot
- 释放+解压
- unzip 备份文件.zip -d [目标文件夹]
[root@localhost ~]# mkdir /zipfiles
[root@localhost ~]# unzip /root/zipfiles.zip -d /zipfiles
[root@localhost ~]# ls /zipfiles
boot home
1.4、管道和重定向
-
管道 | 将前面命令的输出结果,传递给后面的命令作为参数
-
重定向 > 将前面命令的输出作为内容,写入到目标文件中
- (不存在会自动创建)
- 覆盖重定向: >
- 追加重定向: >>
1.5、find命令
-
命令格式: find [目录] [条件1] [条件2]
-
常用的条件
- -type 类型 (f 文本文件、 d 目录、 L快捷方式)
- -name “文件名称”
- -size + | - 文件大小(k、M、G、TB、PB、EB)
- -user 用户名
- -mtime 修改时间
[root@localhost ~]# find /boot/ -type f -
高级使用:处理查找的内容
-
命令格式:find [范围] [条件] -exec 处理命令 {} ;
- -exec
- 示例
[root@localhost ~]# find /boot/ -type f -exec cp {} /opt/ \; [root@localhost ~]# find /opt/ -type f -exec rm -rf {} \; [root@localhost ~]# ls /opt/
1.6、链接文件
- 制作连接(链接)文件(制作快捷方式)
- 格式: ln -s /路径/源数据 /路径/快捷方式的名字 #软连接
[root@localhost ~]# ln -s /etc/redhat-release /opt/r.txt
[root@localhost ~]# ls -l /opt/r.txt
lrwxrwxrwx. 1 root root 19 7月 8 14:16 /opt/r.txt -> /etc/redhat-release
[root@localhost ~]# cat /opt/r.txt
CentOS Linux release 7.5.1804 (Core)
- 制作硬连接文件
- 格式: ln /路径/源数据 /路径/快捷方式的名字 #硬链接
[root@localhost ~]# echo 123456 > /opt/A.txt
[root@localhost ~]# cat /opt/A.txt
[root@localhost ~]# ln /opt/A.txt /opt/C.txt #硬链接
[root@localhost ~]# ls /opt/
-
软连接的特点:
- 若原始文件或目录被删除,连接文件将失效
- 软连接可存放在不同分区/文件系统
-
硬链接的特点:
- 若原始文件被删除,连接文件仍可用
- 硬链接与原始文件必须在同一分区/文件系统
二、Linux软件包管理
- 常见的软件包
- Red Hat系列 : rpm软件包
- Debian系列 : deb软件包
- 源代码软件包 :通常以 .tar.gz、.tar.bz2 格式的压缩包提供,包含程序的原始代码文件
- 绿色版软件 :免安装
2.1、rpm 命令
2.1.1、查询已软件的软件
-
命令格式: rpm -q[子选项] [软件名称]
-
常用的子选项
- -qa:列出已安装的所有软件包
- -qi :查看指定软件的详细信息
- -ql:查看指定软件的文件安装清单
[root@localhost ~]# rpm -q firefox [root@localhost ~]# rpm -qi firefox [root@localhost ~]# rpm -ql firefox
2.1.2、查询目录或文件是由那个RPM包产生的
-
命令格式 :rpm -qf [文件路径]…
- 即使目标被删除也可以查询
[root@localhost ~]# rpm -qf /etc/passwd
2.1.3、查询未安装的软件包信息
-
命令格式:rpm -q[子选项] [RPM包文件路径]
-
常用的子选项
- -qpi:查看指定软件的详细信息
- -qpl:查看指定软件的文件安装清单
[root@localhost ~]# rpm -qpi /mydvd/Packages/httpd-2.4.6-80.el7.centos.x86_64.rpm [root@localhost ~]# rpm -qpl /mydvd/Packages/httpd-2.4.6-80.el7.centos.x86_64.rpm
2.1.4、安装rpm包
-
命令格式: rpm -i RPM软件包路径
-
辅助选项
- -v : 显示安装细节信息
- -h : 显示安装进度
- --force : 强制安装、覆盖安装
- --test : 测试安装,不做真实安装动作
[root@localhost ~]# rpm -q httpd //查询是否安装 [root@localhost ~]# rpm -ivh /mydvd/Packages/httpd-2.4.6-80.el7.centos.x86_64.rpm -
恢复被删除的程序
[root@localhost ~]# which hostname
/usr/bin/hostname
[root@localhost ~]# rm -rf /usr/bin/hostname
[root@localhost ~]# rpm -qf /usr/bin/hostname
hostname-3.13-3.el7.x86_64
[root@localhost ~]# rpm -ivh --force /mydvd/Packages/hostname-3.13-3.el7.x86_64.rpm
2.1.5、卸载软件
- 命令格式: rpm -e 软件名
[root@localhost ~]# rpm -e httpd
[root@localhost ~]# rpm -q httpd
未安装软件包 httpd
2.1.6、导入红帽签名信息
- 命令格式: rpm --import 签名信息文件存放路径
[root@localhost ~]# rpm --import /mydvd/RPM-GPG-KEY-CentOS-7
2.2、yum仓库
-
基于RPM包构建的软件更新机制
-
自动解决软件包依赖关系
-
所有软件包由集中的YUM软件仓库提供
2.2.1、构建本地的yum仓库
[root@localhost ~]# mkdir /etc/yum.repos.d/repo_bak
[root@localhost ~]# mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo_bak
[root@localhost ~]# vim /etc/yum.repos.d/dvd.repo
[root@localhost ~]# cat /etc/yum.repos.d/dvd.repo
[dvd] //仓库的标识
name=dvd.repo //仓库的描述信息
baseurl=file:///dvd //仓库在哪里,file://代表本机
enabled=1 //是否启用本文件
gpgcheck=0 //是否检测红帽签名
#gpgkey= 签名文件路径 //gpgcheck=0时gpgkey不需要写
[root@localhost ~]# yum repolist
2.2.2、使用yum安装软件
[root@localhost ~]# yum -y install httpd
2.2.3、使用yum卸载软件
[root@localhost ~]# yum -y remove httpd
2.2.4、yum 常用操作
- yum 查询
[root@localhost ~]# yum list ftp //查询软件
[root@localhost ~]# yum provides ftp
//查询提供ftp命令的软件包,也可以查询文件由那个软件包提供
[root@localhost ~]# yum search ftp //查询与ftp有关的软件包
- yum 缓存
[root@localhost ~]# yum makecache //手动建立缓存
[root@localhost ~]# yum clean all //清楚缓存
2.2.5、mount挂载操作
-
让目录成为设备的访问点
-
以光驱设备为例。
[root@localhost ~]# ls -l /dev/cdrom
lrwxrwxrwx. 1 root root 3 6月 8 15:17 /dev/cdrom -> sr0
[root@localhost ~]# mkdir /dvd //创建挂载点
[root@localhost ~]# mount /dev/cdrom /dvd
[root@localhost ~]# df -ah | grep dvd
/dev/sr0 8.8G 8.8G 0 100% /dvd
- 卸载操作
[root@localhost ~]# umount /dvd/
[root@localhost ~]# df -ah | grep dvd
三、用户和组管理
3.1、用户管理
-
用户的标识: UID
-
管理员用户 root 的UID 为0 ; 普通用户的UID从1000开始。
-
一个用户必须属于一个组,在创建用户的用时,也会创建一个与这个用户相对应得基本组。
-
/etc/passwd,保存用户帐号的基本信息
- 每个用户记录一行,以:分割为7个字段
[root@localhost ~]# head -1 /etc/passwd root:x:0:0:root:/root:/bin/bash用户名:密码占位符:用户的UID:基本组的GID:描述信息:家目录:解释器
-
/etc/shadow,保存用户密码/有效期等信息
- 每个用户记录一行,以:分割为9个字段
[root@localhost ~]# grep root /etc/shadow root:$6$Jw6.2w9W$NSXSyOBuR.afacfARXMyylkpvhb1X847sSmeeP15pAZo8JhGbBlaaYCBWh9U/SIHoTvUctpOqK2deERW8R/Sh.:18421:0:99999:7:::字段1:用户帐号的名称
字段2:加密后的密码字符串
字段3:上次修改密码的时间(上一次修改密码的时间:从1970-1-1到达上一次修改密码的时间经历的天数)
字段4:密码的最短有效天数,默认0
字段5:密码的最长有效天数,默认99999
字段6:密码过期前的警告天数,默认7
字段7:密码过期后多少天禁用此用户账号
字段8:帐号失效时间,默认值为空
字段9:保留字段(未使用) -
用户初始配置文件
- 新建用户时,根据 /etc/skel 模板目录复制
3.1.1、创建用户
-
useradd 命令
-
命令格式: useradd [选项]... 用户名
-
常用选项
- -u:指定 UID 标记号
[root@localhost ~]# useradd -u 2005 nsd01 [root@localhost ~]# id nsd01 uid=2005(nsd01) gid=2005(nsd01) 组=2005(nsd01)- -d:指定宿主目录(家目录),缺省为 /home/用户名
[root@localhost ~]# useradd -d /opt/nsd02 nsd02 [root@localhost ~]# ls -ld /opt/nsd02/ drwx------. 3 nsd02 nsd02 78 6月 8 15:56 /opt/nsd02/- -G:指定所属的附加组
[root@localhost ~]# useradd -G nsd2005 nsd03 [root@localhost ~]# id nsd03 uid=2007(nsd03) gid=2008(nsd03) 组=2008(nsd03),2007(nsd2005)- -s:指定用户的登录解释器
[root@localhost ~]# useradd -s /sbin/nologin nsd04 [root@localhost ~]# su - nsd04 This account is currently not available. //次账户目前不可用
-
3.1.2、修改用户属性
-
usermod 命令
-
命令格式: usermod [选项]... 用户名
-
常用的选线:
- -u:用户id
[root@localhost ~]# id nsd01 uid=2005(nsd01) gid=2005(nsd01) 组=2005(nsd01) [root@localhost ~]# usermod -u 3000 nsd01 [root@localhost ~]# id nsd01 uid=3000(nsd01) gid=2005(nsd01) 组=2005(nsd01)- -s:登录解释器
[root@localhost ~]# cat /etc/passwd | grep nsd04 nsd04:x:2008:2009::/home/nsd04:/sbin/nologin [root@localhost ~]# usermod -s /bin/bash nsd04 [root@localhost ~]# cat /etc/passwd | grep nsd04 nsd04:x:2008:2009::/home/nsd04:/bin/bash- -l:更改用户帐号的登录名称
[root@localhost ~]# id nsd100 id: nsd100: no such user [root@localhost ~]# usermod -l nsd100 nsd01 [root@localhost ~]# id nsd01 id: nsd01: no such user [root@localhost ~]# id nsd100 uid=3000(nsd100) gid=2005(nsd01) 组=2005(nsd01)- -G:附加组 //重置附加组
[root@localhost ~]# id nsd100 uid=3000(nsd100) gid=2005(nsd01) 组=2005(nsd01) [root@localhost ~]# groupadd test1 groupadd:“test1”组已存在 [root@localhost ~]# usermod -G test1 nsd100 [root@localhost ~]# id nsd100 uid=3000(nsd100) gid=2005(nsd01) 组=2005(nsd01),1000(test1)- -d:家目录路径
[root@localhost ~]# cd ~nsd100 [root@localhost nsd01]# pwd /home/nsd01 [root@localhost nsd01]# usermod -d /opt/nsd100 nsd100 [root@localhost nsd01]# cd ~nsd100 -bash: cd: /opt/nsd100: 没有那个文件或目录 [root@localhost nsd01]# mkdir /opt/nsd100 [root@localhost nsd01]# cd ~nsd100 [root@localhost nsd100]# pwd /opt/nsd100 [root@localhost nsd100]# ls -ld /opt/nsd100 drwxr-xr-x. 2 root root 6 6月 8 16:08 /opt/nsd100
-
3.1.3、给用户设置密码
- passwd 命令
- 命令格式: passwd [选项]... 用户名
[root@localhost ~]# passwd //直接使用passwd可修改当前登录用户的密码
更改用户 root 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
- 取消交互式设置密码
[root@localhost ~]# echo 123456 | passwd --stdin root
更改用户 root 的密码 。
passwd:所有的身份验证令牌已经成功更新。
3.1.4、删除用户
-
userdel 命令
-
命令格式: userdel [-r] 用户名
-
常用选项
- -r 连同家目录/用户邮件一起删除
[root@localhost ~]# userdel -r nsd02 [root@localhost ~]# userdel -r nsd03 [root@localhost ~]# userdel -r nsd100 userdel:/opt/nsd100 并不属于 nsd100,所以不会删除
-
3.2、组管理
-
/etc/group,保存组帐号的基本信息
- 每个组记录一行,以:分割为4个字段
[root@localhost ~]# groupadd nsd2005 groupadd:“nsd2005”组已存在 [root@localhost ~]# grep nsd2005 /etc/group nsd2005:x:2007:组名:组的密码占位符:GID:组的成员列表
3.2.1、创建组
-
groupadd 命令
- 命令格式: groupadd [选项] 组
[root@localhost ~]# groupadd nsd2005
3.2.2、管理组成员
-
gpasswd 命令
-
命令格式: gpasswd [选项]... 组名
-
常用选项
- -a 添加组成员,一次一个
[root@localhost ~]# useradd haha [root@localhost ~]# gpasswd -a haha nsd2005- -d 删除组成员,一次一个
[root@localhost ~]# gpasswd -d haha nsd2005 正在将用户“haha”从“nsd2005”组中删除- -M 定义组成员用户列表,可设置多个
- 覆盖之前,重定义
[root@localhost ~]# gpasswd -M haha,xixi,hehe nsd2005 [root@localhost ~]# grep nsd2005 /etc/group nsd2005:x:2007:haha,xixi,hehe- -A 定义组管理员列表,可定义多个
- 覆盖之前,重定义
[root@localhost ~]# gpasswd -A www1 nsd2005 [root@localhost ~]# su - haha 上一次登录:一 6月 8 16:40:36 CST 2020pts/0 上 [haha@localhost ~]$ gpasswd -d haha nsd2005 gpasswd:没有权限。 [root@localhost ~]# su - www1 [www1@localhost ~]$ gpasswd -d hah nsd2005 正在将用户“hah”从“nsd2005”组中删除 gpasswd:用户“hah”不是“nsd2005”的成员
-
3.2.3、删除组
-
groupdel 命令
- 命令格式: groupdel 组名
- 删除的组不能是用户的基本组
[root@localhost ~]# groupdel nsd2005 [root@localhost ~]# grep nsd2005 /etc/group
四、权限管理
4.1、基本权限和归属
-
基本权限:
- 读 : r (read)
- 写 : w (write)
- 执行 : x (excute)
-
归属关系:
- 所有者 : u (user)
- 所属组 : g (group)
- 其他用户 : o (other)
[root@localhost ~]# ls -l /etc/passwd -rw-r--r--. 1 root root 2635 6月 5 19:04 /etc/passwd 权限 硬链接数 属主 属组 大小 最后修改时间 文件名- -rw-r--r--
- 最前面的 - 表示 文件类型是普通文件(d,表示目录,l,表示链接文件)
- 第二到第四个字符 rw- 表示属主(所有者)具有可读可写的权限
- 第五到第七个字符 r-- 表示属组(所属组)具有可读的权限
- 第八到第十个字符 r-- 表示其他人具有可读的权限
4.2、修改权限
- chmod命令
- 命令格式1:chmod [ugoa] [+-=] 文件
- 命令格式2: chmod [nnn] 文件
- 常用选项
- -R 递归修改权限
- 权限的8进制数表示
- r = 4
- w = 2
- x = 1
[root@localhost ~]# touch 1.txt
[root@localhost ~]# ls -l 1.txt
-rw-r--r--. 1 root root 0 6月 8 16:51 1.txt
[root@localhost ~]# chmod a+x 1.txt
[root@localhost ~]# ls -l 1.txt
-rwxr-xr-x. 1 root root 0 6月 8 16:51 1.txt
[root@localhost ~]# chmod 777 1.txt
[root@localhost ~]# ls -l 1.txt
-rwxrwxrwx. 1 root root 0 6月 8 16:51 1.txt
4.3、修改归属关系
- chown 命令
- 命令格式1: chown 属主 文件
- 命令格式2: chown 属主:属组 文件
- 命令格式3: chown :属组 文件
- 常用的选项
- -R : 递归修改归属关系
[root@localhost ~]# useradd test1
[root@localhost ~]# mkdir -p /opt/aa/bb/cc
[root@localhost ~]# chown test1 /opt/aa/
[root@localhost ~]# ls -ld /opt/aa/
drwxr-xr-x. 3 test1 root 16 6月 8 16:59 /opt/aa/
[root@localhost ~]# chown -R test1:test1 /opt/aa/
[root@localhost ~]# ls -lR /opt/aa/
4.4、ACL策略
-
针对个别用户,个别组设置独立的权限
-
setfacl 命令
-
命令格式1: setfacl [选项] u:用户名:权限 文件
-
命令格式2: setfacl [选项] g:组名:权限 文件
-
常用选项
- -m:定义一条ACL策略
[root@localhost ~]# useradd dc [root@localhost ~]# setfacl -m u:dc:rw /opt/aa/- -x:清除指定的ACL策略
[root@localhost ~]# setfacl -x u:dc /opt/aa/ [root@localhost ~]# getfacl /opt/aa/- -b: 清楚所有已设置的ACL策略
[root@localhost ~]# setfacl -b /opt/aa/- -R:递归设置ACL策略
[root@localhost ~]# setfacl -Rm u:dc:rwx /opt/aa/ [root@localhost ~]# getfacl /opt/aa/ [root@localhost ~]# getfacl /opt/aa/bb/
-
4.5、附加权限
-
Set GID权限(s权限)
- 使用方式:chmod g+s 目标目录
- 占用属组(Group)的 x 位
- 显示为 s 或 S,取决于属组是否有 x 权限
- 对目录有效
- 在一个具有SGID权限的目录下,新建的文档会自动继承此目录的属组身份
- 使用方式:chmod g+s 目标目录
-
Set UID
- 使用方式:chmod u+s 目标目录
- 占用属主的x位
- 显示为s或S,取决于属主是否有x权限(有x权限,就是s。没有就是S)
- 仅对可执行的程序有意义
- 当其他用户执行带SUID标记的程序时,具有此程序属主的身份和相应权限
-
粘滞位,sticky Bit权限(t权限)
- 使用方式:chmod o+t 目标目录
- 占用其他人的x位
- 显示为t或T,取决于其他人是否有x权限(有x权限,就是s。没有就是S)
- 适用于目录,用来限制用户滥用写入权限、
•Set GID权限
–占用属组(Group)的 x 位
–显示为 s 或 S,取决于属组是否有 x 权限
–对目录有效
–在一个具有SGID权限的目录下,新建的文档会自动继承此目录的属组身份
五、vim编辑器
- 命令模式
- 行间跳转: gg 跳转到首行、G跳转到尾行
- 扩展: ngg (n表示行号) 跳转到指定行
- 列间跳转: ^ 跳转到行首 、 $ 跳转到行尾
- 扩展: n| (n表示列号)
- 复制: yy 复制一行 nyy 复制多行
- 粘贴: p 复制到光标下面的一行, P 复制到光标的上一行
- 删除 : dd 删除光标所在行
- C 删除光标后的内容,与d$相同
- d^ 删除光标前的内容
- 文本查找:
- /word 向后查找字符串
- n 向下 N 向上
- 撤销编辑
- u 撤销最近的一次修改。长摁就相当于多次u,返回到最开始的状态
- U 撤销对当前行的修改
- CTRL+R 撤销前一次的撤销操作
- 保存退出
- ZZ
- 行间跳转: gg 跳转到首行、G跳转到尾行
- 末行模式
- 保存 :w
- 退出 :q! 放弃更改退出
- 保存并退出 :wq
- 另存为 :w /目标文件路径
- 读入其它文件内容 :r 目标文件
- 字符串替换
- 行内替换
- : s /old/new 替换当前行第一个“old”
- : s /old/new/g 替换当前行所有的“old”
- 区域内替换
- :n,m s/old/new/g 替换n到m行所有的old
- :% s/old/new/g 替换文件内所有的old
- 行内替换
- 显示行号:
- :set nu | nonu 显示和不显示行号
- :set ai|noai 启用和关闭自动缩进
六、补充的命令
-
通配符
-
“ * ” : 任意多个字符
-
“ ? ” :任意单个字符
-
[a-z] : 连续范围内的一个
-
{a,min,max}:多个不连续的字符串,全匹配
-
-
less 分屏阅读工具
- 命令格式:less 文件名…
- 优势:支持上下键滚动
[root@localhost ~]# less /etc/passwd //按q可以退出 -
列出CPU处理器信息
[root@localhost ~]# lscpu
- 列出内存信息
[root@localhost ~]# cat /proc/meminfo
- 列出当前系统的主机名称
[root@localhost ~]# hostname
- 列出网卡信息
[root@localhost ~]# ifconfig
-
关机:poweroff
-
重启:reboot
-
别名: 复杂的命令简单化
-
查看已设置的别名
-
alias [别名名称]
-
定义新的别名
-
alias 别名名称= '实际执行的命令行'
-
取消已设置的别名
-
unalias [别名名称]
-
-
date,查看/调整系统日期时间
- date +%F、date +%R
- date +"%Y-%m-%d %H:%M:%S"
- date -s "yyyy-mm-dd HH:MM:SS"
[root@localhost ~]# date
2020年 06月 03日 星期三 16:22:01 CST
[root@localhost ~]# date +%Y #显示年
[root@localhost ~]# date +%m #显示月
[root@localhost ~]# date +%d #显示日期
[root@localhost ~]# date +%H #显示小时
[root@localhost ~]# date +%M #显示分钟
[root@localhost ~]# date +%S #显示秒
[root@localhost ~]# date +%F #显示年-月-日
[root@localhost ~]# date -s "2008-10-1 12:10:21"
[root@localhost ~]# date
[root@localhost ~]# date -s "2020-6-3 16:28"
2020年 06月 03日 星期三 16:28:00 CST
[root@localhost ~]#
浙公网安备 33010602011771号