linux21 复习考试

本文详细讲解了Linux基础操作,包括网络探测、PS1变量、路径管理、系统关机与重启、命令详解、快捷键、文件创建、重定向、复制与移动、vim编辑器、网络管理、用户与组、权限管理、压缩与解压、正则表达式、文本处理、cron表达式,以及系统维护和开发技巧。
摘要由CSDN通过智能技术生成

linux21 考试

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

ping 网络地址或者主机地址

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

PS1 
[root@localhost ~]#PS1="[\u@\h \W]\$"                 临时修改
		\u :当前系统登录的用户,
        @:分隔符 没有意思
        \h:主机名字,就相当于人的名字,当前机器的主机名,只显示一个主机名localhost
        \H: 代表当前机器主机名   显示所有主机名 localhost.localdomain
        \W大写:当前目录名称,家目录,用户登录首次出现的目录  比如a.tat
        \w小写  当前目录全路径 比如:文档\我的\私有\a.txt
        \$:等同于#超级管理员
        			weekday   month		date
        \d 代表日期:星期:		几月:		几号
        \t时间 11:11:11 24小时制  有秒 格式:HH:MM:SS
        \T 代表十二小时制时间  有秒  格式:HH:MM:SS
        \A 代表24小时制时间 没有秒 格式:HH:MM
        \v 代表bash的版本
#永久修改   vim /etc/profile
export PS1="[\u@\h \W]\$"

3、特殊的路径

.                当前目录
..				上一层目录
~				当前用户家目录
-				上一次在的目录

4、常见的开关机的方式

#关机
	shutdown -h now
	init0
	halt -p      不加参数关闭硬件资源
	poweroff
	
#重启
	reboot
	reboot -p
	shutdow -r now
	poweroff --reboot
	halt --reboot

5、查看命令详情的命令

man[命令名字]  
    NAME:对要查询的命令的简介
    SYNOPSIS:对要查询命令的格式的规范
    DESCRIPTION:对要查询的命令的详细介绍
    OPTIONS:对要查询命令的 所有选项
或者[命令名字] --help      -h    help   这三个有的不支持

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

上下键: 
	上一次输入的命令,断开在连接也有

\v  :  bash的版本号,黑命令窗口软件的版本号

清空屏幕信息:ctrl + l
	与之相同的命令:clear
	
光标移动到行首与行尾
	crtl + a(crtl + 左) : 移动到行首
	crtl + e(ctrl + 右) : 移动到行尾
	
剪切内容至行首:crtl + u
剪切内容至行尾:crtl + k
ctrl+c强制中断程序的执行
ctrl+z是将任务中断,但是此任务并没有结束

粘贴内容:crtl + y

命令补全(必须唯一):tab

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

touch 创建文件
	#mkdir[选项(非必须)](被创建的目标路径)
	#touch test{1..100}  创建test1-test100
	{}:表示循环
	..有序循环从开始到结束
    ,表示指定的创建
mkdir 创建文件夹
	#touch[选项][被创建的文件路径] 绝对路径相对路径都可以
	#mkdir -p /root/aaa/bbb/ccc    创建root下aaa里的bbb的ccc
	-p:根据需要创建父目录

8、重定向

重定向	: 把某个内容,通过某种方式输入到指定文件中,即为重定向
>   覆盖重定向,删除之前的,从新加内容
>>	追加重定向,在之前内容的结尾 加内容,原有的不变

9、复制文件的命令

cp [选项(非必须)] [原路径] [新路径]
	-r : 递归复制目录-复制目录 自己调自己,把一个文件夹所有内容全部复制过去
    -i : 增加覆盖提示
    -p : 保留原有文件的属性   比如时间等
    -d : 当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录; 原来的软连接一并复制过去

10、移动文件

mv:移动文件	
	#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文件编辑器中的命令及快捷键

#vim的三种模式
 	命令模式:
    末行模式:
    编辑模式:
