linux基础

查看cpu

从你提供的lscpu命令的输出结果中,我们可以详细地了解到这台服务器的CPU配置情况:
Architecture: x86_64,表示这是一个64位的Intel架构处理器。
CPU op-mode(s): 支持32位和64位运算模式,意味着它可以运行32位和64位的软件。
Byte Order: Little Endian,表明数据是以小端格式存储的,低字节存储在低地址中。
CPU(s): 16,总共有16个逻辑处理器。
On-line CPU(s) list: 0-15,表示所有16个逻辑处理器都在线并可用。
Thread(s) per core: 2,每个物理核心有两个线程,这意味着处理器支持超线程技术。
Core(s) per socket: 8,每个插槽有8个物理核心。
Socket(s): 1,系统只有一个CPU插槽,这意味着所有核心都在同一颗处理器上。
NUMA node(s): 1,表明系统只有一个NUMA节点,通常与单个物理处理器对应。
Vendor ID: GenuineIntel,处理器制造商是Intel。
CPU family: 6,Intel处理器家族编号。
Model: 85,具体型号标识。
Model name: Intel(R) Xeon(R) Gold 6278C CPU @ 2.60GHz,处理器的完整型号名称。
Stepping: 7,表示处理器的修订版本。
CPU MHz: 2599.998,处理器的当前运行频率。
BogoMIPS: 5199.99,这是一种衡量处理器性能的指标,这里表示的是处理器的理论MIPS值。
Hypervisor vendor: KVM,表明系统运行在KVM虚拟化环境下。
Virtualization type: full,表示支持完全虚拟化。
L1d cache: 32K,每个核心的L1数据缓存大小。
L1i cache: 32K,每个核心的L1指令缓存大小。
L2 cache: 1024K,每个核心的L2缓存大小。
L3 cache: 36608K,共享的L3缓存大小。
NUMA node0 CPU(s): 0-15,确认所有16个逻辑处理器都在NUMA节点0上。
综上所述,这是一台装备有Intel Xeon Gold 6278C处理器的服务器,具有8个物理核心(每个核心2个线程),总共16个逻辑处理器,运行在KVM虚拟化环境下,具备强大的计算能力和缓存容量。

查看执行命令的路径

which git
/usr/bin/git

清空缓存使用的内存

#1. 值为1时表示可以释放pagecache缓存
#2. 值为2时可以释放pagecache和inode缓存
#3. 值为3时可以释放pagecache, dentries和inodes缓存
# free -m
sync && echo 1 > /proc/sys/vm/drop_caches
sync && echo 2 > /proc/sys/vm/drop_caches
sync && echo 3 > /proc/sys/vm/drop_caches

在这里插入图片描述

当你在Linux系统中执行命令 echo 3 > /proc/sys/vm/drop_caches 时,实际上是在请求操作系统内核释放三种类型的内存缓存:

Pagecache(页面缓存):这是Linux内核为了加快文件读取速度而保存在内存中的数据。
Dentries(目录项缓存):这是文件路径名的缓存,它可以帮助快速查找文件。
Inode caches(inode缓存):inode包含了文件的元数据,如权限、拥有者等,inode缓存则有助于快速访问这些信息。
操作的影响:
短期内存增加:执行该命令后,系统可能会显示出更多的“free”内存,因为缓存被释放了,这部分内存可以被其他进程使用。
潜在的性能下降:由于缓存是为了提升性能而存在的,一旦缓存被清除,再次访问相同的数据时,系统可能需要从较慢的存储介质(如硬盘或SSD)读取数据,这会导致一些性能上的延迟。
系统性能恢复:随着时间推移,内核会自动重新填充这些缓存,以恢复之前的性能水平。因此,性能上的任何负面影响通常是暂时的。
注意事项:
这个命令应该小心使用,尤其是在生产环境中。它通常用于诊断目的或在确实需要立即释放内存的情况下使用。
在一些服务器环境中,频繁执行这个命令可能会导致不必要的磁盘I/O活动,从而影响整个系统的性能。

安装多个jdk

https://blog.csdn.net/Sucrapipple/article/details/136200266


https://bell-sw.com/pages/downloads/#jdk-17-lts
https://blog.csdn.net/Sucrapipple/article/details/136200266
# 查看Java列表,并变更
alternatives --config java
# 安装11
alternatives --install /usr/bin/java java /export/server/jdk-11.0.24/bin/java 11
# 安装17
alternatives --install /usr/bin/java java /export/server/jdk17/bin/java 17
alternatives --remove java /export/server/jdk17/bin/java
# *号和+号,默认和备用
alternatives --set java /export/server/jdk17/bin/java
java -version
# 如果不生效就重启服务reboot

