Linux入门操作总结

一、配置虚拟机NAT网络连接

查看vmware的NAT网络默认配置

vmwarestation软件点击 上方“编辑”,选择“虚拟网络编辑器”
找到vmnet10,是NAT模式,子网地址是172.25.2.0,子网掩码是:255.255.255.0.
再点击“NAT设置”,可看到它的网关:172.25.2.2

配置当前虚拟机的网络配置

vmwarestation软件点击 上方“虚拟机”,选择“设置”;
首先没有NAT网卡的,点击“添加”,添加一个新的网络适配器。
已经创建号NAT网卡的,进行如下配置:
网络连接模式改为:"自定义(U):特定虚拟网络"
在下拉选项中,选中“VMnet10(NAT模式)”

配置linux网络

# 进入网络配置目录
cd /etc/sysconfig/network-scripts
# 编辑nat网卡的配置
vi ifcfg-ens33
# 修改或添加如下信息:
BOOTPROTO=static
ONBOOT=yes
IPADDR=172.25.2.101
NETMASK=255.255.255.0
GATEWAY=172.25.2.2
DNS=8.8.8.8

# 在vi编辑器中,输入:wq进行保存退出
vi /etc/resolv.conf
加入:
nameserver 8.8.8.8
输入:wq进行保存退出

# 关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service

# 重启网络
systemctl restart network

# 测试
ping www.baidu.com

二、yum源配置

1、关闭网络管理、selinux、防火墙

# 关闭网络管理
systemctl disable NetworkManager
# 关闭selinux,修改文件为disabled
sed  -i 's/SELINUX=enforcing/SELINUX=disabled/g'  /etc/selinux/config
# selinux修改生效
setenforce 0

2、更新yum源

