day21 linux基础考试

1、探测服务器网络的命令

ping

2、保存命令行提示符的变量

PS1

3、特殊的路径

.   当前目录
.. 上一级目录
~   当前登录系统的用户家目录
-   上一次登录的目录

4、常见的开关机的方式

    shutdown
reboot
init
poweroff
halt

 

5、查看命令详情的命令

man

6、命令行上常用的快捷键

01显示历史输入命令信息:方向键 上 下(前提是同一个命令行窗口)
02清除所有屏幕信息输出: ctrl+l 或clear
03取消/中断命令执行过程 ctrl+c
04快速移动光标到行首/行尾 ctrl+a/ctrl+e
05将光标到行首的信息剪切 ctrl+u
06将光标到行尾的信息剪切 ctrl+k
07将剪切的内容进行粘贴   ctrl+y
08锁定系统窗口信息状态   ctrl+s
09解锁系统窗口信息状态   ctrl+q
10命令行中快速移动光标   ctrl+方向键 左 右
11系统命令信息补全功能(必须唯一) Tab

7、创建文件及文件夹的命令

mkdir
touch

8、重定向

     >      : 覆盖重定向(先将文件中原有的内容清空,然后写入内容到文件)
>> : 追加重定向(将内容写入到文件最后边,原有的内容不变)

9、复制文件的命令

cp

10、移动文件

mv

11、vim文件编辑器的原理

         1、vi xxx.txt(检查.xxx.txt.swp是否存在)
2、读取xxx.txt的内容
3、创建一个名为.xxx.txt.swp的隐藏文件
4、修改文件(修改.xxx.txt.swp文件)
5、保存文件(.xxx.txt.swp文件存入xxx.txt中)
6、退出编辑(删除.xxx.txt.swp文件)

12、vim文件编辑器中的命令及快捷键

w:保存
q:退出编辑
wq:保存退出
x:保存退出
!:强制退出(不保存退出,必须跟在指令的后面)
n:直接跳转到第n行
set nu:显示行号
set nonu:取消行号

gg:跳转到行首
G:跳转到末行
H:移动到屏幕的开头
I:移动到屏幕的结尾
M:移动到屏幕的中间
u:撤销上一步(类似于windows中的ctrl+z)
dd:删除光标当前行
ndd:在光标所在位置向下删除n行
yy:复制光标所在行
nyy:在光标所在的位置向下复制n行
p(小写):粘贴到光标的下一行
P(大写):粘贴到光标的上一行
x(小写):删除光标当前字符,向后删除
X(大写):删除光标当前字符,向前删除
shift +d:从光标所在位置删除到行末
0:从光标所在位置跳转到行首
$:从光标所在位置跳转到行尾

13、重启网卡的两种方式

systemctl restart network

ifdown eth0 && ifup eth0

14、增加一块500GB的磁盘的步骤

	1、关机增加磁盘

2、分区

3、格式化文件系统

4、挂载使用

15、开机自动挂载的两种方法

vim /etc/fstab

vim /etc/rc.local

16、两种登录提示符

/etc/motd
/etc/issue

17、怎么修改网卡IP(步骤)

vim /etc/sysconfig/network-scripts/ifcfg-eth0 

systemctl restart network

18、当root密码忘记,怎么修改?

    1.关闭Slinux(必须是永久关闭)
2.重启
3.在启动界面上,按e键,进入单用户模式
4.在包含linux16 这一行,将ro修改为rw,并且在其后面并且在其后面增加 init=/sysroot/bin/sh (让单用户模式默认进入sh命令)
5.按ctrl+X键,重新引导系统
6.执行chroot/sysroot/切换到原来的系统中
7.修改root密码
passwd [指定需要修改密码的用户]
8.使密码生效
touch /.autorelabel
9.重新启动客户机

19、su和su - 的区别

su   切换用户,相当于换一个用户,切换用户不切换目录- [用户名]     
su - 切换用户,相当于重新登录

20、yum的原理

 第一步:执行yum install nginx安装命令
第二步:yum去/etc/yum.repos.d这个目录中(cd /etc/yum.repos.d)
第三步:根据/etc/yum.repos.d中所有的.repo结尾的文件中保存的baseurl中的连接,去寻找对应的软件包
第四步:在寻找到的软件包中,下载软件,(/var/cache/yum/x86_64/7/[yum仓库名称])

21、搭建私有yum仓库的步骤

