Linux 目录和文件管理

chapter02 - 03 作业

 

1、分别用cat \tac\nl三个命令查看文件/etc/ssh/sshd_config文件中的内容,并用自己的话总计出这三个文档操作命令的不同之处?

[root@localhost ~]# cat /etc/ssh/sshd_config

[root@localhost ~]# tal /etc/ssh/sshd_config

[root@localhost ~]# nl /etc/ssh/sshd_config

nl命令,文件内容有序号显示

2、分别用more和less查看/etc/ssh/sshd_config里面的内容,请用总结more和less两个命令的相同和不同之处?

[root@localhost ~]# more /etc/ssh/sshd_config

[root@localhost ~]# less /etc/ssh/sshd_config

more,“q”退出文件内容还显示;less,不显示

more仅能阅览,less输入“/”可以进行查询 。

 

3、/etc/passwd文件中的前20行重定向保存到/root下改名为20_pass.txt,将/etc/passwd文件中的后15行重定向保存到/root下改名为:pass_15.txt

[root@localhost ~]# head -20 /etc/passwd > /root/20_passwd.txt

[root@localhost ~]# tail -15 /etc/passwd > /root/pass_15.txt

[root@localhost ~]# ls /root

10.txt         4.txt  9.txt            公共  下载

1.txt          5.txt  anaconda-ks.cfg  模板  音乐

20_passwd.txt  6.txt  wumiinyan        视频  桌面

2.txt          7.txt  wuminyan         图片

3.txt          8.txt  yun.conf         文档

4、请用一个命令统计/etc/hosts文件包含有多少行?多少字节?多少单词数?

[root@localhost ~]# wc -l /etc/hosts

2 /etc/hosts

[root@localhost ~]# wc -w /etc/hosts

10 /etc/hosts

[root@localhost ~]# wc -c /etc/hosts

158 /etc/hosts

5、练习使用grep和egrep

5.1.通过grep管道工具过滤出ifconfig命令显示信息中的IP字段?

[root@localhost ~]# ifconfig | grep 'inet '

        inet 192.168.100.167  netmask 255.255.255.0  broadcast 192.168.100.255

        inet 127.0.0.1  netmask 255.0.0.0

[root@localhost ~]# ifconfig | grep 'inet ' | sed s/^.*inet//g | sed s/netmask.*$//g

 192.168.100.167  

 127.0.0.1 

5.2.将/etc/passwd文件中的前20行重定向保存到/root下名称为pass?

[root@localhost ~]# head -20 /etc/passwd > /root/passwd

[root@localhost ~]# ls /root

20_passwd.txt    passwd     yun.conf  视频  下载

anaconda-ks.cfg  wumiinyan  公共      图片  音乐

pass_15.txt      wuminyan   模板      文档  桌面

5.3.过滤/etc/passwd文件中含有/sbin/nologin 的行并统计行数?

[root@localhost ~]# grep -i "/sbin/nologin" /etc/passwd | wc -l

35

5.4 过滤/etc/passwd文件中以sh结尾的行,及以 root开头的行,不显示包含login的行?

[root@localhost ~]# egrep "^root|sh$" /etc/passwd | grep -v "login"

root:x:0:0:root:/root:/bin/bash

wmy:x:1000:1000:wmy:/home/wmy:/bin/bash

5.5 分别用grep和egrep过滤出/etc/ssh/sshd_config文件中不包含“#”开头和空白的行?

[root@localhost ~]#  grep -v "^#" /etc/ssh/ssh_config  | grep -v "^$"

Host *

GSSAPIAuthentication yes

ForwardX11Trusted yes

SendEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES

SendEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT

SendEnv LC_IDENTIFICATION LC_ALL LANGUAGE

SendEnv XMODIFIERS

 

[root@localhost ~]# egrep -v "^#|^$" /etc/ssh/sshd_config 

HostKey /etc/ssh/ssh_host_rsa_key

HostKey /etc/ssh/ssh_host_ecdsa_key

HostKey /etc/ssh/ssh_host_ed25519_key

SyslogFacility AUTHPRIV

AuthorizedKeysFile.ssh/authorized_keys

PasswordAuthentication yes

ChallengeResponseAuthentication no

GSSAPIAuthentication yes

