【Linux】

目录

考试题型:

命令语句:

基本命令

ls命令 (查看文件信息)

cd命令(切换目录)

mkdir命令(创建目录)

Linux第一次课程&随堂练习内容

touch命令(创建文件)

rm命令 (删除文件)

mv命令(移动(/重命名)文件)

cp命令(复制文件)

tar命令(打包压缩)

查看命令

Linux第二次课程&随堂练习内容

find命令(查找文件)

grep命令(文本过滤)

管道符命令 | 

重定向符 < << > >>

Linux第三次课程&随堂练习内容

vim文本编辑器(命令模式,编辑模式,底行命令模式)

ln命令(创建链接)

Linux第四次课程&随堂练习内容

用户管理(相关信息存在于/etc/passwd)

组管理

Linux第五次课程&随堂练习内容

用户的提权

用户的提权-权限管理

Linux第六次课程&随堂练习内容

修改权限(符号法)

Linux第七次课程&随堂练习内容

修改权限(数值法)

修改文件所有者和所属组

特殊权限

Linux第八次课程&随堂练习内容

默认权限

访问控制列表

精确匹配权限

Linux第九次课程&随堂练习内容

网络管理(nmtui)

配置ip地址(linux)

Linux第十次课程&随堂练习内容

实验&作业练习题

Linux H1

Linux H2

Linux H3

实验一

实验二


考试题型:

单选/多选/判断/填空/简答

简答题40分 其余共60题一题一分。


命令语句:

基本命令

  • 查看完整主机名:hostname
  • 修改主机名:hostnamectl set-hostname 主机名
  • 查看当前目录的完整路径:pwd
  • 显示当前系统时间和日期:date
  • 显示日历:cal
  • 查看磁盘驱动器当前可用空间:df
  • 查看可用内存:free
  • 查看当前工作目录:pwd
  • 显示CPU使用率:top
  • 打开网络管理器:nmtui

ls命令 (查看文件信息)

  • ls -l 列出当前目录下的详细文件信息
  • ls -lh 列出当前目录下的详细文件信息(大小大于1kb时带单位)
  • ls -ld 查看指定目录本身的信息
  • ls -a 查看当前目录下文件,包括隐藏文件(隐藏文件以.开头)

cd命令(切换目录)

  • cd ~ 返回当前用户的家目录
    [root@localhost ~]# cd /etc
    [root@localhost etc]# cd ~
    [root@localhost ~]# 
    
  • cd .. 返回上级目录
    [root@localhost ~]# cd A
    [root@localhost A]# ll
    总用量 4
    -rw-r--r--. 1 root root 697 3月   3 11:42 11.txt
    -rw-r--r--. 1 root root   0 3月   1 10:40 2.txt
    -rw-r--r--. 1 root root   0 3月   1 10:44 444.txt
    -rw-r--r--. 1 root root   0 3月   1 10:42 5.txt
    drwxr-xr-x. 2 root root   6 3月   1 10:48 B
    [root@localhost A]# cd B
    [root@localhost B]# cd ..
    [root@localhost A]# 
    
  • cd . 返回当前目录(无意义)
  • cd - 返回上级目录

mkdir命令(创建目录)

  • mkdir 目录名 在当前目录下创建目录
  • mkdir -p 父目录/子目录 在当前目录创建多级目录

Linux第一次课程&随堂练习内容


touch命令(创建文件)

  • touch 文件名 在当前目录下创建文件
  • touch (路径)/文件名 在路径下创建文件

