chapter02 - 03 做業c++
一、分別用cat \tac\nl三個命令查看文件/etc/ssh/sshd_config文件中的內容,並用本身的話總計出這三個文檔操做命令的不一樣之處?web
cat:查看文件所有內容apache
tac:倒序顯示文件所有內容vim
nl:顯示除了空白行以外行號緩存
二、分別用more和less查看/etc/ssh/sshd_config裏面的內容,請用總結more和less兩個命令的相同和不一樣之處?bash
相同:全屏分頁顯示文件內容,能夠翻頁less
不一樣:more只能向下翻頁,less不只能夠分頁還能夠查找文件內容ssh
三、將/etc/passwd文件中的前20行重定向保存到/root下更名爲20_pass.txt,將/etc/passwd文件中的後15行重定向保存到/root下更名爲:pass_15.txt工具
[root@localhost ~]# head -20 /etc/passwd > /root/20_pass.txt測試
[root@localhost ~]# cat /root/20_pass.txt | wc -l
20
[root@localhost ~]# tail -15 /etc/passwd > /root/pass_15.txt
[root@localhost ~]# cat /root/pass_15.txt | wc -l
15
四、請用一個命令統計/etc/hosts文件包含有多少行?多少字節?多少單詞數?
[root@localhost ~]# wc -l /etc/hosts
2 /etc/hosts
[root@localhost ~]# du -s /etc/hosts
4 /etc/hosts
[root@localhost ~]# wc -w /etc/hosts
10 /etc/hosts
五、練習使用grep和egrep
5.1.經過grep管道工具過濾出ifconfig命令顯示信息中的IP字段?
[root@localhost ~]# ifconfig | grep "inet*"
inet 192.168.100.121 netmask 255.255.255.0 broadcast 192.168.100.255
inet6 fe80::41f3:baac:619d:ba29 prefixlen 64 scopeid 0x20<link>
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
5.2.將/etc/passwd文件中的前20行重定向保存到/root下名稱爲pass?
[root@localhost ~]# head -20 /etc/passwd > /root/pass
[root@localhost ~]# wc -l /root/pass
20 /root/pass
5.3.過濾/etc/passwd文件中含有/sbin/nologin 的行並統計行數?
[root@localhost ~]# grep "/sbin/nologin" /etc/passwd | wc -l
36
5.4 過濾/etc/passwd文件中以sh結尾的行,及以 root開頭的行,不顯示包含login的行?
[root@localhost ~]# grep "sh$" /etc/passwd | grep "^root" | grep -v "login"
root:x:0:0:root:/root:/bin/bash
5.5 分別用grep和egrep過濾出/etc/ssh/sshd_config文件中不包含「#」開頭和空白的行?
[root@localhost ~]# grep -v "^#" /etc/ssh/sshd_config | grep -v "^$"
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
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
Subsystem sftp /usr/libexec/openssh/sftp-server
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
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
Subsystem sftp /usr/libexec/openssh/sftp-server
6.1 經過tar命令將/etc/passwd文件打包壓縮成/root/file.tar.gz
[root@localhost ~]# tar -czf /root/file.tar.gz /etc/passwd
tar: 從成員名中刪除開頭的「/」
[root@localhost ~]# ls /root/
20_pass.txt anaconda-ks.cfg file.tar.gz initial-setup-ks.cfg pass pass_15.txt z 公共 模板 視頻 圖片 文檔 下載 音樂 桌面
6.2經過tar命令將/etc/passwd文件打包壓縮成/root/file.tar.bz2
[root@localhost ~]# tar -cjf /root/file.tar.bz2 /etc/passwd
tar: 從成員名中刪除開頭的「/」
[root@localhost ~]# ls /root/
20_pass.txt anaconda-ks.cfg file.tar.bz2 file.tar.gz initial-setup-ks.cfg pass pass_15.txt z 公共 模板 視頻 圖片 文檔 下載 音樂 桌面
6.3建立空文件夾/web/test1,並將file.tar.bz2 解包並釋放到/web/test1目錄下?
[root@localhost ~]# mkdir -pv /web/test1
mkdir: 已建立目錄 "/web/test1"
[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。
[root@localhost ~]#vi /web/test1/etc/passwd
:% s/root/benet/g
:wq
7.2 經過vi編輯 刪除pass文件第一、五、10行。
[root@localhost ~]#vi /root/pass
:set nu
dd1
dd5
dd10
:wq
7.3 在vi中顯示pass文件行號複製文件2 3 4行粘貼到以lp開頭的行下。
[root@localhost ~]#vi /root/pass
:set nu
3yy
P
:wq
7.4 經過vi編輯 查找文件內包含mail var等字符串,並記錄所在行號。
[root@localhost ~]#vi /root/pass
:set nu
/mail var
7.5 經過vi編輯 快速跳轉到文件的第二行,經過r 讀取 /etc/hosts 文件的內容到第二行下。
[root@localhost ~]#vi /root/pass
:set nu
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/npass.gz
[root@localhost ~]# ls /root/npass.gz
/root/npass.gz
8統計/dev 目錄下的文件數量。
[root@localhost ~]# ls -l /dev | wc -l
158
9.1在/boot下查找文件名以vmlinuz開頭的文件?
[root@localhost ~]# find /boot -name "vmlinuz*"
/boot/vmlinuz-3.10.0-693.el7.x86_64
/boot/vmlinuz-0-rescue-6c0f6e59a17540769f4a75871c16d348
9.2在/boot下查找文件大小大於3M 小於 20M 的文件
[root@localhost ~]# find /boot -size +3M -a -size -20M
/boot/System.map-3.10.0-693.el7.x86_64
/boot/vmlinuz-3.10.0-693.el7.x86_64
/boot/vmlinuz-0-rescue-6c0f6e59a17540769f4a75871c16d348
/boot/initrd-plymouth.img
10 請詳細寫出構建本地yum倉庫的步驟?並在每行命令後面用本身的話作上中文註釋?
umount /media/ //卸載/media/下已掛載的光盤
ls /media/
mount /dev/sr0 /media/ //將第一張光盤掛載到/media/目錄下
ls /media/
cd /etc/yum.r*
mkdir a/
mv C* a/
建立本地yum倉庫文檔
vi ./local.repo
[cdrom] //倉庫名稱
name=cdrom
baseurl=file:///media //指定rpm包的位置
enabled=1 //啓用本地yum倉庫
gpgcheck=0 //禁用gpg校驗
----------------
清除yum緩存
yum -y clean all
重建yum緩存
yum makecache
十一、用yum命令安裝vsftpd,查詢安裝狀況,最後卸載vsftpd,並再次查詢卸載狀況?
[root@localhost ~]# rpm -q vsftpd
未安裝軟件包 vsftpd
[root@localhost ~]# umount /dev/sr0
[root@localhost ~]# mount /dev/sr0 /media/
mount: /dev/sr0 寫保護,將以只讀方式掛載
[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# mkdir a
[root@localhost yum.repos.d]# mv C* a
[root@localhost yum.repos.d]# vi cdrom.repo
[root@localhost yum.repos.d]# yum -y clean all
已加載插件:fastestmirror, langpacks
正在清理軟件源: cdrom
Cleaning up everything
Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos
Cleaning up list of fastest mirrors
[root@localhost yum.repos.d]# yum makecache
已加載插件:fastestmirror, langpacks
cdrom | 3.6 kB 00:00:00
(1/4): cdrom/group_gz | 156 kB 00:00:00
(2/4): cdrom/filelists_db | 6.7 MB 00:00:00
(3/4): cdrom/primary_db | 5.7 MB 00:00:00
(4/4): cdrom/other_db | 2.5 MB 00:00:00
Determining fastest mirrors
元數據緩存已創建
[root@localhost yum.repos.d]# yum -y install vsftpd
[root@localhost ~]# rpm -q vsftpd
vsftpd-3.0.2-22.el7.x86_64
[root@localhost ~]# yum -y remove vsftpd
[root@localhost ~]# rpm -q vsftpd
未安裝軟件包 vsftpd
十二、用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
1三、經過源碼方式經過解包、配置、編譯、安裝四個步驟安裝源碼軟件httpd-2.2.17.tar.gz?並進行測試?
[root@localhost httpd-2.2.17]# yum -y install gcc gcc-c++ make
省略安裝過程
[root@localhost ~]# tar -xf httpd-2.2.17.tar.gz -C /usr/src
[root@localhost ~]# cd /usr/src/httpd-2.2.17/
[root@localhost httpd-2.2.17]# ./configure –prefix=/usr/local/apache
省略過程
[root@localhost httpd-2.2.17]#make
省略過程
[root@localhost httpd-2.2.17]#make install
省略過程
[root@localhost httpd-2.2.17]# cd /usr/local/apache/conf/
[root@localhost conf]# cp httpd.conf httpd.conf.bak
[root@localhost conf]# vi /usr/local/apache/conf/httpd.conf
修改內容:去掉97行 #號
[root@localhost conf]#yum –y install lynx
省略過程
[root@localhost conf]#lynx 127.0.0.1