GSSAPICleanupCredentials no

UsePAM yes

X11Forwarding yes

UsePrivilegeSeparation sandbox# Default for new installations.

AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES

AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT

AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE

AcceptEnv XMODIFIERS

Subsystemsftp/usr/libexec/openssh/sftp-server

6.1 通过tar命令将/etc/passwd文件打包压缩成/root/file.tar.gz

[root@localhost ~]# tar -czf /root/file.tar.bz2 /etc/passwd

tar: 从成员名中删除开头的“/”

[root@localhost ~]# ls /root

20_passwd.txt    pass_15.txt  wuminyan  模板  文档  桌面

anaconda-ks.cfg  passwd       yun.conf  视频  下载

file.tar.gz    wumiinyan    公共      图片  音乐

 

6.2通过tar命令将/etc/passwd文件打包压缩成/root/file.tar.bz2

[root@localhost ~]# tar -cjf /root/file.tar.bz2 /etc/passwd

20_passwd.txt    pass_15.txt  yun.conf  图片  桌面

anaconda-ks.cfg  passwd       公共      文档

file.tar.bz2     wumiinyan    模板      下载

file.tar.gz      wuminyan     视频      音乐

6.3创建空文件夹/web/test1,并将file.tar.bz2 解包并释放到/web/test1目录下?

[root@localhost ~]# mkdir -pv /web/test1

mkdir: 已创建目录 "/web"

mkdir: 已创建目录 "/web/test1"

[root@localhost ~]# ls /root

20_passwd.txt    pass_15.txt  yun.conf  图片  桌面

anaconda-ks.cfg  passwd       公共      文档

file.tar.bz2     wumiinyan    模板      下载

file.tar.gz      wuminyan     视频      音乐

[root@localhost ~]# tar -xf /root/file.tar.bz2 -C /web/test1

[root@localhost ~]# ls /web/test1

etc

7.1 通过vi编辑/web/test1/passwd文件将文件里为root单词全部替换成benet。

%   s/root/benet

7.2 通过vi编辑 删除pass文件第1、5、10行。

:set nu

dd1

dd2

dd3

7.3 在vi中显示pass文件行号复制文件2 3 4行粘贴到以lp开头的行下。

set  nu

2yy         3yy         4yy

/lp         /lp          /lp

p           p            p

7.4 通过vi编辑 查找文件内包含mail var等字符串,并录所在行号。

set  nu

/mail var

7.5 通过vi编辑 快速跳转到文件的第二行,通过r 读取 /etc/hosts 文件的内容到第二行下。

2G

r  /etc/hosts

7.6将更改后的文件使用vim另存为/root/new_pass。

w /root/new_pass

7.7将new_pass文件压缩成gz格式并改名为npass.gz文件。

[root@localhost ~]# gzip /root/new_pass

[root@localhost ~]# mv /root/new_pass.gz /root/npsass.gz

[root@localhost ~]# ls

20_passwd.txt    npsass.gz    wuminyan  视频  音乐

anaconda-ks.cfg  pass_15.txt  yun.conf  图片  桌面

file.tar.bz2     passwd       公共      文档

file.tar.gz      wumiinyan    模板      下载

8统计/dev 目录下的文件数量。

[root@localhost ~]# ls -l /dev | wc -l

156

9.1在/boot下查找文件名以vmlinuz开头的文件?

[root@localhost ~]# find /boot -name "vmlinuz*"

/boot/vmlinuz-3.10.0-229.el7.x86_64

/boot/vmlinuz-0-rescue-4794b643ab6c46f79bb0812941ef036

9.2在/boot下查找文件大小大于3M 小于 20M 的文件

[root@localhost ~]# find /boot -size +1M -a -size -20M

/boot/grub2/fonts/unicode.pf2

/boot/System.map-3.10.0-229.el7.x86_64

/boot/vmlinuz-3.10.0-229.el7.x86_64

/boot/vmlinuz-0-rescue-4794b643ab6c46f79bb0812941ef03b6

/boot/initramfs-3.10.0-229.el7.x86_64.img

10 请详细写出构建本地yum仓库的步骤?并在每行命令后面用自己的话做上中文注释?

umount   /dev/st0   //卸载/media/下已下载的光盘

