当前位置:   article > 正文

2024年Linux最新八、Linux全套大总结

2024年Linux最新八、Linux全套大总结

vim是从 vi 发展出来的一个文本编辑器 。代码补完、编译及错误跳转等方便编程的功能特别丰富


1.进入插入模式

i: 插入光标前一个字符

I: 插入行首

a: 插入光标后一个字符

A: 插入行未

o: 向下新开一行 ,插入行首

O: 向上新开一行 ,插入行首

2.进入末行模式

在命令模式下 ,用户按 “:”键即可进入末行模式

3.退出

:q 退出

:q! 退出并不保存

:w 保存 :wq 保存并退出

:x 保存并退出

4.查找命令

/: str查找

n: 下一个

N:上一个

5.替换命令

把 abc全部替换成 123

:%s/abc/123/g—末行模式下,将当前文件中的所有 abc替换成 123。如果不使用 g, 则只会替换每一行的第一个 abc

:1, 10s/abc/123/g—末行模式下,将第一行至第 10行之间的 abc替换成 123

6.vim里面执行shell下命令

末行模式里输入 !,后面跟命令

7.进入命令模式

ESC:从插入模式或末行模式进入命令模式

8.移动光标

h: 左移

j: 下移

k: 上移

l: 右移

M: 光标移动到当前屏幕的中间行

L: 光标移动到当前屏幕最后一行行首

gg: 光标移动 文件开头

G: 光标移动到文件末尾

G: 移动到指定行 ,行号 G (扩展:打开文件时跳转指定行 ,vi 文件名 +行数 )

w: 向后一次移动一个字

b: 向前一次移动一个字

{: 按段移动 ,上移

}: 按段移动 ,下移

Ctr-d: 向下翻半屏

Ctr-u: 向上翻半屏

Ctr-f: 向下翻一屏

Ctr-b: 向上翻一屏

9.撤销命令

u: 一步一步撤销

Ctr-r: 反撤销

10.删除命令

x: 删除光标后一个字符 ,相当于 Del

X: 删除光标前一个字符 ,相当于 Backspace

dd: 删除光标所在行 ,n dd 删除指定的行数

D: 删除光标后本行所有内容 ,包含光标所在字符

d0: 删除光标前本行所有内容 ,不包含光标所在字符

dw: 删除光标开始位置的字 ,包含光标所在字符

11.复制粘贴

yy: 复制当前行 ,n yy 复制 n 行

p: 在光标所在位置向下新开辟一行 ,粘贴

12.替换操作

r: 替换当前字符

R: 替换当前行光标后的字符

13.文本行移动

>>: 文本行右移

<<: 文本行左移

14.重复命令

.: 重复上一次操作的命令

15.可视模式

v: 按字符移动 ,选中文本

V: 按行移动 ,选中文本可视模式可以配合 d, y, >>, << 实现对文本块的删除 ,复制 ,左右移动


5.linux常用基本命令

=============

1)基础快捷键


ctrl + c 停止进程

ctrl+l 清屏;彻底清屏是: reset

ctrl + q 退出

善于用 tab键补全 提示 (更重要的是可以防止敲错 )

上下键 查找执行过的命令

ctrl +alt

2)文件命令


#pwd 显示当前工作目录的绝对路径

#ls,ll,ll -a

#cd 进入到某一个目录下

#mkdir 创建文件夹

#rmdir 删除文件夹

#touch 创建文件

#cp 复制文件 /文件夹

#cp -r 递归复制,多级目录

#mv 移动文件 夹/重命名

#rm 删除文件

#rm -rf 强制删除文件不需要确认

#cat 查看文件

#more 查看文件

#less 查看文件

#echo 输出 #head 查看文件头部

#tail 查看文件末尾

#tail -f 实时查看文件末尾

#nl 文件带行号标准输出

# > 覆盖

# >> 追加

#ln -s 目标目录 软链接地址 创建 软链接

rm -rf 软链接地址 删除软连接

ln -snf 新目标目录 软链接地址 修改软连接

# history 查看已经执行过历史命令

3)文本处理类命令


wc [option] [file]…

-l: 统计行数

-c: 统计字节数

-w;统计单词数

