1.编辑一个1.txt文件,内容如下

cat >>1.txt <<EOF
10.0.3.1 00:0F:AF:81:19:1F
10.0.3.2 00:0F:AF:85:6C:25
10.0.3.3 00:0F:AF:85:70:42
10.0.2.20 00:0F:AF:85:55:DE
10.0.2.21 00:0F:AF:85:6C:09
10.0.2.22 00:0F:AF:85:5C:41
10.0.0.151 00:0F:AF:85:6C:F6
10.0.0.152 00:0F:AF:83:1F:65
10.0.0.153 00:0F:AF:85:70:03
10.0.1.10 00:30:15:A2:3B:B6
10.0.1.11 00:30:15:A3:23:B7
10.0.1.12 00:30:15:A2:3A:A1
10.0.1.1 00:0F:AF:81:19:1F
10.0.2.2 00:0F:AF:85:6C:25
10.0.3.3 00:0F:AF:85:70:42
10.0.2.20 00:0F:AF:85:55:DE
10.0.1.21 00:0F:AF:85:6C:09
10.0.2.22 00:0F:AF:85:5C:41
10.0.0.151 00:0F:AF:85:6C:F6
10.0.1.152 00:0F:AF:83:1F:65
10.0.0.153 00:0F:AF:85:70:03
10.0.3.10 00:30:15:A2:3B:B6
10.0.1.11 00:30:15:A3:23:B7
10.0.3.12 00:30:15:A2:3A:A1
EOF

(1)对该文件输出内容进行排序(提示:通过第三列的第一个字符,以及第4列的所有字符进行排序)
  sort -t "." -k3.1,3.1 -n  -k4.1,4.3 -n 1.txt 
(2)过滤该文件所有的字母,不区分大小写
  grep -i '[a-z]' 1.txt
(3)过滤出以数字3结尾的行
  grep -n '3$' 1.txt

2.将"web3_access.log"上传至你的linux服务器

(1)统计出该文件IP地址出现的次数,并按正序对其进行排序
awk '{print $1}' access.log |sort -n |uniq -c |sort -n
(2)统计该文件内HTTP状态返回码出现的次数(例如200,404,403,在第九列),并按照倒序进行排序
awk '{print $9}' access.log |sort -n |uniq -c |sort -nr
(3)过滤出所有状态返回码是200的行,并将这些返回码为200行的全部替换成300
 [root@yinwucheng ~]# grep '200' access.log |sed 's#200#300#gp'

3.匹配/etc/passwd里包含root关键字的行(要求至少两种方法,分别使用awk和grep)

 grep -n 'root' /etc/passwdawk '/root/' /etc/passwd

4.以“:”为分隔符,取出/etc/passwd第一行的最后一列的内容

 awk -F ":" 'NR==1{print $NF}' /etc/passwd

5.取出以“:”为分隔符,第三列(用户UID)以0结尾的

 [root@yinwucheng ~]# awk -F ":" {'print $3'} /etc/passwd |grep '0$'
0
1000

6.使用hostnamectl查看当前系统信息,取出kernel内核版本信息

方法1:
[root@yinwucheng ~]# hostnamectl |awk 'NR==9{print $3}'
3.10.0-957.21.3.el7.x86_64
方法2:
[root@yinwucheng ~]# hostnamectl |sed -n 9p |awk '{print $3}'
3.10.0-957.21.3.el7.x86_64
方法3:
[root@yinwucheng ~]# hostnamectl |grep 'Kernel' |awk -F "[: ]+" '{print $4}'
3.10.0-957.21.3.el7.x86_64:
方法4:
[root@yinwucheng ~]# hostnamectl |sed -nr '9s#^.*Kernel: Linux (.*)$#\1#gp'
3.10.0-957.21.3.el7.x86_64

7.使用hostnamectl查看当前系统信息,取出系统名称

[root@yinwucheng ~]# hostnamectl |grep 'CPE' |awk '{print $4}'

8.使用hostnamectl查看当前系统信息,取出系统版本信息,要求只显示"linux 7"

方法1:
 [root@yinwucheng ~]# hostnamectl |awk 'NR==7{print $4,$5}'
Linux 7
方法2:
hostnamectl |grep 'Operating' |awk '{print $4,$5}'

9.取出当前linux操作系统的DNS /etc/sysconfig/network-scripts/ifcfg-*。
awk -F "=" 'NR==19 {print $2}' /etc/sysconfig/network-scripts/ifcfg-eth0

10.复制/etc/passwd到当前root用户家目录

(1)只查看头3行,并将“:”替换为“#”
  head -n 3 passwd | sed -n 's@:@\#@gp'
(2)查看该文件全部内容,将匹配到的每一行的第一个"bin"替换成"test".
  [root@yinwucheng ~]# cat /etc/passwd |xargs -n1|sed -n 's#bin#test#p' |grep  -n 'test'
(3)查看该文件全部内容,将匹配到的所有"bin"全部替换成"test"
 cat passwd |sed -n 's#bin#test#gp'

11.使用ifconfig查看网卡信息,筛选出包含127.0.0.1的行(不少于三种方法)

