Linux极客汇总常用运维大全

一、基础篇

1、Linux版本

内核版本

在这里插入图片描述

发行版本

  • RedHat Enterprise Linux-(公司级别,付费)
    在这里插入图片描述
  • Fedora(组建一个社区,免费)
    在这里插入图片描述
  • CentOS(基于红帽源代码编译的,免费)
    在这里插入图片描述
  • Debian(华丽界面)
    在这里插入图片描述
  • Ubuntu(华丽界面)
    在这里插入图片描述

2、安装VirtualBox虚拟机

https://www.virtualbox.org/wiki/Downloads
在这里插入图片描述

3、在虚拟机中安装Linux系统

http://mirrors.aliyun.com/centos/7.9.2009/isos/x86_64/
在这里插入图片描述
centos 7.9.2009(第七个版本,升级了9次,2020年9月发布)

4、第一次启动Linux

  • $:代表普通用户
  • #:代表管理员

在这里插入图片描述
在这里插入图片描述

二、系统操作篇

5、万能的帮助命令man/help/info

man

在这里插入图片描述

  • man ls
  • man 7 man(获取man命令)
  • man 1 passwd (代表shell中的passwd命令)
  • man 5 passwd (代表/etc/passwod文件)

在这里插入图片描述

  • man -a passwd(获取所有passwd有关的信息)
    在这里插入图片描述

help

在这里插入图片描述

tpye获取命令的内外部类型

在这里插入图片描述

info

全英文版帮助
在这里插入图片描述

6、初识pwd和ls命令

  • pwd 显示当前的目录名称

    • / 根目录
    • ~ 用户家目录

在这里插入图片描述

7、详解ls命令

  • ls 当前目录下文件的查看,常用参数如下
    • a
    • h
    • l
    • –full-time
    • r
    • h
    • t
    • r

在这里插入图片描述
可接多文件目录,展示
在这里插入图片描述

8、详解cd命令

  • cd 更改当前的操作目录
  • cd - 回到刚才的目录
    在这里插入图片描述

9、创建和删除命令

  • mkdir 多目录

在这里插入图片描述

  • mkdir 多级目录
  • mkdir -p 已存在目录/a,当用到命令'mkdir /a' 时报错,而'mkdir -p /a'则不会。

在这里插入图片描述

  • rmdir 删除空目录
  • rm 删除非空目录

10、复制和移动目录

  • cp -r 复制目录
  • cp -v 复制时显示进度
  • cp -p 保持原始文件的所有者,组,许可,和时间表属性。
  • cp -a 复制时,尽可能保持文件的结构和属性.(但不保持目录 结构)等同于 -dpR
  • mv /tmp/fileA /fileB 对文件移动+重命名
  • mv /tmp/dirC /dirB 对目录移动+重命名
  • ‘*’ 任意数量的字符
  • ‘?’ 单个字符

在这里插入图片描述

  • 通配符

在这里插入图片描述

11、如何在Linux下查看文本

head 默认查看文件开头十行

  • head -5 指定查看文件开头5行

tail 默认查看文件末尾十行

  • tail -f 查看最新变化的

wc -l 查看文件有多少行

more

  • 按空白键(space)就往下一页显示
  • 按 b 键就会往回(back)一页显示
  • more命令从前向后读取文件,因此在启动时就加载整个文件
  • 没有办法向前面翻, 只能往后面看
  • 不常用

less

  • 使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动
  • 而且 less 在查看之前不会加载整个文件。
  • -N 显示每行的行号
  • -s 显示连续空行为一行
  • gg 开头
  • G 结尾
  • ctrl + f 向后翻一页
  • b 向前翻一页
  • ps -ef|less -N ps查看进程信息并通过less分页显示同时显示行号
    在这里插入图片描述

12、打包压缩和解压缩

tar

  • c 打包
  • x 解包
  • C 大写C后面跟解压的目的路径
  • f 指定操作类型为文件
  • z 对gzip文件压缩或者解压,压缩比略小,时间快
  • j 对bzip2文件进行压缩或者解压,压缩比更高,时间慢
  • 注意 .tar.gz可以缩写为.tgz
  • 注意 .tar.bz2可以缩写为.tbz2
    在这里插入图片描述

13、Vim的四种模式

正常模式

命令模式

