知识点:
whereis 可以搜索传统命令的可执行文件路径和说明文档
which 搜索可执行文件 #whereir包含了which
locate 在数据库中进行快速查找
find . -name +文件名/文件名要求 #按文件名查找
. -iname +文件名 #按文件名查找且不区分大小写
-type d/f/l #按文件类型查找 目录/普通文件/链接
-inum #搜索硬盘索引
-size +/- #按文件大小搜索 超过/小于
gred 命令 --- 用于文本内容过滤,查找需要的行内容
grep [内容] [文件路径/文件名] --- 从文件中提取带此内容的行
-n #显示行号
-i #不区分大小写
-v #表示反选
-A2 #往下多显示两行
-B2 #往上多显示两行
-C2 #往上往下都多显示两行
-c #统计包含关键字的行有多少个
tar 归档命令
tar [选项] [压缩后文件名] [被压缩文件名]
必选项 -f #打包/释放文件名
其他选项 -c #创建.tar格式包文件
任选其一 -x #释放.tar格式文件
-t #查看文件列表
其他 -v #显示详细信息
-P #保留原文件及其子文件/目录
-z #调用gzip程序
-j #调用bzip程序
-J #使用xz
题目:
1、文件查找 (1)在当前目录及子目录中,查找大写字母开头的txt文件
[root@wxr ~]# find . -name "[A-Z]*.txt"
./back/A.txt
./back/AA.txt
(2)在/etc及其子目录中,查找host开头的文件
[root@wxr ~]# find /etc -name "host*"
/etc/host.conf
/etc/hosts
/etc/avahi/hosts
/etc/nvme/hostnqn
/etc/nvme/hostid
/etc/hostname
(3)在$HOME目录及其子目录中,查找所有文件
[root@wxr etc]# su - redhat
[redhat@wxr ~]$
[redhat@wxr ~]$ cd /home
[redhat@wxr home]$
[redhat@wxr home]$ find *
redhat
redhat/.mozilla
redhat/.mozilla/extensions
redhat/.mozilla/plugins
redhat/.bash_logout
redhat/.bash_profile
redhat/.bashrc
(4)忽略文件名大小写查找a.txt
[root@wxr ~]# touch a.txt
[root@wxr ~]# touch A.txt #建立两个文件
[root@wxr ~]# find / -iname a.txt #-i不区分大小写
/root/a.txt
/root/A.txt
[root@wxr ~]# find / -name a.txt #不带-i区分大小写
/root/a.txt
[root@wxr ~]# find / -name A.txt
/root/A.txt
[root@wxr ~]#
2、查找文件 /usr/share/rhel.xml 中包含字符串 re 的所有行。将所有这些行的副本按原始顺序放在文件/root/files 中
[root@wxr ~]# vim /etc/passwd
[root@wxr ~]# cat /etc/passwd > 1.txt #把文件复制一份更安全
[root@wxr ~]# vim 1.txt
[root@wxr ~]# grep re 1.txt -n #提取出来带re字符串的行 -n显示行号
14:systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
27:pipewire:x:985:984:PipeWire System Daemon:/var/run/pipewire:/sbin/nologin
33:sshd:x:74:74:Privilege-separated SSH:/usr/share/empty.sshd:/sbin/nologin
37:redhat:x:1000:1000:redhat:/home/redhat:/bin/bash
[root@wxr ~]# grep re 1.txt -n > /root/files #提取的内容重定向到文件files中
[root@wxr ~]# cat /root/files
14:systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
27:pipewire:x:985:984:PipeWire System Daemon:/var/run/pipewire:/sbin/nologin
33:sshd:x:74:74:Privilege-separated SSH:/usr/share/empty.sshd:/sbin/nologin
37:redhat:x:1000:1000:redhat:/home/redhat:/bin/bash
3、将整个 /etc 目录下的文件全部打包并用 gzip 压缩成/back/etcback.tar.gz
[root@wxr back]# ls
1.txt AA.txt a.txt A.txt files mulu1
[root@wxr ~]# tar -czf back.tar.gz back
[root@wxr ~]# ls
1-soft back.tar.gz Downloads output_and_error.txt Templates
a c e output.txt Videos
anaconda-ks.cfg d error.txt passwd1
b Desktop input.txt Pictures
back Documents Music Public
4、使当前用户永久生效的命令别名:写一个命令命为hello,实现的功能为每输入一次hello命令,就有hello,everyone写入文件/file.txt中。
[root@wxr ~]# vim .bashrc
alias hello='echo hello,everyone >>/file.txt'
[root@wxr ~]# source .bashrc
[root@wxr ~]# hello
[root@wxr ~]# hello
[root@wxr ~]# hello
[root@wxr ~]# cat /file.txt
hello,everyone
hello,everyone
hello,everyone
5、创建mygroup组群,再创建myuser用户,并且此用户属于mygroup组群,接着以myuser身份登录,创建ex和hv两个文件于/home/myuser目录,并使hv文件的同组用户是root。请依次写出相应执行的命令。
[root@wxr ~]# groupadd mygroup
[root@wxr ~]# useradd -g mygroup myuser
[root@wxr ~]# ll /home
total 4
drwx------. 3 myuser mygroup 78 Mar 14 03:03 myuser
drwx------. 24 redhat redhat 4096 Feb 29 16:35 redhat
drwx------. 3 zhangsan zhangsan 78 Mar 4 11:43 zhangsan
[root@wxr ~]# visudo
[myuser@wxr ~]$ touch hv ex
[myuser@wxr ~]$ ll
total 0
-rw-r--r--. 1 myuser mygroup 0 Mar 14 03:17 ex
-rw-r--r--. 1 myuser mygroup 0 Mar 14 03:17 hv
[myuser@wxr ~]$ chown :zhangsan hv
6、设置权限,要求如下:创建g1组,要求创建一个属于redhat用户g1组的文件redhat.txt
[root@wxr ~]# mkdir g
[root@wxr ~]# cd g
[root@wxr g]# touch g.txt
[root@wxr g]# cd ..
[root@wxr ~]# groupadd g1
[root@wxr ~]# useradd -g g1 g
[root@wxr ~]# ll
drwxr-xr-x. 2 root root 19 Mar 14 03:39 g
[root@wxr ~]# chown g:g1 g
[root@wxr ~]# ll
drwxr-xr-x. 2 g g1 19 Mar 14 03:39 g
[root@wxr ~]# cd g
[root@wxr g]# ll
total 0
-rw-r--r--. 1 root root 0 Mar 14 03:39 g.txt
[root@wxr g]# chown g:g1 g.txt
[root@wxr g]# ll
total 0
-rw-r--r--. 1 g g1 0 Mar 14 03:39 g.txt