[root@yinwucheng ~]# ifconfig |grep '127'inet 127.0.0.1  netmask 255.0.0.0
root@yinwucheng ~]# ifconfig |awk 'NR==11'inet 127.0.0.1  netmask 255.0.0.0
root@yinwucheng ~]# ifconfig |sed -n '11p'inet 127.0.0.1  netmask 255.0.0.0

12.使用awk取出/etc/passwd第一列数据也就是取出用户名

  [root@yinwucheng ~]# awk -F ":" '{print $1}' /etc/passwd

13.写一个文件,文件内容如下

cat >>test.txt<<EOF
server {
lisTEN 80;
server_nAme docs.xuliangwei.com;
root /code/dOcs
index INDEX.html;
}
EOF

(1)过滤docs.xuliangwei.com这段关键字
awk  'NR==3{print $2}' test.txt |sed 's#;##g'
(2)同时过滤出root和index的行,不区分大小写
[root@yinwucheng ~]# egrep -i 'root|index' test.txt
root /code/dOcs
index INDEX.html;
(3)过滤index,区分大小写
[root@yinwucheng ~]# grep 'index' test.txt
index INDEX.html;
(4)过滤出带"O"的行,不区分大小写
 [root@yinwucheng ~]# grep -i 'O' test.txt server_nAme docs.xuliangwei.com;root /code/dOcs
(5)过滤出不带";"的行
 [root@yinwucheng ~]# grep -v ';' test.txt server {root /code/dOcs}

14.如果某一天你误操作了"rm -rf *",会发生哪些情况

a、如果当前目录为”/tmp” ,那么这个目录下的东西会全部删除(默认不包含隐藏文件)
b、如果当前目录为”/”,那么系统上的数据将会丢失,且无法启动,系统崩溃(谨慎使用这个命令)

选择题

1.linux有三种查看文件命令,若希望在查看文件内容过程中可以用光标上下移动来查看文件内容,应使用(C)

A.cat
B.more
C.less
D.me

2.若一台计算机的内存为8G,则交换分区的大小通常是(C)

A.64GB
B.128GB
C.16GB
D.32GB

3.安装linux操作系统时,必须要创建的两个分区(B)

A./和boot
B./和swap
C./home和/usr
D./var和/trap

4.用于windows和linux文件传输最便捷的方法是(D)

A.winscp
B.ftp
C.scp
D.rz sz

5.删除文件的命令为(D)

A.mkdir
B.rmdir
C.mv
D.rm

6.改变bash的提示符实际上就是改变变量(C)

A.$HOME
B.$PWD
C.$PS1
D.$PS2

7./etc文件系统的标准应用是用于(D)

A.安装附加的应用程序
B.存放可执行程序,系统管理工具
C.设置用户的主目录
D.存放用于系统管理的配置文件

1.如何删除一个非空子目录/tmp? (B)

A. del /tmp/
B. rm -rf /tmp
C. rm -Ra /tmp/