插入模式

可视模式

14、Vim的正常模式

  • i 在光标当前位置前一字符插入
  • I 在光标所在行首字符位置插入
  • a 在光标当前位置后一字符插入
  • A 在光标所在行末字符插入
  • o 在光标当前行下一行插入
  • O 在光标当前行上一行插入
  • {n}yy 从当前行为1行算起,复制n行
  • y$ 从光标位置到当前行末尾位置进行复制
  • p 粘贴至光标当前行的下一行
  • dd 剪切一整行
  • d$ 从光标位置到当前行末尾位置进行剪切
  • u 撤销命令
  • ctrl+R 将刚才的撤销命令进行重做
  • :set nu/nonu 显示/不显示 行号设置
  • {n}G 跳转到第n行
  • g 跳转至第一行
  • G 跳转至最后一行
  • ^ shift+6跳转至行首
  • $ shift+4跳转至行尾

  • v 跳转到可视模式

15、Vim的命令模式

  • :! 执行linux命令并显示结果,查看完按回车返回
  • :/demo 查找demo字符,n下移,N上移
  • :/s/old/new 对光标所在行进行替换(第一个old替换成new)
  • :%s/old/new 对整个文件进行替换(第一个old替换成new)
  • :%s/old/new/g 对整个文件进行全局替换(全部old替换成new)
  • :{n},{m}s/old/new 在第n到m行进行替换
  • :set hlsearch/nohlsearch 开/关 查找高亮设置

vim /etc/vimrc在最后一个行添加set命令进行设置永久生效

16、Vim的可视模式

在这里插入图片描述

  • v 字符可视模式
  • V 行可视模式
  • ctrl V 块可视模式,选中后进行shift+i操作,然后按两次ESC即可生效,如果d删除直接按就行

17、用户和用户组管理及密码管理

  • useradd 添加用户

    • useradd -g group1 user2创建user2时指定组为group1
  • userdel 删除用户,-r参数,删除家目录,如果不加r删除,则家目录数组变成1000或1001之类的,就会造成除了root之外其他任何人无权访问

  • passwd 设置密码,后面跟username,如果不跟,则表示修改自己的密码

  • usermod

    • usermod -d /home/{newHomeDir}可以修改用户家目录
    • Usermod -g group1 user1将user1用户组改为group1
  • change 修改用户生命周期

  • id 查看用户

    在这里插入图片描述

  • /etc/passwd,/etc/shadow

    在这里插入图片描述

  • groupadd 添加组

  • groupdel 删除组

18、su和sudo命令的区别和使用方法

su

su - username
su -或者su - root
切换用户,需要目标用户密码
-的意思是到家目录

sudo

- 相比于su切换身份须要用户自己的password
- sudo仅仅是须要自己的password,就能够以其它用户的身份来运行命令。
- 常常是以root的身份运行命令也并不是全部人都能够用sudo:
- sudo是依赖于/etc/sudoers这个配置文件的

sudo的运行有这样一个流程:

  • 当用户运行sudo时,系统于/etc/sudoers文件里查找该用户是否有运行sudo的权限;

  • 若用户具有可运行sudo的权限。那么让用户输入用户自己的password,注意这里输入的是用户自己的password。

  • 假设password正确。便开始进行sudo后面的命令

  • root运行sudo是不须要输入password的,切换到的身份与运行者身份同样的时候。也不须要输入password。

sudo 与su配合使用

visudo中A用户如果配置了/bin/su -
则A执行sudo su -就可切换到root,并且A用户执行sudo就是root老大了

需求

root设置命令shutdown -d 30(30min后进行关机)

现在需要赋予普通用户user1能够进行shutdown -c (阻止关机的动作)

root >shutdown -d 30

user1>shutdown -c【报错权限不足】

root >visudo

在这里插入图片描述

  • %wheel代表wheel组,%代表组,直接写wheel就是wheel用户
  • ALL=(ALL)
    • 等号左边代表IP,如果为localhost那么代表字符终端,图形终端(ssh终端)要使用ALL
    • 等号右边代表可操作的命令,不知道命令在哪儿用which查看命令目录位置
  • user1 ALL=/sbin/shutdown -c
    root >su - user1【切换到user1用户,并跳转至其家目录,不加-的话,只切换用户,不跳转目录】
    user1>sudo /sbin/shutdown -c【输入user1密码后即可终止关机操作】

