码迷,mamicode.com
首页 > 其他好文 > 详细

实验三

时间:2018-05-01 20:49:17      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:查询   应用   时间设置   rev   imp   sudo   扩展   sig   详细   

 

  1. shell 命令应用练习

(1) 通过帮助信息查看,简述以下文件的用途

① /etc/passwd

    passwd为密码文件,用来管理用户的密码。普通用户通常只能修改自己的密码信息。

② /etc/shadow

    shadow是一个影子化的密码文件,它包含系统账户的密码信息和可选的年龄信息。只有管理员能查看修改。

③ /etc/group

    group文件是用户组的配置文件,内容包括用户和用户组,并且能显示出用户是归属哪个用户组或哪几个用户组,因为一个用户可以归属一个或多个不同的用户组;同一用户组的用户之间具有相似的特征。

④ /etc/gshadow

    /etc/gshadow是/etc/group的加密资讯文件,比如用户组(Group)管理密码就是存放在这个文件。/etc/gshadow和/etc/group是互补的两个文件;对于大型服务器,针对很多用户和组,定制一些关系结构比较复杂的权限模型,设置用户组密码是极有必要的。

 

(2) 依次输入如下命令,观察运行结果。结合 man id 查看到的帮助信息,指出每一条命令功能

① id

② id -u

③ id -u root

④ id -u jsj

此处,jsj 可用您自己电脑所安装系统中任何账号替换测试

技术分享图片

 

   id:id命令可以显示真实有效的用户ID(UID)和组ID(GID)

    id -u只显示用户ID

    id -u root 即查看root的用户ID,为0

    id -u jsj 查看jsj这个用户的ID,结果为没有jsj这个用户。

    id -u jsj 查看dln这个用户的ID,为1000

(3)  shell 命令终端依次输入以下命令,观察执行结果,理解每条命令实现的具体功

 

① which python whereis python locate python

find /usr/bin -name python

技术分享图片

which python:查找系统PATH目录下名为python的可执行文件
whereis python:whereis命令可以用来查找二进制(命令)、源文件、man文件。与which不同的是这条命令可以是通过文件索引数据库而非PATH来查找的,所以查找的面比which要广
locate python:通过数据库查找文件。这个命令可以找到任意你指定要找的文件,并且可以只输入部分文件名。
find /usr/bin -name python:通过直接搜索硬盘的方式查找/usr/bin目录下名为python的文件。

② grep -n -E ‘root|jsj|^user*‘ /etc/passwd (提示:扩展正则表达式)

grep -n -E ‘ [[:digit:]] ‘ /etc/passwd

grep -n -E ‘ [[:alpha:]] ‘ /etc/passwd

grep -n ‘[0-9]\{4,\}‘ /etc/group (提示: 在用户组文件中查找 GID  4 位数及以上的组信息记录)

技术分享图片技术分享图片

技术分享图片

grep -n -E ‘root|cy|^user*‘:/etc/passwd -n为显示行号,该指令作用是在/etc/passwd文件中查找以root或cy为行首的行,其中*表示重复零次以上,^表示必须出现在行首。
grep -n -E ‘ [[:digit:]] ‘ /etc/passwd:在 /etc/passwd文件中查找含有纯数字的行。
grep -n -E ‘ [[:alpha:]] ‘ /etc/passwd:在 /etc/passwd文件中查找含有纯字母的行。
grep -n ‘[0-9]\{4,\}‘ /etc/group 因为不加-E,所以使用花括号加转义符\{\} ,[0-9]等价于[[:digit:]],找出纯数字,4代表4位以上。

③ sudo apt install gimp which gimp

sudo apt remove gimp which gimp

④ ls -dl /root --time-style=long-iso

ls -dl /root --time-style=long-iso | cut -d‘ ‘ -f1,8

技术分享图片

sudo apt install gimp:安装软件gimp。
which gimp:查询gimp的位置。
sudo apt remove gimp:卸载gimp。
which gimp:查询gimp的位置,此时已经没有查询结果。

 ls -dl /root --time-style=long-iso:/root下显示文件目录信息,详细信息,时间按完整的IOS时间格式显示。
ls -dl /root --time-style=long-iso | cut -d‘ ‘ -f1,8:以空格为分隔符,截取上一条指令中的第一和第八个域。

⑤ ls -l --time-style=long-iso

ls -l --time-style=long-iso -t

ls -l --time-style=long-iso -t -r (说明:依次执行,对比观察,结合帮助选项)