查看文件大小

du -h --max-depth=1

测试ip 端口是否通

  • yum -y install telnet
  • telnet 10.13.101.188 5432
  • 显示如下为通:
    Trying 10.13.101.188…
    Connected to 10.13.101.188.
    Escape character is ‘^]’.

查看文件大小

/srv/BigData/data1/LOG
du -sh *

扩展分区

# 对disk磁盘分区

# 基于分区创建物理卷
pvcreate /dev/sda3
# 查看物理分区
pvdisplay
# 查看卷组名称及其详细信息
vgdisplay
# 没有卷组可以创建卷组 可将一个或多个物理卷结合成一个卷组 vgcreate vg01 /dev/vdb2 /dev/vdb1  新建的卷组zjy 其大小为物理卷的大小之和
vgcreate zjy /dev/sda3
# 有卷组,将物理卷添加到卷组
vgextend zjy /dev/sdb3

# 给文件系统的逻辑卷扩容
df命令列出的是文件系统,文件系统是建立在逻辑卷上的,我们需要给该文件系统对应的逻辑卷进行扩容
df -h
# 表示给/dev/mapper/rl-root 增加200G的空间
lvresize -L +20G /dev/sda3  

4、创建逻辑卷:
Lvcreate可根据卷组中的可用物理区块来创建新的逻辑卷

lvcreate –n lv01 –L 700M vg01
-n    #设置lv名称
-L    #设置lv大小(字节、兆字节)
-l    #设置lv大小(区块数)
(逻辑卷名/dev/vgname/lvname和/dev/mapper/vgname-lvname,可使用df –h和lsblk命令查看)
5、添加文件系统:
mkfs命令在新逻辑卷上创建XFS文件系统,-t选项指定文件系统类型。

6、持久挂载:
要使文件系统重启后依然可用则要持久挂载,创建空目录,vim /etc/fatab文件,mount -a命令进行挂载,可使用df -h命令检查是否挂载

# 查看挂载详情
lsblk
# 刷新文件系统
xfs_growfs -d /home


# 查看逻辑分区
lvdisplay    


在这里插入图片描述
一个卷组下有多个物理卷,

nohup命令

详细参考:https://www.python100.com/html/114272.html
在Unix/Linux系统中,每个进程都有一个ID(PID),由操作系统通过fork()函数创建。当用户在终端中运行一个命令时,该进程就会被分配一个终端控制信号(TTY)。当终端被关闭时,TTY收到了一个hangup信号。如果进程仍在依赖于终端,则会受此信号影响而终止。nohup命令运行在一个没有控制TTY的环境下,通过将stdout和stderr重定向到另一个地方,避免了由于关闭控制TTY导致的进程中断的问题。

要查看 Linux 系统的信息,您可以使用以下命令:

  1. uname -a:显示系统内核和操作系统的详细信息。
  2. lsb_release -a:显示 Linux 发行版的详细信息。
  3. cat /etc/os-release:显示 Linux 发行版的信息,包括名称、版本和 ID。
  4. cat /proc/version:显示 Linux 内核版本的详细信息。
  5. cat /proc/cpuinfo:显示 CPU(中央处理器)信息,包括型号、核心数和频率。
  6. free -h:显示系统内存的使用情况。
  7. df -h:显示磁盘空间的使用情况。
  8. uptime:显示系统开机时间和服务器的负载情况。
  9. ifconfigip a:显示网络接口的IP地址和配置信息。
  10. lsblk:显示磁盘块设备(硬盘、分区等)的信息。

命令

强制修改软链接
ln -s $JAVA_HOME/bin/java /usr/bin/java
ln -s $JAVA_HOME/bin/javac /usr/bin/javac

防火墙firewalld的基本使用

启动命令
systemctl start firewalld
停用命令
systemctl stop firewalld
查看防火墙状态
systemctl status firewalld
开启自启动防火墙
systemctl enable firewalld
取消开机自启防火墙
systemctl disable firewalld
开启或者关闭指定端口
添加8080的TCP协议端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent && firewall-cmd --reload
移除8080的TCP协议端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent && firewall-cmd --reload
查询端口是否开启
firewall-cmd --zone=public --query-port=3306/tcp
查询所有已开放端口
firewall-cmd --zone=public --list-ports
重启防火墙
firewall-cmd --reload

一、查看内存空间

参考教程:https://blog.51cto.com/luckyshiliang/5215116
使用“free”命令可以查看服务器的内存空间,选项“-m”表示以MB(兆字节)的数据存储单位进行显示
free -m
free -g
free -h
在这里插入图片描述