19、用户和用户组的配置文件介绍

/etc/passwd

/etc/shadow

/etc/group

19、用户和用户组的配置文件介绍

20、文件和目录权限的表示方法

21、文件权限的修改方法和数字表示方法

22、权限管理以及文件的特殊权限

三、系统管理篇

23、网络管理

24、查看网络配置

25、修改网络配置

26、网络故障排除命令

27、软件包管理器的使用

28、使用rpm命令安装软件包

29、通过源代码编译安装软件包

30、如何进行内核升级

31、grub配置文件介绍

32、使用ps和top命令查看进程

33、进程的控制与进程之间的关系

34、进程的通信方式与信号:kill命令

35、守护进程

36、screen命令和系统日志

37、服务管理工具systemctl

38、SELinux简介

39、内存与磁盘管理

40、内存查看命令

41、磁盘分区和文件大小查看

42、文件系统管理

43、节点和数据块操作

44、分区和挂载

45、分区和挂载磁盘配额

46、交换分区swap的查看与创建

47、软件RAID的使用

48、逻辑卷LVM的用途与创建

49、系统综合状态查看命令sar以及第三方命令

shell篇

50、什么是shell

51、Linux的启动过程

52、Shell脚本的格式

53、脚本不同执行方式的影响

54、管道

55、重定向

56、变量赋值

57、变量引用及作用范围

58、环境变量、预定义变量与位置变量

59、环境变量配置文件

60、数组

61、转义和引用

62、运算符

63、特殊字符大全

64、test比较

65、if判断的使用

66、if-else判断的使用

67、嵌套if的使用

68、case分支

69、for的基本使用

70、C语言风格的for

71、while循环和until循环

72、循环的嵌套和break、continue语句

73、使用循环处理位置参数

74、自定义函数

75、系统函数库介绍

76、脚本资源控制

77、信号

78、一次性计划任务

79、周期性计划任务

80、为脚本加锁

五、文本操作篇

81、元字符介绍

82、find演示

83、sed和awk介绍

84、sed替换命令详解

85、sed的替换指令加强版

86、sed的其他常用命令

87、sed多行模式空间

88、什么是sed的保持空间

89、认识awk

90、awk的字段

91、awk表达式

92、awk判断和循环

93、awk数组

94、awk数组功能的使用

95、awk函数

六、服务管理篇

96、防火墙概述

97、iptables规则的基本使用演示

98、iptables过滤规则的使用

99、iptables nat表的使用

100、firewalld

101、SSH介绍之Telnet明文漏洞

102、SSH服务演示

103、FTP服务器vsftpd介绍与软件包安装

104、vsftpd配置文件介绍

105、vsftpd虚拟用户

106、samba服务演示

107、NFS服务

108、Nginx基本配置文件

109、使用Nginx配置域名虚拟主机

110、LNMP环境搭建

111、DNS服务的原理

112、NAS演示

七、 其他工具命令篇

113、 grep工具

grep是****过滤工具;用于根据关键字进行行过滤

语法和选项

语法:

# grep [选项] '关键字' 文件名

常见选项:

OPTIONS:-i: 不区分大小写-v: 查找不包含指定内容的行,反向选择-w: 按单词搜索-o: 打印匹配关键字-c: 统计匹配到的行数-n: 显示行号-r: 逐层遍历目录查找-A: 显示匹配行及后面多少行	-B: 显示匹配行及前面多少行-C: 显示匹配行前后多少行-l:只列出匹配的文件名-L:列出不匹配的文件名-e: 使用正则匹配-E:使用扩展正则匹配^key:以关键字开头key$:以关键字结尾^$:匹配空行--color=auto :可以将找到的关键词部分加上颜色的显示

颜色显示(别名设置):

临时设置:
# alias grep='grep --color=auto'			//只针对当前终端和当前用户生效永久设置:
1)全局(针对所有用户生效)
vim /etc/bashrc
alias grep='grep --color=auto'
source /etc/bashrc2)局部(针对具体的某个用户)
vim ~/.bashrc
alias grep='grep --color=auto'
source ~/.bashrc

举例说明:

说明:不要直接使用/etc/passwd文件,将其拷贝到/tmp下做实验!