#vim文件编辑器中的命令及快捷键    
    i	: 进入编辑模式(在光标之前输入)闪烁的地方前面
    a	: 进入编辑模式(在光标之后输入)闪烁的地方后面
    o	: 进入编辑模式(在光标所在位置另起一行输入) 闪烁的行的下一行

    gg : 跳转到首行
    G  :跳转到末行

    dd : 删除当前行

    u  : 回撤(类似于windows中的crtl + z)
    ndd : 在光标所在位置向下删除n行
    yy : 复制光标所在行
    nyy : 在光标所在位置向下复制n行

    p(小写) : 粘贴到光标的下一行

    P(大写) : 粘贴到光标的上一行
    		
    w : 保存
    q : 退出编辑

    wq : 保存并退出 
    x  : 保存并退出

    ! : 强制退出(不保存退出,必须跟在指令后面) q!

    n  : 直接跳转到第n行   先输入:在输入n

    set nu : 显示行号
    set nonu : 取消行号


13、重启网卡的两种方式

1.systemctl restart network    将所有网卡都重启
2.ifdown [网卡名]  ifup [网卡名]    多个网卡用第二种  可以选择网卡名

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

1、关机增加磁盘

2、分区
	fdisk
3、制作文件系统
	mkfs.xfs [分区的文件路径]
4、挂载

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

#第一种    将挂载信息配置到/etc/fstab中。
	/dev/sdb1 	/mnt   xfs  defaults 0 0
#第二种方式:在开机自启动脚本中增加挂载命令
    1、添加挂载命令到:/etc/rc.local
    mount /dev/sdb1 /mnt

    2、添加可执行权限
    [root@python ~]$ chmod +x /etc/rc.d/rc.local 

    3、重启
    reboot

16、两种登录提示符

/etc/motd		: 在登录之后显示
        	
/etc/issue		:在登录之前显示

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

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

开始修改

systemctl restart ntwork

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

忘记root密码,进入单用户模式,安全的无网络

