系统命令
解压缩
demo(文件夹)
|------|1.txt(文件)
# -r:递归地压缩目录,意味着 zip 命令会包含 demo 文件夹内的所有文件和子目录。
# demo.zip:这是输出的压缩文件名。
# demo:这是您要压缩的目录名。
zip -r demo.zip demo
# -o:强制覆盖现有的文件和文件夹,而不会询问用户。
# demo.zip:这是您想要解压的 .zip 文件名。
unzip -o demo.zip
查看前几行
ifconfig | head -n 100
安装中文
apt install language-pack-zh-hans
vim /etc/default/locale
LANG=zh_CN.UTF-8
LANGUAGE=zh_CN:zh:en_US:en
# 验证
root@anthony:~# echo $LANG
zh_CN.UTF-8
Update索引失效
正在读取软件包列表... 完成
E: 无法下载 http://mirror.rise.ph/ubuntu/dists/focal-updates/main/dep11/Components-amd64.yml.xz 文件尺寸不符(264288 != 264484)。您使用的镜像正在同步中? [IP: 43.226.6.79 80]
Hashes of expected file:
- Filesize:264484 [weak]
- SHA256:ea09acc6bddd6a503a3812ba1d3a025e5515c5469dcad172c86e2bda6f203752
- SHA1:60863a9cc3181eb87007edcfc2de1ba6a0b81a5f [weak]
- MD5Sum:80baa34a1b24d245341757fa51ebd29e [weak]
Release file created at: Sat, 27 Feb 2021 08:09:39 +0000
E: 部分索引文件下载失败。如果忽略它们,那将转而使用旧的索引文件。
# 解决办法
sudo rm -rf /var/lib/apt/lists/partial/
sudo apt update
修改时区
# 查询当前时间
date -R
# tzselect
选择 4,9,1,1
# ubuntu特有的,如果不是ubuntu 跳过这一步
sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# java设置时区
在/etc/profile或~/.bashrc文件中设置环境变量TZ
export TZ='Asia/Shanghai'
source /etc/profile
# ubuntu20.04
sudo timedatectl set-timezone Asia/Shanghai
历史命令
# 历史命令
history -3
sudo免密
vim /etc/sudoers
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification
root ALL=(ALL:ALL) ALL
# 加在这里会被覆盖掉
anthony ALL=(ALL) NOPASSWD:ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# 最好是加在最后
anthony ALL=(ALL) NOPASSWD:ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
anthony ALL=(ALL) NOPASSWD:ALL
grep管道
cat hive-default.xml | grep hive.cli.print
系统升级
yum -y update(centos)
apt-get update(ubuntu 软件包的列表 )
sudo apt-get dist-upgrade (进入列新你系统和系统里安装的软件)
ll文件大小按MB显示
ls -lh
ll -lh
查看系统版本
cat /etc/os-release
立即关机和重启
# 现在立即关机
shutdown -h now
# 现在立即重启
shutdown -r now
当前时间
data / date -R
目录占用空间
# 查看当前目录下一级子文件和子目录占用的磁盘容量
du -lh --max-depth=1 /
# 查看当前目录总共占的容量。而不单独列出各子项占用的容量
du -sh
# 使用lsof命令排查,可以查看到状态为deleted的文件
# 可考虑kill掉程序,就会自动释放
lsof |grep deleted
--------------------------------------------------------------------------------
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
dbus-daem 456 dbus txt REG 253,1 441144 141672 /usr/bin/dbus-daemon (deleted)
...
node 11595 11733 root txt REG 253,1 29851602 1461079 /home/elk/kibana-5.5.1-linux-x86_64/node/bin/node (deleted)
node 11595 11733 root 1w REG 253,1 11374904415 1059873 /home/elk/kibana-5.5.1-linux-x86_64/nohup.out (deleted)
node 11595 11733 root 2w REG 253,1 11374904415 1059873 /home/elk/kibana-5.5.1-linux-x86_64/nohup.out (deleted)
async_17 24113 24210 rabbitmq 1w REG 253,1 8556707104 659069 /var/log/rabbitmq/startup_log (deleted)
async_18 24113 24211 rabbitmq 1w REG 253,1 8556707104 659069 /var/log/rabbitmq/startup_log (deleted)
async_19 24113 24212 rabbitmq 1w REG 253,1 8556707104 659069 /var/log/rabbitmq/startup_log (deleted)
async_20 24113 24213 rabbitmq 1w REG 253,1 8556707104 659069 /var/log/rabbitmq/startup_log (deleted)
文件传输
# 获取远程服务器上的文件
scp -P 2222 [email protected]:/root/lnmp0.4.tar.gz /home/lnmp0.4.tar.gz
# 获取远程服务器上的目录
scp -P 2222 -r [email protected]:/root/lnmp0.4/ /home/lnmp0.4/
# 将本地文件上传到服务器上
scp -P 2222 /home/lnmp0.4.tar.gz* *[email protected]:/root/lnmp0.4.tar.gz
# 将本地目录上传到服务器上
scp -P 2222 -r /home/lnmp0.4/* *[email protected]:/root/lnmp0.4/
修改主机名字
# 第一种方法
sudo vim /etc/sysconfig/network
# 编辑
HOSTNAME=weekend100
sudo hostname weenkend110
# 第二种方法,需要重启
vim /etc/hostname
Ubuntu右上角网络图标消失并且上不了网
sudo nmcli networking off
sudo nmcli networking on
sudo service network-manager stop
sudo rm /var/lib/NetworkManager/NetworkManager.state
sudo service network-manager start
sudo gedit /etc/NetworkManager/NetworkManager.conf
# 把false改成true
sudo service network-manager restart
Cockpit
Activate the web console with: systemctl enable --now cockpit.socke
Cockpit介绍自己是一个Web端的系统管理工具,只用鼠标点点就能管理系统,事实上也确实如此,我实际使用来说,启动Cockpit服务之后,只需要鼠标点点点就能完成系统很多基础操作,比如查看系统信息,启动/停止服务,新增或者更改账户,系统更新,Web终端及查看网络流量等功能。
systemctl start cockpit.socket # 运行Cockpit服务
systemctl enable –now cockpit.socket # 启动该服务,随系统启动一同启动
systemctl status cockpit.socket
然后在另一台电脑上用浏览器登录 https://IP:9090
top
top - 21:08:58 up 6:15, 4 users, load average: 0.01, 0.03, 0.05
Tasks: 262 total, 1 running, 261 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 1.4 sy, 0.0 ni, 98.6 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 3861300 total, 1922280 free, 1029068 used, 909952 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 2545024 avail Mem
- 第一行
- 程序名(top)
- 21:08:58(系统时间)
- up 6:15(运行时间)
- 4 users(登录用户数)
- load average(cpu 负载数,5分钟的平均负载,10分钟的平均负载,15分钟的平均负载)
- 第二行
- task(总进程数)
- 1 running (运行数:1)
- 261 sleeping(睡眠树:1)
- stopped(停止数)
- zoimbie(僵尸数)
- 第三行
- %cpu(cpu使用占比)
- us (用户)
- sy (系统)
- ni(优先级)
- id(空闲)
- wa(等待)
- hi(硬件)
- st(虚拟机)
- 第四行
- kib Mem (物理内存 单位:K)
- free (空间,单位:k)
- userd(使用)
- cache(缓存硬盘内容大小)
- 第五行
- 交换区
- 第六行
- 进程ID
- 用户名
- 优先级(PR)
- 内存(VIRT RES SHR)
- 状态(S)
- cpu
- 内存
- 运行时间
- 命令
tree
# 排除目录venv目录
tree -I '*venv*'
# 排除目录venv和venve2目录
tree -I '*venv|venv2*'
配置环境变量
配置Java环境变量
export JAVA_HOME=/home/anthony/soft/jdk1.8.0_19
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
配置Maven环境变量
export M2_HOME=/usr/local/software/apache-maven-3.6.1
export PATH=${M2_HOME}/bin:$PATH
安装和卸载OpenJDK
# 安装
apt-get install -y openjdk-17-jdk
# 卸载openJDK
sudo apt-get remove openjdk*
# 查看jdk可安装的版本
yum -y list java*
# 选择一个安装
# 要选择 要带有-devel的安装,因为这个安装的是jdk,而那个不带-devel的安装完了其实是jre
yum install -y java-1.8.0-openjdk-devel.x86_64
# 查找安装路径
which java
配置Scala
export SCALA_HOME=/usr/local/scala-2.13.4
export PATH=$SCALA_HOME/bin:$PATH
固定ip
配置完了,最好是重启下vmware和虚拟机,和禁用开启 win10上的vmare8网卡
vmare配置

电脑配置
虚拟机配置

Centos配置
vim /etc/sysconfig/network-scripts/ifcfg-eth0
BOOTPROTO="static" #dhcp改为static
ONBOOT="yes" #开机启用本配置
IPADDR=10.14.2.50 #静态IP
GATEWAY=10.14.2.11 #默认网关
NETMASK=255.255.255.0 #子网掩码
# 重启网卡,或者重启电脑
service network restart
Ubuntu配置
vim /etc/netplan
编辑完之后执行netplan apply
# Ubuntu桌面版本
network:
version: 2
renderer: NetworkManager
ethernets:
ens33:
dhcp4: no
optional: true
addresses: [192.168.0.5/24]
gateway4: 192.168.0.1
nameservers:
addresses: [192.168.0.1,8.8.8.8]
# Ubuntu服务器版本
network:
ethernets:
ens33:
dhcp4: true
optional: true
addresses: [192.168.0.6/24]
gateway4: 192.168.0.1
nameservers:
addresses: [192.168.0.1,8.8.8.8]
version: 2
关闭IPV6
Ubuntu关闭IPV6
sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=

防火墙
Centos防火墙
# 启动
systemctl start firewalld
# 查看状态
systemctl status firewalld
# 停止
systemctl disable firewalld
# 禁用
systemctl stop firewalld
# 开机启动防火墙
systemctl enable firewalld.service
# 查看防火墙是否开机启动
systemctl is-enabled firewalld.service
# 开机时禁用防火墙
systemctl disable firewalld.service
# 查看版本
firewall-cmd --version
# 显示状态
firewall-cmd --state
# 查看所有打开的端口
firewall-cmd --zone=public --list-ports
# 重新载入,更新防火墙规则
firewall-cmd --reload
# 查看区域信息
firewall-cmd --get-active-zones
# 拒绝所有包
firewall-cmd --panic-on
# 取消拒绝状态
firewall-cmd --panic-off
# 查看是否拒绝
firewall-cmd --query-panic
# 开启80端口,–permanent永久生效,没有此参数重启后失效
firewall-cmd --zone=public --add-port=80/tcp --permanent
# 查看80端口是否开放
firewall-cmd --zone=public --query-port=80/tcp
# 删除80端口配置
firewall-cmd --zone=public --remove-port=80/tcp --permanent
Ubuntu防火墙
# 开放端口
sudo ufw allow 80
# 查看所有的服务端口
netstat -ap
# 查看已经连接的服务端口
netstat -a
# 如查看8888端口,则在终端中输入:
lsof -i:8888
# lsof -i:端口号查看某个端口是否被占用
netstat -anp|grep 80
转发IP
# 在文件中添加或修改以下行
sudo vim /etc/sysctl.conf
net.ipv4.ip_forward=1
# 激活 IP 转发功能。
sudo sysctl -p
# 182.160.10.16 目标到目标服务器的ip
# 将到达端口 80 的流量转发到另一台服务器
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-destination 182.160.10.16:80
# 设置 MASQUERADE 以便正确处理返回的流量
sudo iptables -t nat -A POSTROUTING -j MASQUERADE
# 检查和保存规则
sudo iptables -t nat -L -n -v
# 如果您希望这些规则在系统重启后依然有效,您需要安装 iptables-persistent 包:
sudo apt-get install iptables-persistent
用户和权限
用户和用户组
普通用户和非普通用户
$ 是普通用户
# 不是普通用户
修改用户名
# //-l 新的登陆名称,-d 用户新的主目录, -m将家目录内容移至新位置 (仅于 -d 一起使用)
usermod -l newname -d /home/newname -m oldname
# 修改组
groupmod -n oldname newname
# 重启
reboot
用户组
# 新建用户组
groupadd hr
# 查看用户组
[root@192 ~]# tail -1 /etc/group
hr:x:1001:
# 修改用户组名,sudan新名字,dan就名字
groupmod -n susan dan
# 删除用户组
groupdel hr
用户
# 添加用户:useradd hadoop,创建用户未指定任何选项,系统会创建一个同名的用户组
# 添加用户
adduser hadoop
# 删除用户,
# -r 同时也删除这个用户的主目录
userdel -r hadoop
# 修改hadoop用户密码
passwd hadoop
# 修改自己的用户名密码
passwd
# 把用户加入到用户组:
vi /etc/sudoers
# 查看用户
id user01
# 或者
whoami
# 或者
cat /etc/shadow
# 切换用户
su anthony
# 查看用户组信息
[root@192 ~]# tail -2 /etc/passwd
anthony:x:1000:1000:anthony:/home/anthony:/bin/bash
[root@192 ~]# tail /etc/group
anthony:x:1000:anthony
# 修改用户基本组
usermod username -g 组名

修改用户基本组和附加组的demo
# 创建hadoop用户
[root@192 ~]# useradd hadoop
# 查看hadoop用户,基本组是1002
[root@192 ~]# tail -1 /etc/passwd
hadoop:x:1001:1002::/home/hadoop:/bin/bash
# 查看hadoop基本组信息
[root@192 ~]# tail -1 /etc/group
hadoop:x:1002:
# 创建两个用户组
[root@192 ~]# groupadd hadoop_base
[root@192 ~]# groupadd hadoop_more
# 查看两个用户组
[root@192 ~]# tail -3 /etc/group
hadoop:x:1002:
hadoop_base:x:1003:
hadoop_more:x:1004:
# 修改用户基本组
[root@192 ~]# usermod hadoop -g hadoop_base
[root@192 ~]# tail -3 /etc/group
hadoop:x:1002:
hadoop_base:x:1003:
hadoop_more:x:1004:
# 用户的基本组已经变成1003
[root@192 ~]# tail -3 /etc/passwd
hadoop:x:1001:1003::/home/hadoop:/bin/bash
# 修改用户附加组
[root@192 ~]# usermod hadoop -G hadoop_more
# 用户的附加组已经变成1004
[root@192 ~]# tail -1 /etc/group
hadoop_more:x:1004:hadoop
# 最后查看
# uid 用户名
# gid 基本组id
# 组 包括基本组和附加组
[root@192 ~]# id hadoop
uid=1001(hadoop) gid=1003(hadoop_base) 组=1003(hadoop_base),1004(hadoop_more)
# 从组中删除成员
[root@192 ~]# gpasswd -d hadoop hadoop_base
正在将用户“hadoop”从“hadoop_base”组中删除
gpasswd:用户“hadoop”不是“hadoop_base”的成员
[root@192 ~]# gpasswd -d hadoop hadoop_more
正在将用户“hadoop”从“hadoop_more”组中删除
修改用户权限
root修改用户权限: vim /etc/sudousers
组信息文件
[root@192 ~]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
一共有4列
- 组名
- 组密码
- 组ID
- 备用的
用户文件信息
[root@192 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
- 用户名,登录名中不能有冒号
- 口令,把真正的加密后的用户口令字存放到/etc/shadow文件中
- 用户标识符,取值范围是0-65535。0是超级用户root的标识号,1-99由系统保留,作为管理账号,普通用户的标识号从100开始。在Linux系统中,这个界限是500,
- 组标识符,也是基本组
- 注释性描述,例如用户的真实姓名、电话、地址等,这个字段并没有什么实际的用途
- 主目录
- 登录shell,解释器
权限
[anthony@192 ~]$ touch /tmp/demo.txt
[anthony@192 ~]$ ll /tmp/demo.txt
-rw-rw-r--. 1 anthony anthony 0 1月 11 21:57 /tmp/demo.txt
- 第一位
- 代表文件,d代表文件夹
- 接下来的三位(rw-),是用户权限
- 接下来的三位(rw-),是组权限
- 接下来的三位(r--),是其他人权限
- . 不知道是啥东西
- 第二位,连接
- 第三位,属主
- 第四位,属组
- 第五位,大小
- 第六位,7位,时间
- 第八位,名字
提升权限
[root@192 tmp]# touch fil1.txt
[root@192 tmp]# ll
-rw-r--r--. 1 root root 0 1月 12 21:56 fil1.txt
# 给所有人和用户都设置读写执行的权限
[root@192 tmp]# chmod a=rwx fil1.txt
[root@192 tmp]# ll
-rwxrwxrwx. 1 root root 0 1月 12 21:56 fil1.txt
# 给所有人和用户设置读写权限
[root@192 tmp]# chmod a=rx fil1.txt
[root@192 tmp]# ll
-r-xr-xr-x. 1 root root 0 1月 12 21:56 fil1.txt
# 给属主设置读权限
[root@192 tmp]# chmod u=r fil1.txt
[root@192 tmp]# ll
-r--r-xr-x. 1 root root 0 1月 12 21:56 fil1.txt
# 给组设置读写执行的权限
[root@192 tmp]# chmod g=rwx fil1.txt
[root@192 tmp]# ll
-r--rwxr-x. 1 root root 0 1月 12 21:56 fil1.txt
[root@192 tmp]#
# 给其他人 没有读写执行的权限
[root@192 tmp]# chmod o= fil1.txt
[root@192 tmp]# ll
-r--rwx---. 1 root root 0 1月 12 21:56 fil1.txt
# 给属主单独设置一个写的权限
[root@192 tmp]# chmod u+w fil1.txt
[root@192 tmp]# ll
总用量 0
-rw-rwx---. 1 root root 0 1月 12 21:56 fil1.txt
# 修改文件的属主和组权限
[root@192 tmp]# chown hadoop.hr fil1.txt
[root@192 tmp]# ll
总用量 0
-rw-rwx---. 1 hadoop hr 0 1月 12 21:56 fil1.txt
# 查看acl权限
[root@192 tmp]# getfacl acldemo.txt
# file: acldemo.txt
# owner: root
# group: root
user::rw-
group::r--
other::r--
# 当对一个文件或者文件夹需要设置3个以上的权限用户,和权限用户组,上面的那种方法就不够用了
# 需要引入 acl权限
# setfacl -m 对象:对象名:权限 文件名
# ll之后就会先是+号
setfacl -m g:hr:rw /tmp/acldemo.txt
[root@192 tmp]# ll
-rw-rw-r--+ 1 root root 0 1月 12 22:19 acldemo.txt
磁盘
管理磁盘的三个步骤
先分区,再格式化,再挂载

MBR一共只能有4个分区,如果要需要很多个分区


新建主分区和逻辑分区
[root@192 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 5G 0 disk
sdc 8:32 0 5G 0 disk
sdd 8:48 0 5G 0 disk
sde 8:64 0 5G 0 disk
sdf 8:80 0 5G 0 disk
sdg 8:96 0 5G 0 disk
sdh 8:112 0 5G 0 disk
sdi 8:128 0 5G 0 disk
sr0 11:0 1 4.4G 0 rom
# 启动分区工具
[root@192 ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0xda85d71c 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-10485759,默认为 2048):+2G
Last 扇区, +扇区 or +size{K,M,G} (4194304-10485759,默认为 10485759):
将使用默认值 10485759
分区 1 已设置为 Linux 类型,大小设为 3 GiB
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
# 刷新分区
[root@192 ~]# partprobe /dev/sdb
# 查看分区结果
[root@192 ~]# fdisk -l /dev/sdb
磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xda85d71c
设备 Boot Start End Blocks Id System
/dev/sdb1 4194304 10485759 3145728 83 Linux
# 格式化(创建文件系统)
# ext4 扩展文件系统第四代,是文件系统的类型
[root@192 ~]# mkfs.ext4 /dev/sdb1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
196608 inodes, 786432 blocks
39321 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=805306368
24 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (16384 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
# 手动挂载
[root@192 ~]# mkdir /mnt/disk1
[root@192 mnt]# mount -t ext4 /dev/sdb1 /mnt/disk1/
# 查看
[root@192 mnt]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 13M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 17G 4.4G 13G 26% /
/dev/sda1 xfs 1014M 239M 776M 24% /boot
tmpfs tmpfs 378M 12K 378M 1% /run/user/42
tmpfs tmpfs 378M 0 378M 0% /run/user/0
# 刚挂载的
/dev/sdb1 ext4 2.9G 9.0M 2.8G 1% /mnt/disk1
新建SWAP
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 5G 0 disk
└─sdb1 8:17 0 3G 0 part /mnt/disk1
sdc 8:32 0 5G 0 disk
sdd 8:48 0 5G 0 disk
sde 8:64 0 5G 0 disk
sdf 8:80 0 5G 0 disk
sdg 8:96 0 5G 0 disk
sdh 8:112 0 5G 0 disk
sdi 8:128 0 5G 0 disk
sr0 11:0 1 4.4G 0 rom /run/media/anthony/CentOS 7 x86_64
[root@localhost ~]# fdisk /dev/sdb
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
命令(输入 m 获取帮助):n
Partition type:
p primary (2 primary, 0 extended, 2 free)
e extended
Select (default p): p
分区号 (3,4,默认 3):
No free sectors available
命令(输入 m 获取帮助):q
[root@localhost ~]# fdisk /dev/sdc
欢迎使用 fdisk (util-linux 2.23.2)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
Device does not contain a recognized partition table
使用磁盘标识符 0x661ba46a 创建新的 DOS 磁盘标签。
命令(输入 m 获取帮助):n
Partition type:
p primary (0 primary, 0 extended, 4 free)
e extended
Select (default p): p
分区号 (1-4,默认 1):
起始 扇区 (2048-10485759,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-10485759,默认为 10485759):
将使用默认值 10485759
分区 1 已设置为 Linux 类型,大小设为 5 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdc:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x661ba46a
设备 Boot Start End Blocks Id System
/dev/sdc1 2048 10485759 5241856 83 Linux
命令(输入 m 获取帮助):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@localhost ~]# partprobe /dev/sdc
[root@localhost ~]# fdisk -l /dev/sdb
磁盘 /dev/sdb:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xda85d71c
设备 Boot Start End Blocks Id System
/dev/sdb1 4194304 10485759 3145728 83 Linux
/dev/sdb2 2048 4194303 2096128 83 Linux
Partition table entries are not in disk order
[root@localhost ~]# mkswap /dev/sdb2
/dev/sdb2: 没有那个文件或目录
[root@localhost ~]# mkswap /dev/sdc2
/dev/sdc2: 没有那个文件或目录
[root@localhost ~]# fdisk -l /dev/sdc
磁盘 /dev/sdc:5368 MB, 5368709120 字节,10485760 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x661ba46a
设备 Boot Start End Blocks Id System
/dev/sdc1 2048 10485759 5241856 83 Linux
[root@localhost ~]# mkswap /dev/sdc1
anaconda-ks.cfg .bashrc .dbus/ .local/ 模板/ 下载/
.bash_history .cache/ .esd_auth .tcshrc 视频/ 音乐/
.bash_logout .config/ .ICEauthority .viminfo 图片/ 桌面/
.bash_profile .cshrc initial-setup-ks.cfg 公共/ 文档/
[root@localhost ~]# mkswap /dev/sdc1
正在设置交换空间版本 1,大小 = 5241852 KiB
无标签,UUID=074198c5-dff9-4834-9fbb-06cee839372d
[root@localhost ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 13M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 17G 4.4G 13G 26% /
/dev/sda1 xfs 1014M 239M 776M 24% /boot
/dev/sdb1 ext4 2.9G 9.0M 2.8G 1% /mnt/disk1
tmpfs tmpfs 378M 32K 378M 1% /run/user/1000
/dev/sr0 iso9660 4.4G 4.4G 0 100% /run/media/anthony/CentOS 7 x86_64
tmpfs tmpfs 378M 0 378M 0% /run/user/0
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 5G 0 disk
└─sdb1 8:17 0 3G 0 part /mnt/disk1
sdc 8:32 0 5G 0 disk
└─sdc1 8:33 0 5G 0 part
sdd 8:48 0 5G 0 disk
sde 8:64 0 5G 0 disk
sdf 8:80 0 5G 0 disk
sdg 8:96 0 5G 0 disk
sdh 8:112 0 5G 0 disk
sdi 8:128 0 5G 0 disk
sr0 11:0 1 4.4G 0 rom /run/media/anthony/CentOS 7 x86_64
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 3770 919 2208 26 642 2586
Swap: 2047 0 2047
[root@localhost ~]# swapon /dev/sdc1
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 3770 925 2201 26 642 2579
Swap: 7166 0 7166
禁用swap
一、不重启电脑,禁用启用swap,立刻生效
# 禁用命令
sudo swapoff -a
# 启用命令
sudo swapon -a
# 查看交换分区的状态
sudo free -m
创建LVM
无限制的扩张容量
[root@192 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part
├─centos-root 253:0 0 17G 0 lvm /
└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sdb 8:16 0 5G 0 disk
├─sdb1 8:17 0 3G 0 part
└─sdb2 8:18 0 2G 0 part
sdc 8:32 0 5G 0 disk
└─sdc1 8:33 0 5G 0 part
# 一会要操作的是这个盘
sdd 8:48 0 5G 0 disk
sde 8:64 0 5G 0 disk
# 一会要操作的是这个盘
sdf 8:80 0 5G 0 disk
sdg 8:96 0 5G 0 disk
sdh 8:112 0 5G 0 disk
sdi 8:128 0 5G 0 disk
# 物理磁盘转成物理卷
[root@192 ~]# pvcreate /dev/sdd
Physical volume "/dev/sdd" successfully created.
# 创建数据卷组
[root@192 ~]# vgcreate vg1 /dev/sdd
Volume group "vg1" successfully created
# 创建逻辑卷
# lvcreate
# -L 4g,要用磁盘的4G
# -n lv1 卷的名字,自定义
# vg1 卷组名,要把4G,加入到哪个卷组
[root@192 ~]# lvcreate -L 4G -n lv1 vg1
Logical volume "lv1" created.
# 格式化
# 这里要用/dev/卷组名/逻辑卷的名字
[root@192 ~]# mkfs.ext4 /dev/vg1/lv1
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
262144 inodes, 1048576 blocks
52428 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=1073741824
32 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736
Allocating group tables: 完成
正在写入inode表: 完成
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成
# 挂载,这里要用/dev/卷组名/逻辑卷的名字
[root@192 ~]# mkdir /mnt/lv1
[root@192 ~]# mount /dev/vg1/lv1 /mnt/lv1
[root@192 ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 13M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 17G 4.4G 13G 26% /
/dev/sda1 xfs 1014M 239M 776M 24% /boot
tmpfs tmpfs 378M 28K 378M 1% /run/user/1000
/dev/sr0 iso9660 4.4G 4.4G 0 100% /run/media/anthony/CentOS 7 x86_64
# 这里就有4个G的可用空间
/dev/mapper/vg1-lv1 ext4 3.9G 16M 3.6G 1% /mnt/lv1
# 把sdf物理磁盘转成物理卷
[root@192 ~]# pvcreate /dev/sdf
Physical volume "/dev/sdf" successfully created.
[root@192 ~]# vgextend vg1 /dev/sdf
Volume group "vg1" successfully extended
# 扩容lv
[root@192 ~]# lvextend -L +4G /dev/vg1/lv1
Size of logical volume vg1/lv1 changed from 4.00 GiB (1024 extents) to 8.00 GiB (2048 extents).
Logical volume vg1/lv1 successfully resized.
# 刷新
[root@192 ~]# resize2fs /dev/vg1/lv1
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/vg1/lv1 is mounted on /mnt/lv1; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 1
The filesystem on /dev/vg1/lv1 is now 2097152 blocks long.
# 再次查看
[root@192 ~]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 13M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 17G 4.4G 13G 26% /
/dev/sda1 xfs 1014M 239M 776M 24% /boot
tmpfs tmpfs 378M 28K 378M 1% /run/user/1000
# 这里就有8个G的可用空间
/dev/mapper/vg1-lv1 ext4 7.8G 18M 7.4G 1% /mnt/lv1
[root@192 ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sda2 centos lvm2 a-- <19.00g 0
/dev/sdd vg1 lvm2 a-- <5.00g 0
/dev/sdf vg1 lvm2 a-- <5.00g 1.99g
[root@192 ~]# vgs
VG #PV #LV #SN Attr VSize VFree
centos 1 2 0 wz--n- <19.00g 0
vg1 2 1 0 wz--n- 9.99g 1.99g
yum
yum的所有文件都在/etc/yum.repos.d下
yum挂载光盘源
新建一个xxx.repo的文件
[root@192 yum.repos.d]# cat ./dvd.repo
[dvd]
name=this is descreption
baseurl=file:///mnt/cdrom
gpgcheck=0
挂载光盘
[root@192 yum.repos.d]# df -hT
文件系统 类型 容量 已用 可用 已用% 挂载点
devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs tmpfs 1.9G 13M 1.9G 1% /run
tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root xfs 17G 4.4G 13G 26% /
/dev/sda1 xfs 1014M 239M 776M 24% /boot
tmpfs tmpfs 378M 32K 378M 1% /run/user/1000
/dev/mapper/vg1-lv1 ext4 7.8G 18M 7.4G 1% /mnt/lv1
/dev/sr0 iso9660 4.4G 4.4G 0 100%
# 挂载
mount /dev/sr0 /mnt/cdrom
# 查看光盘你的包
ls /mnt/cdrom/Packages/
# 安装软件
yum -y instal httpd
# 安装rpm包
rpm -ivh xxx.rpm