tr: 转换字符或删除字符

tr ‘集合 1’ ‘集合 2’

tr -d '字符集合 ’

cut:

-d字符:指定分隔符

-f#: 指定要显示字段

单个数字:一个字段

逗号分隔的多个数字:指定多个离散字段

-:连续字段,如 3-5;

例子:cut test.txt -f “1,3” -d " "------# 以空格分开每一行并输出第 1个和第 3个字段

sort [option] file…

-f: 忽略字符大小写;

-n: 比较数值大小;

-t: 指定分隔符

-k: 指定分隔后进行比较字段

-u: 重复的行,只显示一次;

uniq:移除重复的行

-c:显示每行重复的次数

-d:仅显示重复过的行

-u: 仅显示不曾重复的行

4)系统信息命令


#date 查看当前系统时间

#data -s 修改时间

#w 显示登陆用户

#uname -a 查看系统内核

#cat /proc/cpuinfo 查看 cpu信息

#cat /proc/meminfo 查

5)压缩/解压命令


#tar -xvf file.tar 解压 .tar结尾的

#tar -zxvf file.tar.gz 解压 .tar.gz文件

#tar -cf file.tar file 创建包含 files的文件 file.tar

#gzip -d file.gz 将 file.gz解压缩为 file

6)网络命令


#ping host(主机名 ) 网络是否连通

#ifconfig 查看本机 ip等信息

#telnet ip 端口 查看端口是否占用

(没有这个命令执行 yum -y install telnet )

#wget file 下载文件

#tcpdump tcp port 端口 抓包 tcp

#hostname  查看主机名

7)权限命令


1.文件权限命令:

#chmod 777 file 为所有用户添加读,写,执行权限

#chmod 755 file 为所有者添加 rwx权限,为组和其他用户添加

rx权限

2.文件所属用户和用户组权限命令:

#chown hadoop:hadoop file 将 file的用户和用户组都改为 hadoop

8)用户管理命令


useradd 用户名 添加新用户

useradd -g 组名 用户名 给某个组创建用户

passwd 用户名 设置用户密码

cat /etc/passwd 查看创建了那些用户

Su 用户名 切换用户

userdel 用户名 删除用户但保存用户主目录

userdel -r 用户名 用户和用户主目录,都删除

whoami 显示自身用户名称

who am i 显示登录用户的用户名

usermod -g 更改用户组 用户名

例子:

2.修改配置文件

[root@hadoop101 ~]#vi /etc/sudoers 修改 /etc/sudoers 文件,找到下面一行 (91行),在 root下面添加一行,

如下所示:

## Allow root to run any commands anywhere

root ALL=(ALL) ALL

hadoopALL=(ALL) ALL

或者配置成采用 sudo命令时,不需要输入密码

## Allow root to run any commands anywhere

root ALL=(ALL) ALL

hadoopALL=(ALL) NOPASSWD:ALL

修改完毕,现在可以用 hadoop帐号登录,然后用命令 sudo ,即可 获得 root权限进行操作。

9)用户组管理命令


groupadd 组名 添加组

groupdel 组名 删除组

groupmod -n 新组名 老组名 指定工作组的新组名

cat /etc/group 查看创建了哪些组

10)搜索查找命令


1.find查找文件或者目录

常用: find / -name file 查找 /目录下 file文件

2.grep 过滤查找及“ “|”管道符 (详细使用见下一章中的 grepgrep)

1.管道符,“ ,“|”,表示将前一个命令的处理结果输出传递给后面的命令处理

2.grep常常跟在 |的后面做过滤查找

3.反转 grep -v

4.示例

#查找某文件在第几行 ls | grep -n test

#查找某进程 ps -ef | grep PID

#查看日志中含有 errer cat file |grep error

3.which 查找命令

white 命令

11)磁盘分区挂载命令


df -h 查看磁盘使用 /剩余空间

fdisk -l 磁盘分区

mount 挂载

umount 卸载

12)进程管理命令


UID 用户 ID

PID 进程 ID

ps aux | grep xxx 查看系统中所有进程

ps -ef | grep xxx 可以查看子父进程之间的关系

kill -9 PID 强制杀死进程