mount   /dev/st0  /media/

将第一张挂载到/media/目录下

ls   /media/

构建本地yum仓库文档

cp   /ect/yum.r*

mkdir   a/

mv  C*  a/

创建本地yum仓库文档

vi  ./local.repo

[cdrom]             //仓库名称

name=cdrom

baseurl=file.///media     //指定rpm包的位置

enableed=1               //启用本地yum仓库

gpgchech=0               //禁用gpg校验

 

清除yum缓存

yum  -y  clean  all

重建yum缓存

yum  makecache

11、用yum命令安装vsftpd,查询安装情况,最后卸载vsftpd,并再次查询卸载情况?

[root@localhost ~]# umount /dev/sr0

[root@localhost ~]# mount /dev/sr0 /media/

mount: /dev/sr0 写保护,将以只读方式挂载

[root@localhost ~]# ls /media/

[root@localhost ~]# ls /media/

CentOS_BuildTag  images    repodata

EFI              isolinux  RPM-GPG-KEY-CentOS-7

EULA             LiveOS    RPM-GPG-KEY-CentOS-Testing-7

GPL              Packages  TRANS.TBL

[root@localhost ~]# cd /etc/yum.r*

[root@localhost yum.repos.d]# mkdir a/

[root@localhost yum.repos.d]# mv C* a/

[root@localhost yum.repos.d]# vi ./local.repo

[cdrom]             

name=cdrom

baseurl=file.///media     

enableed=1               

gpgchech=0

 

[root@localhost yum.repos.d]# yum -y clean all

[root@localhost yum.repos.d]# yum makecache

已加载插件:fastestmirror, langpacks

cdrom                             | 3.6 kB     00:00     

(1/4): cdrom/group_gz               | 154 kB   00:04     

(2/4): cdrom/primary_db             | 2.7 MB   00:05     

(3/4): cdrom/filelists_db           | 2.7 MB   00:10     

(4/4): c drom/other_db               | 1.1 MB   00:01     

Determining fastest mirrors

元数据缓存已建立

 

12、rpm命令安装vsftpd,查询安装情况,最后卸载vsftpd,并再次查询卸载情况?

[root@localhost ~]# rpm -q vsftpd

未安装软件包 vsftpd

[root@localhost ~]# cd /media/Packages/

[root@localhost Packages]# rpm -iv vsftpd-3.0.2-22.el7.x86_64.rpm

警告:vsftpd-3.0.2-22.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY

软件包准备中...

vsftpd-3.0.2-22.el7.x86_64

[root@localhost Packages]# rpm -q vsftpd

vsftpd-3.0.2-22.el7.x86_64

 

13、通过源码方式通过解包、配置、编译、安装四个步骤安装源码软件httpd-2.2.17.tar.gz?并进行测试?

 

1、将软件包导入(直接拖过去)

2、查看gcc、gcc-c++、make是否安装

gcc  --version

yum  -y  install  gcc

gcc-c++  --version

yum  -y  install  gcc-c++

make  --version

yum  -y  install  make

3、将源码解压到/usr/src/目录下

tar  -xf  httpd-2.2.17.tar.gz  -C  /usr/src/

cd  /usr/src/

ls

cd  httpd-2.2.17  

./configure --prefix=/usr/local/apache/

5、编译(源码包目录下)

make

6、安装(源码包目录下)

make  install

7、修改配置文件

[root@localhost httpd-2.2.17]# cd /usr/local/apache/conf

[root@localhost conf]# ls

extra  httpd.conf  magic  mime.types  original

将ServerName打开

[root@localhost conf]# vi httpd.conf 

/ServerName

小n

Yy

小p     

8、启动

[root@localhost conf]# /usr/local/apache/bin/apachectl start

9、安装lynx

[root@localhost conf]# lynx 127.0.0.1

bash: lynx: 未找到命令...

[root@localhost conf]# yum -y install lynx

已加载插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

正在解决依赖关系

--> 正在检查事务

---> 软件包 lynx.x86_64.0.2.8.8-0.3.dev15.el7 将被 安装

--> 解决依赖关系完成

[root@localhost conf]# lynx 127.0.0.1

posted @ 2019-07-26 20:00  七月七日清  阅读(595)  评论(0编辑  收藏  举报