20linux基础考试
1、探测服务器网络的命令
ping
2、保存命令行提示符的变量
PS1
3、特殊的路径
. : 当前目录
.. : 上一级目录
- : 上一次待的目录
~ : 家目录
4、常见的开关机的方式
关机:
shutdown -h now
halt
init 0
poweroff
reboot --halt
重启:
shutdown -r 0
halt --reboot
init 6
poweroff --reboot
5、查看命令详情的命令
man
6、命令行上常用的快捷键
ctrl+左右键 : 在单词之间跳转
ctrl+a : 跳到本行的行首
ctrl+e : 跳到页尾
ctrl+u : 删除当前光标前面的文字(还有剪切功能)
ctrl+k : 删除当前光标后面的文字(还有剪切功能)
ctrl+l : 进行清屏操作
ctrl+y : 粘贴(粘贴Ctrl+u或ctrl+k剪切的内容)
ctrl+w : 删除光标前面的单词的字
7、创建文件及文件夹的命令
mkdir : 创建文件夹
touch : 创建文件
8、重定向
> : 覆盖重定向
>> : 追加重定向
9、复制文件的命令
cp
10、移动文件
mv
11、vim文件编辑器的原理
1、打开文件
2、创建xxx.swp文件
3、将xxx.swp文件替换成xxx
4、删除xxx.swp
12、vim文件编辑器中的命令及快捷键
末行模式:
w : 保存
q : 退出编辑
wq : 保存并退出
x : 保存并退出
!: 强制退出(不保存退出,必须跟在指令之后)
set nu : 显示行号
set nonu : 取消行号
n : 直接跳转到n行
命令模式
i:进入编辑模式(在光标之前输入)
a: 进入编辑模式(在光标之后输入)
o:进入编辑模式(在光标所在位置另起一行输入)
gg : 跳转到首行
G : 跳转到末行
dd : 删除当前行
ndd : 在光标所在位置向下删除n行
u : 回撤(类似于windows中的ctrl + z)
yy : 复制光标所在行
nyy : 在光标所在位置向下复制n行
p(小写) : 粘贴到光标的下一行
P(大写) : 粘贴光标的上一行
13、重启网卡的两种方式
systemctl restart network
ifdown eth0
ifup eth0
14、增加一块500GB的磁盘的步骤
1、增加一块硬盘
第一步:关闭虚拟机
第二步:(1)编辑虚拟机设置 (2)添加 (3)硬盘
第三步:设置硬盘后开启虚拟机
2、做磁盘分区
磁盘分区命令:fdisk
fdisk /dev/sdb
3、格式化文件系统
mkfs.xfs [文件系统分区的路径]
4、挂载使用
mount [选项] [磁盘分区的路径] [挂载的路径]
卸载:
umount [挂载的路径]
5、查看挂载
df -h
15、开机自动挂载的两种方法
vim /etc/fstab
vim /etc/rc.local
16、两种登录提示符
/etc/motd 登录后提示
/etc/issue 登陆前提示
17、怎么修改网卡IP(步骤)
第一步:vim /etc/sysconfig/network-scripts/ifcfg-eth0
第二步:修改ip地址并保存
第三步:systemctl restart network
18、当root密码忘记,怎么修改?
1、关闭selinux
第一步:vim /etc/selinux/config
第二步:SELINUX=disabled
第三步:保存并退出
2、重启
reboot
3、在虚拟机的启动界面上,鼠标点进去后按e键,进入单用户模式
4、在包含linux16这一行,将ro修改为rw,并且在其后面增加init=/sysroot/bin/sh
5、修改完成后按ctrl + x 键,重新引导系统
6、执行 chroot /sysroot 切换到原来的系统中
7、修改root密码
第一步:passwd [指定需要修改密码的用户]
第二步:输入新密码
8、使密码生效
touch /.autorelabel
9、重启
reboot
19、su 和 su - 的区别
su : 切换用户,不改变目录
su - : 重新登录用户,改变目录
20、yum原理
1、远程yum仓库
2、/etc/yum.repos.d存放以.repo结尾的yum源
3、yum install zip
4、安装zip
21、搭建私有yum仓库的步骤
1、创建目录,充当仓库
mkdir /yumrepo
2、在仓库中创建Packages目录,用于存放软件
cd /yumrepo
mkdir Packages
3、下载测试软件到Packages目录中
cd /yumrepo/Packages
wget https://repo.huaweicloud.com/centos/7/os/x86_64/Packages/zip-3.0-11.el7.x86_84.rpm
4、下载远程访问软件:nginx
yum install nginx
5、下载仓库初始化软件
yum install yum-utils createrepo
6、初始化仓库,会在仓库中创建repodata目录,主要用来存放当yum依赖关系
createrepo /yumrepo
7、修改nginx配置文件,使其代理yum仓库目录索引
vim /etc/nginx/nginx.cof
root /yumrepo;
nginx实现目录索引
autoindex on;
autoindex_exact_size off;
autoindex_localtime on;
重启nginx
systemctl restart nginx
8、编辑yum源
1、将/etc/yum.repos.d/*.repo中的所有文件备份到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.101
gpgcheck=0
4、更新源
yum clean all
yum makecache
9、测试
yum install zip
22、安装软件的三种方式
yum
rpm
二进制编译
23、编译安装Nginx的步骤
1、wget 下载源码包
2、解压
3、检查系统,设置参数 ./configure
4、make && make install
24、什么是系统负载,什么标准下才算正常
系统负载:单位时间内占用cpu的时间
不超过其cpu的计算时间
25、文件的属性有哪些
- : 普通文件
f : 普通文件
d : 普通文件夹
b : 块设备文件
c : 字符设备文件
l : 链接文件
s : socket文件
26、硬链接与软连接的区别
硬链接 : ln [原来的路径] [新的路径]
硬链接是文件的别名 原文件删了 还有个硬链接可以访问文件里的内容
软连接 : ln -s [原来的路径] [新的路径]
软连接绑定文件路径 原文件删了 文件名没了 软链接就会飘红
注:在linux操作系统中,硬链接个数为0时,才会删除原文件
27、创建用户及用户组的命令
useradd
groupadd
28、创建用户需要操作的文件
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
创建家目录
/etc/skel
29、Linux中有几种权限
可读
可写
可执行
30、例如:创建普通文件时有一个默认的权限,为:644,请问这个默认的权限怎么修改?
umask
创建文件时,默认权限是666,跟umask值计算,用666 减 umask值,如果得到的值为奇数,那么加1,偶数不变
创建文件夹时,默认的权限是777,跟umask值计算,用777 减 umask值
假设umask值为022,那么创建的文件及文件夹的默认权限是644
假设umask值为123,那么创建的文件默认权限是644,文件夹的默认权限是654
umask 123
touch 1.txt
mkdir a
31、请问目录对于权限的三个意义
1、查看文件时,相关的目录必须要有可执行权限,文件要有可读权限
2、修改文件时,相关的目录必须要有可执行权限,文件要有可写权限
3、执行文件时,相关的目录必须要有可执行权限,文件要有可读可执行权限
32、权限的归属有哪些
属主 u
属组 g
其他 o
33、绝对路径于相对路径
绝对路径:以根目录为参考的路径
相对路径:以当前目录为参考的路径
34、跟硬件相关的与系统运行状态相关的两个目录分别是什么
/dev 硬件设备
/proc 虚拟内存
35、上传于下载的命令,及其参数
rz
wget
curl
sz
36、修改命令行字符集
LANG
37、将/tmp中的普通文件删除,权限为755的目录打包压缩
find /tmp -type f | xargs -I {} rm -rf {}
tar -czvf /tmp/tmp.tar.gz $(find /tmp -perm 755 | xargs)
38、定时清理3个月之前的系统日志
0 0 * * * find /var/log/ -mtime +90 -name "*.log" | xargs -I {} rm -rf {}
39、在Linux系统中,常用的压缩(不是打包)命令有哪些
gzip
bzip2
40、在Linux操作系统中,打包压缩命令的常用参数
tar
打包文件,不会删除原文件,
格式:
tar [参数] [压缩包名称]
参数:
-f : 指定压缩包名称
-c : 打包文件
-z : 指定使用gzip压缩,一般使用gzip压缩的文件都以.tar.gz作为扩展名
-j : 指定使用bzip2压缩,一般使用bzip2压缩的文件都以.tar.bz2作为扩展名
-v : 显示压缩包压缩的过程
-x : 解压,不需要指定压缩包的压缩类型,它会自动匹配压缩包的类型自行解压。
-P : 当压缩包中存在根目录时,自动移除根目录
-t : 查看压缩包中的内容
41、常用的正则表达式有哪些项?
* : 匹配零个或多个前导字符
$ : 以字符结尾
. : 匹配任意一个字符(换行符除外)
^ : 以指定字符开头
.* : 所有的字符的任意个数
[] : 或者(其中包含所有的字符的或者)
[^] : 取反
[A-Z] : A-Z所有的一个字母
[a-z] : a-z所有的一个字母
[0-9] : 0-9所有的一个数字
+ : 前导字符的一个或多个
? : 前导字符的零个或一个
| : 或者(竖线两边的字符的或者)
() : 分组,组成一个整体
\n : n代表前面第几个分组
{m,n} : 范围,至少有m个,最多有n个
{m} : 固定m个
{m,} : 至少m个
42、将指定文本内的所有行前全部加上注释
sed -r 's/(.*)/#\1/g' 1.txt
43、流式编辑器sed中的定位法有几种?
数组
数字 + 正则
正则
44、将文本中所有内容变成一行(用空格进行分割)
cat 1.txt | tr "\n" " "
awk '{printf $0" "}' 1.txt
cat 1.txt | xargs
45、如果是字母开头的行则在行前增加:ZB;如果是数字开头的行则在行前增加:SZ
sed -r 's/^([a-zA-Z])/ZB:\1/g';'s/^[0-9]/SZ:\1/g' 2.txt
46、如何将Hello World 换成 World Hello?
sed -r 's/(Hello)(World)/\2\1/g' 1.txt
47、在Linux系统中,有几种数组?怎么遍历其中的内容
普通数组
关联数组
for循环
48、awk包含多少个部分及其作用?其中默认的变量有哪些?
BEING{}
{}
END{}
$0 :保存当前行的内容
$n :当前记录的第n个字段,字段间由FS分割
NR :记录号(行号),每处理完一条记录,NR值加1
FNR :各文件分别计数的行号
NF :保存记录的字段数, $1,$2,...,$100
RS :记录分隔符,默认值是一个换行符
FS :输入字段分隔符,默认空格(相当于-F)
-F可以指定一个或多个
一个: -F: -F, 等
多个: -F'[ ,]' -F'[\,]' 等
OFS :输出字段分隔符,默认值与输入字段分隔符一致
ORS :输出记录分隔符,默认值是一个换行符
49、要求打印出/etc/passwd文件种的2和3倍数的行
awk '{if(NR%2==0 && NR%3==0){print $0}}' /etc/passwd
50、要求写入如下的cron表达式:要求每天的21点到凌晨3点,每个5分钟执行一次
*/5 21-3 * * *