# grep -i root passwd						忽略大小写匹配包含root的行
# grep -w ftp passwd 						精确匹配ftp单词
# grep -w hello passwd 						精确匹配hello单词;自己添加包含hello的行到文件
# grep -wo ftp passwd 						打印匹配到的关键字ftp
# grep -n root passwd 						打印匹配到root关键字的行好
# grep -ni root passwd 						忽略大小写匹配统计包含关键字root的行
# grep -nic root passwd						忽略大小写匹配统计包含关键字root的行数
# grep -i ^root passwd 						忽略大小写匹配以root开头的行
# grep bash$ passwd 							匹配以bash结尾的行
# grep -n ^$ passwd 							匹配空行并打印行号
# grep ^# /etc/vsftpd/vsftpd.conf		匹配以#号开头的行
# grep -v ^# /etc/vsftpd/vsftpd.conf	匹配不以#号开头的行
# grep -A 5 mail passwd 				 	匹配包含mail关键字及其后5行
# grep -B 5 mail passwd 				 	匹配包含mail关键字及其前5行
# grep -C 5 mail passwd 					匹配包含mail关键字及其前后5行

114、 cut工具

cut是****截取工具,用于列的截取

语法和选项

语法:

# cut 选项  文件名

常见选项:

-c:	以字符为单位进行分割,截取
-d:	自定义分隔符,默认为制表符\t
-f:	与-d一起使用,指定截取哪个区域

举例说明:

# cut -d: -f1 1.txt 			以:冒号分割,截取第1列内容
# cut -d: -f1,6,7 1.txt 	以:冒号分割,截取第1,6,7列内容
# cut -c4 1.txt 				截取文件中每行第4个字符
# cut -c1-4 1.txt 			截取文件中每行的1-4个字符
# cut -c4-10 1.txt 			截取文件中每行的4-10个字符
# cut -c5- 1.txt 				从第5个字符开始截取后面所有字符
# show export任务获取第2、4、7个字段并用¥分隔
$(mysql -h ke-doris-fe.youdao.com -P 9030 -umm -pmm_doris -D ${db} -e 'show export;'|grep ${hdfsPath} | tail -1 | cut -f2,4,7  --output-delimiter='¥')

课堂练习:
用小工具列出你当系统的运行级别。5/3

  1. 如何查看系统运行级别
    • 命令runlevel
    • 文件/etc/inittab
  2. 如何过滤运行级别
runlevel |cut -c3
runlevel | cut -d ' ' -f2
grep -v '^#' /etc/inittab | cut -d: -f2
grep '^id' /etc/inittab |cut -d: -f2
grep "initdefault:$" /etc/inittab | cut -c4
grep -v ^# /etc/inittab |cut -c4
grep 'id:' /etc/inittab |cut -d: -f2
cut -d':' -f2 /etc/inittab |grep -v ^#
cut -c4 /etc/inittab |tail -1
cut -d: -f2 /etc/inittab |tail -1

115、 sort工具

sort工具用于排序;它将文件的每一行作为一个单位,从首字符向后,依次按ASCII码值进行比较,最后将他们按升序输出。

语法和选项

-u :去除重复行
-r :降序排列,默认是升序
-o : 将排序结果输出到文件中,类似重定向符号>
-n :以数字排序,默认是按字符排序
-t :分隔符
-k :第N列
-b :忽略前导空格。
-R :随机排序,每次运行的结果均不同

举例说明

# sort -n -t: -k3 1.txt 			按照用户的uid进行升序排列
# sort -nr -t: -k3 1.txt 			按照用户的uid进行降序排列
# sort -n 2.txt 						按照数字排序
# sort -nu 2.txt 						按照数字排序并且去重
# sort -nr 2.txt 
# sort -nru 2.txt 
# sort -nru 2.txt 
# sort -n 2.txt -o 3.txt 			按照数字排序并将结果重定向到文件
# sort -R 2.txt 
# sort -u 2.txt 

116、uniq工具

uniq用于去除**连续重复**行

常见选项:
-i: 忽略大小写
-c: 统计连续重复行次数
-d:只显示连续的重复行举例说明:
# uniq 2.txt 
# uniq -d 2.txt 
# uniq -dc 2.txt 

117、tee工具