1、创建目录,充当仓库
mkdir /yumrepo2
2、在仓库中创建Packages目录,用于存放软件
cd /yumrepo2
mkdir Packages
3、下载测试软件到Packages目录中
cd /yumrepo2/Packages
wget https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/zip-3.0-11.el7.x86_64.rpm
4、下载远程访问软件:Nginx
yum install nginx
5、下载仓库初始化软件(yum-utils、createrepo)
yum install yum-utils createrepo
6、初始化仓库
createrepo /yumrepo2
注:会在仓库目录中创建repodata目录,主要用来存放yum依赖关系的。
7、修改Nginx配置文件,使其代理yum仓库目录索引
修改/etc/nginx/nginx.conf
root /yumrepo2;
nginx实现目录索引
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;

systemctl restart nginx

在浏览器测试

8、编辑yum源
1、将/etc/yum.repos.d中所有的文件备份到backup目录中
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/
2、创建local.repo文件
touch local.repo
3、编辑local.repo
vim local.repo
[local]
name="xxx源的简介"
baseurl=http://192.168.15.201
gpgcheck=0
4、更新源
yum clean all
yum makecache
9、测试
yum remove zip
yum install zip

22、安装软件的三种方式

yum安装
rpm安装
二进制编译安装

23、编译安装Nginx的步骤

1.wget 下载源码包 wget https://nginx.org/download/nginx-1.20.1.tar.gz    

2.解压 tar -xf nginx-1.20.1.tar.gz

3.检查系统,设置参数
cd nginx-1.20.1
./configure

4.make && make install

24、什么是系统负载,什么标准下才算正常

系统负载:单位时间内,系统进程占用CPU的相对时间

负载 / cpu数量

25、文件的属性有哪些

  d:文件夹(directory)
​ -:普通文件(f/-(file))
l:链接文件
c:字符设备文件,会不断产生字符信息(字体)character
b:块设备文件(硬盘)block
s:socket文件,套接接口文件,和网络有关的文件
p:管道文件(pipe)

26、硬链接与软连接的区别

硬链接:源文件与目标文件的inode号码相同,都指向同一个inode。硬链接个数为0时,才会删除源文件,表示数据真正删除了
软连接:相当于快捷方式,用于存放指向源文件的路径信息。 软链接文件指向的是源文件的文件名,而不是inode号,所以源文件的“链接数”不会增加。

 

27、创建用户及用户组的命令

useradd  groupadd

28、创建用户需要操作的文件

/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
创建家目录
/etc/skel

29、Linux中有几种权限?

可读可写和可执行

30、例如:创建普通文件时有一个默认的权限,为:644,请问这个默认的权限怎么修改?

umask 002

创建文件时,默认的权限时666,跟umask值计算,用666 减 umask值 如果得到的值为奇数,那么加一,偶数不变

创建文件夹,默认的权限时777,跟umask值计算,用777 减 umask值

 

假设:umask值为 022 ,那么创建的文件及文件夹的默认权限是多少

644

123 644 654

456 220 321

31、请问目录对于权限的三个意义


1、读权限
当目录有可执行权限,文件有可读权限时,文件可读。
2、写权限
当目录有可执行权限,文件有可写权限时,文件可写。
3、可执行权限
文件可执行权限的最小权限是:文件夹有可执行权限而文件有可读可执行权限。

32、权限的归属有哪些?

u    g   o 

33、绝对路径与相对路径

绝对路径的参照物是根目录
相对路径的参照物是当前目录

34、跟硬件相关的与系统运行状态相关的两个目录分别是什么?

/dev

/proc

35、上传与下载的命令,及其参数

rz  上传

wget -O 下载文件
curl -o 保存文件路径
sz 下载

36、修改命令行字符集

  临时修改: LANG=zh_CN.UTF-8
持久化保持字符编码:/etc/locale.conf (重启生效)
通过命令的方式修改字符及编码(同时临时永久修改字符集)
[root@localhost ~]# localectl set-locale LANG=en_US.UTF-8

37、将/tmp中的普通文件删除,权限为755的目录打包压缩

find /tmp -type f -exec rm -rf {} \;
tar -czvf tmp.tar.gz $(find /tmp -perm 755 | xargs )

38、定时清理3个月之前的系统日志

0 0 * * * find /var/log/ -mtime +90 -name "*.log" -exec rm -rf {} \;

39、在Linux系统中,常用的压缩(不是打包)命令有哪些?

gzip
bzip2

40、在Linux操作系统中,打包压缩命令的常用参数

tar 
-f:指定压缩包的名称
-c:打包文件
-z:指定使用gzip压缩,一般使用gzip压缩的文件都以.tar.gz作为扩展名
-j: 指定使用bzip2压缩,一般使用bzip2压缩的文件都以.tar.bz2作为扩展名
-v:显示压缩包压缩的过程
-x:解压,不需要指定压缩包的压缩类型,他会自动匹配压缩包的类型自行解压
-P(大写):当压缩包中存在根目录时,自动移除根目录
-t:查看压缩包中的内容
-C:解压至