# 将官方的yum源备份到一个新目录:
mkdir /etc/yum.repos.d/repo.bak/
mv /etc/yum.repos.d/*.repo repo.bak/

# 更新下载阿里源
curl -o /etc/yum.repos.d/CentOS-Base.repo  http://mirrors.aliyun.com/repo/Centos-7.repo

# 清理yum
yum clean all
yum makecache

# 更新yum信息
yum update -y

3、安装lrzsz上传下载

# 安装lrzsz
 yum install -y lrzsz
# 上传
 rz
# 安装vim
 yum install -y vim
yum install -y vsftpd

三、FTP配置和管理

1、安装vsftpd

(1)查询vsftpd是否安装

# 查询vsftpd是否安装
rpm -q vsftpd
rpm -q openssh
# 如果提示:package vsftpd is not installed,说明没有安装。

#  查询 Linux 系统中所有已安装软件包的命令
rpm -qa

# 管道符查找出需要的内容
rpm -qa| grep httpd
rpm -qa | grep openssh

# 查询软件包的详细信息
rpm -qi httpd
rpm -qi openssh

(2)安装vsftpd

yum install -y vsftpd
yum install -y ftp
rpm -qa| grep vsftpd

(3)关闭防火墙

setenforce 0;
iptables -F;
iptables -X;
iptables -Z;
systemctl stop firewalld;
systemctl disable firewalld;

2、vsftpd服务控制

(1)控制服务

# 重启服务
systemctl restart vsftpd
# 关闭服务
systemctl stop vsftpd
# 开启服务
systemctl start vsftpd
# 查看服务
systemctl status vsftpd

(2)服务开机设置

# 开机启动vsftpd
systemctl enable vsftpd
# 开机不启动vsftpd
systemctl disable vsftpd 

四、vim和命令行快捷键

1、命令行快捷键

ctrl+左右键:在单词之间跳转
ctrl+a:跳到本行的行首
ctrl+e:跳到页尾
Ctrl+u:删除当前光标前面的文字 (还有剪切功能)
ctrl+k:删除当前光标后面的文字(还有剪切功能)
Ctrl+L:进行清屏操作
Ctrl+y:粘贴Ctrl+u或ctrl+k剪切的内容
Ctrl+w:删除光标前面的单词的字符
Alt – d :由光标位置开始,往右删除单词。往行尾删

说明
Ctrl – k: 先按住 Ctrl 键,然后再按 k 键;
Alt – k: 先按住 Alt 键,然后再按 k 键;
M – k:先单击 Esc 键,然后再按 k 键。

移动光标
Ctrl – a :移到行首
Ctrl – e :移到行尾
Ctrl – b :往回(左)移动一个字符
Ctrl – f :往后(右)移动一个字符
Alt – b :往回(左)移动一个单词
Alt – f :往后(右)移动一个单词
Ctrl – xx :在命令行尾和光标之间移动
M-b :往回(左)移动一个单词
M-f :往后(右)移动一个单词

编辑命令
Ctrl – h :删除光标左方位置的字符
Ctrl – d :删除光标右方位置的字符(注意:当前命令行没有任何字符时,会注销系统或结束终端)
Ctrl – w :由光标位置开始,往左删除单词。往行首删
Alt – d :由光标位置开始,往右删除单词。往行尾删
M – d :由光标位置开始,删除单词,直到该单词结束。
Ctrl – k :由光标所在位置开始,删除右方所有的字符,直到该行结束。
Ctrl – u :由光标所在位置开始,删除左方所有的字符,直到该行开始。
Ctrl – y :粘贴之前删除的内容到光标后。
ctrl – t :交换光标处和之前两个字符的位置。
Alt + . :使用上一条命令的最后一个参数。
Ctrl – _ :回复之前的状态。撤销操作。
Ctrl -a + Ctrl -k 或 Ctrl -e + Ctrl -u 或 Ctrl -k + Ctrl -u 组合可删除整行。

Bang(!)命令
!! :执行上一条命令。
^foo^bar :把上一条命令里的foo替换为bar,并执行。
!wget :执行最近的以wget开头的命令。
!wget:p :仅打印最近的以wget开头的命令,不执行。
!$ :上一条命令的最后一个参数, 与 Alt - . 和 $_ 相同。
!* :上一条命令的所有参数
!*:p :打印上一条命令是所有参数,也即 !*的内容。
^abc :删除上一条命令中的abc。
^foo^bar :将上一条命令中的 foo 替换为 bar
^foo^bar^ :将上一条命令中的 foo 替换为 bar
!-n :执行前n条命令,执行上一条命令: !-1, 执行前5条命令的格式是: !-5

查找历史命令
Ctrl – p :显示当前命令的上一条历史命令
Ctrl – n :显示当前命令的下一条历史命令
Ctrl – r :搜索历史命令,随着输入会显示历史命令中的一条匹配命令,Enter键执行匹配命令;ESC键在命令行显示而不执行匹配命令。
Ctrl – g :从历史搜索模式(Ctrl – r)退出。

控制命令
Ctrl – l :清除屏幕,然后,在最上面重新显示目前光标所在的这一行的内容。
Ctrl – o :执行当前命令,并选择上一条命令。
Ctrl – s :阻止屏幕输出
Ctrl – q :允许屏幕输出
Ctrl – c :终止命令
Ctrl – z :挂起命令

重复执行操作动作
M – 操作次数 操作动作 : 指定操作次数,重复执行指定的操作。

五、配置与管理磁盘

1、fdisk:磁盘分区工具

fdisk   /dev/sdb
# 执行如上命令后进入fdisk磁盘分区操作
# a:调整磁盘启动分区
# d:删除分区
   Command (m for help): d
   Partition number (1-4, default 4): 4
   Partition 4 is deleted
# l:列出所有支持的分区类型
   Command (m for help): l
   0  Empty           24  NEC DOS         81  Minix / old Lin bf  Solaris        
   1  FAT12           27  Hidden NTFS Win 82  Linux swap / So c1  DRDOS/sec (FAT-
   2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-  .....

# m:列出所有命令和介绍
   Command (m for help): m
   Command action
      a   toggle a bootable flag
      b   edit bsd disklabel
      c   toggle the dos compatibility flag
      d   delete a partition
      g   create a new empty GPT partition table
      G   create an IRIX (SGI) partition table
      l   list known partition types
      m   print this menu
      n   add a new partition
      o   create a new empty DOS partition table
      p   print the partition table
      q   quit without saving changes
      s   create a new empty Sun disklabel
      t   change a partition system id
      u   change display/entry units
      v   verify the partition table
      w   write table to disk and exit
      x   extra functionality (experts only)

# n:创建分区
   Command (m for help): n
   Partition type:
      p   primary (2 primary, 0 extended, 2 free)
      e   extended
   Select (default p): p
   Partition number (3,4, default 3): 3
   First sector (20973568-41943039, default 20973568): 
   Using default value 20973568
   Last sector, +sectors or +size{K,M,G} (20973568-41943039, default 41943039): +5G
   Partition 3 of type Linux and of size 5 GiB is set

# p:列出硬盘分区表
   Command (m for help): p

   Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
   Units = sectors of 1 * 512 = 512 bytes
   Sector size (logical/physical): 512 bytes / 512 bytes
   I/O size (minimum/optimal): 512 bytes / 512 bytes
   Disk label type: dos
   Disk identifier: 0x7bded33b

      Device Boot      Start         End      Blocks   Id  System
   /dev/sdb1            2048    10487807     5242880   83  Linux
   /dev/sdb2        10487808    20973567     5242880   83  Linux
# q:不保存更改,退出fdisk命令
   Command (m for help): q
   [root@localhost ~]# 

# t:更改分区类型
   Command (m for help): t
   Partition number (1-3, default 3): 3
   Hex code (type L to list all codes): 82
   Changed type of partition 'Linux' to 'Linux swap / Solaris'

   Command (m for help): p

   Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
   Units = sectors of 1 * 512 = 512 bytes
   Sector size (logical/physical): 512 bytes / 512 bytes
   I/O size (minimum/optimal): 512 bytes / 512 bytes
   Disk label type: dos
   Disk identifier: 0x7bded33b

      Device Boot      Start         End      Blocks   Id  System
   /dev/sdb1            2048    10487807     5242880   83  Linux
   /dev/sdb2        10487808    20973567     5242880   83  Linux

# u:切换所显示的分区大小的单位
   Command (m for help): u
   Changing display/entry units to cylinders (DEPRECATED!).

   Command (m for help): p

   Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
   Units = cylinders of 16065 * 512 = 8225280 bytes
   Sector size (logical/physical): 512 bytes / 512 bytes
   I/O size (minimum/optimal): 512 bytes / 512 bytes
   Disk label type: dos
   Disk identifier: 0x7bded33b

      Device Boot      Start         End      Blocks   Id  System
   /dev/sdb1               1         653     5242880   83  Linux
   /dev/sdb2             653        1306     5242880   83  Linux

   Command (m for help): u
   Changing display/entry units to sectors.

   Command (m for help): p       

   Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors
   Units = sectors of 1 * 512 = 512 bytes
   Sector size (logical/physical): 512 bytes / 512 bytes
   I/O size (minimum/optimal): 512 bytes / 512 bytes
   Disk label type: dos
   Disk identifier: 0x7bded33b

      Device Boot      Start         End      Blocks   Id  System
   /dev/sdb1            2048    10487807     5242880   83  Linux
   /dev/sdb2        10487808    20973567     5242880   83  Linux

# w:把修改写入硬盘分区表,再退出
   Command (m for help): w
   The partition table has been altered!

   Calling ioctl() to re-read partition table.
   Syncing disks.

# x:列出高级选项
   Command (m for help): x
   Expert command (m for help): m
   Command action
      b   move beginning of data in a partition
      c   change number of cylinders
      d   print the raw data in the partition table
      e   list extended partitions
      f   fix partition order
      g   create an IRIX (SGI) partition table
      h   change number of heads
      i   change the disk identifier
      m   print this menu
      p   print the partition table
      q   quit without saving changes
      r   return to main menu
      s   change number of sectors/track
      v   verify the partition table
      w   write table to disk and exit

2、mkfs:建立文件系统

硬盘分区后,下一步的工作就是建立文件系统。建立文件系统的命令是
mkfs [参数] 文件系统

命令常用的参数选项如下:

-t:指定要创建的文件系统类型。比如 ext3(centos5) ;ext4(centos6);xfs(centos7) 。如不指定默认施ext2。
-c:建立文件系统前首先检查坏块。
-l file:从文件file中读磁盘坏块列表,file文件一般是由磁盘坏块检查程序产生的。
-V:输出建立文件系统详细信息。

注意:直接格式化扩展分区是不允许的,只能格式化主分区和逻辑分区。如果要格式化一个扩展分区,要在扩展分区上创建逻辑分区.

# 查看分区情况
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda               8:0    0   20G  0 disk 
├─sda1            8:1    0  500M  0 part /boot
└─sda2            8:2    0 19.5G  0 part 
  ├─centos-root 253:0    0 17.5G  0 lvm  /
  └─centos-swap 253:1    0    2G  0 lvm  [SWAP]
sdb               8:16   0   20G  0 disk 
├─sdb1            8:17   0    5G  0 part 
└─sdb2            8:18   0    5G  0 part 
sr0              11:0    1 1024M  0 rom  
# 建立ext4文件系统,建立时检查磁盘坏块并显示详细信息
[root@localhost ~]# mkfs -t ext4 -V -c /dev/sdb1
mkfs from util-linux 2.23.2
mkfs.ext4 -c /dev/sdb1 
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
327680 inodes, 1310720 blocks
65536 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1342177280
40 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

Checking for bad blocks (read-only test): done                                                 
Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done 

# 格式化为xfs格式
# 需要加-f原因:提示这个分区已有ext4文件系统;需要使用-f选项强制覆盖。
[root@localhost ~]# mkfs -t xfs -V -f /dev/sdb1
mkfs from util-linux 2.23.2
mkfs.xfs -f /dev/sdb1 
meta-data=/dev/sdb1              isize=256    agcount=4, agsize=327680 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=1310720, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

# 挂载操作
mkdir /newFS
mount /dev/sdb1 /mnt
mount /dev/sdb2 /newFS
df -H

# 卸载挂载
umount /mnt
umount /newFS
df -H

3、fsck:检查文件系统的正确性,并对磁盘进行修复

fsck(英文全拼:file system check)命令用于检查与修复 Linux 档案系统,可以同时检查一个或多个 Linux 档案系统。

# 语法:fsck  [参数选项]  文件系统
-t : 给定档案系统的型式,若在 /etc/fstab 中已有定义或 kernel 本身已支援的则不需加上此参数
-s : 依序一个一个地执行 fsck 的指令来检查
-A : 对/etc/fstab 中所有列出来的 partition 做检查
-C : 显示完整的检查进度
-d : 列印 e2fsck 的 debug 结果
-p : 同时有 -A 条件时,同时有多个 fsck 的检查一起执行
-R : 同时有 -A 条件时,省略 / 不检查
-V : 详细显示模式
-a : 如果检查有错则自动修复
-r : 如果检查有错则由使用者回答是否修复

# 必须先把磁盘卸载才能检查分区
[root@localhost /]# fsck -a /dev/sdb1
fsck from util-linux 2.23.2
/sbin/fsck.xfs: XFS file system.
[root@localhost /]# fsck -a /dev/sdb2
fsck from util-linux 2.23.2
/dev/sdb2: clean, 11/327680 files, 58462/1310720 blocks

4、dd:建立和使用交换文件。

dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换
使用dd命令建立和使用交换文件。当系统的交换分区不能满足系统的要求而磁盘上又没有可用空间时,可以使用交换文件提供虚拟内存。

# 查看交换空间方法
# 查看swap交换空间方式一:free -m
[root@localhost dev]# free -m
              total        used        free      shared  buff/cache   available
Mem:           1985         101        1455           8         428        1729
Swap:          2303           0        2303
# 查看swap交换空间方式二:grep SwapTotal /proc/meminfo
[root@localhost dev]# grep SwapTotal /proc/meminfo 
SwapTotal:       2359288 kB
# 查看swap交换空间方式三:cat /proc/swaps
[root@localhost dev]# cat /proc/swaps              
Filename                                Type            Size    Used    Priority
/dev/dm-1                               partition       2097148 0       -1
/swapfile                               file            262140  0       -2

# dd命令创建交换文件
# 在硬盘的根目录下建立了一个块大小为1 024字节、块数为262144的名为swapfile的交换文件。该文件的大小为256MB
[root@localhost dev]# dd  if=/dev/zero  of=/swapfile  bs=1024  count=262144
10240+0 records in
10240+0 records out
10485760 bytes (10 MB) copied, 0.0824385 s, 127 MB/s

# mkswap命令说明文件用于交换空间
[root@localhost dev]# mkswap /swapfile
Setting up swapspace version 1, size = 10236 KiB
no label, UUID=1c15b10a-a536-40f0-9d5e-4ea88cfddc65

# swapon激活交换空间
[root@localhost dev]# swapon /swapfile
swapon: /swap: insecure permissions 0644, 0600 suggested.

# swapoff卸载被激活的交换空间
[root@localhost dev]# swapoff /swapfile

目前红帽官方推荐交换分区的大小应当与系统物理内存的大小保持线性比例关系,不过在小于2GB物理内存的系统中,交换分区大小应该设置为内存大小的两倍,如果内存大小多于2GB,交换分区大小应该是物理内存大小加上2GB。其原因在于,系统中的物理内存越大, 对于内存的负荷可能也越大。但是,如果物理内存大小扩展到数百GB,这样做就没什么意义了,大家说对吧!

实际上,系统中交换分区的大小并不取决于物理内存的量,而是取决于系统中内存的负荷。Red Hat Enterprise Linux 可以在这样的情况下工作:完全没有交换分区,而且系统中匿名内存页和共享内存页小于3/4的物理内存量。在这种情况下,系统会将匿名内存页和共享内存页锁定在物理内存中,而使用剩余的物理内存来缓冲文件系统数据(pagecache),当内存耗尽时,系统内核只会回收利用这些pagecache内存。

物理内存 交换分区(SWAP)
<2G 至少2G
2~4G 至少4G
4~16G 至少8G
16G~64G 至少16G
64G~256G 至少32G

5、df:查看文件系统的磁盘空间占用情况。

df命令用来查看文件系统的磁盘空间占用情况。

  • 可以利用该命令来获取硬盘被占用了多少空间,以及目前还有多少空间等信息。
  • 还可以利用该命令获得文件系统的挂载位。
# df命令的常见参数选项如下。
-a:显示所有文件系统磁盘使用情况,包括0块的文件系统,如/proc文件系统。
-k:以k字节为单位显示。
-i:显示i节点信息。
-t:显示各指定类型的文件系统的磁盘空间使用情况。
-x:列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。
-T:显示文件系统类型

[root@localhost ~]# df -i
Filesystem               Inodes IUsed   IFree IUse% Mounted on
/dev/mapper/centos-root 8910848 26331 8884517    1% /
devtmpfs                 121677   384  121293    1% /dev
tmpfs                    124744     1  124743    1% /dev/shm
tmpfs                    124744   720  124024    1% /run
tmpfs                    124744    16  124728    1% /sys/fs/cgroup
/dev/sda1                524288   326  523962    1% /boot
tmpfs                    124744     1  124743    1% /run/user/0
[root@localhost ~]# df -k
Filesystem              1K-blocks    Used Available Use% Mounted on
/dev/mapper/centos-root  17811456 1032708  16778748   6% /
devtmpfs                   486708       0    486708   0% /dev
tmpfs                      498976       0    498976   0% /dev/shm
tmpfs                      498976    7792    491184   2% /run
tmpfs                      498976       0    498976   0% /sys/fs/cgroup
/dev/sda1                 1038336  132472    905864  13% /boot
tmpfs                       99796       0     99796   0% /run/user/0
[root@localhost ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   17G 1009M   17G   6% /
devtmpfs                 476M     0  476M   0% /dev
tmpfs                    488M     0  488M   0% /dev/shm
tmpfs                    488M  7.7M  480M   2% /run
tmpfs                    488M     0  488M   0% /sys/fs/cgroup
/dev/sda1               1014M  130M  885M  13% /boot
tmpfs                     98M     0   98M   0% /run/user/0
[root@localhost ~]# df -t xfs
Filesystem              1K-blocks    Used Available Use% Mounted on
/dev/mapper/centos-root  17811456 1032708  16778748   6% /
/dev/sda1                 1038336  132472    905864  13% /boot
[root@localhost ~]# df -t tmpfs
Filesystem     1K-blocks  Used Available Use% Mounted on
tmpfs             498976     0    498976   0% /dev/shm
tmpfs             498976  7792    491184   2% /run
tmpfs             498976     0    498976   0% /sys/fs/cgroup
tmpfs              99796     0     99796   0% /run/user/0

[root@localhost ~]# df -T -h
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        17G 1009M   17G   6% /
devtmpfs                devtmpfs  476M     0  476M   0% /dev
tmpfs                   tmpfs     488M     0  488M   0% /dev/shm
tmpfs                   tmpfs     488M  7.7M  480M   2% /run
tmpfs                   tmpfs     488M     0  488M   0% /sys/fs/cgroup
/dev/sda1               xfs      1014M  130M  885M  13% /boot
tmpfs                   tmpfs      98M     0   98M   0% /run/user/0

6、du:查看磁盘空间的使用情况。

du命令用于显示磁盘空间的使用情况。该命令逐级显示指定目录的每一级子目录占用文件系统数据块的情况。 du命令的语法如下:
du [参数选项] [文件或目录名称]

du命令的参数选项:
-s:对每个name 参数只给出占用的数据块总数。
-a:递归显示指定目录中各文件及子目录中各文件占用的数据块数。
-b:以字节为单位列出磁盘空间使用情况(AS 4.0中默认以KB为单位)。
-k:以1024字节为单位列出磁盘空间使用情况。-h:按照K\M\G展示
-c:在统计后加上一个总计(系统默认设置total)。
-l:计算所有文件大小,对硬链接文件重复计算。
-x:跳过在不同文件系统上的目录,不予统计。

[root@localhost sysconfig]# du -b
133	./cbq
6	./console
6	./modules
158923	./network-scripts
177031	.
[root@localhost sysconfig]# du -k
8	./cbq
0	./console
0	./modules
232	./network-scripts
324	.
[root@localhost sysconfig]# du -h
8.0K	./cbq
0	./console
0	./modules
232K	./network-scripts
324K	.
[root@localhost sysconfig]# du -c
8	./cbq
0	./console
0	./modules
232	./network-scripts
324	.
324	total

[root@localhost /]# du -xsh
964M	.
[root@localhost /]# du -sh
du: cannot access ‘./proc/1941/task/1941/fd/4’: No such file or directory
du: cannot access ‘./proc/1941/task/1941/fdinfo/4’: No such file or directory
du: cannot access ‘./proc/1941/fd/3’: No such file or directory
du: cannot access ‘./proc/1941/fdinfo/3’: No such file or directory
1.1G	.

7、mount/umount

  1. 在磁盘上建立好文件系统之后,还需要把新建立的文件系统挂载到系统上才能使用,这个过程称为挂载。
  • 文件系统所挂载到的目录被称为挂载点(mount point)。
  • Linux系统中提供了/mnt和/media两个专门的挂载点。
  • 挂载点应该是一个空目录,否则目录中原来的文件将被系统隐藏。
  1. 卸载文件系统的命令是umount。umount 命令的格式为

umount 设备 挂载点

# 挂载磁盘
mount /dev/sdb2 /swift/node

# 挂载本地iso文件到空目录
mount -o loop CentOS-7-x86_64-DVD-1511.iso /mnt/
umount /mnt
mount -o loop /root/XianDian-IaaS-v2.2.iso /mnt
# 解除挂载
umount /mnt

# 挂载光盘
[root@localhost media]# mount -t iso9660 /dev/cdrom /media/cdrom
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost media]# du -sh *
4.2G	cdrom
# 解除挂载
[root@localhost media]# umount /media/cdrom
  1. /etc/fstab文件系统的自动挂载
    如果要实现每次开机自动挂载文件系统,可以通过编辑/etc/fstab文件来实现。
    /etc/fstab文件的每一行代表一个文件系统,每一行又包含6列,这6列的内容如下所示。

fs_spec:将要挂载的设备文件。
fs_file:文件系统的挂载点。
fs_vfstype:文件系统类型。
fs_mntops:挂载选项,决定传递给mount命令时如何挂载,各选项之间用逗号隔开。
fs_freq:由dump程序决定文件系统是否需要备份,0表示不备份,1表示备份。
fs_passno:由fsck程序决定引导时是否检查磁盘以及检查次序,取值可以为0、1、2。

[root@compute bin]# cat /etc/fstab 
# /etc/fstab
# Created by anaconda on Mon Sep 13 16:48:20 2021
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        0 0
UUID=f3d08635-77c9-4e68-9fac-a3e23df311c8 /boot                   xfs     defaults        0 0
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/dev/sdb2 /swift/node xfs loop,noatime,nodiratime,nobarrier,logbufs=8 0 0

六、LVM逻辑卷管理器

LVM(Logical Volume Manager,逻辑卷管理器)可以允许用户对硬盘资源进行动态调整。

  1. LVM技术是在硬盘分区和文件系统之间添加一个逻辑层,提供了一个抽象的卷组,可以把多块硬盘进行卷组合并。
  2. 用户无须关心物理硬盘设备的底层架构和布局,就可以实现对硬盘分区的动态调整。

1、常用命令

功能/命令 物理卷管理 卷组管理 逻辑卷管理
扫描 pvscan vgscan lvscan
建立 pvcreate vgcreate lvcreate
显示 pvdisplay vgdisplay lvdisplay
删除 pvremove vgremove lvremove
扩展 -- vgextend lvextend
缩小 -- vgreduce lvreduce

2、部署逻辑卷

# 让新添加的两块硬盘设备支持LVM
[root@localhost ~]# pvcreate /dev/sdb /dev/sdc
  Physical volume "/dev/sdb" successfully created.
  Physical volume "/dev/sdc" successfully created.

# 两块硬盘设备加入到storage卷组
[root@localhost ~]# vgcreate storage-hqs /dev/sdb /dev/sdc 
  Volume group "storage-hqs" successfully created

# 查看卷组的状态
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               storage-hqs
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               19.99 GiB
  PE Size               4.00 MiB
  Total PE              5118
  Alloc PE / Size       0 / 0   
  Free  PE / Size       5118 / 19.99 GiB
  VG UUID               qVIk5C-AbPD-NH0i-OMHJ-MRMQ-yAmu-QRwYq1
   
  --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               <9.00 GiB
  PE Size               4.00 MiB
  Total PE              2303
  Alloc PE / Size       2303 / <9.00 GiB
  Free  PE / Size       0 / 0   
  VG UUID               JqLsRj-HHfi-0n1y-QBua-gIA5-WVo6-l8ayBT

# 创建一个大小为2GB的逻辑卷hqs_test_lvm
[root@localhost ~]# lvcreate -L 2G -n hqs_test_lvm storage-hqs
  Logical volume "hqs_test_lvm" created.

# 查看逻辑卷状态
[root@localhost ~]# lvdisplay        #  系统会有两个默认的LV:root、swap
  --- Logical volume ---
  LV Path                /dev/storage-hqs/hqs_test_lvm
  LV Name                hqs_test_lvm
  VG Name                storage-hqs
  LV UUID                npsiLb-bdXO-m0kz-pfLX-UTsf-A9Om-TcnyfT
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2021-11-12 02:27:46 -0500
  LV Status              available
  # open                 0
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:2

# 查看lv和pv的简略信息
[root@localhost ~]# pvs
  PV         VG          Fmt  Attr PSize   PFree  
  /dev/sda2  centos      lvm2 a--   <9.00g      0 
  /dev/sdb   storage-hqs lvm2 a--  <10.00g  <8.00g
  /dev/sdc   storage-hqs lvm2 a--  <10.00g <10.00g
[root@localhost ~]# lvs
  LV           VG          Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root         centos      -wi-ao---- <8.00g                                                    
  swap         centos      -wi-ao----  1.00g                                                    
  hqs_test_lvm storage-hqs -wi-a-----  2.00g 

# 把生成好的逻辑卷进行格式化,然后挂载使用
[root@localhost ~]# mkfs.xfs /dev/storage-hqs/hqs_test_lvm 
meta-data=/dev/storage-hqs/hqs_test_lvm isize=512    agcount=4, agsize=131072 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=524288, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@localhost ~]# mount /dev/storage-hqs/hqs_test_lvm /mnt/

# 查看挂载状态
[root@localhost ~]# lsblk
NAME                        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                           8:0    0   10G  0 disk 
├─sda1                        8:1    0    1G  0 part /boot
└─sda2                        8:2    0    9G  0 part 
  ├─centos-root             253:0    0    8G  0 lvm  /
  └─centos-swap             253:1    0    1G  0 lvm  [SWAP]
sdb                           8:16   0   10G  0 disk 
└─storage--hqs-hqs_test_lvm 253:2    0    2G  0 lvm  /mnt
sdc                           8:32   0   10G  0 disk 
sr0                          11:0    1 1024M  0 rom  
[root@localhost ~]# df -H -T
Filesystem                            Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root               xfs       8.6G  1.1G  7.6G  13% /
devtmpfs                              devtmpfs  499M     0  499M   0% /dev
tmpfs                                 tmpfs     511M     0  511M   0% /dev/shm
tmpfs                                 tmpfs     511M  8.0M  503M   2% /run
tmpfs                                 tmpfs     511M     0  511M   0% /sys/fs/cgroup
/dev/sda1                             xfs       1.1G  136M  928M  13% /boot
tmpfs                                 tmpfs     103M     0  103M   0% /run/user/0
/dev/mapper/storage--hqs-hqs_test_lvm xfs       2.2G   34M  2.2G   2% /mnt

3、扩容逻辑卷

# 扩容前一定要卸载设备和挂载点的关联
umount /mnt/

# 添加新的物理卷到卷组
# 注意添加一个新的磁盘,重启虚拟机
# 添加/dev/sdd支持LVM
[root@localhost ~]# pvcreate /dev/sdd 
  Physical volume "/dev/sdd" successfully created
# 将sdd添加到storage-hqs卷组
[root@localhost ~]# vgextend storage-hqs /dev/sdd 
  Volume group "storage-hqs" successfully extended
# 查看卷组改变情况
[root@localhost ~]# vgdisplay
  --- Volume group ---
  VG Name               storage-hqs
  System ID             
  Format                lvm2
  Metadata Areas        3
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                3
  Act PV                3
  VG Size               29.99 GiB
  PE Size               4.00 MiB
  Total PE              7677
  Alloc PE / Size       512 / 2.00 GiB
  Free  PE / Size       7165 / 27.99 GiB
  VG UUID               rKNq2A-ABFq-NWZL-OPyC-3Fda-JdC6-beeZ9A

# 将上面的逻辑卷扩展到12G
[root@localhost ~]# lvextend -L 12G /dev/storage-hqs/hqs-test-lvm 
  Size of logical volume storage-hqs/hqs-test-lvm changed from 2.00 GiB (512 extents) to 12.00 GiB (3072 extents).
  Logical volume hqs-test-lvm successfully resized.

# 检查硬盘完整性 
[root@localhost mnt]# e2fsck -f /dev/storage-hqs/hqs-test-lvm 
e2fsck 1.42.9 (28-Dec-2013)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/storage-hqs/hqs-test-lvm: 14/786432 files (0.0% non-contiguous), 93230/3145728 blocks

# 重置硬盘容量
[root@localhost mnt]# resize2fs /dev/storage-hqs/hqs-test-lvm 
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/storage-hqs/hqs-test-lvm to 12582912 (1k) blocks.
The filesystem on /dev/storage-hqs/hqs-test-lvm is now 12582912 blocks long.

# 重新挂载并查看文件系统状态
[root@localhost mnt]# mount /dev/storage-hqs/hqs-test-lvm /mnt
[root@localhost mnt]# df -H -T
Filesystem                              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root                 xfs        19G  1.5G   18G   8% /
devtmpfs                                devtmpfs  1.1G     0  1.1G   0% /dev
tmpfs                                   tmpfs     1.1G     0  1.1G   0% /dev/shm
tmpfs                                   tmpfs     1.1G  9.0M  1.1G   1% /run
tmpfs                                   tmpfs     1.1G     0  1.1G   0% /sys/fs/cgroup
/dev/sda1                               xfs       521M  113M  409M  22% /boot
tmpfs                                   tmpfs     209M     0  209M   0% /run/user/0
/dev/mapper/storage--hqs-hqs--test--lvm ext4       14G   46M   13G   1% /mnt

七、配置和管理apache服务

HTTP(Hypertext Transfer Protocol,超文本传输协议)可以算得上是目前国际互联网基础上的一个重要组成部分。而Apache、IIS服务器是HTTP协议的服务器软件,微软的Internet Explorer和Mozilla的Firefox则是HTTP协议的客户端实现。

1、安装和启动

# 安装
yum install -y httpd

# 启动
systemctl start httpd     # 访问当前虚拟机地址加端口 : 192.168.37.101:80
# 关闭   
systemctl stop httpd      # 访问当前虚拟机地址加端口 : 192.168.37.101:80
# 查看
systemctl status httpd
# 重启
systemctl restart httpd   # 访问当前虚拟机地址加端口 : 192.168.37.101:80

# 关闭selinux,修改文件为disabled
sed  -i 's/SELINUX=enforcing/SELINUX=disabled/g'  /etc/selinux/config
# selinux修改生效
setenforce 0
# 查看是否生效
getenforce   # 输出permissive

# 关闭防火墙
systemctl stop firewalld
# 开机不启动防火墙
systemctl disable  firewalld

2、apache配置文件

Linux系统中的配置文件及存放位置如下表:

配置文件名 存放位置
服务目录 /etc/httpd
主配置文件 /etc/httpd/conf/httpd.conf
网站数据目录 /var/www/html
访问日志 /var/log/httpd/access_log
错误日志 /var/log/httpd/error_log

(1)主配置文件httpd.conf

httpd.conf文件不区分大小写,在该文件中以“#”开始的行为注释行。除了注释和空行外,服务器把其他的行认为是完整的或部分的指令。指令又分为类似于shell的命令和伪HTML标记。
指令的语法为“配置参数名称 参数值”。伪HTML标记的语法格式如下:

<Directory />
    Options FollowSymLinks
    AllowOverride None
</Directory>

在httpd服务程序主配置文件中,存在三种:注释行信息、全局配置、区域配置。

(2)常用参数及用途

ServerRoot "/etc/httpd"    # 服务目录

#Listen 12.34.56.78:80
Listen 80       # 监听的IP地址和端口

User apache     # 运行服务的用户
Group apache    # 运行服务的用户组

ServerAdmin root@localhost    # 管理员邮箱

ServerName www.example.com:80 # 网站服务器域名

DocumentRoot "/var/www/html"   # 文档根目录(网站)

ErrorLog "logs/error_log"    # 错误日志文件
LogLevel warn                # 日志等级

CustomLog "logs/access_log" combined   # 访问日志文件

AddDefaultCharset UTF-8    # 默认字符集
posted @ 2021-10-27 14:39  休耕  阅读(1311)  评论(0编辑  收藏  举报