tee工具是从标准输入读取并写入到标准输出和文件,即:双向覆盖重定向(屏幕输出|文本输入)

选项:
-a 双向追加重定向# echo hello world
# echo hello world|tee file1
# cat file1 
# echo 999|tee -a file1
# cat file1 

118、diff工具

diff工具用于逐行比较文件的不同

注意:diff描述两个文件不同的方式是告诉我们怎样改变第一个文件之后与第二个文件匹配

语法和选项

语法:

diff [选项] 文件1 文件2

常用选项:

选项含义备注
-b不检查空格
-B不检查空白行
-i不检查大小写
-w忽略所有的空格
–normal正常格式显示(默认)
-c上下文格式显示
-u合并格式显示

举例说明:

  • 比较两个普通文件异同,文件准备:
[root@MissHou ~]# cat file1
aaaa
111
hello world
222
333
bbb
[root@MissHou ~]#
[root@MissHou ~]# cat file2
aaa
hello
111
222
bbb
333
world

1)正常显示

diff目的:file1如何改变才能和file2匹配
[root@MissHou ~]# diff file1 file2
1c1,2					第一个文件的第1行需要改变(c=change)才能和第二个文件的第1到2行匹配			
< aaaa				小于号"<"表示左边文件(file1)文件内容
---					---表示分隔符
> aaa					大于号">"表示右边文件(file2)文件内容
> hello
3d3					第一个文件的第3行删除(d=delete)后才能和第二个文件的第3行匹配
< hello world
5d4					第一个文件的第5行删除后才能和第二个文件的第4行匹配
< 333
6a6,7					第一个文件的第6行增加(a=add)内容后才能和第二个文件的第6到7行匹配
> 333					需要增加的内容在第二个文件里是333和world
> world

2)上下文格式显示

[root@MissHou ~]# diff -c file1 file2
前两行主要列出需要比较的文件名和文件的时间戳;文件名前面的符号***表示file1,---表示file2
*** file1       2019-04-16 16:26:05.748650262 +0800
--- file2       2019-04-16 16:26:30.470646030 +0800
***************	我是分隔符
*** 1,6 *******开头表示file1文件,1,6表示1到6行
! aaaa				!表示该行需要修改才与第二个文件匹配111
- hello world		-表示需要删除该行才与第二个文件匹配222
- 333					-表示需要删除该行才与第二个文件匹配bbb
--- 1,7 -------开头表示file2文件,1,7表示1到7行
! aaa					表示第一个文件需要修改才与第二个文件匹配
! hello				表示第一个文件需要修改才与第二个文件匹配111222bbb
+ 333					表示第一个文件需要加上该行才与第二个文件匹配
+ world				表示第一个文件需要加上该行才与第二个文件匹配

3)合并格式显示

[root@MissHou ~]# diff -u file1 file2
前两行主要列出需要比较的文件名和文件的时间戳;文件名前面的符号---表示file1,+++表示file2
--- file1       2019-04-16 16:26:05.748650262 +0800
+++ file2       2019-04-16 16:26:30.470646030 +0800
@@ -1,6 +1,7 @@
-aaaa
+aaa
+hello111
-hello world222
-333bbb
+333
+world
  • 比较两个目录不同
默认情况下也会比较两个目录里相同文件的内容
[root@MissHou  tmp]# diff dir1 dir2
diff dir1/file1 dir2/file1
0a1
> hello
Only in dir1: file3
Only in dir2: test1
如果只需要比较两个目录里文件的不同,不需要进一步比较文件内容,需要加-q选项
[root@MissHou  tmp]# diff -q dir1 dir2
Files dir1/file1 and dir2/file1 differ
Only in dir1: file3
Only in dir2: test1

其他小技巧:

有时候我们需要以一个文件为标准,去修改其他文件,并且修改的地方较多时,我们可以通过打补丁的方式完成。

1)先找出文件不同,然后输出到一个文件
[root@MissHou ~]# diff -uN file1 file2 > file.patch
-u:上下文模式
-N:将不存在的文件当作空文件
2)将不同内容打补丁到文件
[root@MissHou ~]# patch file1 file.patch
patching file file1
3)测试验证
[root@MissHou ~]# diff file1 file2
[root@MissHou ~]#

119、 paste工具

paste工具用于合并文件行