41、常用的正则表达式有哪些项?

普通正则:
* 匹配前一个字符(连续出现)0或者1次以上(注意:当重复0次的时候,表示啥也没有即空,即匹配所有的内容)
. 点号,表示匹配任意一个且只有一个字符(但是不能匹配空行)
.* 组合符,匹配所有的内容
^ 尖角号,用法为^oldboy.表示匹配以oldboy单词开头的行
^.* 组合符,匹配以任意多个字符开头的内容
$ 美元符,用法为oldboy$,表示匹配以oldboy单词结尾的行
^$ 组合符,表示空行,逻辑解释就是以^结尾的行,或以$开头的行
\ 转义字符,让有特殊含义的字符脱掉马甲,现出原形,如\.只表示小数点
.*$ 组合符,以任意多个字符结尾的内容
[] 或者(其中包含的所有的字符的或者)
[^] 取反
[A-Z] 匹配[]内任意一个字符,A-Z中的任意一个
[a-z] 匹配[]内任意一个字符,a-z中的任意一个
[0-9] 匹配[]内任意一个字符,0-9中的任意一个
[^abc] 匹配不包含^后的任意字符,这里的^表示对[abc]取反

扩展正则:
+ 匹配前一个字符1次或1次以上
[:/]+ 匹配括号内的:或/字符1次或1次以上
? 匹配前一个字符0次或1次
| 表示或者,即同时过滤多个字符串(竖线两边的字符的或者)
() 分组,组成一个整体,另外()的内容可以被后面的\n引用,n为数字,代表引用第几个括号的内容 \n n代表的是前面第几个分组 引用前面()里的内容,ps:(aa)\1,匹配结果aaaa
a{m,n} 匹配前一个字符最少m次,最多n次
a{m} 匹配前一个字符m次
a{m,} 匹配前一个字符最少m次
a{,n} 匹配前一个字符最多n次

42、将指定文本内的所有行前全部加上注释

sed -r 's/(.*)/#\1/g' 

43、流式编辑器sed中的定位法有几种?

数组
数字 + 正则
正则

44、将文本中所有内容变成一行(用空格进行分割)

[root@localhost tmp]# cat 1.txt | tr "\n" " "
[root@localhost tmp]# awk '{printf $0" "}' 1.txt
[root@localhost tmp]# cat 1.txt | xargs
[root@localhost tmp]# sed -i ':a;N;$!ba;s/\n/ /g' 1.txt

45、如果是字母开头的行则在行前增加:ZB;如果是数字开头的行则在行前增加:SZ

[root@localhost tmp]# sed -r 's/^([a-zA-Z])/ZB:\1/g;s/^([0-9])/SZ:\1/g' 2.txt 	

46、如何将Hello World 换成 World Hello?

[root@localhost tmp]# echo "Hello World" | sed -r 's/(Hello).*(World)/\2 \1/g'

47、在Linux系统中,有几种数组?怎么遍历其中的内容?

普通数组

关联数组

for i in arr
do

done
或 for 变量 in 数组;do for循环体1;for循环体2;for循环体3;done

48、awk包含多少个部分及其作用?其中默认的变量有哪些?

           BEGIN{}    :BEGIN是在awk处理文本之前运行
// :使用的匹配规则
/正则/ # 该行内容匹配成功正则
$1 ~ /正则/ # 第一段内容匹配成功正则
$1 !~ /正则/ # 第一段内容没有匹配成功正则
{} :循环(每次只处理一行数据)
END{} :当所有的处理全部执行完毕之后,执行END中的相关操作

$0:一整行内容
NR:记录号(行号),每处理完一条记录,NR值加1
NF:以-F分隔符分隔的段数,$1,$2...$100
FS:输入字段分割符,默认空格
OFS:输出字段分隔符

49、要求打印出/etc/passwd文件种的2和3倍数的行

[root@localhost tmp]# awk -F: '{if(NR%2==0 && NR%3==0){print $0}}' /etc/passwd
[root@localhost tmp]# awk -F: '{if(NR%2==0 || NR%3==0){print $0}}' /etc/passwd (2或者3的倍数的行)

50、要求写入如下的cron表达式:要求每天的21点到凌晨3点,每个5分钟执行一次

*/5 21-3 * * *
posted @ 2021-10-15 20:57  甜甜de微笑  阅读(105)  评论(0)    收藏  举报