加入收藏 | 设为首页 | 会员中心 | 我要投稿 我爱资讯网 (https://www.52junxun.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Linux 文件操作、vim、文本提取工具、echo、管道、重定向

发布时间:2022-12-01 11:20:31 所属栏目:Linux 来源:
导读:  1.创建bob、alice、john三个用户;需求如下:

  a)Bob的UID为1008、描述信息为mysql user

  b)Alice的家目录为/alice

  c)John的shell为/sbin/nologin

  名字区分大小写

  用于joh
  1.创建bob、alice、john三个用户;需求如下:
 
  a)Bob的UID为1008、描述信息为mysql user
 
  b)Alice的家目录为/alice
 
  c)John的shell为/sbin/nologin
 
  名字区分大小写
 
  用于john nologin的临时登录:
 
  2.创建itgroup、sagroup 两个组;需求如下:
 
  a)Itgroup组的密码为redhat,任何人可以临时登录到这个组
 
  Newgrp 临时登录到组
 
  b)Sagroup组的gid为9999,且该组内有两个用户alice和john
 
  [root@rhce ~]# groupadd Sagroup -g 9999
 
  3.设置alice用户的密码最长有效期为90天,到期前3天告警、且该用户密码于2023年10月1日失效
 
  知道各字段意思,进行直接修改最后时间加2023-10-1的一天,为19631.
 
  4.使用stdin从键盘读取字符将bob的密码改为redhat
 
  5.创建/tmp/demo这个目录,在该目录下创建file1~file100共一百个文件
 
  [root@rhce ~]# mkdir /tmp/demo
 
  6.将/tmp/demo目录的拥有人设置为bob、拥有组设置为sagroup并同时应用于该目录下所有的文件及子目录,其中bob对文件有完全权限,sagroup这个组有读的权限,其他人无任何权限,赋权后请验证结果
 
  [root@rhce ~]# chown -R bob:Sagroup /tmp/demo
 
  7.使用bob登录用find / -name selinux查看系统中selinux的文件名的文件,将正确查找到的结果输出到当前用户的家目录下面的1.txt。将错误输出到2.txt
 
  8.使用echo将字符串hello,redhat输出到/root下面的hello.txt文件内
 
  [root@rhce ~]# echo "hello,redhat" | /root/hello.txt
 
  9.使用vim编辑hello.txt文件,将hello,redhat复制十行

  yy复制光标所在行
 
  9p粘贴到光标下一行
 
  :set nu显示行号
 
  10.使用vim编辑hello.txt,并显示该文件的行号
 
  :set nu显示行号
 
  11.使用vim在hello.txt文件的第五到第七行前面添加#号注释
 
  u撤销
 
  12.使用vim将hello.txt文件的第五到第七行复制到文件的第十行后面
 
  :5,7 copy 10
 
  13.使用vim将hello.txt文件的第一行的redhat替换为huawei
 
  :1 s/redhat/huawei
 
  :nohlsearch 取消高亮
 
  14.使用vim将hello.txt文件里面的所有h替换为Z
 
  :%s/h/z/g
 
  g全局
 
  15.使用vim将hello.txt文件里面的十一行到第十三行的redhat替换为huawei
 
  :10,13 s/redzat/huawei/g
 
  16.使用vim的横向屏幕分割来查看hello.txt
 
  17.使用vim编辑hello.txt并在该文件中打开新文件/etc/profile
 
  18.使用vim编辑器打开/etc/passwd文件,将该文件的1-35行另存为/opt/passwd2
 
  :1,35 w /opt/passwd2
 
  19.使用head和tail提取/opt/passwd2文件的12-15行打印到标准输出
 
  先取15行,再取最后四行(包括本身)
 
  20.使用grep查看/opt/passwd2中包含dns的行,不限制dns的大小写
 
  21.使用grep查看/tmp/passwd所有以r开头的行
 
  grep ^r /tmp/passwd
 
  注意没有/tmp/passwd文件
 
  22.使用grep查看/tmp/passwd所有以h结尾的行
 
  grep h$ /opt/passwd2
 
  23.使用grep查找/etc这个目录下所有包含selinux字段的文件
 
  grep -s selinux /etc/*
 
  24.使用grep去掉/etc/profile中所有的注释行以及空行,然后将该文件重定向到/tmp/profile.txt
 
  grep -v '^#| ' /etc/profile >/tmp/profile.txt
 
  老师编写:
 
  25.使用grep在/tmp/passwd文件中查找包含ftp关键字的行,并显示包含该关键字的前两行
 
  grep -s ftp /opt/passwd2 |head -n 2
 
  26.使用cut将/tmp/passwd这个文件中的所有用户名提取出来并导出到文件/tmp/user.txt
 
  27.使用cut提取系统lo这张网卡的ip地址的第三位
 
  28.使用cut来提取/root/hello.txt文件的每行的前五个字符
 
  29.使用sort将/opt/passwd 中用户的UID按照从大到小的顺序排列并导出到文件 /tmp/uid.txt
 
  sort -rn -t : -k 3 /opt/passwd2 >/tmp/uid.txt
 
  30.使用wc统计/opt/passwd文件的行数
 
  31.使用wc统计/root/hello.txt文件的单词数以及字节数
 
  W word
 
  32.使用sort为/tmp/passwd文件中用户的gid根据数字的顺序进行排序
 
  sort -rn -t : -k 4 /opt/passwd2
 
  -r从大到小
 
  33.使用uniq去掉/root/hello.txt中重复的行
 
  34.将/opt/passwd2该文件中的a-c的字符替换为1-3,并另存为/tmp/passwd3
 
  tr a-c 1-3/tmp/passwd3
 
  35.使用sed将/opt/passwd2中第一行的第2个root替换成redhat并保存到文件,保存时请备份源文件
 
  cp /opt/passwd2 /opt/passwd2.bak
 
  sed 's/root/redhat/2' /opt/passwd2 > /opt/passwd2.bak
 
  36.使用sed在ftp行下追加hello
 
  1、a 在匹配行后面追加
 
  2、i 在匹配行前面追加
 
  3、r 将文件内容追加到匹配行后面
 
  4、w 将匹配行写入指定文件
 
  sed -i '/ftp/a hello' /opt/passwd2
 
  37.比较/opt/passwd2和/opt/passwd3的区别与不同
 
  diff /opt/passwd2 /opt/passwd2.bak
 
  38.删除/tmp/passwd2这个文件中所有的s
 
  sed 's/s//g' /opt/passwd2
 
  老师编写:
 
  Tr-d删除特点字符
 
  39.定义本地变量redhat,该变量有一个名rhel8的值,将该变量转换为环境变量并测试
 
  40.取消redhat变量,并定义一个名为copy的别名,执行该别名可以自动备份etc目录到/tmp目录下且以/tmp/etc-2021-12-25-00:00:00这样的格式作为备份目录的名字,定义别名后请测试效果
 
  alias abc='cp -av /etc /tmp/123/backup`date +%F`'
 
  mkdir 123必须要创建对应的目录
 
  老师编写:

  %F年月日
 
  %T时分秒
 
  cp常用选项
 
  -i:覆盖前提示 (root用户使用的cp是alias别名,而普通用户使用的cp是原始的cp命令)–n:不覆盖,注意两者顺序
 
  -r, -R: 递归复制目录及内部的所有内容
 
  -a: (archive)归档(可以理解为备份),相当于-dR --preserv=all主要用于备份
 
  -d:--no-dereference --preserv(保留)=links 不复制原文件Linux 文件基本属性,只复制链接名(保留链接属性)
 
  -p: 等同--preserv=mode,ownership,timestamp(只保留权限、所有者、时间戳)
 
  -v: --verbose(显示详细的过程)
 
  -f: --force(强制)
 
  -u:--update 只复制源比目标更新文件或目标不存在的文件
 
  -b: 目标存在,覆盖前先备份
 
  --backup(可以加控制信息)=numbered(定义了格式) 目标存在,覆盖前先备份加数字后缀。
 

(编辑:我爱资讯网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!