常用选项:
-d:自定义间隔符,默认是tab
-s:串行处理,非并行

120、 tr工具

tr用于字符转换,替换和删除;主要用于删除文件中控制字符或进行字符转换

语法和选项

语法:

用法1:命令的执行结果交给tr处理,其中string1用于查询,string2用于转换处理commands|tr  'string1'  'string2'用法2:tr处理的内容来自文件,记住要使用"<"标准输入tr  'string1'  'string2' < filename用法3:匹配string1进行相应操作,如删除操作tr [options] 'string1' < filename

常用选项:

-d 删除字符串1中所有输入字符。
-s 删除所有重复出现字符序列,只保留第一个;即将重复出现字符串压缩为一个字符串

常匹配字符串:

字符串含义备注
a-z或[:lower:]匹配所有小写字母所有大小写和数字[a-zA-Z0-9]
A-Z或[:upper:]匹配所有大写字母
0-9或[:digit:]匹配所有数字
[:alnum:]匹配所有字母和数字
[:alpha:]匹配所有字母
[:blank:]所有水平空白
[:punct:]匹配所有标点符号
[:space:]所有水平或垂直的空格
[:cntrl:]所有控制字符\f Ctrl-L 走行换页
\n Ctrl-J 换行

\r Ctrl-M 回车
\t Ctrl-I tab键 |

举例说明:

[root@MissHou  shell01]# cat 3.txt 	自己创建该文件用于测试
ROOT:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
boss02:x:516:511::/home/boss02:/bin/bash
vip:x:517:517::/home/vip:/bin/bash
stu1:x:518:518::/home/stu1:/bin/bash
mailnull:x:47:47::/var/spool/mqueue:/sbin/nologin
smmsp:x:51:51::/var/spool/mqueue:/sbin/nologin
aaaaaaaaaaaaaaaaaaaa
bbbbbb111111122222222222233333333cccccccc
hello world 888
666
777
999# tr -d '[:/]' < 3.txt 				删除文件中的:和/
# cat 3.txt |tr -d '[:/]'			删除文件中的:和/
# tr '[0-9]' '@' < 3.txt 			将文件中的数字替换为@符号
# tr '[a-z]' '[A-Z]' < 3.txt 		将文件中的小写字母替换成大写字母
# tr -s '[a-z]' < 3.txt 			匹配小写字母并将重复的压缩为一个
# tr -s '[a-z0-9]' < 3.txt 		匹配小写字母和数字并将重复的压缩为一个
# tr -d '[:digit:]' < 3.txt 		删除文件中的数字
# tr -d '[:blank:]' < 3.txt 		删除水平空白
# tr -d '[:space:]' < 3.txt 		删除所有水平和垂直空白

小试牛刀

  1. 使用小工具分别截取当前主机IP;截取NETMASK;截取广播地址;截取MAC地址
# ifconfig eth0|grep 'Bcast'|tr -d '[a-zA-Z ]'|cut -d: -f2,3,4
10.1.1.1:10.1.1.255:255.255.255.0
# ifconfig eth0|grep 'Bcast'|tr -d '[a-zA-Z ]'|cut -d: -f2,3,4|tr ':' '\n'
10.1.1.1
10.1.1.255
255.255.255.0
# ifconfig eth0|grep 'HWaddr'|cut -d: -f2-|cut -d' ' -f4
00:0C:29:25:AE:54
# ifconfig eth0|grep 'HW'|tr -s ' '|cut -d' ' -f5
00:0C:29:B4:9E:4E# ifconfig eth1|grep Bcast|cut -d: -f2|cut -d' ' -f1
# ifconfig eth1|grep Bcast|cut -d: -f2|tr -d '[ a-zA-Z]'
# ifconfig eth1|grep Bcast|tr -d '[:a-zA-Z]'|tr ' ' '@'|tr -s '@'|tr '@' '\n'|grep -v ^$
# ifconfig eth0|grep 'Bcast'|tr -d [:alpha:]|tr '[ :]' '\n'|grep -v ^$
# ifconfig eth1|grep HWaddr|cut -d ' ' -f11
# ifconfig eth0|grep HWaddr|tr -s ' '|cut -d' ' -f5
# ifconfig eth1|grep HWaddr|tr -s ' '|cut -d' ' -f5
# ifconfig eth0|grep 'Bcast'|tr -d 'a-zA-Z:'|tr ' ' '\n'|grep -v '^$'
  1. 将系统中所有普通用户的用户名、密码和默认shell保存到一个文件中,要求用户名密码和默认shell之间用tab键分割