1、关闭selinux(必须是永久关闭)
	ivm /etc/selinux/config
	SELINUX=dissabled
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这个目录中
第三步:根据/etc/yum.repos.d中所有的.repo结尾的文件中保存的baseurl中的连接,去寻找对应的软件包
第四步:在寻找到的软件包中,下载软件,(/var/cache/yum/x86_64/7/[yum仓库名称]

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

1.创建目录,充当仓库 #房子

2.在仓库创建Packages目录,用来存放软件 #家具

3.下载测试软件到Packages #装家具

	基础为前三步
4.下载访问软件Nginx #装电话

5.下载仓库初始化软件,yum-utils 和createrepo #电话卡,依赖关系

6.createrepo 仓库名称  初始化仓库
	会在仓库目录中自动创建 repodata目录,主要存放yum依赖关系的软件
7.修改nginx配置文件,使其代理yum仓库
	#修改 /etc/nginx/nginx.conf 里面的
	server里面的
	root 改成自己仓库路径;
	#实现目录索引 加到server里
    autoindex on;
    autoindex_exact_size off;
    autoindex_localtime on;
	#systemctl restart nginx 重启nginx
8.编辑yum源
    留一个新建的源 其他.repo移动到里面新文件夹
    新建的源编写
    [local]        不是local也行
    name=德玛西亚		源的简介
    baseurl=			指定的地址
    gpgcheck=0			默认不检测
		
9.更新源
    yum clean all
    yum makecache
10.测试
    yum.remove zip
    yum.install zip


22、安装软件的三种方式

rpm安装:单独安装,不能解决依赖
yum安装:解决依赖,不能灵活定制安装 
编译安装:可以定制安装,不能解决依赖 可以想安装那个安哪个

23、编译安装Nginx的步骤

#下载源代码nginx包:https://nginx.org/download/nginx-1.20.1.tar.gz
#解压tar -xf nginx-1.20.1.tar.gz    后面为安装包名字
1.检查系统
	cd 解压后的文件夹里
	[root@localhost ~]# cd nginx-1.20.1
	执行[root@localhost nginx-1.20.1]# ./configure 
	让他自动检查就好了										依赖包这三个是
	少什么安装什么     pcre 和pcre-devel 、zlib 和zlib-devel   make gcc gcc-c++
	[root@localhost nginx-1.20.1]# yum install pcre pcre-devel -y
2.编译
	#要在解压目录下运行
	执行make  
	加上-j 多核编译 速度快,容易出错
3.安装
	#查询一下
		[root@localhost nginx-1.20.1]# ls /usr/local/
		bin  etc  games  include  lib  lib64  libexec   sbin  share  src
	#要在解压目录下运行
		执行make install
4.查看usr/local
	[root@localhost nginx-1.20.1]# ls /usr/local/
	bin  etc  games  include  lib  lib64  libexec  nginx  sbin  share  src
	多了一个nginx
5.测试
	停止之前的nginx  systemctl stop nginx
	启动刚才安装的nginx   /usr/local/nginx/sbin/nginx 
	

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

应用程序占用cpu的百分比
看具体cpu的数量和负载   ,小于百分之五十即为正常

25、文件的属性有哪些

d 文件夹
- 普通文件
l  链接文件 软连接
c  字符设备文件(字体)/dev里面的tty都是字体,字符设备文件
b  块设备文件(硬盘)/dev里面的sda1,sdb1都是b开头的设备文件
s  socket文件(网络编程文件)
p  管道文件(前一个命令的结果交给后面命令处理即为管道技术)

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

硬链接和软连接
	硬链接:ln[源来的路径] [新的路径]
		都指向了硬盘一块空间,相当于文件别名,ID号一致 新路径ln里面创建
		硬链接个数为0时,才会删除源文件
	软链接:ln -s[源来的路径] [新的路径]
		相当于一个文件的快捷方式,指向了文件的名称

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

useradd[选项(非必须)] [用户名称] 创建用户
	-u  指定uid   代表用户的唯一编号
    -g  指定gid	代表用户组的唯一编号
    -r  指定创建系统用户  useradd -r test01(默认为普通用户)
    -s  指定用户默认的解析器 如下
    useradd test0003 -s /bin/sh

groupadd[选项(非必须)] [用户名称]创建用户组

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

1.#/etc/passwd         保存用户信息
	root	:x:			 0:		  0:       root:     /root:		/bin/bash
	用户名   密码占位符	   用户uid   用户组id  用户简介   用户家目录  该用户登录默认解析器
			没有x无密码					  随便改

2.#/etc/shadow        保存用户的密码
    test004:  !!:  		18893:0:99999:7:::
    用户名     密码占位符
			  !!没有密码
3.#/etc/group         保存用户组文件
	test:   x:   		995:
	用户名	 密码占位符 	  组id

4.#/etc/gshadow      保存组密码文件
	test001:	!::
	用户名		  密码占位符(!空密码)
5.创建家目录 /home下
6.复制/etc/skel 

29、Linux中有几种权限?

r	可读
w	可写
x	可执行

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

umask[002] 默认002  

#创建文件时,默认的权限时666,跟umask值计算,用666 减  umask值 如果得到的值为奇数,那么加一,偶数不变
	
#创建文件夹,默认的权限时777,跟umask值计算,用777 减  umask值      得到奇数偶数是多少就是多少
	
	
假设:umask值为 022 ,那么创建的文件及文件夹的默认权限是多少

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

如果要查看文件,那么相关的目录必须要有可执行权限,文件要有可读权限
如果要修改文件,那么相关的目录必须要有可执行权限,文件要有可写权限
如果要执行文件,那么相关的目录必须要有可执行权限,文件要有可读可执行权限

32、权限的归属有哪些?

u		属主
g  		属组
o 		其他人

33、绝对路径于相对路径

绝对路径以根目录为参照物
相对路径以当前目录为参照物

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

/dev     硬件
/proc	系统运行状态相关信息

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

rz : 上传到linux系统里面 传到当前所在文件夹
				
wget	-O 指定下载路径
curl	-o 指定保存路径
sz :下载到windows电脑里,需要指定文件比如  sz 1.txt

36、修改命令行字符集

1.LANG=zh_CN.UTF-8 临时修改
		
2.持久化保存字符编码:/etc/locale.conf   永久修改

3.通过命令的方式修改字符集编码,需要重启或者断开连接重新连接
[root@localhost ~]# localectl set-locale LANG=en_US.utf8

en_US.UTF-8	: 英文
zh_CN.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(常用):压缩软件,原文件删除,生成新压缩包文件,不能打包目录
	gzip[压缩文件的路径]
	解压:gzip -d [压缩包路径]
	gzip比bzip压缩的更狠,压缩率更高
-----------------------------------------------------------------
bzip:压缩软件,原文件删除,生成新压缩包文件,不能打包目录
	bzip2[压缩文件的路径]
	解压:gzip2 -d [压缩包路径]

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

-f  : 指定压缩包名称 有其他参数时,他在最后面,
			
-c  : 打包文件

-z  : 指定使用gzip压缩,一般使用gzip压缩的文件都以.tar.gz作为扩展名

-j  : 指定使用bzip2压缩,一般使用bzip2压缩的文件都以.tar.bz2作为扩展名

-v  : 显示压缩包压缩的过程

-x  : 解压,不需要指定压缩包的压缩类型,它会自动匹配压缩包的类型自行解压。

-P  :当压缩包中存在根目录时,自动移除根目录 大写P

-t  : 查看压缩包中的内容

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

  # *			:匹配零个或多个前导字符,
			grep "ifcfg*" /tmp   
             grep的前面必须是ifcf  ,g可以是0个也可以多个这个*可以匹配0个或多个
			与find的*有点不同,,而find /tmp/ -name  "ifcfg*"  只能匹配有ifcfg的名字 
#	$ 			:以前导字符结尾,以什么什么结尾
#	.			:匹配任意一个字符(换行符除外)
#	^			:以前导字符开头的行^写在前面
#	[^]			:取反 等同于排除 
#	.*			:所有的字符的任何个数  
			.后面的任意字符,比如n.* n后面不管有什么都匹配上 
			和n*对比,n*是只匹配n后面的n 其他值都不匹配
#	[]			: 或者(其中包含的所有的字符的或者)
#   +			: 前导字符的一个或多个  *是0个或多个
#    ?			: 前导字符的零个或一个
#    |			:  或者(竖线两边的字符的或者)
#    ()			: 分组,组成一个整体	
#    \n     	     :  n代表的是前面第几个分组
#   {m,n}		:  范围,至少有m个,最多有n个
#  {m}			:  范围,固定m个
# {m,}			: 范围,至少有m个
 #^$             : 表示空行

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

[root@localhost tmp]# sed -r "s/(.*)/#\1/g" 1.txt 
或者
[root@localhost tmp]# awk '{printf "#%s\n",$0}' 1.txt 

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

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

[root@localhost tmp]# sed -r 's/^([a-zA-Z])/ZB:\1/g;s/^([0-9])/SZ:\1/g' 2.txt 	
[root@localhost tmp]# awk '{if (/^[A-Za-z]/) {printf "ZB:%s\n",$0 } else if (/^[0-9]/) {printf "SZ:%s\n",$0}}' 1.txt 

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

[root@localhost tmp]# sed -r 's/(hello).*(world)/\2 \1/g' 2.txt 

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

普通数组

关联数组

for i in arr
do

done

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

#部分及其作用
BEGIN{}			:awk处理文件之前执行    所有变量定义都应该放在BEGIN里面
//				:读取文件之后使用的匹配规则
{}				:循环,每次处理一行
NED{}			:awk处理文件之后执行

#默认变量
$0			:当前行内容
NR			:行号 
NF			:列数,字段
FS			:输入字段分隔符 默认空格 等同于-F
OFS			:输出字段分隔符,默认空格 和逗号相等,

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

[root@localhost tmp]# awk -F: '{if(NR%2==0 && NR%3==0){print NR,$0}}' /etc/passwd    2并且3 两个都满足
    6 sync:x:5:0:sync:/sbin:/bin/sync
    12 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
    18 abrt:x:173:173::/etc/abrt:/sbin/nologin
[root@localhost tmp]# awk -F: '{if(NR%2==0 || NR%3==0){print NR,$0}}' /etc/passwd      2或者3 满足一个就可以
    2 bin:x:1:1:bin:/bin:/sbin/nologin
    3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
    4 adm:x:3:4:adm:/var/adm:/sbin/nologin
    6 sync:x:5:0:sync:/sbin:/bin/sync
    8 halt:x:7:0:halt:/sbin:/sbin/halt
    9 mail:x:8:12:mail:/var/spool/mail:/sbin/

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

*/5 21-3 * * *
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值