6、创建mygroup组群,再创建myuser用户,并且此用户属于mygroup组群,接着以myuser身份登录,创建ex和hv两个文件于/home/myuser目录,并使hv文件的同组用户是root。请依次写出相应执行的命令。
7、设置权限,要求如下:创建g1组,要求创建一个属于redhat用户g1组的文件redhat.txt
笔记·
shell(翻译官)提示符
echo $SHELL (查看shell)
uname -a 查看内核
[root@bogon ~]#
root:当前登录的用户名称
bogon:主机名称
~:当前工作的目录(~是登录用户的家目录)
#:提示符(root用户,普通用户$)
命令及作用
reboot:重启
1.主机名的更改:hostnamectl set-hostname 想改的名字
2.查看主机信息:homenamectl status
3.账户的切换:su 账户名(默认root用户) (root可以直接登普通用户,普通用户要密码才能登root用户)
4.绝对路径:从根目录出发的路径可以用(pwd查看)
5.相对路径:相对于当前文件所在目录的路径
6.目录的更改:cd 更改的绝对路径、cd -(在两种目录中切换)、cd ~(切换到当前用户的家目录)、cd /(切换到根目录)、cd ../(切换到上一级目录)
cd /usr/local
7.passwd(更改用户密码,root可以直接改普通用户密码,普通用户只能改自己密码)echo "密码“ | passwd 账户名 --stdin
8.type 命令字(可以查看命令字的类型)-t 如何执行的
9.ls (查看后面文件) ls -a (查看全部文件,隐藏文件,以点开头默认为隐藏文件) ls -a-l(长列表查看全部文件)ls -l简写ll
ls -d(只显示目录文件信息,不显示子文件信息。一般与 -l 连用)ls -c(按文件时间顺序排序)-h(以更加人性化的方式显示)
-R(递归的打开,有文件就打开)-A(也是显示隐藏文件但是不会显示当前和上一级)-i(显示索引编号,文件的唯一标识)
-s(文件占用的内存块)-S(文件大小排序)
ls -lc /etc/passwd
ls 浏览之后的颜色是用来区分不同的文件类型
蓝色表示目录文件(文件夹)
白色表示普通文件
绿色表示可执行的文件
黄色表示设备文件
红色表示压缩包文件
10.命令 --help (查看命令的帮助信息)
11.help(查看shell内建的命令的帮助信息)
12.info page (调阅shell的帮助信息)
13.man 命令字(调阅shell的帮助信息)
【nfo与man的用途其实差不多,都是用来查询命令的用法或者是文件的格式。
但是与man page不同的是,info page则是将文件数据拆成一个一个的段落,每个段落用自己的页面来撰写, 并
且在各个页面中还有类似网页的『超链接』来跳到各不同的页面中,每个独立的页面也被称为一个节点(node)。
不过你要查询的目标数据的说明文件必须要以info的格式来写成才能够使用info的特殊功能(例如超链接)。 而这
个支持info命令的文件默认是放置在/usr/share/info/这个目录当中的】
操作按键:
空格键,PaGe down 向下翻一页
PaGe up,b 向上翻一页
home 直接前往首页
end 直接前往尾页
/ 从上至下搜索某个关键词,如“/linux”
? 下至上搜索某个关键词,如“?linux”
n 定位到下一个搜索到的关键词
N 定位到上一个搜索到的关键词
q 退出帮助文档
NAME命令的名称
SYNOPSIS参数的大致使用方法
DESCRIPTION介绍说明
EXAMPLES演示(附带简单说明)
OVERVIEW概述
DEFAULTS默认的功能
OPTIONS具体的可用选项(带介绍)
ENVIRONMENT环境变量
FILES用到的文件
SEE ALSO相关的资料
HISTORY维护历史与联系方式
命令格式:命令字 [选项.....] [参数.....]
内部命令:shell内部的命令
外部命令:可以找到对应的执行文件
linux下如何获取时间:
date (显示和设置系统的时间和日期)
date -R(显示时区)
date -u(显示时间统一时间)
date -s(修改时间)
timedatecyl set-time (修改时间)
timedatecyl set-ntp no/yes(关闭打开自动校准)
+%Y:年份,y:年份后两位,m:月份,H:小时,M:分钟 S:秒
2025/04/12:date +%Y/%m/%d
如果参数中出现空格要用引号
date +"%Y/%m/%d %H:%M:%S
cal(查看日历)
linux的文件类型
ll之后长列表的一个字符就是文件类型
d:目录文件(文件夹)
-:普通文件
c:字符设备文件(顺序读写)
b:块设备文件(随机读写----硬盘)
p:管道文件(用于实现进程之间的通讯)
s:套接字
l:符号链接(快捷键)
boot:系统启动所需的文件
root:超级管理员的家目录,普通用户无法访问
home:普通用户的家目录
bin:普通用户可以执行的程序或命令
sbin:只有root用户可以执行的命令
etc:配置文件
usr:一般用户程序安装所产生的目录
var:一般存放的是服务的日志文件
tmp:临时文件
mnt/media:为了后期设备挂载使用的目录文件
opt:给第三方服务
系统自带的文件不要随意删除,目录文件时严格区分大小写,没有后
缀名,只是自己对自己的提示,系统不是根据后缀名区分
命令行进行文件管理
创建文件、删除文件、创建文件目录、删除文件目录
软连接、硬链接
linux中文件命名的注意点:不能以/命名,字符存在限制<255,区分大小写,目录本身也是一个文件,在同一个路径下面,即使是文件类型不同,文件名也不能重复
stat 文件名(查看文件的详细信息)
touch 文件名(创建文件.txt .png)创建的文件不存在直接创建,如果文件存在那么不会报错,会更改该文件的三个时间
touch {A..E}.txt表示从A一直到E
touch{1,3,6}表示1和3和6
touch hellotest.txt
atime:最近访问的时间
mtime:文件内容更改的时间
ctime:元数据更改的时间
tree:以树状图的形式展开
tree -d:只显示目录
-a:显示隐藏文件
-f:列出文件的完整的绝对路径
-L:设置显示的最大深度
rm 文件名 (删除文件)
rm -f:取消删除询问
rm -f {A..E}.txt删除A到E
rm -f *.txt 删除.txt结尾的文件
rm -f*删除全部普通文件
rm -r:递归删除
mkdir 目录文件名 绝对路径
mkdir-p_aaa/bbb/ccc/ddd
-p:可以快速的把目录文件中的每一个文件创建出来,如果目录文件本身存在,那么不会进行覆盖
-v:显示创建的完整过程
硬链接的特点:源文件删除,硬链接文件正常访问
ln 创建硬链接
stat 查看文件详细信息,硬链接次数
软连接:(类似于Windows的快捷方式)绝对路径源文件删除之后,目标文件无法访问 可以分区 可以对目录文件创建软连接
inode节点与源文件不同
ln -s 源文件
ln-s /root/test//var/test
du查看占用存储空间大小
du -s磁盘总用量
数据流和重定向
输出重定向 > 对标准输出重定向,但是是覆盖的形式
>>:追加的形式
0:标准输入流 1标准输出 2标准错误输出
&:在重定向里面表示全部的,所有的
/dev/null :把所有放进去的文件全部销毁
<<:指定结束符
cat如果后面没有跟任何参数,那么它的作用就是把标准输出的内容标准输出出去
echo :把标准输入的文字输出到屏幕上来
tee 把标准输入复制到文件里(默认覆盖)
tee -a(追加的形式复制到文件里)
浏览普通文件内容
cat -n 显示行号(空行也会显示)
cat -b(对非空行编号)
cat /etc/passwd cndcdnjcdjcd &>> /opt/all.txt
tac 倒显示内容
more 分页显示文件内容(有进度条,到100%自动退出)
less (无进度条,Q键退出)
head(默认查看文件前十行,-num 指定查看num行)
tail(默认查看后十行,-num 指定查看后多少行)
| 把左边命令交给右边
head -num | tail -1看第num行
vim 文件名 :如果文件存在就会打开该文件,如果不存在就会创建并打开(默认进入阅读模式)
命令模式(阅读模式):查看,复制,粘贴,删除
a,i,s,o(光标下一行进入)都可以进入编辑模式
末行模式(保存退出,查找,替换光标所在行查找)
编辑模式esc退到命令模式:/英文模式进入末行模式esc
s///g全部替换
set nu 显示行号
% s///g全局替换
wq 保存退出
q!强制不保存退出
r 文件 添加文件内容
w 另保存
d 删除
g//d 所有删除
文件内容过滤
grep :在普通文件内容里面过滤出满足你匹配要求的行
grep -选项 查找条件
-n 显示原文行号
-c 显示满足匹配的行一共有几行
-i忽略大小写
-v查找所有不包含(反向选择)
-An(匹配到的行及其下n行)
-Bn(匹配到的行以及它的上n行)
-Cn(匹配到的以及它的上下各n行)
grep "^ "以 开头的行
grep " ^[ ]"以 或 开头的行
grep "^[ ^ ]"除了 开头的行
grep " $"以 结尾
搜寻当前目录下面的子目录当中满足匹配的行
grep -r " " 目录*
grep root /etc/passwd
cut 按列提取文件内容
grep 按行提取内容
cut -d "分隔符" -f
排序
sort 文件 默认字母顺序排序
sort -选项
sort -u (去重)
sort -n (用数字升序)
sort -r(反向排序)
sort -f(忽略大小写)
sort -t“分隔符” -k 进行排序的依据列 -n 文件
uniq -选项 文件 文本中的连续的重复进行去重
tr 文本当中字符串的替换
tr -选项 替换内容 新的内容
本文内容统计
wc 统计文本内容 行数,词数,字节数
wc 文件名
wc -l只查看行数
wc -w只查看词数
wc -c只查看字节数
wc test.txt
文件的复制和移动
复制 cp -选项 源文件(复制对象) 目标文件(复制到哪里)
cp 如果目标文件没有指定文件名,那么复制之后的文件是和源文件名字是一样的,复制时如果目标文件指定了复制之后的文件名,那么源文件复制之后的名字就是指定的文件名,如果想要复制一个文件到当前的目录,目标文件不能省略,但是可以用 . 代替
cp -d 保留链接状态
-f 覆盖不提示
cp -r 递归复制目录文件,但是目标文件必须是一个目录名
cp -p 修改时间,访问权限 全部复制
cp /root/test.txt /opt/1.txt
mv 剪切操作
mv -选项 源文件 目标文件
mv /root/test.txt /opt/
源文件和目标文件如果是在不同的目录下,则视为文件的移动,在相同的目录文件下类似于重命名操纵
查找文件的命名
which :搜索系统命令的可执行的二进制文件
whereis:搜索可执行的二进制文件和说明文档
已知文件名,不知道路径
find :(检索文件)文件名,文件大小,时间,权限,类型,所属组
find 查找到路径 查找的条件 具体的条件
-name 按照文件名查找
find 路径 -name “ ”
find /etc -name "passwd"
*:零个或多个任意字符
find 路径 -name “* *”包含 的文件
-i 忽略大小写
?一个字符
-size [+/-] 大小
-empty 查找空文件
-atime +/-时间(按照文件的访问时间进行检索)
-5,五天以内,+5,六天前,5,5~6天
find /etc -atime -3
-mtime +/- 按照文件数据修改时间进行检索
-ctime +/- 按照文件状态的修改时间进行检索(包括文件的权限改变,文件的所属人,所属权)
通过文件的权限对文件进行检索
-perm 权限模式(查找权限是 )
-perm + (比给的权限模式大的
-perm - (比给的权限模式小的)
-user 用户名 文件的所属者进行检索
-group 组名 文件的所属组进行检索
-uid id
-gid 组id
-nouser 没有所属者文件(垃圾文件)
-type 文件类型(-f 表示普通文件)
-a(逻辑与)
-o(逻辑或)
-not(满足前面不满足后面)
-exec (类似于管道符)
find /etc -size -10M -a -size +5M
find /root -user root -type f -exec cp {} /opt/ \;
压缩和解压
1.传输速率快。2.
zip gzip(最快) bzip2 xz(最好)
zip 压缩名字 压缩的文件
zip -m向压缩文件添加文件
unzip 解压缩
-d 解压缩的位置
gzip 压缩文件
gzip -r 压缩目录文件
gzip -d 解压缩
归档:零碎的文件整合成文件夹
tar
-c (创建tar包)
-x(释放tar包)
-t (查看tar包但不释放)
三个选项不能符合使用,并且每次使用tar命令,必须存在这三个选项当中的一个
必选参数:-f (用来指定打包的文件名)
-c -f 就是指定打包之后的tar包名称
-x -f 就是指向要释放的tar包
-v 查看详细信息
-C 指定释放的路径
创建tar包的时候直接压缩
-z 使用gzip格式进行压缩
-j 使用bzip2格式进行压缩
-J 使用xz格式进行压缩
-p 打包时保持文件权限
tar -xzvf gziptest.tar.gz
‘ ’ “ ”的区别
单引当中的多有字符,都会当成普通字符
双引
; 表示结束符
alias 别名的查看
临时别名的创建
alias 别名=“原命令 -参数”
uaalias 别名 删除临时别名
~/.bashrc /etc/bashrc
一个!第几条历史记录
/etc/profile 历史记录
Home跳到行首 ctrl+a
End直接跳到行尾 ctrl+e
Alt+f 光标向前移动一个单词
Alt+b 光标回退一个单词
Ctrl+u删除光标到在前面的所有字符
Ctrl+y复制上次删除的内容或者剪切的条目
Ctrl+k删除光标到最后面的所有字符
账户和工作组的管理
不同的账号对于同一个文件的权限是不同的
用户:超级管理员(具有绝对权力一个Linux系统只存在一个),普通用户(是为了让用户能够使用Linux的资源而创建的用户),系统用户(无法使用系统用户登录,存在是为了满足系统进程的需求)
工作组:快速给某类用户下发权限
基本组:新创建用户的时候,如果没有指定该账户的工作组,则会创建一个组名和该用户相同的的组,来作为它的基本组
附加组:可以容纳多个用户,组中的账户拥有组的权限
/etc/passwd 用户
/etc/shadow 密码
/etc/group
/etc/gshadow
命令
账号管理(添加删除修改)
useradd [-选项] 用户名
-u指定用户的uid
-g指定主组(基本组)
-G指定附加组
-d指定用户家目录
-s 是指定默认的shell
-m自动创建家目录
-c 账户的注释信息
-e 指定账户的过期日期 年-月-日
-f 指定密码在多少天之后被禁用
useradd -u 2000 -g gx -G yunwei -d /home/alice2 alice
groupadd yunwei
useradd -u 10086 -g ky -d /home/hky -e 2026-04-2 hky
id 查看用户的基本组以及附加组的信息
groups 查看用户的组的相关信息的
账户的添加
usermod
-a 追加
-l 新的账户名
-L 锁定用户 禁止登录
-U 解锁用户
设置用户密码
echo “密码” | passwd 用户名 –stdin
passwd
-d 清空用户密码
-e 强制用户下次登录修改密码
-i 密码到期之后宽限的时间
-l 锁定密码
-u 解锁密码
-n 密码修改的最小时间间隔
-x 密码的最长有效期最长可以使用的时间
/etc/ssh/ssh_config
账户的删除
Userdel
-r 产生的文件也删掉
sudo 临时拥有某些指定权限
/etc/sudoers
工作组的管理(添加更改删除)
groupadd
-g 指定组id
-r 创建系统账户
-f 创建的组存在直接退出
groupmod
-g 改组id
-n 改组名
工作组的成员管理
gpasswd -参数 账户 工作组
-a 将某个用户添加到组里面
-d 将某个用户从组里面删除
-M 一次性向工作组当中添加多个用户(用逗号隔开)
设置组的管理员
-A 指定工作组的管理员(不一定在工作组中,并且管理员具有工作组成员管理的权限)
只有root用户可以删除工作组
如果删除的工作组是某个用户的基本组,那么需要把这种关系解除掉之后才能删除该组
如何查看用户登录的相关信息
users 当前登录的用户
w
-H 列出头部
-u 显示详细信息
lst
lst -n 10 最近十条
-i 显示IP地址
lastlog 所有用户的最后一次登录
-u 指定查看的用户
-t 2 两天以内登陆的用户
-b 3 三天前登录过的用户
who
init 切换运行级别
Linux 7个级别
0 :系统停机关机的状态
5:登录图形化界面
6:系统正常关闭并重启
runlevel 查看当前运行级别
whoami 当前系统登录的用户是谁
权限
rwx
chown [-选项] 新的所属者 文件
chown [-选项] 新的所属者 :新的所属组 文件
-R 全部设置
chmod [选项] [ugo](a所有人)[+-=]
r=4 w=2 x=1
一个文件是否可以被某个用户删除,并不取决于该用户对文件的权限,而是取决于该文件所在文件夹对该用户的权限设置
r :查看目录文件下面的内容,w:可以进行文件的创建,属性的修改,用户文件的删除 x:是否可以切换到该目录中
权限掩码0(特殊权限的标志位)
普通文件的默认权限=0666-umask
目录文件的默认权限=0777-umask
Suid:当普通文件执行该文件时,拥有该文件所属者的权限
Chomdu+s 文件
sgid 获得所属组权限
粘滞位t是针对目录文件,自己只能删除自己创建的文件
单独为某一个用户(工作组)量身定制一个权限
gtfacl 查看特殊权限
setfacl -选项 文件名
-m 设置facl权限 给用户设置
sefacl -m u:用户:rwx
-x 删除指定权限
-b删除所有acl权限
-d设置默认acl权限
针对的是目录文件,在目录中创建的所有子文件都具有该acl权限
-k 删除默认acl权限
-R 递归设置acl权限,指的是设置acl下的所有子目录