D. rm -rf /tmp/*

2.存放linux默认系统日志文件是 (B)

A./var/log/dmesg
B./var/log/messages
C./var/log/secure

3.用命令ls -l显示出来文件txt的描述如下所示,由此可知文件ff的类型为 (A)

-rwxr-x-r-- 1 root root 599 Ce 10 17:12 ff
A.普通文件
B.硬链接
C.符号链接
D.目录

4.(C)命令可以从文本文件的每一行中截取指定内容的数据

A.cp
B.fmt
C.cut
D.dd

5.创建一个新文件可以使用的命令为(A)

A.touch
B.cat
C.echo
D.vim

6.以下哪个命令是查找文件的命令(A)

A.find
B.grep
C.awk
D.cat

7.linux文件系统的文件都按其作用分门别类的放在相关的目录中,对于外部设备文件,一般应将其放在(B)目录中

A./bin
B./dev
C./lib
D./lib64

8.在使用mkdir命令创建新的目录时,若其父级目录不存在,先创建父目录的选择是(D)

A.-m
B.-d
C.-f
D.-p

9.在linux系统中,用来存放系统所需要的配置文件和子目录是(A)

A./etc
B./var
C./root
D./home

10.关闭linux系统(不重新启动)可使用命令(A B)

A.init 0
B.halt
C.shutdown -r now
D.reboot

11.设超级用户root当前所在目录为:/usr/local,键入cd命令后,用户当前所在目录为(/root)

/home
/root
/home/root
/usr/local

12.Linux系统习惯将许多设备驱动存储在(/dev)目录中。

/dev
/boot
/root
/etc

13.在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项是-p__
-m
-d
-f
-p
14./var目录标准作用是用于 (C)

A安装附加的应用程序
B存放可执行程序、系统管理工具
C一般系统运行时要改变的数据
D存放用于系统管理的配置文件

15.用"rm -i"系统会提示什么来让你确认(B)

A命令行的每个选项
B是否真的删除
C是否有写的权限
D文件的位置

16.下面哪个Linux命令可以一次显示一页内容? (C)

A. pause
B. cat
C. more
D. grep

17.显示一个文件最后几行可以使用的命令是:(B)

A. tac
B. tail
C. rear
D. last

简答

1.说出下列字符在linux操作系统里所代表的含义
~   当前用户所在的家目录
-   上一次所在的目录
.   当前目录
..  上级目录
|   管道
#   1.超级管理员的提示符  2.注释的意思
*   匹配所有
\   转义字符 让字符还原本义
^   以什么开头
$   1.普通管理员的提示符  2.以什么结尾
||  或者
&&  并且  前者命令必须成功 才能执行后者
2.统计/var/log下的文件个数

[root@yinwucheng /var/log]# ll /var/log/ | grep '^-' |wc -l 38

3.使用ifconfig查看网卡信息,筛选出包含10.0.0.200的行(不少于三种方法)
方法1:
[root@yinwucheng ~]# ifconfig |awk 'NR==2{print $2}'
10.0.0.201
方法2:
[root@yinwucheng ~]# ifconfig | sed -rn '2s#^.*inet (.*)net.*$#\1#gp'
10.0.0.201
方法3:
[root@yinwucheng ~]# ifconfig eth0 |grep 'inet '|awk '{print $2}'
10.0.0.201
1.如何打印出该网卡的整体信息(整体信息需要包含10.0.0.200)
[root@yinwucheng ~]# ifconfig eth0eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 10.0.0.201  netmask 255.255.255.0  broadcast 10.0.0.255inet6 fe80::56c7:2e7f:36ac:d668  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:46:77:d2  txqueuelen 1000  (Ethernet)RX packets 5009  bytes 404056 (394.5 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 3465  bytes 369732 (361.0 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
2.筛选包含10.0.0.200的行
[root@yinwucheng ~]# ifconfig eth0 |grep 'inet 'inet 10.0.0.201  netmask 255.255.255.0  broadcast 10.0.0.255
3.使用awk取出/etc/passwd第一列用户名,第三列UID
[root@yinwucheng ~]# awk -F ":" '{print $1,$3}' /etc/passwd
root 0
bin 1
daemon 2
adm 3
lp 4
sync 5
shutdown 6
halt 7
mail 8
operator 11
games 12
ftp 14
nobody 99
systemd-network 192
dbus 81
polkitd 999
tss 59
abrt 173
sshd 74
postfix 89
chrony 998
jack 1000
tcpdump 72
apache 48
5.阐述命令的执行流程

第一步:看命令是不是通过以绝对路径的方式执行
第二步:看命令是否存在别名
第三步:判断是内置命令还是外置命令
第四步:若是内置的话,可直接执行 若是外置的话,查看是否有缓存
第五步:通过$PATH变量查找命令,若有的话可执行 没有的话会报错 command not found

6.阐述软硬链接的区别
软链接:快捷方式,不同的inode指向同一个block,删除软链接对源文件无任何影响,删除源文件,则软链接失效.
硬链接:多个相同的inode指向同一个block,其实就是用来对文件做备份的.
7.查看/etc/passwd文件里的第二行,要求输出结果为“/bin❌bin:1:/sbin/nologin:bin:1”(两种方法,分别使用sed和awk完成)
方法1:
[root@yinwucheng ~]# awk -F ":" 'NR==2{print $6":"$2":"$1":"$3":"$7$8":"$5":"$4}' /etc/passwd
/bin:x:bin:1:/sbin/nologin:bin:1
9.打印/etc/passwd 文件中的第 2-5 行
1.先用head取出前5行,然后使用tail取最后4行,刚好2-5
[root@yinwucheng ~]# head -5 /etc/passwd |tail -4 bin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologin2.使用sed
[root@yinwucheng ~]# sed -nr '2,5p' /etc/passwdbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologin    
10.用三种方法查询cd命令所在的绝对路径
[root@yinwucheng ~]# whereis -b cd
cd: /usr/bin/cd
[root@yinwucheng ~]# which cd
/usr/bin/cd
[root@yinwucheng ~]# type -a cd
cd is a shell builtin
cd is /usr/bin/cd
11.查看/etc/passwd文件里的第一行,将其倒置输出,要求输出结果为“/bin/bash❌0:0:root:/root:root”
[root@yinwucheng ~]# awk -F ":" '/^root/{print $7":"$6":"$5":"$4":"$3":"$2":"$1}' /etc/passwd
/bin/bash:/root:root:0:0:x:root
12.打印当前服务器的ens32网卡IP地址,需要下载yum install net-tools -y
1.先打印网卡的所有内容,
2.匹配IP地址所在的行
3.取值        [root@yinwucheng ~]# ifconfig eth0 |awk 'NR==2{print $2}'10.0.0.201
13.如何删除/tmp下所有A开头的文件
      [root@yinwucheng ~]# rm -rf /tmp/A*
14.创建一个文件名为student.txt的文件,文件内容如下
注意:以下文本中间有空行
oldboyedu
O2LD
Bo3y
eD123uoldboy
olboyabda123bc
dd132ac
aabbbabaoldboyabc
(1)写出查询以字符abc结尾的行
[root@yinwucheng ~]# grep 'abc$' student.txt oldboyabc
(2)查看该文件所有内容,不显示空行,并打印行号 ^$
[root@yinwucheng ~]# grep -vn '^$' student.txt
1:oldboyedu
2:O2LD
3:Bo3y
4:eD123u
6:oldboy
7:olboyabd
9:a123bc
10:dd132ac
11:aabb
13:baba
15:oldboyabc
(3)查看该文件第10行(写出所有你知道的方法)
[root@yinwucheng ~]# sed -n 10p student.txt
dd132ac[root@yinwucheng ~]# awk 'NR==10' student.txt
dd132ac
(4)查找以a开头的行
[root@yinwucheng ~]# grep '^a' student.txt
a123bc
aabb
(5)将该文件所有行的第一个字符"o"替换成"yy"
[root@yinwucheng ~]# grep 'o' student.txt |sed 's#o#yy#'
yyldboyedu
Byy3y
yyldboy
yylboyabd
yyldboyabc
(6)整个文件所有的字符"a"替换成"www"
[root@yinwucheng ~]# grep 'a' student.txt |sed 's#a#www#g'
olboywwwbd
www123bc
dd132wwwc
wwwwwwbb
bwwwbwww
oldboywwwbc
15.查看/etc/passwd文件的总行号
[root@yinwucheng ~]# cat /etc/passwd |wc -l
24
16.用什么命令可以看到整个目录下的所有内容
       ls -a
17.你所知道的linux系统上传下载命令一共有哪些,并说明具体应用场景。

从互联网下载用 wget curl
wget -O curl -o
本地到服务器上传用 rz sz
rz 上传
sz 下载

18.在Linux系统中,用来存放系统需要的配置文件目录是?
     /etc
19.使用w查看已登录的系统用户列表
(1)以空格为分隔符,取出出第一行,第一列的时间信息
      [root@yinwucheng ~]# w |sed -n 1p |awk '{print $1}'14:41:41
(2)以逗号为分隔符,取出出第一行,第三列的当前系统登录的用户数
     [root@yinwucheng ~]# w |awk -F "," 'NR==1{print $2}'2 users[root@yinwucheng ~]# w |awk -F "," 'NR==1{print $2}' |awk '{print $1}'2
(3)取出FROM所在的这一列往下所有行的IP地址信息(此地址为当前登录终端的地址来源)
[root@yinwucheng ~]# w |grep '^root' |awk '{print $3}'
10.0.0.1
10.0.0.1
20.当你创建了一个在"/edu/data/"名为oldboy的目录,并使用ln命令创建了该文件的符号链接文件(软链接)名为"new"到当前系统用户的家目录下。
[root@yinwucheng ~]# mkdir /edu/data/oldboy -p
[root@yinwucheng ~]# ln -s /edu/data/oldboy/ ./new
[root@yinwucheng ~]# ll
total 0
lrwxrwxrwx. 1 root root 17 Jul 31 16:54 new -> /edu/data/oldboy/
(1)使用"ls -al"查看家目录下的所有文件,并过滤出new文件所在的行
[root@yinwucheng ~]# ls -al |grep 'new'
(2)进入到new目录,查看当前所在位置的绝对路径
[root@yinwucheng ~]# cd new/
[root@yinwucheng ~/new]# pwd
/root/new
(3)使用命令(echo "你的名字拼音" > ~/new/1.txt),进入/edu/data/oldboy目录,查看该目录下是否有1.txt这个文件,如有,查看该文件
[root@yinwucheng ~]# echo 'chengyinwu' > new/1.txt
[root@yinwucheng ~]# cd /edu/data/oldboy/
[root@yinwucheng /edu/data/oldboy]# ll
total 4
-rw-r--r--. 1 root root 11 Jul 31 16:59 1.txt
(4)删除oldboy目录及该目录下所有文件,是否还能进入new目录
[root@yinwucheng /edu/data]# rm -rf oldboy/
进不去了
(5)使用命令cat查看new目录下的1.txt文件,是否能访问
  不能访问
21.命令"man cd"的意思是

解;
查看cd命令的帮助信息

22.如何精准判断一个文件的类型?系统中 l s d c b 这些类型都是什么意思?
  file filenamel    链接文件 类似于windows的快捷方式s    socket 本地进程与进程间的一种通信方式d    directory目录 类似于windows的文件夹c    字符设备 用于提供用户的输入输出b    块设备文件  (硬盘 分区 光盘)

原理题

1.阐述linux系统下软链接和硬链接的区别
  1. 软链接就是一个快捷方式,删除软连接不会影响源文件.
  2. 硬链接,类似于一个文件副本,删除硬链接不影响原文件,只有删除所有的硬链接及其源文件,这个文件才算彻底被删除.
2.阐述linux系统下命令的执行流程

第一步:看命令是不是通过以绝对路径的方式执行
第二步:看命令是否存在别名
第三步:判断是内置命令还是外置命令
第四步:若是内置的话,可直接执行 若是外置的话,查看是否有缓存
第五步:通过$PATH变量查找命令,若有的话可执行 没有的话会报错 command not found

3.什么是绝对路径,什么是相对路径

绝对路径:以根开始的路径
相对路径:相对于当前所在的位置

4."."和".."分别代表什么

.代表当前目录
..代表上一级目录

习题: 将/etc/passwd文件中的第一行中的第一列和最后一列位置进行交换。
[root@yinwucheng ~]# grep '^root' /etc/passwd |awk -F ":" '{print $7":"$2":"$3":"$4":"$5":"$6":"$1}'
/bin/bash:x:0:0:root:/root:root
习题: 将/etc/sysconfig/selinux 文件中的SELINUX=enforcing替换成SELINUX=disabled
[root@yinwucheng ~]# sed -i 's#^SELINUX=.*#SELINUX=disabled#g' /etc/sysconfig/selinux 
习题: 分析如下日志,统计每个域名被访问的次数。
[root@student tmp]# cat >> web.log <<EOF
http://www.xuliangwei.com/index.html
http://www.xuliangwei.com/1.html
http://post.xuliangwei.com/index.html
http://mp3.xuliangwei.com/index.html
http://www.xuliangwei.com/3.html
http://post.xuliangwei.com/2.html
EOF
方法1:
[root@yinwucheng /tmp]# awk -F "/" '{print $3}' web.log |sort |uniq -c |sort -nr3 www.xuliangwei.com2 post.xuliangwei.com1 mp3.xuliangwei.com方法2:[root@yinwucheng /tmp]# sed -r 's#^.*//(.*)/.*$#\1#g' web.log |sort |uniq -c |sort -r3 www.xuliangwei.com2 post.xuliangwei.com1 mp3.xuliangwei.com