rm命令 (删除文件)

  • rm (路径) 文件名 删除文件
  • rm -f (路径) 文件名 强制删除文件
  • rm -rf (路径) 目录 强制删除目录
  • rm -rf 指定目录/* 
  • rm -rf /* 删除所有文件

mv命令(移动(/重命名)文件)

  • mv 移动目标文件 移动文件目的目录              将文件移动到目的目录
  • mv 移动目标文件 移动文件目的目录/新文件名              将文件移动到新的目录并重命名
  • mv 移动目标文件 新文件名              重命名

cp命令(复制文件)

  • cp 源文件 目的目录              复制文件到指定目录
  • cp 源文件 目的目录/新文件名              复制并重命名
  • cp -r 源目录 目的目录              复制目录

tar命令(打包压缩)

  •  tar -cvf 包的名字 被打包目录              对目录进行打包 
  • tar -tvf (路径) 包的名字              查看包的内容
  • tar -xvf (路径) 包的名字              解压压缩包
  • tar -xvf (路径) 包的名字 -C 指定解压后包的路径              解压压缩包
  • tar -czvf 包的名字 被打包的目录              以gzip方式打包
例:对E目录进行打包压缩 格式为bzip2

tar -cjvf f.bz2 F


或者


tar -czvf e.gzip E
  • file 文件名              查看文件属性
c:创建 v:显示过程 f:指定包的名字
t:查看包的内容
x:解压包

指定算法打包:

加算法参数打包:
加算法参数 例如gzip 使用-z参数

查看命令

  • cat  (路径)文件名              查看文件,一次性输出
  • tac  (路径)文件名              查看文件(反序输出),一次性输出
  • more  (路径)文件名              查看文件,分页输出
  • less  (路径)文件名              查看文件,分页输出
  • head  (路径)文件名              查看文件的开头部分,默认是10行
  • head  -n 行数(路径)文件名              查看文件的开头前n行部分
  • tail  (路径)文件名              查看文件的末尾部分,默认是10行
  • tail  -n 行数(路径)文件名              查看文件的末尾第n行部分
  • tail  -f (路径)文件名              动态监测文件内容的变化,一般用于日志的实时查看
  • :/n 查找所有的n

Linux第二次课程&随堂练习内容


find命令(查找文件)

  • find 查找范围 -name "文件名"
  • find 查找范围 -iname "文件名"   (忽略大小写查找文件)(均可用*实现模糊查询)
  • find 查找范围 -size 文件大小范围
find / -size +100M -size -300M -iname "*rpm*"
  • find 查找范围 -type 类型      根据文件类型查找文件
F:普通文件
d:目录
b:设备
c:字符文件
  • find 查找范围 -user 用户名      根据文件所有者查找
  • find 查找范围 -选项 -exec 命令 \; 
查找/etc目录下passwd文件,然后复制到当前用户家目录下

find /etc -iname "passwd" -exec cp {} ~ \;

查找当前用户家目录下的passwd文件,并删除

find /root -name "passwd" -exec rm -rf {} \;

查找文件所有者为普通用户test的文件,并复制保存到/root/student目录中

find / -user test -exec cp {} /root/student \;

grep命令(文本过滤)

  • grep "关键字" 过滤文本路径
  • grep -i "关键字" 过滤文本路径(忽略大小写)
  • grep -n "关键字" 过滤文本路径(显示第几行)
  • grep -v "关键字" 过滤文本路径(反选)
  -i  忽略大小写

  -n  显示行号

  -v  反选(关键字以外内容)


从/etc/passwd 文件中过滤含有root字段的行

grep "root" /etc/passwd

忽略大小写过滤

grep -i "root" /etc/passwd

管道符命令 | 

命令A | 命令B

查找含有root的行

cat /etc/passwd | grep "root"

查找/etc/passwd中同时含有root和bash的文件

grep "bash" /etc/passwd | grep "root"

重定向符 < << > >>

  • 输入重定向:将原本从键盘输入的内容,改为从文本或者脚本中读取,输入重定向的符号为”<”(</>覆盖源文件 <</>>添加到末尾
  • 输出重定向:将原本输出到终端上的内容,重新定向到其他地方(例如本地磁盘文件),输出重定向的符号为”>”或”>>”
查找/etc目录下含有conf的文件名,将用户名保存在当前用户家目录下的1.txt中

ls /etc | grep "conf" > /root/1.txt

Linux第三次课程&随堂练习内容


vim文本编辑器(命令模式,编辑模式,底行命令模式)

  • 命令模式(打开文件后默认进入命令模式)
ndd 从光标处删除n行(dd默认删除当前行)
u 撤销操作
ctrl r 反撤销(后退)
nyy 从光标处复制n行
p 粘贴
  • 编辑模式(命令模式按i/o/a/s)任意键进入
i 从光标处进入编辑模式
o 从光标处另起一行进入编辑模式
a 从光标处的后一个字符开始进入编辑模式
s 删除光标处的字符进入编辑模式
  • 执行命令模式
:w 保存
:q 退出
:wq 保存退出
:wq! 彻底保存退出
  • 底行命令模式特殊应用
: /关键字     查找关键字(n向下查找 N向上查找 高亮显示关键字)

: %s/替换字段/替换后字段/g     (%s替换范围,如果为1,4表示第一行-第四行 %表示第一行-最后一行 /g替换)

: set number     显示行号
: set nonumber     取消行号
: set list     显示特殊字符
: set nolist     取消显示特殊字符
: set paste     纯纯拷贝粘贴
 

ln命令(创建链接)

  • ln 目标文件 链接文件(硬链接)
  • ln -s 目标文件 链接文件(软链接)
  • ls -il 查看文件索引
对2.txt创建指向1.txt的软链接(创建新文件)
ln -s 1.txt 2.txt

软链接删除被指向文件后变红但仍然可以查看
重新创建后恢复正常
软链接删除源文件,链接失效;硬链接删除源文件,链接有效,而且能时时备份;

Linux第四次课程&随堂练习内容


用户管理(相关信息存在于/etc/passwd)

  • 格式
root:X:0:0:root:/root:/bin/bash

0: uid 用户唯一标识符
0: gid 组id 

如果是/sbin/nologin 一般用于系统用户,即无法以交互形式登录终端
  • cat /etc/passwd    查看用户
  • id 用户名    查看用户(另一种方法)
  • useradd [选项] 用户名
  • useradd 用户名 -u 指定uid  创建指定uid的用户
  • useradd 用户名 -g 指定gid  创建指定gid的用户
  • useradd 用户名 -c 指定解释说明
  • useradd 用户名 -d 指定用户的家目录
  • useradd 用户名 -s 指定用户shell类型  /sbin/nologin
创建student1指定uid为6666  创建student2指定gid为6666

useradd student1 -u 6666
useradd student2 -g 6666
  • passwd 用户名    设置密码(root用户不受限制)
  • echo "密码" | passwd -- stdin 用户名 
  • usermod [选项] 用户名 修改用户
  • usermod 用户名 -u 指定uid  修改用户uid
  • usermod 用户名 -g 指定gid  修改用户gid
  • usermod 用户名 -c 指定解释说明
  • usermod 用户名 -d 修改用户家目录
  • usermod 用户名 -s 修改用户shell类型 /sbin/nologin
修改用户student2使其无法登录终端

usermod student2 -s /sbin/nologin

(原本是/bin/bash)
  • userdel -r 用户(如果不加上-r只是单纯删除用户信息,不删除家目录和邮箱目录)
如果没有加-r删除 删除的两种方法有:

1.创建一个和原用户uid名字都相同的用户然后删除

useradd student1 -u 6666 -g 6666

find命令根据uid查找然后删除
find / -uid 6778 -exec rm -rf {} \;

组管理

  • cat /etc/group    查看组
  • id 组名     查看组
  • groupadd [选项] 组名
  • groupadd 组名 -g 指定gid 创建组
创建组使其具有管理员权限、

vim /etc/group    编辑管理员权限的gid

方法一:
groupadd teachers -g 6789     将管理员gid赋值给teachers

usermod teachers -aG 10

方法二:
编辑 在wheel:x:10:后加入teachers
  • groupmod [选项] 组名
  • groupmod 组名 -g 指定gid 修改组号
  • groupmod 组名 -n 指定组名  修改组名
  • usermod 用户名 -aG 组名(-G表示附加组 -a表示追加)
  • groupdel 组名(主组不能直接删除,如果要删除需要把用户也一起删除)
练习:创建用户teacher1 uid为1666 密码为2 附加组teachers

useradd teacher1 -u 1666
echo "2" | passwd -- stdin teacher1
usermod teacher1 -aG teachers

Linux第五次课程&随堂练习内容


用户的提权

  • su -  用户名    切换用户
  • sudo 要提权的命令
使用sudo方法创建用户tt

sudo useradd tt

使用sudo方法删除用户tt

sudo userdel -r tt
  • visudo 更改权限 在root    ALL=(ALL)    ALL下面加上一行一模一样的
  • vim /etc/group 加入管理员组

用户的提权-权限管理

  • r 可读    w 修改   x 执行
  • ls -l 查看目录下的文件信息(包括权限)
  • ls -d 查看目录本身的信息(包括权限)
drwxr-xr-x. 2 root root 6 Oct 23 9:26 dirA
 
d: 代表文件的类型,例如 d 代表目录, - 代表普通文件, l 代表软链接,b 代表块设别 (磁盘), c 代表字符设备(键盘、鼠标)

rwxr-xr-x 分别代表了文件所有者 文件所属组 其他用户三组的权限
rwx:可读可写可执行
r-x:可读可执行
r-x:可读可执行

.代表是否启用了acl权限(访问控制列表)
.代表未启用
+代表启用

2 代表包括隐藏目录有几个目录/如果是文件 代表硬链接数
6 代表文件大小

Oct 23 9:26 最后一次修改时间

Linux第六次课程&随堂练习内容


修改权限(符号法)

  • chmod whowhatwhich 文件路径(有时候前面也加上sudo)
who(修改用户):u_文件所有者 g_文件所属组 o_其他用户 a_所有用户
what(要进行的操作):+_赋予权限 _ 减去权限 = 精确赋予权限
which(要操作的权限):rwx
  • chmod -R a-x 文件路径
  • chmod -R a+X 文件路径
  • touch {1..5}.txt 批量创建文件
  • mkdir {A..D} 批量创建目录

Linux第七次课程&随堂练习内容


修改权限(数值法)

  • chmod ### 文件路径
r=4 w=2 x=1 无权限为0
计算所有者 所属组和其他用户的权限数值 例如
chmod 664 1.txt
使1.txt具有r-w r-w f权限

修改文件所有者和所属组

  • chown 文件所有者 文件路径
  • chown :文件所属组 文件路径
  • chown 文件所有者:文件所属组 文件路径
chown :qq 123
chown root:tt 123

特殊权限

  • suid(u+s)以文件所有者身份来运行 文件所有者执行权限为s 大写S即没有执行权限
  • sgid(g+s)以文件所属组身份来运行 文件所属组执行权限为s 大写S即没有执行权限
  • sticky(o+t)无效果
  • chmod 7777 文件路径(前一个为特殊权限 后三个为基本权限)
suid=4
sgid=2
sticky=1
chmod u-s passwd 修改suid权限
chmod u+s passwd 增加suid权限
练习:使用数值法先修改文件123.txt拥有所有权限
再修改权限为文件所有组权限为rw,其他人为wx

chmod 7777 123.txt
chmod g-x,o-r 123.txt

或者

chmod 4763 123.txt


Linux第八次课程&随堂练习内容


默认权限

  • umask 权限数值(设置默认权限)
umask 023(重启就没有了)

————————————————————————————

永久生效则将umask权限数值写入/etc/bashrc
针对用户则将umask数值写入/home/用户名/.bashrc

访问控制列表

  • getfacl 文件路径    查看用户acl权限
  • setfacl -m u:用户名:权限 文件路径    设置acl权限
  • setfacl -x u:用户名 文件路径    删除用户acl权限
  • setfacl -b 文件路径    删除文件上所有acl权限的设置
查看root目录现有权限

getfacl /root

增加qq用户关于root的权限

setfacl -m u:qq:rwx /root

删除文件上所有acl权限的设置

setfacl -b /root

设置acl权限为r-x

setfacl -m m:r-x /root

删除用户qq的acl权限

setfacl -x u:qq /root

___________________________


创建文件目录dirA,要求文件所属组为student1
子目录自动继承文件所属组
dirA文件所有者权限为rwx,文件所属组权限为rx,其他用户没有权限,但student2具有rwx的权限。

mkdir dirA
chown :student1 dirA
chmod 2750 dirA
useradd student2
setfacl -m u:student2:rwx dirA

精确匹配权限

  • find 路径 -perm 权限数值    精确匹配权限
  • find 路径 -perm -权限数值    匹配设置了数值的项
find /root -perm 755

Linux第九次课程&随堂练习内容


网络管理(nmtui)

  • ping 网络地址 / ifconfig / ip addr    查看网络连通性
  • nmcli device    查看网络设备
  • nmcli connection (show)    查看网络连接
  • route -n    查看网关

配置ip地址(linux)

  • 进入终端,输入vi /etc/sysconfig/network-scripts/ifcfg-eth0
  • service network restart 或者/etc/init.d/network restart 重启网络服务

Linux第十次课程&随堂练习内容

实验&作业练习题

1.创建用户student2,uid为6666,密码为2,删除时忘记使用-r 要求找出残留的文件并删除

useradd student2 -u 6666
echo "2" | passwd -- stdin student2
userdel student2
find / -u 6666 -exec rm -rf {} \;

2.创建用户teacher3,该用户无法以交互的方式登录终端。

然后尝试使用su - 命令切换到词用户,如果失败则改为可登录的方式,密码为1,切换到teacher3用户。要求在此用户下创建用户teacher4。

useradd teacher3 -s /sbin/nologin
echo "1" | passwd -- stdin teacher3
usermod teacher3 -s /bin/bash
usermod -aG 10
useradd teacher4

3.查找/etc/passwd中含有root字段的行,保存到/root/目录的root.txt中

grep "root" /etc/passwd > /root/root.txt

Linux H1


1.创建用户user01,user02并设置密码均为YnJKD@123,用户user01的主组是root,附加组是sshd,用户user02无法以交互方式登录

useradd user01 -g root -aG sshd
useradd user02 -s /sbin/nologin
echo "YnJKD@123" | passwd -- stdin user01
echo "YnJKD@123" | passwd -- stdin user02

2.创建一个名为/root/backup.tar.bz2的tar存档,其应包含/usr/share/doc的内容,该tar存档必须使用bzip2进行压缩

tar -cjvf /root/backup.tar.bz2 /usr/share/doc

3.查找属于user01的所有文件并将其副本放入.root.findfiles目录中

mkdir /root/findfiles
find / -user user01 -exec cp {} /root/findfiles \;

4.创建名为strong的文件,用于定位/usr下的文件

  • 文件strong应定位到/usr下所有小于10M的文件
  • 将文件strong放置在/usr/local/bin下
  • 所有用户对文件strong的都有可执行权限
touch /usr/local/bin/strong
find /usr -size -10M > /usr/local/bin/strong
chmod a+x /usr/local/bin/strong 

Linux H2


1.修改用户的用户名为Workstation

hostname Workstation

2.在/目录下查找以s结尾的文件(不区分大小写)并放到1.html中

find / -iname "*s" >1.html

3.创建协作目录/home/managers,修改目录所属组权限为sgid

mkdir /home/managers
chmod g+s /home/managers

4.将文件/etc/fstab复制到/tmp/fstab,配置 /tmp/fstab的权限满足一下条件

  • 文件/tmp/fstab应不能被任何人执行
  • user01用户能够读取和写入/tmp/fstab
  • user02用户无法读取和写入/tmp/fstab
  • 所有用户(当前或者未来能够更改/tmp/fstab)
cp /etc/fstab /tmp/fstab

setfacl -m u:user01:rw- fstab
setfacl -m u:user02:--- fstab

chmod a+x fstab

Linux H3


1.在当前路径下创建目录dirA,然后切换到dirA目录,在dirA中,创建文本1.txt

mkdir dirA
cd dirA
touch 1.txt

2.在当前目录下创建文件2.txt和目录A将当前路径下的2.txt移动到A目录中,并且重命名为1.txt

touch 2.txt
mkdir A
mv 2.txt A/1.txt

3.在当前用户家目录下,创建多级目录dirB/dirC,然后在当前路径下创建文件3.txt,将3.txt移动到dirC目录下,并且重命名为4.txt,然后从普通用户的家目录下复制文件.bashrc(要求保留文件原属性)到dirB目录下。

复制完成后,查看最终效果,确定满足题目要求后,清空dirB目录下的所有内容,并保留dirB目录本身。

mkdir -p dirB/dirC
touch 3.txt
mv 3.txt dirB/dirC/4.txt
cp -p .bashrc dirB
rm -rf !(dirB)

4.用less命令查看/etc/passwd,然后查看指定字段root,完成后退出

less /etc/passwd

/root

:wq

5.在root用户的家目录下,创建普通文件1.txt 2.txt 3.txt和目录dir_txt然后使用find命令在root用户下查找以txt结尾的文件(指明为普通文件)

找到后复制到dir_txt目录下。

touch {1,2,3}.txt
mkdir dir_txt

find /root -name "*txt" -type f -exec cp {} dir_txt \;

6.查看/etc目录下的文件名,并将含有conf字段的文件名保留到dir_txt目录下,文件命名为conf_file。

查看一下文件末尾5行的内容(grep命令,ls,管道符)

ls /etc | grep "conf" >dir_txt/conf_file
tail -n 5 conf_file

7.将/etc/passwd复制到当前用户家目录下,并重命名为passwd_test,然后创建目录dir_pass,将passwd_test移动到dir_pass目录中。

然后在当前用户的家目录创建了软链接文件passln对源文件dir_pass进行连接,在完成之后,对dir_pass目录进行打包压缩,要求压缩算法为bzip2,其中打包后的包名为dir_pass.tar.bzip2

cp /etc/passwd ~/passwd_test
mkdir dir_pass
mv passwd_test dir_pass
ln -s dir_pass passln
tar -czvf dir_pass.tar.bzip2 dir_pass

8.将2.txt中的hello里的h换成大写的H

:%s/h/H/g

实验一


1.创建用户teacher01,teacher02,teacher03 密码为2 要求teacher01的uid为6666,teacher03不可以登录终端。

useradd teacher01 -u 6666
useradd teacher03 -s /sbin/nologin
useradd teacher02

echo "2" | passwd --stdin teacher01
echo "2" | passwd --stdin teacher02
echo "2" | passwd --stdin teacher03

2.创建组teachers,gid为7777

3.将用户teacher01,teacher02和teacher03都加入teacher组中(teachers组作为123的附加组)

groupadd teachers -g 7777
usermod teacher01 -aG teachers
usermod teacher02 -aG teachers
usermod teacher03 -aG teachers

4.删除teachers组和teacher01,teacher02,teacher03三个用户

userdel -r teacher01
userdel -r teacher02
userdel -r teacher03
groupdel teachers

5.创建普通用户student01,密码为2

useradd student01
echo "2" | passwd -- stdin student01

在student01用户下进行操作,在student01的家目录中创建目录A

要求文件所有者有rwx权限,其他用户没有任何权限

然后在A目录下创建普通文本文件1.txt,同样其他用户没有任何权限

su - student01
mkdir A
chmod 770 A
touch A/1.txt
chmod 770 1.txt

再创建一个普通用户student02,通过修改student01家目录,A,1.txt文件的权限,使得student02可以在1.txt中写入hello并保存退出

useradd student02
setfacl -m u:student02:rwx /home/student01
setfacl -m u:student02:rwx /home/student01/A
setfacl -m u:student02:rwx /home/student01/A/1.txt

su - student02
vim /home/student01/A/1.txt

6.在student01的家目录中创建目录B,要求除了student用户可以访问读取B目录,其他用户都不可以访问,设置完成后将文件所有者改为teacher01

mkdir B
setfacl -m g:student:rwx B
chmod o-rx B
chown teacher01 /home/student01/B

实验二


我是みか,祝你开心。


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值