1. 压缩的概念
什么是压缩包?
就是一个特殊的文件,将多个文件或者目录压缩成一个特殊的文件
为什么要用压缩包?
减少占用的空间
加快传输的速度
windows:
.zip .rar
linux:
.zip .gz .tar.gz
如果要想Windows和linux中的压缩包互相使用,建议使用.zip种类的压缩包
在Linux中压缩包的类型
.zip
.gz
.bz2
.tar.gz
.tar.bz2
2. zip命令
可以对文件和目录进行打包,需要指定压缩包的名称
[ root@qls ~]
zip
选项:
-r
-q
unzip
选项:
-l
-q
-d
[ root@qls ~]
total 656
-rw-r--r-- 1 root root 670293 Jul 29 08:45 services
[ root@qls ~]
adding: services ( deflated 80%)
[ root@qls ~]
total 792
-rw-r--r-- 1 root root 670293 Jul 29 08:45 services
-rw-r--r-- 1 root root 136227 Jul 29 09:06 services.zip
[ root@qls ~]
adding: etc/ ( stored 0%)
[ root@qls ~]
total 796
-rw-r--r-- 1 root root 158 Jul 29 09:07 etc.zip
-rw-r--r-- 1 root root 670293 Jul 29 08:45 services
-rw-r--r-- 1 root root 136227 Jul 29 09:06 services.zip
[ root@qls ~]
Archive: etc.zip
Length Date Time Name
--------- ---------- ----- ----
0 07-29-2020 08:56 etc/
--------- -------
0 1 file
[ root@qls ~]
Archive: etc.zip
creating: etc/
[ root@qls ~]
total 796
drwxr-xr-x 2 root root 6 Jul 29 08:56 etc
-rw-r--r-- 1 root root 158 Jul 29 09:07 etc.zip
-rw-r--r-- 1 root root 670293 Jul 29 08:45 services
-rw-r--r-- 1 root root 136227 Jul 29 09:06 services.zip
[ root@qls ~]
total 0
[ root@qls ~]
[ root@qls ~]
total 13M
-rw-r--r-- 1 root root 12M Jul 29 09:10 etc.zip
-rw-r--r-- 1 root root 655K Jul 29 08:45 services
-rw-r--r-- 1 root root 134K Jul 29 09:06 services.zip
[ root@qls ~]
31M /etc
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
total 24976
-rw-r--r-- 1 root root 12380952 Jul 29 09:13 etc1.zip
-rw-r--r-- 1 root root 12380952 Jul 29 09:10 etc.zip
-rw-r--r-- 1 root root 670293 Jul 29 08:45 services
-rw-r--r-- 1 root root 136227 Jul 29 09:06 services.zip
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
total 12
drwxr-xr-x 85 root root 8192 Jul 29 08:56 etc
-rw-r--r-- 1 root root 0 Jul 28 12:09 file9
3. gzip命令
gzip
选项:
-d
-r
[ root@qls ~]
total 656
-rw-r--r-- 1 root root 670293 Jul 29 08:45 services
[ root@qls ~]
[ root@qls ~]
total 136
-rw-r--r-- 1 root root 136088 Jul 29 08:45 services.gz
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
total 656
-rw-r--r-- 1 root root 670293 Jul 29 08:45 services
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
[ root@qls ~]
total 124
-rw-r--r-- 1 root root 123932 Jul 29 08:45 services.bz2
[ root@qls ~]
[ root@qls ~]
total 656
-rw-r--r-- 1 root root 670293 Jul 29 08:45 services
[ root@qls ~]
4. tar命令
不负责压缩,只负责归档打包
选项:
z
j
J
c
v
f
czf
cjf
cJf
t
tf
x
xf
-C
h
P
X
--exclude=
--exclude-from=
[ root@qls ~]
total 656
-rw-r--r-- 1 root root 670293 Jul 29 09:47 services
[ root@qls ~]
[ root@qls ~]
total 792
-rw-r--r-- 1 root root 670293 Jul 29 09:47 services
-rw-r--r-- 1 root root 136200 Jul 29 09:48 services.tar.gz
[ root@qls ~]
[ root@qls ~]
total 916
-rw-r--r-- 1 root root 670293 Jul 29 09:47 services
-rw-r--r-- 1 root root 124166 Jul 29 09:48 services.tar.bz2
-rw-r--r-- 1 root root 136200 Jul 29 09:48 services.tar.gz
[ root@qls ~]
[ root@qls ~]
total 1016
-rw-r--r-- 1 root root 670293 Jul 29 09:47 services
-rw-r--r-- 1 root root 124166 Jul 29 09:48 services.tar.bz2
-rw-r--r-- 1 root root 136200 Jul 29 09:48 services.tar.gz
-rw-r--r-- 1 root root 100640 Jul 29 09:49 services.tar.xz
[ root@qls ~]
tar: Removing leading ` /' from member names #删根的操作是正常的
[ root@qls ~] # ll
total 10952
-rw-r--r-- 1 root root 10171684 Jul 29 09:56 etc.tar.gz
[ root@qls ~] # tar tf services.tar.gz
services
[ root@qls ~] # tar xf services.tar.gz
[ root@qls ~] # ll
total 10952
-rw-r--r-- 1 root root 10171684 Jul 29 09:56 etc.tar.gz
-rw-r--r-- 1 root root 670293 Jul 29 09:47 services
-rw-r--r-- 1 root root 124166 Jul 29 09:48 services.tar.bz2
-rw-r--r-- 1 root root 136200 Jul 29 09:48 services.tar.gz
-rw-r--r-- 1 root root 100640 Jul 29 09:49 services.tar.xz
[ root@qls ~] # tar xf etc.tar.gz
[ root@qls ~] # ll
total 10964
drwxr-xr-x 77 root root 8192 Jul 29 08:56 etc
-rw-r--r-- 1 root root 10171684 Jul 29 09:56 etc.tar.gz
-rw-r--r-- 1 root root 670293 Jul 29 09:47 services
-rw-r--r-- 1 root root 124166 Jul 29 09:48 services.tar.bz2
-rw-r--r-- 1 root root 136200 Jul 29 09:48 services.tar.gz
-rw-r--r-- 1 root root 100640 Jul 29 09:49 services.tar.xz
[ root@qls ~] # tar cjf etc.tar.bz2 /etc
tar: Removing leading ` /' from member names
[root@qls ~]# tar cJf etc.tar.xz /etc
tar: Removing leading ` /' from member names
[ root@qls ~] # ll
total 26808
-rw-r--r-- 1 root root 8994047 Jul 29 10:01 etc.tar.bz2
-rw-r--r-- 1 root root 10171684 Jul 29 09:56 etc.tar.gz
-rw-r--r-- 1 root root 7238084 Jul 29 10:01 etc.tar.xz
-rw-r--r-- 1 root root 670293 Jul 29 09:47 services
-rw-r--r-- 1 root root 124166 Jul 29 09:48 services.tar.bz2
-rw-r--r-- 1 root root 136200 Jul 29 09:48 services.tar.gz
-rw-r--r-- 1 root root 100640 Jul 29 09:49 services.tar.xz
[ root@qls ~] # tar xf etc.tar.bz2 #解压的时候,自动识别压缩包的格式
[ root@qls ~] # ll
total 26820
drwxr-xr-x 77 root root 8192 Jul 29 08:56 etc
-rw-r--r-- 1 root root 8994047 Jul 29 10:01 etc.tar.bz2
-rw-r--r-- 1 root root 10171684 Jul 29 09:56 etc.tar.gz
-rw-r--r-- 1 root root 7238084 Jul 29 10:01 etc.tar.xz
[ root@qls ~] # tar xf etc.tar.gz -C /opt/
[ root@qls ~] # ll /opt/
total 668
drwxr-xr-x 77 root root 8192 Jul 29 08:56 etc
-rw-r--r-- 1 root root 670293 Jul 29 09:47 services
[ root@qls ~] # tar czvf etc.tar.gz /etc
[ root@qls ~] # tar xvf etc.tar.gz
[ root@qls ~] # ll /bin -d
lrwxrwxrwx. 1 root root 7 Jul 6 02:13 /bin -> usr/bin
[ root@qls ~] # tar czf bin.tar.gz /bin
tar: Removing leading ` /' from member names
[ root@qls ~]
total 9952
-rw-r--r-- 1 root root 110 Jul 29 10:14 bin.tar.gz
drwxr-xr-x 77 root root 8192 Jul 29 08:56 etc
-rw-r--r-- 1 root root 10171684 Jul 29 10:04 etc.tar.gz
[ root@qls ~] # tar xf bin.tar.gz
[ root@qls ~] # ll
total 9952
lrwxrwxrwx 1 root root 7 Jul 6 02:13 bin -> usr/bin
-rw-r--r-- 1 root root 110 Jul 29 10:14 bin.tar.gz
drwxr-xr-x 77 root root 8192 Jul 29 08:56 etc
-rw-r--r-- 1 root root 10171684 Jul 29 10:04 etc.tar.gz
[ root@qls ~] # tar czhf bin1.tar.gz /bin
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from hard link targets
[root@qls ~]# ll
total 36880
lrwxrwxrwx 1 root root 7 Jul 6 02:13 bin -> usr/bin
-rw-r--r-- 1 root root 27573768 Jul 29 10:16 bin1.tar.gz
-rw-r--r-- 1 root root 110 Jul 29 10:14 bin.tar.gz
drwxr-xr-x 77 root root 8192 Jul 29 08:56 etc
-rw-r--r-- 1 root root 10171684 Jul 29 10:04 etc.tar.gz
#打包的时候有个删根的操作 怎么避免这个删根的操作
#第一种 使用相对路径打包
[root@qls ~]# cd /
[root@qls /]# tar czf /root/etc1.tar.gz etc
[root@qls /]# ll /root
total 46852
dr-xr-xr-x 2 root root 20480 Jul 29 08:58 bin
-rw-r--r-- 1 root root 27573768 Jul 29 10:16 bin1.tar.gz
-rw-r--r-- 1 root root 110 Jul 29 10:14 bin.tar.gz
drwxr-xr-x 77 root root 8192 Jul 29 08:56 etc
-rw-r--r-- 1 root root 10171684 Jul 29 10:19 etc1.tar.gz
-rw-r--r-- 1 root root 10171684 Jul 29 10:04 etc.tar.gz
#真实打包场景
[root@qls ~]# cd / && tar czf /root/etc3.tar.gz etc && cd -
/root
[root@qls ~]# ll
total 581012
dr-xr-xr-x 2 root root 20480 Jul 29 08:58 bin
-rw-r--r-- 1 root root 27573768 Jul 29 10:16 bin1.tar.gz
-rw-r--r-- 1 root root 110 Jul 29 10:14 bin.tar.gz
drwxr-xr-x 77 root root 8192 Jul 29 08:56 etc
-rw-r--r-- 1 root root 10171684 Jul 29 10:19 etc1.tar.gz
-rw-r--r-- 1 root root 347209728 Jul 29 10:22 etc2.tar.gz
-rw-r--r-- 1 root root 10171684 Jul 29 10:22 etc3.tar.gz
#第二种方法 使用绝对路径打包 告诉系统不要删根
#使用绝对路径打包
[root@qls ~]# tar czPf etc4.tar.gz /etc
#使用绝对路经解压
[root@qls ~]# tar xPf etc4.tar.gz
[root@qls ~]# cat /etc/services >> /opt/services
[root@qls ~]# ll /opt/
total 1744
drwxr-xr-x 77 root root 8192 Jul 29 08:56 etc
-rw-r--r-- 1 root root 158 Jul 29 10:28 hosts
-rw-r--r-- 1 root root 1340586 Jul 29 10:29 services
[root@qls ~]# tar xPf opt.tar.gz
[root@qls ~]# ll /opt/
total 672
drwxr-xr-x 77 root root 8192 Jul 29 08:56 etc
-rw-r--r-- 1 root root 158 Jul 29 10:28 hosts
-rw-r--r-- 1 root root 670293 Jul 29 09:47 services
#排除不需要打包的文件
[root@qls ~]# tar czf etc1.tar.gz /etc
tar: Removing leading ` /' from member names
[ root@qls ~] # ll
total 9936
-rw-r--r-- 1 root root 10171949 Jul 29 10:51 etc1.tar.gz
[ root@qls ~] # ll /etc/services
-rw-r--r-- 1 root root 670293 Jun 7 2013 /etc/services
[ root@qls ~] # tar czf etc2.tar.gz --exclude= /etc/services /etc
tar: Removing leading ` /' from member names
[ root@qls ~]
total 19740
-rw-r--r-- 1 root root 10171949 Jul 29 10:51 etc1.tar.gz
-rw-r--r-- 1 root root 10036635 Jul 29 10:52 etc2.tar.gz
[ root@qls ~] # tar tf etc2.tar.gz | grep services
etc/firewalld/services/
#排除多个文件
[ root@qls ~] # tar czf etc3.tar.gz --exclude= /etc/services --exclude= /etc/passwd /etc
tar: Removing leading ` /' from member names
[root@qls ~]# ll
total 29544
-rw-r--r-- 1 root root 10171949 Jul 29 10:51 etc1.tar.gz
-rw-r--r-- 1 root root 10036635 Jul 29 10:52 etc2.tar.gz
-rw-r--r-- 1 root root 10035297 Jul 29 10:54 etc3.tar.gz
[root@qls ~]# tar tf etc3.tar.gz | grep -E ' services| passwd'
etc/security/opasswd
etc/passwd-
etc/pam.d/passwd
etc/firewalld/services/
[ root@qls ~] # tar czf etc4.tar.gz --exclude= /etc/{ services,passwd} /etc
tar: Removing leading ` /' from member names
[root@qls ~]# ll
total 39348
-rw-r--r-- 1 root root 10171949 Jul 29 10:51 etc1.tar.gz
-rw-r--r-- 1 root root 10036635 Jul 29 10:52 etc2.tar.gz
-rw-r--r-- 1 root root 10035297 Jul 29 10:54 etc3.tar.gz
-rw-r--r-- 1 root root 10035297 Jul 29 10:55 etc4.tar.gz
[root@qls ~]# cat paichu.list
/etc/fstab
/etc/group
/etc/hosts
/etc/passwd
/etc/services
[root@qls ~]# tar czfX etc5.tar.gz paichu.list /etc
tar: Removing leading ` /' from member names
[root@qls ~]# ll
total 49152
-rw-r--r-- 1 root root 10171949 Jul 29 10:51 etc1.tar.gz
-rw-r--r-- 1 root root 10036635 Jul 29 10:52 etc2.tar.gz
-rw-r--r-- 1 root root 10035297 Jul 29 10:54 etc3.tar.gz
-rw-r--r-- 1 root root 10035297 Jul 29 10:55 etc4.tar.gz
-rw-r--r-- 1 root root 10033927 Jul 29 10:58 etc5.tar.gz
-rw-r--r-- 1 root root 59 Jul 29 10:57 paichu.list
[root@qls ~]# tar tf etc5.tar.gz | grep -Ew ' fstab| group| hosts| passwd | services'
etc/security/group.conf
etc/group-
etc/passwd-
etc/hosts.allow
etc/hosts.deny
etc/pam.d/passwd
etc/iproute2/group
etc/firewalld/services/
[ root@qls ~] # tar czf etc6.tar.gz --exclude-from= paichu.list /etc
tar: Removing leading ` /' from member names
[ root@qls ~]
total 58952
-rw-r--r-- 1 root root 10171949 Jul 29 10:51 etc1.tar.gz
-rw-r--r-- 1 root root 10036635 Jul 29 10:52 etc2.tar.gz
-rw-r--r-- 1 root root 10035297 Jul 29 10:54 etc3.tar.gz
-rw-r--r-- 1 root root 10035297 Jul 29 10:55 etc4.tar.gz
-rw-r--r-- 1 root root 10033927 Jul 29 10:58 etc5.tar.gz
-rw-r--r-- 1 root root 10033927 Jul 29 11:01 etc6.tar.gz
-rw-r--r-- 1 root root 59 Jul 29 10:57 paichu.list
5. tar命令与find结合
[ root@qls ~]
tar: Removing leading ` /' from member names
[ root@qls ~] # tar czf log2.tar.gz $( find /var/log/ -type f -name "*.log" )
tar: Removing leading ` /' from member names
[root@qls ~]# find /var/log/ -type f -name "*.log" -exec tar czf log3.tar.gz {} \;
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
tar: Removing leading ` /' from member names
[ root@qls ~]
[ root@qls ~] # find /var/log/ -type f -name "*.log" | xargs tar czf log4.tar.gz
tar: Removing leading `/' from member names
[ root@qls ~]
total 916
-rw-r--r-- 1 root root 309155 Jul 29 11:09 log1.tar.gz
-rw-r--r-- 1 root root 309155 Jul 29 11:09 log2.tar.gz
-rw-r--r-- 1 root root 356 Jul 29 11:10 log3.tar.gz
-rw-r--r-- 1 root root 309155 Jul 29 11:10 log4.tar.gz
[ root@qls ~]
var/log/tuned/tuned.log
var/log/audit/audit.log
var/log/anaconda/anaconda.log
var/log/anaconda/X.log
var/log/anaconda/program.log
var/log/anaconda/packaging.log
var/log/anaconda/storage.log
var/log/anaconda/ifcfg.log
var/log/anaconda/ks-script-3PCKae.log
var/log/anaconda/journal.log
var/log/boot.log
var/log/vmware-vmsvc.log
var/log/vmware-network.8.log
var/log/vmware-network.5.log
var/log/vmware-network.2.log
var/log/vmware-network.7.log
var/log/vmware-network.4.log
var/log/vmware-network.1.log
var/log/test.log
var/log/yum.log
var/log/vmware-network.9.log
var/log/nginx/error.log
var/log/nginx/access.log
var/log/vmware-network.6.log
var/log/vmware-network.3.log
var/log/vmware-network.log
[ root@qls ~]
var/log/vmware-network.log
当使用-exec时, 把find查找的文件是进行一个个赋值给{ } 的
xargs 把find命令查找出来的文件统一的赋值给了后面
6. date命令
[ root@qls ~]
Wed Jul 29 11:19:19 CST 2020
[ root@qls ~]
2020
[ root@qls ~]
20
[ root@qls ~]
07
[ root@qls ~]
29
[ root@qls ~]
2020-07-29
[ root@qls ~]
2020-07-29
[ root@qls ~]
20-07-29
[ root@qls ~]
11
[ root@qls ~]
23
[ root@qls ~]
24
[ root@qls ~]
Wed Jul 29 11:23:28 CST 2020
[ root@qls ~]
11:23:43
[ root@qls ~]
11:24:08
[ root@qls ~]
2020-07-29-11:24:34
[ root@qls ~]
3
[ root@qls ~]
30
[ root@qls ~]
1595993167
选项:
-d
-s
[ root@qls ~]
2020-07-29
[ root@qls ~]
2020-07-28
[ root@qls ~]
2020-07-30
[ root@qls ~]
2020-08-29
[ root@qls ~]
2020-06-29
[ root@qls ~]
2019-07-29
[ root@qls ~]
2021-07-29
[ root@qls ~]
Wed Jul 29 11:31:42 CST 2020
[ root@qls ~]
Thu Jul 30 00:00:00 CST 2020
[ root@qls ~]
Thu Jul 30 00:00:08 CST 2020
[ root@qls ~]
Wed Jul 29 00:00:00 CST 2020
[ root@qls ~]
Wed Jul 29 00:00:02 CST 2020
[ root@qls ~]
Wed Jul 29 11:32:30 CST 2020
[ root@qls ~]
Wed Jul 29 11:32:31 CST 2020
[ root@qls ~]
Thu Jul 30 11:00:00 CST 2020
ntpdate
[ root@qls ~]
向时间服务器进行同步时间
ntp.aliyun.com
ntp1.aliyun.com .. .. ntp7.aliyun.com
[ root@qls ~]
29 Jul 11:36:33 ntpdate[ 31370] : step time server 203.107.6.88 offset -84415.000442 sec
[ root@qls ~]
Wed Jul 29 11:36:35 CST 2020
[ root@qls ~]
Thu Jul 30 00:00:00 CST 2020
[ root@qls ~]
29 Jul 11:36:56 ntpdate[ 31392] : step time server 203.107.6.88 offset -44591.413933 sec
[ root@qls ~]
Wed Jul 29 11:37:02 CST 2020
7.基础总结-练习题
基础阶段-
1. 创建/root/user /root/logs /root/conf /root/html目录,请用一条命令实现。
2. Linux关机重启及注销的命令有哪些 (每种至少两个)?
3. Linux中系统网卡的配置文件路径什么?
4. 你知道哪些bash的快捷键呢?请把他写出来,并解释一下他的作用?(至少8个)
5. 网络类型都有哪几种?这几种模式,每个的含义你是怎么理解的?
6. 找出系统中文件名以oldboy开头的所有文件,要求只能查找到/目录的前三级目录。
find / -type f -maxdepth 3 -name "oldboy*"
7. Linux的发行版本都有哪些?(至少6个)
8. 怎样清除你所执行过的命令记录?
history -c
history -w
9. 说明下面这几个文件的作用:
/etc/resolv.conf、
/etc/hosts、
/var/log/messages、
/var/log/secure。
10. 如何快速返回上一次所在的目录?
11. 欲把当前目录下的file1.txt复制为file2.txt 命令是,如果已存在该名称的文件名,怎么执行不会提示是否覆盖?
\cp
绝对路径
12. 假设超级用户root当前所在目录为:/usr/local,键入cd命令后,用户当前所在目录为?
/root
13. 创建/data/test目录,已知/data目录不存在,请给出命令?
-p
14. 在/root/目录下创建文件test.txt test.log test.sh test.conf 请用一条命令创建。
15.将/etc/passwd文件中的第一列和第七列的位置进行调换,以:号为分隔符。
[ root@web01 ~]
root:x:0:0:root:/root:/bin/bash
[ root@qls ~]
/bin/bash:x:0:0:root:/root:root
/sbin/nologin:x:1:1:bin:/bin:bin
[ root@qls ~]
/bin/bash:x:0:0:root:/root:root
/sbin/nologin:x:1:1:bin:/bin:bin
/sbin/nologin:x:2:2:daemon:/sbin:daemon
/sbin/nologin:x:3:4:adm:/var/adm:adm
/sbin/nologin:x:4:7:lp:/var/spool/lpd:lp
16. 如果我在当前在/目录下,之后执行了以下操作,请告诉我,最后我所在的目录位置?
cd /etc/sysconfig/
cd ..
cd ..
cd -
cd ~
cd .. / /home
cd -
/home/xx /root 当前用户的家目录
17. 查看oldboy.txt文件中的内容,并显示行号。(至少两种方法)
18. 显示/etc/services文件的第11行到第20行的内容(至少两种方法)?
19. 已知文件123.txt内容如下,请过滤出不包含oldboy字符串的命令
test
OLDBOY
online
oldboy
online
oldboyoldboy
20. 接上题,要求过滤出文件123.txt中包含online字符串的行,并统计过滤出来的内容共有多少行。
grep -c 'online' 123.txt
21. 调试系统服务时,希望能实时查看系统日志/var/log/messages的更新,如何做?
22. 如何删除一个非空目录/opt?
23. 统计/etc/passwd文件一共有多少行?(两种方法)
24. 已知软件包的链接地址为http://nginx.org/download/nginx-1.16.0.tar.gz,要求将其下载且下载之后的软件包名为nginx.tar.gz,如何执行命令。
wget -O nginx.tar.gz http://nginx.org/download/nginx-1.16.0.tar.gz
curl -o nginx.tar.gz http://nginx.org/download/nginx-1.16.0.tar.gz
25. 查找ifconfig命令的绝对路径在哪里?(两种方法)
26. 统计文件/etc/services的字节数?(两种方法)
27. 执行下面的命令echo "Im qiuzengjia , is QQ 1176494252" > file.txt,要求取出该文件中的姓名和QQ号。(注意逗号前面有一个空格)(两种方法)。
cut -d " " -f2,6 file.txt
28.执行如下命令,要求去除重复的行,并统计出现的次数?
cat > file.txt << EOF
abc
123
abc
123
def
EOF
sort file.txt | uniq -c
29. 过滤出/etc/passwd以nologin结尾的内容,并统计行数。
grep -c 'nologin$' /etc/passwd
sed -n '/nologin$/p' /etc/passwd | wc -l
30. 使用cat和echo命令把oldboy oldgirl student三行内容(每个字符串是一行内容)写入到test.txt文件中
echo -e "oldboy\noldgirl\nstudent" >> test.txt
31. 以“:”为分隔符,取出/etc/passwd第一行的最后一列的内容?(两种方法)
awk -F: 'NR==1{print $NF }' /etc/passwd
32.已知执行ifconfig eth0 结果如下:要求取出IP地址
[ root@qiudao ~]
eth0: flags= 4163< UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.19.186.20 netmask 255.255.240.0 broadcast 172.19.191.255
ether 00:16:3e:1a:18:44 txqueuelen 1000 ( Ethernet)
ifconfig eth0 | awk 'NR==2{print $2 }'
33. 删除test.txt文件中的第10行到20行的内容。(两种方法)
sed '10,20d' test.txt
awk 'NR < 10 || NR > 20 ' test.txt
34. 取出test.txt文件中的第9行和第11行的内容(两种方法)
sed -n '9p;11p' test.txt
awk 'NR==9;NR=11' test.txt
35.统计nginx访问日志access.log中每个访问ip出现次数,显示最多的10个。( 已知ip在第一列)
awk '{print $1 }' access.log | sort | uniq -c | sort -rn | head
36.过滤出/etc/services 文件包含3306或1521两数字所在的行的内容。(两种方法)
grep -E '3306|1521' /etc/services
sed -nr '/3306|1521/p' /etc/services
awk '/3306|1521/' /etc/services
37. 排除/etc/ssh/sshd_config文件中的空行和注释行(以
grep -Ev '^$|^#' /etc/ssh/sshd_config
sed -r '/^$|^#/d' /etc/ssh/sshd_config
awk '!/^$|^#/' /etc/ssh/sshd_config
38. 将/etc/passwd文件中第一行到第五行的root替换为admin?
sed -i '1,5s#root#admin#g' /etc/passwd
39. 在test.txt文件末尾插入test。(两种方法)
echo "test" >> test.txt
sed '$atest ' test.txt
40. 写出redhat 中,配置网卡及dns 的配置文件是什么?并说明区别?
41. 已知sort.log文件内容如下,请根据文件内容的第二列进行倒序排序。?
cat >> sort.log<< 'EOF'
218.65.30.25 68652
218.65.30.53 34326
218.87.109.154 21201
112.85.42.103 18065
112.85.42.99 17164
218.87.109.151 17163
218.87.109.150 17163
218.65.30.61 17163
218.65.30.126 17163
218.65.30.124 17163
EOF
sort -rnk2 sort.log
42. 已知文件test.txt内容如下,请给出输出test.txt文件内容时,不包含oldboy字符串的命令。
test
qiudao
oldboy
43. 找到/backup目录下所有后缀名为.txt的文件?
find /backup -type f -name "*.txt"
44. 把/etc/passwd文件中的:替换成
tr ':' '#' < /etc/passwd
sed 's/:/#/g' /etc/passwd
45. rm是个危险的命令,要求使用命令rm删除文件时提示“rm command no bny”,怎么实现?
alias rm= 'echo rm command no bny'
46. 取出下列文件的权限如:0644 ?(两种方法)
[ root@qls ~]
File: ‘123.txt’
Size: 44 Blocks: 8 IO Block: 4096 regular file
Device: 803h/2051d Inode: 67160518 Links: 1
Access: ( 0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2019-07-27 16:55:57.055131412 +0800
Modify: 2019-07-27 16:55:50.098131214 +0800
Change: 2019-07-27 16:55:50.101131214 +0800
47. 分别写出GNU和GPL是什么?
48. 把/etc/passwd文件中的oldboy替换成oldgirl。
sed 's#oldboy#oldgirl#g' /etc/passwd
49.显示/proc/meminfo文件中以s开头的行( 忽略大小写) (两种方法)
grep -i '^s' /proc/meminfo
sed -nr '/^s|^S/p' /proc/meminfo
awk '/^s|^S/' /proc/meminfo
50.翻译题
01) .command not found
02) .No such file or directory
03) .File exists
04) .Is a directory