# grep 'bash$' passwd |grep -v 'root'|cut -d: -f1,2,7|tr ':' '\t' |tee abc.txt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/1383161.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Linux云服务器的使用,以及运行Python程序、相关Linux指令

目录 1、使用Linux云服务器的软件 1.1、MobaXterm_Personal 1.2、WindTerm 1.3、FileZilla FTP 2、Linux系统运行Python程序 3、Linux系统查看包、虚拟环境、安装包等 以下几个深度学习服务器都不错&#xff1a;智星云、AutoDL、恒源云 1、使用Linux云服务器的软件 1.1…

linux运维21

linux运维篇21 一、简述redis集群的实现原理二、基于redis5的redis cluster部署 一、简述redis集群的实现原理 工作原理&#xff1a;虽然redis有主从结构&#xff0c;但是无法解决只能单机写入数据的问题&#xff0c;无法实现分布式数据保存。而redis集群会预先分配16384个槽位…

linux运维15

linux运维篇15 一、实现基于MYSQL验证的vsftpd虚拟用户访问二、配置samba共享&#xff0c;实现/www目录共享三、使用rsyncinotify实现/www目录实时同步四、LVS调度算法总结五、LVS的跨网络DR实现 一、实现基于MYSQL验证的vsftpd虚拟用户访问 FTP服务器搭建&#xff1a; 数据库…

linux运维19

linux运维篇19 一、haproxy https实现二、总结tomcat的核心组件以及根目录结构三、tomcat实现多虚拟主机四、nginx实现后端tomcat的负载均衡调度五、简述memcached的工作原理 一、haproxy https实现 路由拓扑 后台web服务器搭建 LAMP架构看这个&#xff1a;LAMP yum install…

收集的 Linux VPS 在线重装系统脚本

因为 VPS 上预装的操作系统我并不习惯&#xff0c;所以打算重装一个。有的 VPS 服务商提供了较多种类的系统选择&#xff0c;有的却没有。如果你发现你希望重装的系统服务商没有提供&#xff0c;可以考虑自己安装。 本文内容 重装脚本 - 来自萌咖CentOS -> Debian 重装脚本 …

【运维】——服务器装Linux系统

一、用软碟通刻录系统光盘 1打开软碟通软件&#xff0c;打开文件-------选择Linux系统 2选择启动----写入硬盘映像 3开始写入硬盘映像&#xff0c;静等进度条走完即可。 二、开始安装Linux系统 1给主机插上刚刚刻录好的系统光盘&#xff0c;选择启动项 2设置信息&#xff1a;…

Linux入门---环境搭建(腾讯云服务器)、XShell远程登陆Linux

Linux环境搭建和远程登陆Linux Linux环境搭建XShell远程登陆Linux Linux环境搭建 主要有三种方式&#xff1a; 1.直接安装在物理机上&#xff0c;但是由于Linux桌面使用起来非常不友好&#xff0c;不推荐。 2.使用虚拟机软件&#xff0c;将Linux搭建在虚拟机上&#xff0c;但是…

Linux系统运维1 运维 项目研发 网站 服务器 计算机基础 Linux操作系统

运维的基本概念 运维行业前景 企业运作模式 四大部门 项目研发流程 职责描述&#xff1a; 运维的作用&#xff1a; 网站的相关概念 网站运行流程&#xff1a; IP<–>域名 重要概念&#xff1a; 服务器图片&#xff1a; 服务器&#xff1a;为用户提供服务的机器&…

linux运维14

linux运维篇14 一、简述CGI与FASTCGI区别二、 编译安装基于fastcgi模式的多虚拟主机的wordpress和discuz的LAMP架构三、通过loganalyzer展示数据库中的日志&#xff08;cgi模式&#xff09; 一、简述CGI与FASTCGI区别 CGI模式&#xff1a;当用户访问网站的动态资源时&#xff…

【从零开始学习JAVA | 第四十五篇】动态代理