一、选择题(每题2分)

1.1 设超级用户root当前所在目录为:/usr/local,键入cd命令后,用户当前所在目录为(B)

A:/home B:/root C:/home/root D:/usr/local

1.2 Linux有三种查看文件的命令,若希望在查看文件内容过程中可以用光标上下移动来查看文件内容,应使用命令(C)

A:cat B:more C:less D:me

1.3 在Linux系统中,用来存放系统所需要的配置文件和子目录是(A)

A:/etc B:/var C:/root D:/home

1.4 Linux文件系统的文件都安其作用分门别类地放在相关目录中,对于外部设备文件,一般应将其放在(C)目录中

A:/bin B:/etc C:/dev D:/lib

1.5 除非特别指定,cp假定要拷贝的文件在下面那个目录下(D)

A:用户目录 B:home目录 C:root目录 D:当前目录

1.6 在vi编辑器中的命令模式下,键入(B)可在光标当前所在行下添加一新行。

A:a B:o C:I D:A

1.7 (D)命令可以从文本文件的每一行中截取指定内容的数据。

A:cp B:dd C:fmt D:cut

1.8 按下(A)键能终止当前运行的命令

A:ctrl -c B:ctrl -f C:ctrl -b D:ctrl -d

1.9 在给定文件中查找与条件相符字符串的命令及查找某个目录下相应文件的命令为:(C)