total:#服务器内存总大小:7.6G
	used:#已经使用了多少内存:3.8G,已用内存总量(used = total-free-buffers-cache,这里没减去shared,我理解是shared是used的其中一部分)
	free:#未被任何应用使用的真实空闲内存,也叫未被分配出去的内存,(真正尚未被使用的物理内存数)
	shared:#表示多个进程共享的内存总额。
	buff/cache: #表示buffers和cache所用总量的总和(buffers为内核缓冲区所用的内存,
cache为页缓存和slabs所用的内存容量),也有人说是表示磁盘缓存的大小。 page cache,
即缓存文件内容+slab。slab也分可回收和不可回收部分,可手动回收,但是会在回收缓存这段时间影响主机性能,
并且不是有所的slab和page cache都能被回收,正在使用的这些缓存不能被回收,否则系统的性能会很低,
所以最后可能的内存是多少,就得评估能够回收的有多少,就有了下面这个参数available
	buffers是用来缓冲文件属性和目录内容的(其实就是inode信息)
    cached是用来缓冲文件内容的(其实就是data block数据)
    为了提高磁盘存取效率,Linux做了一些精心的设计,除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换),还采取了两种主要Cache方式:Buffer Cache和Page Cache。
前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了 I/O系统调用(比如read,write,getdents)的时间。
 
	available:真正剩余的可被程序应用的内存数;是系统的一个估计值,不是谁减比较准确注意:看一个内存可用多少,看available参数,但是你要理解available的意义,不是简单数字相减;有时候也看free表示没有未被分配出去的内存。

1.1 swap虚拟内存

1)当物理内存快被耗尽时,系统并没有崩溃,而是拿 swap 做临时内存,当两者都耗尽,系统 OutofMemory
2)物理内存达到峰值,系统中一些不常用的进程内存占用被提到 swap 区
3)当 Men 区的资源进行释放时,被挪到 swap 的内存并不会全部回来,随着系统或者程序的唤醒才会慢慢回到 men 区
4)swap 是内存不够时,磁盘虚拟出来的内存,磁盘主要是 I/O 级别的操作,并不是系统内核级别的操作,处理速度跟 mem 区不是一个等级

1.2查看进程占用内存的命令

ps aux命令
1.按内存升序排列: ps aux --sort=+rss
2.按内存降序排列: ps aux --sort=-rss #可以看到按照内存使用从高到低降序排列
                ps aux --sort=-%mem | head  #和上面一个意思,mem不能写大写。
3.按cpu升序排列: ps aux --sort=+%cpu
4.按cpu降序排列: ps aux --sort=-%cpu

二 、查看磁盘

1.1查看服务器的磁盘空间:系统盘 + 数据盘

fdisk -l
在这里插入图片描述

1.2 系统盘的挂载信息

lsblk -f
在这里插入图片描述

查看挂载盘的使用情况(磁盘)

df -lh

查看指定文件的磁盘暂用

查看详细的每个一个文件夹占用磁盘空间
du -h

三、 对数据盘分区挂载可以正常使用操作

1.1 开始交互式分区

命令:fdisk /dev/vdb

1.2 划分区大小

200G
docker 分配50G
bigdata 分配150G
104,857,560 / 4 = 104857560

1.3 格式化指定分区

mkfs.ext4 /dev/vdb1
mkfs.ext4 /dev/vdb2

1.4 挂载

mount /dev/vdb1 /mnt/docker
mount /dev/vdb2 /mnt/bigdata

1.5 将临时分区改为启动自动挂载

往 /etc/fstab 文件追加以下文本
echo /dev/vdb1 /mnt/docker ext4 defaults,noatime 0 0 >> /etc/fstab
echo /dev/vdb2 /mnt/bigdata ext4 defaults,noatime 0 0 >> /etc/fstab
参考教程: https://www.sohu.com/a/483284355_121088750

卸载分区

fdisk -l
# 卸载挂载点
umount /mnt/bigdata
fdisk /dev/sdb
d
d
w
# 刷新
partprobe /dev/sdb
# 查看是否正常
fdisk -l
``