目录 前言&#xff1a; 动态代理&#xff1a; 动态代理实现步骤&#xff1a; 动态代理的应用场景&#xff1a; 总结&#xff1a; 前言&#xff1a; 动态代理作为一种强大的编程技术&#xff0c;不仅为我们提供了灵活性和可扩展性&#xff0c;还为软件开发和系统设计带来了…

布隆过滤器在缓存系统中的实践

一. 背景 在业务开发中&#xff0c;在并发量很高的情况下&#xff0c;通常会使用缓存对系统查询性能进行优化&#xff0c;在缓存命中率很高的情况下&#xff0c;缓存的使用能够大幅提升系统查询性能。但是在缓存命中率非常低场景下&#xff0c;如果采用传统缓存读取模式&#…

Redisson_布隆过滤器

应用场景 去重 诞生背景 Java应用一般通过JDK自身提供的HashSet去重&#xff0c;通过contains()方法判断当前元素是否存在于Set中。该方式要求在调用contains()前&#xff0c;已经将数据列表加载到内存中&#xff08;即该方法基于内存存储实现判断功能&#xff09;。 缺点: 1.满…

【布隆过滤器】

我是&#x1f31f;廖志伟&#x1f31f;&#xff0c;一名&#x1f315;Java开发工程师&#x1f315;、&#x1f4dd;Java领域优质创作者&#x1f4dd;、&#x1f389;CSDN博客专家&#x1f389;、&#x1f339;幕后大佬社区创始人&#x1f339;。拥有多年一线研发经验&#xff0…

xmind用例数据上传至禅道

xmind格式参考&#xff0c;只需要在一级子主题填写对应用例模块ID&#xff0c;其余格式随意即可生成用例并直接上传到禅道&#xff1a; 代码里需填写禅道对应登录账号及用例所属产品 import requests import json import re import hashlib import pprint import threading fr…

认识相机

认识相机 在Threejs中相机的表示是THREE.Camera&#xff0c;它是相机的抽象基类&#xff0c;其子类有两种相机&#xff0c;分别是正投影相机THREE.OrthographicCamera和透视投影相机THREE.PerspectiveCamera。类图如下所示&#xff1a; 透视投影相机&#xff08;PerspectiveCam…

【项目实践】海康威视工业相机SDK开发小白版入门教程(VS2015+OpenCV4.5.1)

本文目录 前言怎么查找资料&#xff1f;数据手册例程 项目开发VS版本与OpenCV版本选择VS配置OpenCVVS添加MVS安装目录下的头文件和库VS项目开发 编程问题记录相机数据如何转换为OpenCV的Mat类型&#xff1f;函数不能修改全局指针变量&#xff1f;OpenCV运行报错“有未经处理的异…

Azure Kinect sdk 入门,简单使用深度相机

首先要安装azure Kinect dk传感器和人体跟踪的软件 先安装传感器&#xff1a;Azure-Kinect-Sensor-SDK/usage.md at develop microsoft/Azure-Kinect-Sensor-SDK GitHub 在这个网址里下载&#xff0c; 点击红笔画出来的地方&#xff0c;下载安装&#xff0c;记住安装路径&a…

入门级数码相机

为了满足不同层次顾客的购买要求&#xff0c;小编今天给大家交上一篇家用DC完全导购。从200万像素到800万像中间&#xff0c;分别选取了几款各级别中值得推荐的DC为大家推荐。在这里先给朋友们提一下目前数码相机市场相素与价位之间的简单联系。 目前&#xff0c;200万像素的数…

【计算机视觉-从入门到精通系列】 第二章 相机模型

2.1 针孔模型 计算机视觉是一门研究如何让计算机“看”世界的学科。人要看到世界需要眼睛&#xff0c;计算机要看到世界同样也需要“眼睛”&#xff0c;计算机的“眼睛”主要就是相机。实际应用中&#xff0c;相机的种类纷繁复杂&#xff0c;包括手机和平板电脑的相机&#xff…

5分钟入门Cinemachine智能相机系统

摘要&#xff1a;相机是Unity世界的眼睛&#xff0c;一个智能相机更是能帮咱们节省大把的时间和精力。Cinemachine现在已经大量应用到各种项目中&#xff0c;如果你还没有用过Cinemachine&#xff0c;墙裂建议你来体验一下。 你好&#xff0c;我是跟着大智学Unity的萌新&#x…