top 查看所有进程 /cpu/内存 /负载

netstat -anp |grep 进程号 查看该进程网络信息

netstat -nlp | grep 端口号 查看网络端口号占用情况

13)crond系统定时任务


Crontab -e 编辑定时文件

参考文档:https://blog.csdn.net/qq_22172133/article/details/81263736

14)rpm包管理与yum管理


1.rpm相关命令:

rpm -qa|grep 包名 查找已经安装的 rpm某包

rpm -ivh 包名 安装 rpm包

rpm -e 包名 删除 rpm包

rpm -e – nodeps 软件包 删除 rpm包不检查依赖

2.yum源管理:详情见链接文档

https://blog.csdn.net/qingfenggege/article/details/80394564

3.yum在线安装 lrzsz上传下载工具

yum -y install lrzsz

15)ssh免密


1.ssh是什么?

SSH(SecureShell),是建立在应用层基础上的安全协议,其 SSH客户端适用于多种平台,可以有效防止远程管理过程中的信息泄露问题。

2.配置 hadoop用户 ssh免密:

ssh-keygen -t rsa

三台机器在 hadoop用户下,执行以下命令将公钥拷贝到 node01服 务器上面去

ssh-copy-id node01

node01在 hadoop用户下,执行以下命令,将 authorized_keys拷贝 到 node02与 node03服务器

cd /home/hadoop/.ssh/ scp authorized_keys node02:$PWD

scp authorized_keys node03:$PWD

16)防火墙


systemctl stop firewalld.service 关闭防火墙

systemctl status firewalld.service 查看防火墙状态

systemctl disable firewalld.service 禁止开启启动防火墙

6.linux实用故障排查

=============

1)排查思路


大数据集群运行在linux系统上总会遇见各种各样的问题,我们要定位问题,基本从这几个方面入手排查: cpu, 内存,磁盘 IO,网络, GC等。

2) cpu

一些概念:多核,超线程,CPU频率( 2.2GHZ)(节能模式,普通模式,超能模式,bios里设置, 搭集群要注意下这个参数尽量关闭节能模式) bios里可以关闭 。

#1 查看物理 CPU个数

cat /proc/cpuinfo |grep “physical id”|sort |uniq|wc -l

#2查看逻辑 cpu个数

cat /proc/cpuinfo |grep “processor”|wc -l

#3 在生产集群中我们通常通过 top来查看 cpu的使用率来判断系统

的负载情况 ,Top 然后按 1,可以看到 cpu的使用率

3)内存


#1,常见内存大小 64 G— 128G-- 256G— 512G,通过 free -g来查看系 统内存是否不足

4)磁盘IO


#1磁盘种类:

sata(150M/s左右 ) sas(300 M/S左右) ssd(最快也最贵)一般磁盘 2T-4T,服务器支持的最大存储也不同,比较常见的 48T,一 般服务器可以支持 12-24块盘 。

#2磁盘 io的查看: 可以定位是否是因为 io过大导致性能下降

iostat -mx 2

如果没有这个命令:yum install -y sysstat

#3 df -h 查看磁盘空间

#4 df -T 查看磁盘的格式化的格式,主流一般是 xfs和 ext4,系统盘默认是 xfs,后续添加数据盘尽量也是 xfs格式这样统一比较好,也方便写脚本批量挂盘

#5 lsblk 能够查看盘与分区以及 ssd盘,用 fdisk查看盘可能识别不到ssd

#6 fdisk -l 查看磁盘与未挂载的磁盘和分区信息

#7 cat /etc/fstab 查看磁盘挂载信息,新加磁盘要手动永久挂在需要在这个配置文件里添加, 6列。如果这个文件写错了,重启服务器正常模式下是启动不了的!!!

5)网络

#1 查看是否 ping通:ping IP

#2 查看某端口是否被监听

示例:比如你起启动datanode没有启动,查看日志报错: Address in used ,翻译过来就是端口被占用,那你得查看下这个端口被哪个程序占用了,就用 netatat -anp|grep 端口号,就可以知道它的进程,比如下图进程pid就是 107484,就可以用 kill -9 PID强制杀死

#3网卡模式配置( bound6,负载均衡