# nc命令参考
https://blog.csdn.net/m0_71163619/article/details/130897637
安装参考:https://blog.csdn.net/Jahnsonxi/article/details/95910690
```sh
whereis nc
ls -l /usr/bin/nc
rm -rf /usr/bin/nc
ln -s /opt/netcat/bin/nc /usr/bin/nc
nc -help

tar -zxvf netcat-0.7.1.tar.gz -C /usr/local
 
cd /usr/local
mv netcat-0.7.1 netcat
cd netcat
./configure --prefix=/opt/netcat
make
make install

nc --help

配置
export NETCAT_HOME=/opt/netcat
export PATH=$PATH:$NETCAT_HOME/bin

nc的对话功能

服务端和客户端双向通信
服务端开启监听,-lp
[root@localdb netcat]# nc -l -p 4444
客户端 nc连接服务端ip:port
[root@node1 netcat]# nc 192.168.88.135 4444
任何一段输入内容,双方都可以接收到

返回shell使用

服务端:
nc -l -p 4444 -c bash
客户端:
nc 192.168.88.135 4444
ifconfig 192.168.88.135

文件传输并指定位置

将客户端的a.txt内容文件传递到服务端的test.txt中

服务端:
nc -l -p 4444 > test.txt
客户端:
nc 192.168.88.135 4444 < a.txt

服务端:
nc -l -p 4444 < test.txt
客户端:
nc 192.168.88.135 4444 > a.txt

等待超时时间为3秒
nc -w3 192.168.88.135 4444 > a.txt

端口扫描

客户端扫描服务端的区间7000 - 10000

 nc -v -z -n -w1 192.168.88.135 7000-10000

banner扫描

客户端扫描服务端(192.168.88.135)
echo " " | nc -v -n -w1 192.168.88.135 7000-10000

Linux find 命令

参考教程: https://www.runoob.com/linux/linux-comm-find.html

find / -name "*.cnf"

Linux grep 命令

参考教程:https://www.runoob.com/linux/linux-comm-grep.html

xargs

参考教程:https://www.runoob.com/linux/linux-comm-xargs.html
多行输入单行输出
多行输入n行输出
在这里插入图片描述

rsync详解

rsync -r superman machineB:/home/userB

参考:https://www.cnblogs.com/biglucky/p/4447345.html

系统变量

1.1 .bash_profile和/etc/profile配置文件的区别

/etc/profile:
这是一个全局配置文件,当用户登录(login shell)时会首先被执行。
它设置的是对所有用户都生效的系统级环境变量和启动程序。
~/.bash_profile:
对于每个具体的用户,当该用户登录时,其家目录下的 .bash_profile 会被执行。
这个文件用于设置特定用户的个性化环境变量、别名和其他shell初始化命令。
加载顺序方面,在登录shell时,通常先加载 /etc/profile,然后才会加载 ~/.bash_profile。所以,从这个角度来看,/etc/profile 具有更高一层级的全局作用,它的内容会先于用户个人的 .bash_profile 生效。
不过,如果一个用户同时在其 ~/.bash_profile 中设置了与 /etc/profile 相同的环境变量,那么用户级别的设置将会覆盖系统级别的设置,因为在shell环境中,后加载的配置具有较高的优先级。

系统操作快捷方式

catl+a 将光标快速移动到行首
catl+e 将光标快速到行尾
catl+左右方向键 让光标左右按照单词进行移动
catl+k 剪切光标右边所有内容
catl+u 剪切光标右边所有内容
catl+y 粘贴剪切后的内容
catl+insert 复制光标选中的内容
shift+insert 粘贴复制的内容
catl+w 快速剪切一个字符串信息

5.Linux的文件没有扩展名,所以Linux下的文件名称和它的种类没有任何关系。例如,abc.exe可以是文本文件,而abc.txt也可以是可执行文件。

6.Linux下的文件可以分为5种不同的类型:
普通文件、目录文件、链接文件、设备文件和管道文件

Linux目录结构概述

Linux系统以文件目录的方式来组织和管理系统中的所有文件
——所谓文件目录就是将所有文件的说明信息采用树型结构组织起来
——【目录也是一种类型的文件】各个目录结点之下都会有一些文件和子目录
1.路径: 路径是指从树型目录中的某个目录层次到某个文件的一条道路。
2.根目录: Linux的根目录(/)是Linux系统中最特殊目录。
3.用户主目录:是系统管理员增加用户时建立起来的(以后也可以根据实际情况改变),每个用户都有自己的主目录,不同用户的主目录一般互不相同
4.工作目录: 用户登录Linux系统之后,每时每刻都处在某个目录之中,此目录被称作工作目录或当前目录(Working Directory)

文件与目录基本操作

1.显示文件内容命令——cat,more,less,head,tail
如果要按页显示test文件,则执行如下命令:
[root@localhost root]# less test

文件内容查询命令——grep,egrep,fgrep

文件查找命令——find,locate

find / name=“*.conf”
此命令提供了相当多的查找条件,功能非常强大。

find命令提供的寻找条件——可以是一个用逻辑运算符not、and、or组成的复合条件
——and:逻辑与
在命令中用“-a”表示,是系统默认的选项,表示只有当所给的条件都满足时,寻找条件才满足
——or:逻辑或
在命令中用“-o”表示。该运算符表示只要所给的条件中有一个满足时,寻找条件就满足
——not:逻辑非
在命令中用“!”表示。该运算符表示查找不满足所给条件的文件

文本处理命令——sort,uniq

对文件中的各行进行排序
该命令将逐行地对文件中的内容进行排序,如果两行的首字符相同,该命令将继续比较这两行的下一字符sort排序是根据从输入行抽取的一个或多个关键字进行比较来完成的

用uniq命令将这些重复行从输出文件中删除,只留下每条记录的唯一样本

文件内容统计命令——wc

文件比较命令——comm,diff

文件的复制、移动和删除命令——cp,mv,rm

对于无用文件,用户可以用rm命令将其删除
功能为删除一个目录中的一个或多个文件,它也可以将某个目录及其下的所有文件及子目录均删除
对于链接文件,只是删除了链接,原有文件均保持不变

文件链接命令——ln

在文件之间创建链接
是给系统中已有的某个文件指定另外一个可用于访问它的名称
对于这个新的文件名,可以为其指定不同的访问权限,以控制对信息的共享和安全性的问题
链接有两种:
一种称为硬链接(Hard Link);
另一种称为符号链接(Symbolic Link),也称为软链接

目录的创建与删除命令——mkdir,rmdir

改变工作目录、显示路径以及显示目录内容命令——cd,pwd,ls

默认情况下,输出条目按字母顺序排序

文件/目录访问权限简介

分为三种:只读、只写、可执行
有三种不同类型的用户可对文件或目录进行访问:文件所有者,同组用户、其他用户
每一个文件或目录的访问权限都有三组,每组用三位表示,分别为:
文件属主的读、写和执行权限;
与属主同组的用户的读、写和执行权限;
系统中其他用户的读、写和执行权限。

.改变文件/目录的访问权限——chmod命令

文字设定法:chmod [who] [+|-|=] [mode] filename
数字设定法:也可以直接用十进制数计算:
0表示没有权限,
1表示x权限,
2表示w权限,
4表示r权限,
然后将其相加
如果想让某个文件的属主有“读/写”二种权限,须要把4(可读)+2(可写)=6(读/写)

更改文件/目录的默认权限——umask命令

更改文件/目录的所有权——chown命令

chown [option] [user|group] filename
chown -R root:root filename

文件/目录的打包和压缩

gzip(压缩),gunzip(解压缩)和zcat(解压并输出到标准输出设备)
使用gzip时需要注意以下几点。
(1)默认gzip压缩的文件会以.gz结尾,同时删除原始文件。
(2)若不希望使用.gz后缀,则需用-S覆盖。
(3)gunzip -c和zcat功能相同

文件压缩——bzip2压缩

与之相关的命令有:
bzip2(压缩),
bunzip2(解压缩),
bzcat(解压并输出到标准输出设备)
和bz2recover(从损坏的bzip2文件中恢复数据)
默认bzip2压缩的文件会以.bz2结尾,同时删除原始文件。
但和gzip相比,bzip2可以通过添加-k参数保留原始文件。
bunzip2-c和bzcat功能相同

文件归档——tar命令

tar可以把许多文件打包成为一个归档文件或者把它们写入备份设备,例如一个磁带驱动器
Linux下保存文件都是先用tar命令将目录或者文件打成tar归档文件(也称为tar包),然后gzip或bzip2压缩
正因为如此,Linux下已压缩文件的常见后缀有tar.gz、tar.bz2,以及tgz和tbz等
1.创建tar包
创建归档可以使用-cf参数,如果需要显示日志,可以使用-cvf参数。
2.查看tar包内容
查看归档可以使用-tf参数。
3.还原tar包
还原归档可以使用-xf参数,如果需要显示日志,可以使用-xvf参数。
4.直接在tar包中使用压缩选项
打好的tar包可以交由gzip或bzip2进行压缩
另外也可以直接在tar命令中调用这些压缩功能,加入相应参数即可

zip压缩 ,unzip解压缩

rm -rf qar.zip
zip -r qar.zip qar
unzip qar.zip

同步命令

rsync -av 
scp -rv 

rsync -av /home/shenzhenair/qar_app/special/config/xml/sza-320NEO-SAGEM.xml shhadoop02:/home/shenzhenair/qar_app/special/config/xml/sza-320NEO-SAGEM.xml

cp命令参考

参考:https://baijiahao.baidu.com/s?id=1773083945916008510&wfr=spider&for=pc

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值