Linux常用命令

1. scp 向远程服务器传输文件

将本机/opt/file/path/目录复制到192.168.0.1服务器/home/app/目录
22表示接收方服务器的ssh端口
执行命令后会要求输入接收方服务器密码

scp -r -P 22 /opt/file/path/ root@192.168.0.1:/home/app/

2. free 查看内存大小

# 以适于人类可读方式显示内存信息。-h与其他命令最大不同是-h选项会在数字后面加上适于人类可读的单位
free -h
# 以bytes为单位来显示内存的信息
free -b
# 以G为单位来显示内存的信息
free -g
# 表示每隔N秒打印一次内存信息,直到用ctrl+c结束
free -s N
# 以人类可读的方式,每隔3s打印一次内存信息,直到ctrl+c结束
free -hs 3
# 每隔2秒打印一次内存信息,共打印4次
free -s 2 -c 4

在这里插入图片描述

total: 内存总数
used: 已经使用内存数
free: 完全空闲内存
shared: 多个进程共享的内存
buff/cache: 磁盘缓存的大小
available:真正剩余的可被程序应用的内存数

3. 查看系统信息

# 查看Linux内核版本
uname -a
cat /proc/version
# 查看Linux版本当前操作系统发行版信息
cat /etc/issue 
cat /etc/redhat-release (只适用Redhat系)
# 查看Linux版本多少位
getconf LONG_BIT

4. 查看CPU信息

# 查看Linux cpu相关信息,包括型号、主频、内核信息等
cat /proc/cpuinfo

#物理CPU个数
cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l

#逻辑CPU个数
cat /proc/cpuinfo | grep 'processor' | wc -l 

#每个物理CPU中核心个数
cat /proc/cpuinfo | grep 'cpu cores' | wc -l

查看CPU型号
cat /proc/cpuinfo | grep 'model name'  |uniq

5. 同步网络时间

# 安装ntp工具
yum install -y ntp

#设置时区
timedatectl set-timezone 'Asia/Shanghai'

# 同步时间
ntpdate ntp1.aliyun.com

# 动态显示时间
watch -n 1 date

6. 存储相关

6.1 空间占用情况
# 查看当前目录子目录和文件大小
du -h --max-depth=1

#查看当前目录文件大小
ls -lh
6.2 分区挂载相关查询

查看系统所有硬盘的分区信息。未挂载的磁盘通常不包含任何分区信息,我们可以通过查看结果来判断哪些磁盘未被挂载。

fdisk -l

查看所有磁盘的详细信息,包括每个分区的状态、大小和挂载点等

lsblk -f 

# NAME: 这是块设备的名称。
# MAJ:MIN: 显示设备的主要和次要设备号,MAJ(major number)表示不同的设备类型,MIN(minor number)表示同一个设备的的不同分区。
# RM: 显示设备是否可移动。请注意,在此示例中,设备sr0的RM值等于1,表示它是可移动的。
# SIZE: 提供有关设容量的信息。
# RO: 显示设备是否为只读。在这种情况下,所有设备的RO均为RO = 0,表示它们不是只读的。
# TYPE: 显示块设备是磁盘还是磁盘中的分区(部分)的信息。在此示例中,sda和sdb是磁盘,而sr0是只读存储器(rom)。
# MOUNTPOINT: 显示设备的挂载点,如果为空表示设备未挂载
6.3 LVM逻辑卷管理-新加卷
# 1. 创建pv(物理卷)
pvcreate /dev/vdb
# 查看pv
pvs
pvscan

# 2.创建vg(卷组)
vgcreate vg1 /dev/vdb
# 查看卷组
vgs   
vgscan
vgdisplay
                         
# 3.创建lv(逻辑卷)
# 创建一个占全部卷组大小的lv,并指定名字为lv1(注意前提是vg并没有创建有lv)
lvcreate -l 100%VG  -n  lv1 vg1
# 查看lv
lvs
6.4 LVM逻辑卷管理-扩容

如果lv所在的vg有空间直接lv扩容就ok了!如果没有空间则需要先对vg进行扩容。

# 1. 创建pv(物理卷)
pvcreate /dev/sdc
# 2. vg扩容 vg1卷组名字,将/dev/sdc扩展到vg1中
vgextend vg1 /dev/sdc 
# 3. lv扩容 扩展到占全部卷组大小  最后参数:/dev/卷组名/逻辑卷名
lvextend -l 100%VG  /dev/vg1/lv1
# 4. 文件系统扩容 xfs扩容
xfs_growfs /dev/vg1/lv1  
# 4. 文件系统扩容  ext4扩容
resize2fs /dev/vg1/lv1  
6.5 硬盘格式化挂载

常见的文件系统介绍

FAT32
最多只能支持16TB的文件系统和4GB的文件

NTFS
最多只能支持16EB的文件系统和16EB的文件

EXT2
ext2是Linux操作系统最早的文件系统之一,它采用了基于磁盘组织的方式对文件进行存储,支持文件和目录的权限控制,但不支持日志功能。由于没有日志功能,如果系统崩溃或掉电,可能会导致文件系统损坏。