技术分享图片技术分享图片

ls -l --time-style=long-iso,:ls -l 是列出文件的详细信息,时间设置为long-iso格式,默认排序。
ls -l --time-style=long-iso -t:在前一条命令的基础上按时间由近到远排序。
ls -l --time-style=long-iso -t -r:在前一条命令的基础上按时间排序,但变为由远到近排序。

 

⑥ ls /usr/share/man

ls /usr/share/man | grep man[1-8] ls /usr/share/man/man1

file /usr/share/man/man1/ls.1.gz(结合执行结果,review2.8.1 节gzip 命令内容)

mkdir ~/temp; cp /usr/share/man/man1/ls.1.gz ~/temp cd ~/temp; ls

sudo gzip -d ls.1.gz; ls

 

ls /usr/share/man:显示/usr/share/man下的目录
ls /usr/share/man | grep man[1-8]:在上一条命令的基础上搜索man1~man8
ls /usr/share/man/man1:显示/usr/share/man/man1下的目录
file /usr/share/man/man1/ls.1.gz (结合执行结果,review2.8.1 节 gzip命令内容)
mkdir ~/temp; cp /usr/share/man/man1/ls.1.gz ~/temp:根目录下创建temp文件夹,把ls.1.gz复制到temp下
cd ~/temp; ls:转到temp目录下,查看所有文件目录,此时有后缀.gz
sudo gzip -d ls.1.gz; ls:解压并查看目录,此时.gz消失,说明已经解压并删除了压缩包。

⑦ ls –l /home | grep "^d" | wc –l

技术分享图片

⑧ sudo adduser user7

ls /home | tee users | wc -l (提示:输入 cat users 观察该文件内容)

 sudo adduser user7:创建用户user7。
ls /home | tee users | wc -l:在home目录下查找用户名,并统计行数

 

(4) 根据要求写出相应的 shell 命令

① 在目录/usr/include 下搜索文件 signal.h 是否存在 (提示: find 命令)

技术分享图片

② 在/usr/include 目录下的所有文件中查找包含 BUFSIZ 的行,并显示所在行号。要求:屏幕上只显示查找到的结果,过滤错误信息。

提示:① 利用 grep 和通配符*②利用错误信息重定向和特殊设备文件/dev/null)

技术分享图片

③ 在用户名密码文件/etc/passwd 中查找登录 shell bash 的用户信息记录,并显

示行号

(提示:使用 grep 和正则表达式中的$)

④ 从/etc/group 文件中截取第 1 列(组名)和第 3 列(组 id),并按照组 id 号的数值大小由小到大排序。(提示:综合使用 cut, 管道线及 sort 命令)

(提交文档时,写出其实现的功能的命令及截图,包括命令和结果在内的截图)

 技术分享图片

(5) 体验awk, sed 用法:依次执行命令,观察执行结果

① cp /etc/apt/sources.list t1; less t1

② sed -e "s/#.*//g" t1

③ sed -e "s/#.*//g" t1 | awk ‘{if (length != 0) print $0}‘

④ tail -5 /etc/passwd | awk -F: ‘{print $1}‘

⑤ tail -5 /etc/group | tee t2

awk ‘BEGIN{print "file t2"} {print "line" NR ":" $0} END {print "over"}‘ t2

技术分享图片

技术分享图片技术分享图片

观察执行结果,总结如下内容:

① 文件/etc/apt/sources.list的用途:/etc/apt/sources.list 是包管理工具 apt 所用的记录软件包仓库位置的配置文件,保存了ubuntu软件更新的源服务器的地址。

② 命令工具 sed 功能,截图显示 2~3 个自己尝试的 sed 命令练习,并对具体功能作必要陈述说明:

1.删除含有“2”的行:

2.把第一行换成0000:

技术分享图片

(6) 查阅网络或帮助,体验命令 curl  wget 用法。

① 命令工具 curl 功能,截图显示自己尝试的练习,并作必要陈述说明

curl+网址,显示网址的html

技术分享图片

② 命令工具 wget 功能,截图显示自己尝试的练习,并作必要陈述说明

下载单个文件

 技术分享图片

 

三、总结与体会

 

    通过这次linux实验,接触到了很多不了解的命令,收获了不少新知识 。认识到自己还有很多不足。

 

 

实验三

标签:查询   应用   时间设置   rev   imp   sudo   扩展   sig   详细   

原文地址:https://www.cnblogs.com/dln0077/p/8976586.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!