6)系统负载

Top

Uptime

W

cat /proc/loadavg

7)GC问题

#1是否 full GC(GC是 java里面 JVM的东西,不了解的可以去看下)

Jps查出要查看的 pid,用 jstat -gcutil pid,看第四列 O如果 100%就是 fullGC

8)日志查看

#1首先要知道日志的位置 ,一种是去配置文件查看有没有配置相关位置,一种是去通过进程查看如下 用 ps -ef |grep pid通过显示出来的信息可以找到日志的位置 。

# 2查看日志

实时查看日志文件后100行: tail -f 100 file

静态查看:vim filelog,然后 可以通过关键字 error/warn等查

7.linux运维之生产监控工具

================

1.zabbix:https://blog.51cto.com/u_14154700/2419934

2.nagios(网络监控):https://www.cnblogs.com/52-qq/p/9773880.html

3.Prometheus(普罗米修斯 ):https://blog.csdn.net/csolo/article/details/82460539

4.ganglia (hadoop集群监控常用工具):https://www.cnblogs.com/marility/p/9444357.html

8.自动化运维工具ansible与pdsh

https://www.cnblogs.com/keerya/p/7987886.html#_label2_0_1

https://blog.csdn.net/weixin_42193400/article/details/82148974

9.并行管理工具 pdsh与 pssh

===================

相关文档:https://www.cnblogs.com/goldenblade/p/9604642.html

10.linux知识点扩展

=============

1)运行级别


运行级别 0:系统停机状态,系统默认运行级别不能设为 0,否则不能正常启动

运行级别 1:单用户工作状态 root权限,用于系统维护,禁止远程登陆运行级别

2:多用户状态 (没有 NFS) 运行级别

3:完全的多用户状态 (有 NFS),登陆后进入控制台命令行模式运行级别

4:系统未使用,保留运行级别

5:X11控制台,登陆后进入图形 GUI模式 运行级别 6:系统正常关闭并重启,默认运行级别不设为

6,否则不能正常启动

2)运行级别原理


1.在目录 /etc/rc.d/init.d下有许多服务器脚本程序,一般称为服务(service)

2.在/etc/rc.d下有 7个名为 rcN.d的目录,对应系统的 7个运行级别

3.rcN.d目录下都是一些符号链接文件,这些链接文件都指向 init.d目 录下的 service脚本文件,命名规则为 K+nn+服务名或 S+nn+服务名,其中 nn为两位数字。

4.系统会根据指定的运行级别进入对应的 rcN.d目录,并按照文件名顺序检索目录下的链接文件

对于以 K开头的文件,系统将终止对应的服务对于以 S开头的文件,系统将启动对应的服务

5.查看运行级别用: runlevel

最全的Linux教程,Linux从入门到精通

======================

  1. linux从入门到精通(第2版)

  2. Linux系统移植

  3. Linux驱动开发入门与实战

  4. LINUX 系统移植 第2版

  5. Linux开源网络全栈详解 从DPDK到OpenFlow

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

第一份《Linux从入门到精通》466页

====================

内容简介

====

本书是获得了很多读者好评的Linux经典畅销书**《Linux从入门到精通》的第2版**。本书第1版出版后曾经多次印刷,并被51CTO读书频道评为“最受读者喜爱的原创IT技术图书奖”。本书第﹖版以最新的Ubuntu 12.04为版本,循序渐进地向读者介绍了Linux 的基础应用、系统管理、网络应用、娱乐和办公、程序开发、服务器配置、系统安全等。本书附带1张光盘,内容为本书配套多媒体教学视频。另外,本书还为读者提供了大量的Linux学习资料和Ubuntu安装镜像文件,供读者免费下载。

华为18级工程师呕心沥血撰写3000页Linux学习笔记教程

本书适合广大Linux初中级用户、开源软件爱好者和大专院校的学生阅读,同时也非常适合准备从事Linux平台开发的各类人员。

需要《Linux入门到精通》、《linux系统移植》、《Linux驱动开发入门实战》、《Linux开源网络全栈》电子书籍及教程的工程师朋友们劳烦您转发+评论

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/853693
推荐阅读
相关标签
  

闽ICP备14008679号