EXT3
ext3是在ext2的基础上添加了日志功能的文件系统,它可以记录文件系统的操作和状态,使得在系统崩溃或掉电时可以更快速地恢复文件系统的一致性。ext3支持较大的文件和分区,但在大文件和高并发读写的情况下,性能可能会受到一定的影响。
最多只能支持32TB的文件系统和2TB的文件,实际只能容纳2TB的文件系统和16GB的文件
当数据写入到Ext3文件系统中时,Ext3的数据块分配器每次只能分配一个4KB的块

EXT4
ext4是在ext3的基础上进行改进的文件系统,它支持更大的文件和分区,提高了文件系统的性能和可靠性。ext4还支持更快速的文件系统检查和修复,同时也支持更高级的数据完整性保护机制。
Ext4的文件系统容量达到1EB,而支持单个文件则达到16TB
理论上支持无限数量的子目录
Ext4文件系统使用64位空间记录块数量和 inode数量
Ext4的多块分配器支持一次调用分配多个数据块
修复速度更快

XFS
XFS是一种高性能、可伸缩的日志文件系统,它支持大文件和高并发读写,适用于大型服务器和高性能计算环境。XFS的日志机制更为健壮,代码结构也更为简洁,因此在高负载、高并发的情况下性能表现更为出色。
根据所记录的日志在很短的时间内迅速恢复磁盘文件内容
用优化算法,日志记录对整体文件操作影响非常小
是一个全64-bit的文件系统,最大可以支持8EB的文件系统,而支持单个文件则达到8EB
能以接近裸设备I/O的性能存储数据

Btrfs
Btrfs是一种新型的文件系统,它支持快照、压缩、数据镜像和数据校验等高级特性,适用于数据存储和备份。Btrfs还支持动态扩展和收缩文件系统大小,可以动态添加或删除磁盘,使得系统更为灵活和可靠。

格式化硬盘创建文件系统

mkfs.xfs /dev/vg1/lv1

挂载硬盘(临时系统重启后失效)

mount /dev/vg1/lv1 /home

永久挂载

查询硬盘UUID

blkid

修改 /etc/fstab

vi /etc/fstab
# 增加
UUID=dMc2xC-eqrs-KQxH-nuIh-4OIE-JCdQ-FPfI61  /     xfs     defaults        0 0

在这里插入图片描述
一定要用mount -a检查一下,不然会导致系统重启失败

6.6 删除分区

例如删除sdc1分区

 parted /dev/sdc
 rm 1
 quit

在这里插入图片描述

7. 网络命令

7.1 查看 网卡名称 IP地址 子网掩码 广播地址
ifconfig

在这里插入图片描述

7.2 查看网关地址
route -n

在这里插入图片描述

7.3 查看DNS

如果想修改DNS,则编辑这个文件即可

cat /etc/resolv.conf

在这里插入图片描述

dig

在这里插入图片描述

7.4 网卡信息配置目录
/etc/sysconfig/network-scripts

8. yum

yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

安装 epel-release 仓库
epel-release 仓库是由 Fedora 项目创建的,旨在为 RHEL 和 CentOS 用户提供更多的软件包选择。在不使用 epel-release 的情况下,官方软件源提供的软件包数量是有限的,而且存在一些软件包在 CentOS 或 RHEL 不可用的情况。epel-release 仓库提供了这些软件包,极大地丰富了 CentOS 或 RHEL 的软件包选择。

yum -y install epel-release

9. 安全设置

9.1 密码复杂度设置

编辑PAM配置文件/etc/pam.d/system-auth,加入以下行

password requisite pam_cracklib.so try_first_pass retry=3 minlen=8 ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1

pam_cracklib.so 是一个密码强度检查模块。
try_first_pass 表示优先使用前面已经输入的密码。
retry=3 表示输入密码最多尝试3次。
minlen=8 表示密码长度至少为8个字符。
ucredit=-1 表示密码中至少要有1个大写字母。
lcredit=-2 表示密码中至少要有2个小写字母。
dcredit=-1 表示密码中至少要有1个数字。
ocredit=-1 表示密码中至少要有1个特殊字符(如 @、#、$ 等)。
保存文件后生效,但对root用户无效

9.2 密码过期策略设置

编辑密码策略文件/etc/login.defs,修改如下配置项

PASS_MAX_DAYS 90
PASS_MIN_DAYS 0
PASS_WARN_AGE 14

PASS_MAX_DAYS 90 表示密码的最长有效期为90天。
PASS_MIN_DAYS 0 表示可以在任何时候更改密码。
PASS_WARN_AGE 14 表示在密码过期之前14天发出警告。

9.3 登录失败锁定账户策略配置

编辑PAM配置文件/etc/pam.d/system-auth,在其中加入以下行

auth required pam_tally2.so deny=5 unlock_time=180

pam_tally2.so 是一个帐户访问控制和计数模块。
deny=5 表示当有5次登录失败时,账户被锁定。
unlock_time=180 表示账户在被锁定后,需要等待180秒(3分钟)才能再次登录。

9.4 配置超时退出策略

编辑SSH服务配置文件/etc/ssh/sshd_config,修改如下配置项

ClientAliveInterval 900
ClientAliveCountMax 0

ClientAliveInterval 900 表示SSH客户端将每900秒(15分钟)发送一次保持活动消息。
ClientAliveCountMax 3 在检查3次得不到应答后断开连接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值