A:grep B:gzip C:find

1.10 下列关于链接描述,错误的是(B)

A:硬链接就是让链接文件的i节点号指向被链接文件的i节点
B:硬链接和符号连接都是产生一个新的i节点
C:链接分为硬链接和符号链接
D:硬链接不能链接目录文件

二、原理题

2.1 bash常用快捷键(2分)
ctrl +c 终止当前正在运行的程序
ctrl +l清屏
ctrl +w按单词或者空格进行向前删除
ctrl +->按单词向左移动
crrl + <按单词向右移动
ctrl +a光标跳转至行首
ctrl +e光标跳转至行尾
ctrl +z暂时放入后台
ctrl +u删除光标以前的所有内容
ctrl +k删除光标以后的所有内容
2.2 常见的bash特性有哪些?(2分)
1.补全tab
2.命令快捷键
3.历史命令 history
4.命令别名
5.帮助 --help man
2.3 什么是GNU,什么是GPL(3分)
  • GPL 通用版权许可证协议
  • GNU 它不是Unix 它是一个组织,是一种自由软件的操作系统

    2.4 以下目录的作用(7.5分)
/bin     --->>>普通用户存放的二进制相关命令路径  如 /bin/ls
/sbin    --->>>超级用户存放的二进制相关命令路径  如 /sbin/ls
/boot    --->>>系统启动相关程序存放的位置 如 kernel grub(引导启动菜单)
/dev     --->>>存放一些设备的目录   如 硬盘、光驱
/etc     --->>>系统的配置文件 大多数服务的相关配置文件都在/etc目录下 如 /etc/hostname
/home    --->>>普通用户的家目录
/lib     --->>>存放的是一些库文件 不可删除
/lib64   --->>>存放的是64位的库文件 不可删除
/media   --->>>存放的是一些与媒体设备有关的文件
/mnt     --->>>临时挂载点
/opt     --->>>第三方软件安装的路径
/proc    --->>>虚拟的文件系统,反应当前用户当前正在运行进程的实时状态
/root    --->>>超级用户的家目录,普通用户无权访问
/run     --->>>进程运行的pid,(放在一个文件中)   如 lock相关文件
/srv     --->>>存放一些服务启动之后需要提取的数据
/sys     --->>>虚拟文件系统,存放进程和内核信息的
/tmp     --->>>临时目录 相当于回收站
/usr     --->>>存放系统文件的目录 相当于windows下的c盘
/var     --->>>可变化数据的目录,常用于存放系统日志相关的文件
2.5 简述命令执行的流程(2分)
第一步:看命令是不是通过以绝对路径的方式执行
第二步:看命令是否存在别名
第三步:判断是内置命令还是外置命令
第四步:若是内置的话,可直接执行  若是外置的话,查看是否有缓存  hash
第五步:通过$PATH变量查找命令,若有的话可执行   没有的话会报错 command not found
2.6 什么是绝对路径,什么是相对路径(2分)
绝对路径:以根开始的路径都算是绝对路径
相对路径:相对于当前所在的位置 如 a.txt  ./a.txt ../a.txt
2.7 简述软连接与硬连接的区别(2分)
1.软链接就是一个快捷方式,删除软连接不会影响源文件.
2.硬链接,类似于一个文件副本,删除硬链接不影响源文件,只有删除所有的硬链接及其源文件,这个文件才算彻底被删除.
2.8 vim的几种模式,每种模式都是做什么的(2分)
VIm 普通模式:复制与粘贴,删除、剪贴、撤销、替换
VIm 编辑模式:从普通模式进入到编辑模式
VIm 命令模式:主要用于搜索, 保存, 退出文件
视图模式:(从普通模式进入视图模式),主要进行批量操作
2.9 写出15个学过的命令(15分)
1、man 男人,查找命令的功能 参数 等等帮助信息的工具。man 命令2、help 查内置命令的帮助help 命令3、shutdown、reboot 重启 推荐reboot(我用的)shutdown -r now 立刻重启shutdown -h now 立刻关机4、halt、poweroff 关机  推荐halt5、pwd   print working directory   打印当前目录6、cd    change directory    改变目录
cd - 去上一次所在的目录
cd ~或cd 去当前用户的家目录    ~表示家目录
cd . 去当前目录,.表示当前目录
cd.. 去上一级目录 ..表示上一级目录7、tree 大叔 以树形结构显示目录-L(level)指定层数 例如 tree -L 1 /-d(directory)  只显示目录8、mkdir make directory 创建目录-p    根据需要创建所有目录 包括父目录子目录,递归创建-v    显示执行过程9、touch 创建文件,重复的文件忽视。
touch {1..10}.txt 等价touch 1.txt 2.txt 3.txt........
{}生成数字序列、字母序列10、ls list显示目录下的内容-l (long)  以长格式显示目录下的内容-a,显示所有文件,包含隐藏文件(以.开头的文件)-d,directory显示目录-i   显示inode号-h   以人性化显示11、cp   copy  复制cp [OPTION]... SOURCE... DIRECTORY选项        源         目录-r  (递归 recursive) 复制目录-p  保持文件属性(描述文件详细信息的  文件大小 创建时间  权限 属主)-a  保持文件属性和链接复制的时候 不提示是否覆盖,直接覆盖\cp 12、alias  查看或者设置别名alias cp='cp -i'13、rm 删除文件或目录  remove-r 递归删除  recursive 删除目录-f (force) 强制删除-i 确认-rf 删文件、目录  (谨慎使用)alias rm='rm -i'如何防止rm误删数据?1、放弃使用rm,用mv或find替代2、不删除,移动到回收站(/tmp)3、一定要删,要先备份4、不要这样用 rm -fr /opt/* 要切换到指定的目录下再删除5、为rm设置别名,提醒自己和组员14、unalias 取消别名unalias rm15、mv  move 移动目录或文件mv是移动,当前下面就没了,剪切 默认也会提示覆盖cp是复制,当前下面依然有,复制16、echo 输出和打印
-n 不换行输出
-e 支持转义字符\t 代表tab\n 代表换行17、printf 格式化打印
printf "oldboy\n"18、查看运行级别
runlevel    (who -r)19、切换运行级别 init
init 0 关机
init 6 重启20、hostnamectl 设置主机名C7 永久hostname    设置主机名C7和C6  临时21、vi/vim  纯文本编辑器vi  记事本vim notepad++22、cat  查看文件内容 (tac和cat相反)-n   显示行号23、more 分页显示文件内容24、less 一页一页查看文件内容
下一页  空格 /f
上一页  b
/搜索
less -N 显示行号
q  退出25、head 显示文件内容头部 (默认显示前10行,显示前n行,-n后跟数字 n可省略 -数字)-c 5 显示文件的前几个字符(文字 符号)26、tail 显示文件尾部内容 (默认显示后10行,显示后n行,-n后跟数字 n可省略 -数字)-f   跟踪显示文件尾部的信息(显示文件的实时更新)-F  --follow --tries 显示文件的实时更新,如果文件不存在 自动进行尝试27、tac  按行翻转文件内容(和cat相反) concatenate and print files in reverse28、rev  左右按字符翻转行的内容  reverse lines of a file or files29、tr   替换或删除字符-c 取反-d 删除30、grep 过滤  筛子  重要性前三名-n 显示行号-v 排除 取反-o 显示筛选的-i 不区分大小写-E 同时过滤多个条件-w 按单词进行过滤-c 只输出匹配行的计数-A 显示过滤的下几行
31.rpm -qa tree 检查软件装没装rpm -i install  安装。。。。包-v verbose 显示进度-h 以人类可读形式显示-qa 查询所有-q query 查询-a all-ql 显示软件包内容32.free   显示内存使用情况-h --human-readable33.lscpu  显示cpu相关详细信息
34.df  显示硬盘的使用情况-h --human-readable  以人性化显示35.w  显示谁登陆了系统 在干啥  系统负载
35.2 who  显示谁登陆了系统
36.uptime  系统负载
37.useradd 添加用户-u-s-g-M
38.passwd  设置密码
--stdin
38.2 userdel  删除用户
-r39.su       switch user 切换用户
40.whoami   显示当前用户
41.seq sequence 序列 生成数字序列
seq 10====seq 1 10
42.which  查询命令绝对路径
43.whereis  查询命令相关文件的位置
44.file  查询命令详细类型
45.history  显示历史命令
-c 清空历史命令
46.[root@yinwucheng ~]# cat -n ~/.bash_history
47.sed  三剑客老二-r-n-i-i.bak
48.awk 三剑客老大-F-v  修改或创建awk变量49.sort 排序
-n  按照数字进行排序
-r  逆序排序
-k  某一列排序
-t  分隔符50.find 查找文件-maxdepth  最大深度-type-name-iname-size-mtime51.wc 统计文件信息-l (小写)显示一共有多少行52.chown  修改文件的所有者
-R  递归修改文件的所有者53.ps  process 显示系统进程信息
ps -ef 54.last    显示谁登陆了系统  谁什么时间从哪里登陆系统 登陆多久55.lastlog  显示所有用户最近一次登陆情况
2.10 以下特殊符号所代表的含义(2.5分)
.    当前目录
..   上一级目录/    根
#    注释,超级管理员提示符
$    以什么结尾,普通用户提示符

三、命令题
3.1 创建目录/old/boy/(2分)

mkdir -p /old/boy/

3.2 使用一条命令在/old/boy/目录下创建bgx1.txt、bgx2.txt、bgx3.txt三个文件(2分)

 touch /old/boy/bgx{1..3}.txt

3.3 将/old/boy/目录下所有内容复制到/root/目录下(2分)

cp /old/boy/* /root/

3.4 将/old目录移动到/tmp/下(2分)

 mv /old/ /tmp/

3.5 将I am student输入到/root/bgx1.txt中(2分)

echo "I am student" >/root/bgx1.txt

3.6 查看/root/bgx1.txt文件的内容(四种方法)(4分)

cat bgx1.txt
less bgx1.txt
more bgx1.txt
vim bgx1.txt

3.7 查看/tmp/old/属于哪种文件类型(2分)

file /tmp/old/

3.8 删除/tmp目录下所有内容(2分)

rm -rf /tmp/*

3.9 删除/root下所有a开头的文件(2分)

rm -rf /root/a*

3.10 查看/etc/passwd文件的第7、8行(3分)

sed -n '7,8p' /etc/passwd

3.11 清除命令历史记录(3分)

history -c

3.12 将文件从Windows上传到centos系统中使用什么命令(3分)

rz

3.13 如何将/root/bgx1.txt文件下载到windows系统中(3分)

sz  /root/bgx1.txt

3.14 如何比较两个文件内容有什么区别(2种方式,并简述2种方式的区别)(6分)

diff     --->>>文件对比
vimdiff  --->>>可高亮显示

3.15 已知阿里源地址为http://mirrors.aliyun.com/repo/Centos-7.repo将其下载到etc/yum.repos.d目录下并命名为Centos-7.repo(3分)

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

3.16 如何安装vim(3分)

yum install vim -y

3.17 在/tmp/目录下面创建一个etc的软连接etc-test(3分)

ln -s /etc/ /tmp/etc-test

3.18 如何查看家目录下的所有文件(3分)

ls -a ~

3.19 给hello设置别名,使每次使用hello就输出“你好”(3分)

alias hello="echo 你好"

3.20 取消hello命令的别名(3分)

unalias hello

四、面试题

4.1 显示1.txt文件第3到第10行的内容?(3分)
sed -n '3,10p' 1.txt4.2 写出查询file.txt以abc结尾的行(3分)
grep 'abc$' file.txt4.3 删除file.txt文件中的空行(3分)
grep -v '^$' file.txt
sed -n '/^$/d' file.txt4.4 找出ifconfig命令结果中的1-255之间的数值;(3分)
ifconfig |grep -o '[1-255]'4.5 统计出apache的access.log 中访问最多的5个ip(IP为第一列)(4分)
awk '{print $1}' access.log |sort -n |uniq -c |sort -n |tail -54.6 在/var/sync/log/cef_watchd-20080424.1og文件中查找大小写不敏感“mysql"字符串中的命令是(3分)
grep -i 'mysql' /var/sync/log/cef_watchd-20080424.1og4.7 用命令行更改config.txt文件,把里面所有的"name"更改为"address" (4分)
:%s#name#address#g4.8 用awk获取文件中第三行的倒数第二列字段(3分)
awk 'NR==3{print $NF-1}' 1.txt4.9 显示file文件里匹配foo字串那行及前5行、匹配foo及后5行(4分)
grep -C 5 'foo' file4.10 查找file.log文件中的包含关键字“helloworld”的内容,及其上下两行的内容从定向保存到1.txt。请写出命令(4分)
grep -C 2 'helloworld' file.log >1.txt

转载于:https://www.cnblogs.com/yinwu/p/11332375.html

Linux面试题--1相关推荐

  1. linux面试题-基础题1

    linux面试题-基础题1 第1章 基础题1 1.1 在装系统创建Linux分区时,一般至少需要创建两个分区( ) A.FAT.NTFS   B. /usr.swap    C. /boot.swap ...

  2. 九、为了OFFER而战,那些日子在牛客网刷Linux面试题(下)

    @Author:Runsen @Date:2020/9/11 文章是Runsen在Gitchat付费文章分享:Linux 常用 Shell 命令,控制台的快捷键以及 Shell 编程 顺便同步到CSD ...

  3. linux进程 面试题,Linux面试题,浅析常见Linux命令面试题及答案

    原标题:Linux面试题,浅析常见Linux命令面试题及答案 对于Linux面试来说如果面试官问到你不会的问题,你就说这个不太熟悉,没有具体研究过,千万别不懂装懂,还扯一堆没用的话题来掩饰,这样只会让 ...

  4. 嵌入式linux开发考试题目,练一练!3道经典嵌入式Linux面试题,答案在文末。

    原标题:练一练!3道经典嵌入式Linux面试题,答案在文末. 题一: 简述memcpy和strcpy的区别? 题二:信号量与互斥锁的区别? 题三:简述程序编译的过程? 题一答案: (1)复制的内容不同 ...

  5. 嵌入式linux面试题解析(二)——C语言部分三

    嵌入式linux面试题解析(二)--C语言部分三 1.下面的程序会出现什么结果 #include <stdio.h> #include <stdlib.h> #include ...

  6. linux面试题中的简答题,[计算机]linux面试题简答题部分.doc

    [计算机]linux面试题简答题部分 linux面试题(简答题部分)2 简述进程的启动.终止的方式以及如何查看进程?答:启动进程的方式分为手动启动和自动启动两种方式,其中手动启动的方法用service ...

  7. linux嵌入式面试题合集,嵌入式linux面试题解析(一)——ARM部分二

    嵌入式linux面试题解析(一)--ARM部分二1.描述一下嵌入式基于ROM的运行方式基于RAM的运行方式有什么区别.基于RAM的运行方式:需要把硬盘和其他介质的代码先加载到ram中,加载过程中一般有 ...

  8. 嵌入式linux面试题解析(四)——逻辑推理一

    嵌入式linux面试题解析(四)--逻辑推理一 1.谁是罪犯问题 一位法官在审理一起盗窃案时,对涉及到的四名嫌疑犯A.B.C.D进行了审问.四人分别供述如下: A:"罪犯在B.C.D三人之中 ...

  9. 嵌入式linux面试题库,嵌入式linux面试题解析(二)——C语言部分三

    嵌入式linux面试题解析(二)--C语言部分三 1.下面的程序会出现什么结果#include#include #include void getmemory(char *p){p=(char *) ...

  10. linux sed面试题,【2021最新版】Linux面试题总结(48道题含答案解析)

    文章目录 1.绝对路径用什么符号表示?当前目录.上层目录用什么表示?主目录用什么表示? 切换目录用什么命令? 2.怎么查看当前进程?怎么执行退出?怎么查看当前路径? 3.怎么清屏?怎么退出当前命令?怎 ...

最新文章

  1. 记一次网络共享打印机故障
  2. 第三课 查询指定id的单个对象
  3. PHP调用Webservice实例
  4. .NET加水印/验证码的NuGet包
  5. 辗转相除法(欧几里得算法)求解最大公约数、最小公倍数
  6. 计算机毕业设计Java社区团购系统(源码+系统+mysql数据库+Lw文档)
  7. 获取计算机登录用户名和密码,查看电脑的登录用户名_查看电脑用户名和密码...
  8. MySQL over函数的用法
  9. Python检验多重共线性
  10. html中dom什么意思,dom属性是什么意思啊 html dom是什么意思,通俗易懂
  11. 面试问题中的十大算法
  12. Android 自定义View绘制电池图标
  13. Eigen的介绍、安装
  14. Caffe 作者贾扬清:我为什么离开 Google,加入 Facebook?
  15. Thinking In Design Pattern——工厂模式演绎
  16. whaleCTF MISC_Writeup(姿势大全)
  17. 用Android微信聊天记录 制作一个词云(python)
  18. uniapp购物车界面模板
  19. Windows7下注册表修改右键新建快捷键
  20. 区块链软件开发NFT平台开发移动APP开发预约预定APP定制开发

热门文章

  1. 使用Node.js手撸一个建静态Web服务器,内部CV指南
  2. 什么是Https、数字签名、数字证书
  3. ISCC2022-MISC-降维打击
  4. 使用牛顿迭代法求根 一元三次方程的根
  5. Intel SGX开发者参考书(五)—— Intel SGX SDK示例代码(一)
  6. 思科三层交换机不同vlan互通_cisco(三层交换和动态路由,不同vlan间的通信,静态路由实现全网互通)...
  7. 树莓派控制4路5v继电器开关
  8. 《自控力》分享一些减缓压力小妙招
  9. 管理者需换位思考 员工都是CEO
  10. uni-app从创建到运行到微信开发者工具