当前位置:云顶娱乐app下载 > 云顶集团4008 > 动用iSCSI服务配置互连网存款和储蓄【云顶娱乐

动用iSCSI服务配置互连网存款和储蓄【云顶娱乐

文章作者:云顶集团4008 上传时间:2019-11-13

第1章 awk指哪打哪

行使iSCSI服务配置互连网存款和储蓄

iSCSI能力完毕了物理硬盘设备与TCP/IP网络公约的并行结合,使得顾客能够因而网络方便地拜望远程机房提供的分享存款和储蓄能源.上边介绍咋样在Linux上配备iSCSI服务端程序,并分别授予Linux系统和Windows系统来访谈远程的囤积能源.

Ctrl+Alt+(F1-F6):切换虚构终端

介绍

forfiles是windows自带的一个批量删减命令,对于时间的判断是通过文件本身的改进日期属性举办推断,使用它来对历史文件进行决断删除是个不利的选拔。

 

 

实验验证:

在自动化计划时,会时常SSH别的机器去操作,但是每趟的密码验证却很令人苦闷,特别是非常长的密码,由此SSH免密登录就显得要求;

在机器数目超多的时候,使用更过的一再是Ansible分发并施行SSH免密登陆脚本,使得每台机器之间都能免密登录。

1.1 awk内置变量

FS 

输入字段(列)分隔符

-F :

相当于-vFS :

NR 

number of record 行号(记录号)

NF  

number of filed  每行有多少列

OFS

output 输出分隔符

RS 

record separator 记录分隔符每一的结束标记 默认是回车

IGNORECASE

是否忽略大小写  1为忽略

实施情形

主机名称 操作系统 IP地址
iSCSI服务端 RHEL7 192.168.56.15
iSCSI客户端 CentOS7 192.168.56.5
windows7客户端 windows7 192.168.56.100

1.安装iSCSI服务

[root@iSCSI-Server ~]# yum install targetd targetcli -y

//启动iSCSI服务并加入开机自启动
[root@iSCSI-Server ~]# systemctl start targetd && systemctl enable targetd
Created symlink from /etc/systemd/system/multi-user.target.wants/targetd.service to /usr/lib/systemd/system/targetd.service.

2.安顿iSCSI服务分享能源

//我们要添加sdb这块磁盘
[root@iSCSI-Server ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   50G  0 disk 
├─sda1   8:1    0  500M  0 part /boot
├─sda2   8:2    0    1G  0 part [SWAP]
└─sda3   8:3    0 48.5G  0 part /
sdb      8:16   0    2T  0 disk 
sr0     11:0    1  3.8G  0 rom  /mnt

[root@iSCSI-Server ~]# targetcli 
Warning: Could not load preferences file /root/.targetcli/prefs.bin.
targetcli shell version 2.1.fb46
Copyright 2011-2013 by Datera, Inc and others.
For help on commands, type 'help'.

/> ls
o- / ............................................................................... [...]
  o- backstores .................................................................... [...]
  | o- block ........................................................ [Storage Objects: 0]
  | o- fileio ....................................................... [Storage Objects: 0]
  | o- pscsi ........................................................ [Storage Objects: 0]
  | o- ramdisk ...................................................... [Storage Objects: 0]
  o- iscsi .................................................................. [Targets: 0]
  o- loopback ............................................................... [Targets: 0]
/> cd /backstores/block 
Created block storage object disk0 using /dev/sdb.
/backstores/block> ls
o- block ............................................................ [Storage Objects: 1]
  o- disk0 .................................... [/dev/sdb (2.0TiB) write-thru deactivated]
    o- alua ............................................................. [ALUA Groups: 1]
      o- default_tg_pt_gp ................................. [ALUA state: Active/optimized]
/backstores/block> 

3.创建iSCSI target名称及安排分享能源

/backstores/block> cd /
/> cd iscsi 
/iscsi> create 
Created target iqn.2003-01.org.linux-iscsi.iscsi-server.x8664:sn.a5b591427412.
Created TPG 1.
Global pref auto_add_default_portal=true
Created default portal listening on all IPs (0.0.0.0), port 3260.
/iscsi> ls
o- iscsi .................................................................... [Targets: 1]
  o- iqn.2003-01.org.linux-iscsi.iscsi-server.x8664:sn.a5b591427412 ............ [TPGs: 1]
    o- tpg1 ....................................................... [no-gen-acls, no-auth]
      o- acls .................................................................. [ACLs: 0]
      o- luns .................................................................. [LUNs: 0]
      o- portals ............................................................ [Portals: 1]
        o- 0.0.0.0:3260 ............................................................. [OK]
/iscsi> cd iqn.2003-01.org.linux-iscsi.iscsi-server.x8664:sn.a5b591427412
/iscsi/iqn.20....a5b591427412> ls
o- iqn.2003-01.org.linux-iscsi.iscsi-server.x8664:sn.a5b591427412 .............. [TPGs: 1]
  o- tpg1 ......................................................... [no-gen-acls, no-auth]
    o- acls .................................................................... [ACLs: 0]
    o- luns .................................................................... [LUNs: 0]
    o- portals .............................................................. [Portals: 1]
      o- 0.0.0.0:3260 ............................................................... [OK]
/iscsi/iqn.20....a5b591427412> cd tpg1
/iscsi/iqn.20...91427412/tpg1> ls
o- tpg1 ........................................................... [no-gen-acls, no-auth]
  o- acls ...................................................................... [ACLs: 0]
  o- luns ...................................................................... [LUNs: 0]
  o- portals ................................................................ [Portals: 1]
    o- 0.0.0.0:3260 ................................................................. [OK]
/iscsi/iqn.20...91427412/tpg1> cd luns 
/iscsi/iqn.20...412/tpg1/luns> create /backstores/block/disk0 
Created LUN 0.
/iscsi/iqn.20...412/tpg1/luns> ls
o- luns ........................................................................ [LUNs: 1]
  o- lun0 .................................... [block/disk0 (/dev/sdb) (default_tg_pt_gp)]
/iscsi/iqn.20...412/tpg1/luns> 

4.安装访问调整列表(ACL).

/iscsi/iqn.20...412/tpg1/luns> cd ..
/iscsi/iqn.20...91427412/tpg1> ls
o- tpg1 ........................................................... [no-gen-acls, no-auth]
  o- acls ...................................................................... [ACLs: 0]
  o- luns ...................................................................... [LUNs: 1]
  | o- lun0 .................................. [block/disk0 (/dev/sdb) (default_tg_pt_gp)]
  o- portals ................................................................ [Portals: 1]
    o- 0.0.0.0:3260 ................................................................. [OK]
/iscsi/iqn.20...91427412/tpg1> 
/iscsi/iqn.20...91427412/tpg1> cd acls 
/iscsi/iqn.20...412/tpg1/acls> ls
o- acls ........................................................................ [ACLs: 0]
/iscsi/iqn.20...412/tpg1/acls> create iqn.2003-01.org.linux-iscsi.iscsi-server.x8664:sn.a5b591427412:client
Created Node ACL for iqn.2003-01.org.linux-iscsi.iscsi-server.x8664:sn.a5b591427412:client
Created mapped LUN 0.
/iscsi/iqn.20...412/tpg1/acls> 

5.安装iSCSI服务端的监听IP地址和端口号.

/iscsi/iqn.20...412/tpg1/acls> cd ..
/iscsi/iqn.20...91427412/tpg1> ls
o- tpg1 ........................................................... [no-gen-acls, no-auth]
  o- acls ...................................................................... [ACLs: 1]
  | o- iqn.2003-01.org.linux-iscsi.iscsi-server.x8664:sn.a5b591427412:client  [Mapped LUNs: 1]
  |   o- mapped_lun0 ............................................. [lun0 block/disk0 (rw)]
  o- luns ...................................................................... [LUNs: 1]
  | o- lun0 .................................. [block/disk0 (/dev/sdb) (default_tg_pt_gp)]
  o- portals ................................................................ [Portals: 1]
    o- 0.0.0.0:3260 ................................................................. [OK]
/iscsi/iqn.20...91427412/tpg1> cd portals/
/iscsi/iqn.20.../tpg1/portals> ls
o- portals .................................................................. [Portals: 1]
  o- 0.0.0.0:3260 ................................................................... [OK]
/iscsi/iqn.20.../tpg1/portals> create 192.168.56.15
/iscsi/iqn.20.../tpg1/portals> cd /
/> saveconfig 
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json
/> exit
Global pref auto_save_on_exit=true
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json
[root@iSCSI-Server ~]# 

6.配置安妥后检查陈设新闻,重启iSCSI服务端程序并安排防火墙计谋.

[root@iSCSI-Server ~]# systemctl restart targetd

//防火墙可以如下配置
[root@iSCSI-Server ~]# firewall-cmd --permanent --add-port=3260/tcp
[root@iSCSI-Server ~]# firewall-cmd --reload

Ctrl+Alt:鼠标切换分界面

语法

forfiles [/p Path ] [/m SearchMask ] [/s ] [/c Command ] [/d [{+ | - }] [{MM / DD / YYYY | DD }]]

 

[/p Path ]:指定路径,当然目录可以用“.”
[/m SearchMask ]:搜索方式,默认是*.* 
[/s ]:遍历子目录进行搜索,包括当前目录

[/d [{+ | - }] [{MM / DD / YYYY | DD }]]:选择日期大于或等于(+ )(或者小于或等于(- ))指定日期的文件,默认+
其中MM / DD / YYYY 是指定的日期,DD 是当前日期减去DD 天,默认是DD 。DD 的有效范围是0 - 32768
例如:
/d -15:查找15天之前的文件
/d 2016/12/9:指定查找的文件日期为2016/12/9

[/c Command ]:指定要执行的命令,格式为[ /c "cmd /c rd /s/q @path" ];双引号里面的/c后接需要执行的命令。

变量:
@file
 显示文件名
@fname
 显示无扩展名的文件名
@ext
 显示文件扩展名
@path
 显示文件的完整路径
@relpath
 文件的相对路径
@isdir
 如果文件类型是目录,则计算值为TRUE,否则值为FALSE
@fsize
 显示用字节表示的文件大小
@fdate
 显示文件中上次修改的日期戳
@ftime
 显示文件中上次修改的时间戳

试验蒙受:

  • 宿主机系统   :Fedora 28 WorkStation
  • 虚构机微处理器 :Virt-Manager 1.5.1
  • 设想机配置   :ha1  CentOS 7.2 1511 (minimal)   virbr0: 192.168.122.57
                 ha2  CentOS 7.2 1511 (minimal)   virbr0: 192.168.122.58
                 ha3  CentOS 7.2 1511 (minimal)   virbr0: 192.168.122.59

1.1.1 LANDS    记录分隔符   每黄金时代的告竣标识暗许是回车

[root@zeq files]# cat passwd.txt

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin     默认结束标记是回车,现在文件内容为两行

以/作为记录分隔符,展现行号和文件内容

[root@zeq files]# awk -vRS="/" '{print NR,$0}' passwd.txt   NR是显示行号   $0是显示一整行的内容

1 root:x:0:0:root:

2 root:

3 bin

4 bash

bin:x:1:1:bin:

5 bin:

6 sbin

7 nologin               现在以/为记录分隔符就变成了7行

这里的awk -vRS="/"     -v给变量赋值,RS是awk内置变量,设置/为记录分隔符

配置Linux客户端.

iscsiadm是用于管理、查询、插入、更新或删除iSCSI数据库配置文件的命令行工具,客商须要先采纳那么些工具扫描开掘远程iSCSI服务端,然后查看找到的服务端上有哪些可用的分享存款和储蓄财富.

-m discovery参数的目标是扫描并开采可用的存款和储蓄能源
-t st参数为施行扫描操作的项目
-p 192.168.56.15参数为iSCSI服务端的IP地址

-m node参数为将顾客端所在主机作为生龙活虎台节点服务器
-T 参数为要接纳的存款和储蓄能源
-p 192.168.56.15参数为对方iSCSI服务器IP的地址
--login或-l参数实行登入验证

//安装iSCSI客户端服务程序initiator.默认RHEL7已经安装了.
[root@iSCSI-Client ~]# yum install iscsi-initiator-utils -y

//编辑名称文件
[root@iS
CSI-Client ~]# vim /etc/iscsi/initiatorname.iscsi 

//重启客户端服务程序
[root@iSCSI-Client ~]# systemctl restart iscsid
[root@iSCSI-Client ~]# systemctl enable iscsid
Created symlink from /etc/systemd/system/multi-user.target.wants/iscsid.service to /usr/lib/systemd/system/iscsid.service.

//先发现再登录
[root@iSCSI-Client ~]# iscsiadm -m discovery -t st -p 192.168.56.15
192.168.56.15:3260,1 iqn.2003-01.org.linux-iscsi.qdlinux.x8664:sn.f32bb7ada923

//使用iscsiadm命令发现远程服务器上可用的存储资源后,接下来准备登陆iSCSI服务器
[root@iSCSI-Client ~]# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.qdlinux.x8664:sn.f32bb7ada923 -p 192.168.56.15 --login

登录成功后翻看一下开掘多了一块磁盘

[root@iSCSI-Client ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0   50G  0 disk 
├─sda1   8:1    0  500M  0 part /boot
├─sda2   8:2    0    2G  0 part [SWAP]
└─sda3   8:3    0 47.5G  0 part /
sdb      8:16   0    2T  0 disk 
sdc      8:32   0    2T  0 disk 
sr0     11:0    1  4.2G  0 rom  /mnt

[root@iSCSI-Client ~]# file /dev/sdc
/dev/sdc: block special

//查看设备UUID
[root@iSCSI-Client ~]# blkid
/dev/sda1: UUID="2b924cf3-3741-4489-afda-20ad6c3b8366" TYPE="xfs" 
/dev/sda2: UUID="c8ad89d6-ca56-4120-a4b6-5d9c54976bbb" TYPE="swap" 
/dev/sda3: UUID="780d3cde-84a6-4f98-a800-94b0dc7f57f9" TYPE="xfs" 
/dev/sr0: UUID="2018-05-03-20-55-23-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos" 
/dev/sdc: UUID="28619840-b497-49ca-92c6-c530a850dd40" TYPE="xfs" 

//开机自动挂载,由于iSCSI基于TCP/IP网络传输数据的
//因此必须在fstab配置文件中加上`_netdev`参数
//表示当系统联网后再进行挂载操作,以免系统开机时间过长或开机失败.
[root@iSCSI-Client ~]# vim /etc/fstab 
UUID=28619840-b497-49ca-92c6-c530a850dd40 /iscsi                  xfs      defaults,_netdev 0 0

[root@iSCSI-Client ~]# mount -a
[root@iSCSI-Client ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3        48G  4.6G   43G  10% /
devtmpfs        472M     0  472M   0% /dev
tmpfs           488M     0  488M   0% /dev/shm
tmpfs           488M  8.0M  480M   2% /run
tmpfs           488M     0  488M   0% /sys/fs/cgroup
/dev/sr0        4.2G  4.2G     0 100% /mnt
/dev/sda1       497M  148M  350M  30% /boot
tmpfs            98M     0   98M   0% /run/user/0
/dev/sdc        2.0T   33M  2.0T   1% /iscsi

//如果不再需要使用iSCSI共享设备资源了,可以使用iscsiadm命令的-u参数将其卸载.
[root@iSCSI-Client ~]# iscsiadm -m node -T iqn.2003-01.org.linux-iscsi.qdlinux.x8664:sn.f32bb7ada923 -u
Logging out of session [sid: 1, target: iqn.2003-01.org.linux-iscsi.qdlinux.x8664:sn.f32bb7ada923, portal: 192.168.56.15,3260]
Logout of [sid: 1, target: iqn.2003-01.org.linux-iscsi.qdlinux.x8664:sn.f32bb7ada923, portal: 192.168.56.15,3260] successful.

$:普通客户登入后系统的唤起符

示例

1.查看“d:backupdata”目录下名称包蕴“--”,且改正时间大于15天的公文恐怕文件夹

forfiles.exe /p d:backupdata /m *-*-* /d -15 /c "cmd /c echo @path"

2.刨除,/s/q(/s文件夹下存在文件也删除,/q强制删除不提示)

forfiles.exe /p d:backupdata /m *-*-* /d -15 /c "cmd /c rd /s/q @path"

 

备考:路线不援救"\url"这种分享路线,rd(删除文件夹),del(删除文件)

试验步骤:

  1. ### 安装系统并安排网络(全部设想机都需联网卡塔 尔(阿拉伯语:قطر‎

  2. ### 先操作第风流倜傥台设想机(ha1卡塔 尔(阿拉伯语:قطر‎

  3. ### 编写主机名与IP的映射关系

    1 [root@ha1 ~]# vi /etc/hosts
    2 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    3 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    4 192.168.122.57    ha1
    5 192.168.122.58    ha2
    6 192.168.122.59    ha3
    
  4. ### 创立公有密钥

     1 [root@ha1 ~]# ssh-keygen -t rsa 
     2 Generating public/private rsa key pair.
     3 Enter file in which to save the key (/root/.ssh/id_rsa): 
     4 /root/.ssh/id_rsa already exists.
     5 Overwrite (y/n)? y
     6 Enter passphrase (empty for no passphrase): 
     7 Enter same passphrase again: 
     8 Your identification has been saved in /root/.ssh/id_rsa.
     9 Your public key has been saved in /root/.ssh/id_rsa.pub.
    10 The key fingerprint is:
    11 40:c3:81:eb:60:49:2e:f7:fe:59:bb:ef:7d:ad:bb:06 root@ha2
    12 The key's randomart image is:
    13 +--[ RSA 2048]----+
    14 |     o+.         |
    15 |  . ....         |
    16 | o . ..          |
    17 |. * .  .         |
    18 | + +    S        |
    19 |    o       E    |
    20 |   .    .    . . |
    21 |    .  o . .  o .|
    22 |     .o o+o .o++ |
    23 +-----------------+
    
  5. ### 发送公有密钥至远程机器

    1 [root@ha1 ~]# ssh-copy-id root@192.168.122.58
    2 [root@ha1 ~]# ssh-copy-id root@192.168.122.59
    
  6. ### 以上是单台设想机的依次实践命令的主意,将以上操作写成脚本(脚本在本文末尾PS处卡塔 尔(英语:State of Qatar)

  7. ### 上面操作其余设想机(ha2、ha3卡塔尔

    1 # 虚拟机ha2
    2 [root@ha2 ~]# chmod 777 build-ssh-credit.sh 
    3 [root@ha2 ~]# ./build-ssh-credit.sh 
    
    1 # 虚拟机ha3
    2 [root@ha3 ~]# chmod 777 build-ssh-credit.sh 
    3 [root@ha3 ~]# ./build-ssh-credit.sh 
    
  8. ### 至此,三台设想机之间相互访问都不须求输入密码,实现了SSH的免密登录

  9. ### Complete!!!

1.2 awk中意味行和列

NR==1

第一行

$1

第一列

$NF

最后一列

$NF-1

倒数第二列

 

配置Windows客户端.

1.运转iSCSI发起程序.

在Windows7操作系统中已经默许安装了iSCSI顾客端程序,大家只需求在调控面板中找到系统和安全标签,然后点击管理工具,进入到管理工具页面后点击iSCSI发起程序.在率先次运营iSCSI发起程序时,系统会唤醒Mirosoft iSCSI服务端未运行,点击按键就能够自行运转并运行iSCSI发起程序.

2.扫描发现iSCSI服务端上可用的存放能源.

无论是Windows系统依旧Linux系统,要想行使iSCSI分享存款和储蓄财富都必需先实行围观发掘操作.运维iSCSI发起程序后在目标选项卡的目标文本框写入iSCSI服务器的IP地址,然后点击快速连接按钮.

在弹出的快速链接提醒框中可看出分享的硬盘存款和储蓄能源,点击完成开关就可以.

#:root客商登入后系统的升迁符

总结

 

 

 

备注:

    作者:pursuer.chen

    博客:http://www.cnblogs.com/chenmh

本站点所有随笔都是原创,欢迎大家转载;但转载时必须注明文章来源,且在文章开头明显处给明链接。

《欢迎交流讨论》

PS:公钥初叶化和达成SSH免密登录的剧本(build-ssh-credit.sh),云顶集团4008,一向拷贝就可接纳。

#!/usr/bin/bash

# 安装expect,minimal没有此rpm包,需联网或有本地yum源
yum install expect -y
expect << EOF
set timeout 10

# 创建公有密钥

spawn ssh-keygen -t rsa
expect {
        "*to save the key" {send "n";exp_continue}
        "*(y/n)" {send "yr";exp_continue}
        "Enter passphrase" {send "n";exp_continue}
        "Enter same passphrase" {send "n";exp_continue}
}

EOF

#  获取/etc/hosts文件中除localhost的映射关系
ip_list=`grep -v 'localhost' /etc/hosts | awk -F ' ' '{print $1,$2}'`
for ip in $ip_list
do
expect << EOF
        set timeout 2

        # 发送公有密钥
        spawn ssh-copy-id root@$ip
        expect {
                "yes/no" {send "yesr";exp_continue}
                "password" {send "000000r";exp_continue}
        }

        # 拷贝/etc/hosts文件到远程机器
        spawn scp /etc/hosts $ip:/etc
        expect {
                "yes/no" {send "yesr";exp_continue}
                "password" {send "rootr";exp_continue}
        }
EOF
done

 

1.3 awk方式相配(条件卡塔 尔(阿拉伯语:قطر‎

方式-pattern  帮衬您找到想要的行

1卡塔 尔(英语:State of Qatar)正则表达式

2)比较

   >

云顶娱乐app下载,   <

   ==

3)范围

4)BEGIN{} END{}

 

1.4 正则表明式

~

某一列中包含xxx

!~

某一列中不包含xxx

^

以....开头的字符(列)

$

以....什么结尾的

.*

所有

^$

空行

转义字符 backslash  脱掉马甲打回原形

[]

匹配[]的每一个字符

+

一个字符出现1次或1次以上

|

或者

()

反向引用,一个整体,保护里面的内容

*

一个字符出现0次或者0次以上

{}

0{n,m} 数字0连续出现了至少n次,最多m次

?

一个字符出现0次或1次

Linux命令

1.4.1 awk正则表明式演习

创立景况

mkdir -p /server/files/

cat >>/server/files/reg.txt<<EOF

Zhang Dandan    41117397   :250:100:175             第一列是姓氏

Zhang Xiaoyu    390320151  :155:90:201              第二列是名字

Meng  Feixue    80042789   :250:60:50               第一第二列合起来就是姓名

Wu    Waiwai    70271111   :250:80:75               第三列是对应的ID号码

Liu   Bingbing  41117483   :250:100:175             最后三列是三次捐款数量 

Wang  Xiaoai    3515064655 :50:95:135

Zi    Gege      1986787350 :250:168:200

Li    Youjiu    918391635  :175:75:300

Lao   Nanhai    918391635  :250:100:175

EOF

exit  用以退出如今的shell

1.4.2 抽出第3列中以数字4初步的行

[root@zeq files]# awk '$3~/^4/' reg.txt    $3 第3列   ~ 包括    ^4 以4开头

Zhang Dandan    41117397   :250:100:175

Liu   Bingbing  41117483   :250:100:175

 

1.4.3 突显Xiaoyu的姓氏和ID号码

[root@zeq files]# awk ' $2~/Xiaoyu/{print $1,$3}' reg.txt  

Zhang 390320151

who  用以体现系统中有怎么着使用者正在上边,显示的材料包括了使用者ID、使用的终端机、从哪些连上来的、上线时间、鸠拙时间、CPU 使用量、动作等等

1.4.4 展现全部以41开头的ID号码的人的姓名和ID号码

[root@zeq files]# awk '$3~/^41/{print $1,$2,$3}' reg.txt

Zhang Dandan 41117397

Liu Bingbing 41117483

awk默许动作

[root@zeq files]# awk  '$3~/^41/' reg.txt

Zhang Dandan    41117397   :250:100:175

Liu   Bingbing  41117483   :250:100:175

[root@zeq files]# awk  '$3~/^41/{print }' reg.txt

Zhang Dandan    41117397   :250:100:175

Liu   Bingbing  41117483   :250:100:175

 

1.4.5 呈现全数ID号码最后壹位数字是1或5的人的真名

方法1

[root@zeq files]# awk '$3~/[15]$/{print $1,$2}' reg.txt     []匹配里面的1和5    $表示以...结尾

Zhang Xiaoyu

Wu Waiwai

Wang Xiaoai

Li Youjiu

Lao Nanhai

方法2

[root@zeq files]# awk '$3~/(1|5)$/{print $1,$2}' reg.txt     |或者   1或者5

Zhang Xiaoyu

Wu Waiwai

Wang Xiaoai

Li Youjiu

Lao Nanhai

whoami  用来展现本身客商名称,本指令相当于实施"id -un"指令

1.4.6 彰显Xiaoyu的捐款.每种值时都有以$开始.如$520$200$135

[root@zeq files]# awk -F: -vOFS=$ '/Xiaoyu/{print "$"$2,$3,$4}' reg.txt

$155$90$201          -F指定:为分隔符    -vOFS=$输出$为分隔符   

 

1.5 awk替换

gsub  awk内置函数

date  用来呈现或设定系统的日子与时光

1.5.1 格式  

gsub(/要替换的从头到尾的经过/,"替换到什么",替换的有的)

 

1.5.2 接“展现Xiaoyu的捐款.每一种值时都有以$开首.如$520$200$135”那意气风发题

[root@zeq files]# awk '{gsub(/:/,"$"); print}' reg.txt       把所有的冒号替换成$

Zhang Dandan    41117397   $250$100$175

Zhang Xiaoyu    390320151  $155$90$201

Meng  Feixue    80042789   $250$60$50

Wu    Waiwai    70271111   $250$80$75

Liu   Bingbing  41117483   $250$100$175

Wang  Xiaoai    3515064655 $50$95$135

Zi    Gege      1986787350 $250$168$200

Li    Youjiu    918391635  $175$75$300

Lao   Nanhai    918391635  $250$100$175

加上条件规范到哪部分

[root@zeq files]# awk '$2~/Xiaoyu/{gsub(/:/,"$"); print $NF}' reg.txt     $NF最后一列

$155$90$201

clear  清屏(Ctrl+l)

1.6 范围

1、从第1行到第5行内容

awk  'NR==1,NR==5'

2、从包括有个别内容的行到包罗某些内容的行

awk  '/内容/,/内容/'

 

1.6.1 展现从第1行到第5行内容

[root@zeq files]# awk 'NR==1,NR==5' reg.txt

Zhang Dandan    41117397   :250:100:175

Zhang Xiaoyu    390320151  :155:90:201

Meng  Feixue    80042789   :250:60:50

Wu    Waiwai    70271111   :250:80:75

Liu   Bingbing  41117483   :250:100:175

su  用于改换为其余使用者的身价,除 root 外,须要键入该使用者的密码

1.6.2 展现包罗Xiaoyu到含有Waiwai的行

[root@zeq files]# awk '/Xiaoyu/,/Waiwai/' reg.txt

Zhang Xiaoyu    390320151  :155:90:201

Meng  Feixue    80042789   :250:60:50

Wu    Waiwai    70271111   :250:80:75

例:su - root    #切换到root用户

1.7 相比表明式

$5>500                第五列大于500

NR>20                 大于第20行的行,20行以后

>  

>=

==

!=                    不等于

<=

< 

 

1.7.1 查看磁盘信息 df -h

[root@zeq files]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sda3        19G  7.8G   10G  44% /

tmpfs           491M     0  491M   0% /dev/shm

/dev/sda1       190M   61M  120M  34% /boot

/dev/sdb1       193M  1.8M  181M   1% /data

cd  用于切换当前专门的学业目录至 dirName(目录参数);当中 dirName 表示法可为相对路线或相对路线。若目录名称省略,则转移至使用者的 home 目录 (相当于刚 login 时所在的目录);别的,"~" 也表示为 home 目录 的意趣,"." 则是象征近年来所在的目录,".." 则代表最近目录地方的上大器晚成层目录

1.7.2 显示出磁盘使用率大于伍分之一的磁盘分区名称和挂载点(错误表率卡塔 尔(英语:State of Qatar)

[root@zeq files]# df -h|awk '$5>20{print $1,$NF}'  

Filesystem on

/dev/sda3 /

/dev/sda1 /boot

[root@zeq files]# df -h|awk '$5>9{print $1,$NF}'   这里会默认$5>9是字符串(字母)而不是比较表达

Filesystem on

例:cd /usr/bin/    #跳到 /usr/bin/

1.7.3 清除方法1     钦赐分隔符只保留数字有的

[root@zeq files]# df -h|awk -F"[% ]+" '$5>9{print $1,$NF}'   

Filesystem on

/dev/sda3 /

/dev/sda1 /boot

想要去掉第一列Filesystem on音讯

[root@zeq files]# df -h|awk 'NR>1 && $5+0>9{print $1,$NF}'   第1行以后(&&并且)

/dev/sda3 /

/dev/sda1 /boot

cd ~    #跳到本身的 home 目录

1.7.4 化解方法2    某一列+0

[root@zeq files]# df -h|awk '$5+0>9{print $1,$NF}'    第5列做比较,第5列加0

/dev/sda3 /

/dev/sda1 /boot

cd ../..    #跳到当下目录的上上两层

1.8 特殊方式 BEGIN{}  END{}

1卡塔 尔(阿拉伯语:قطر‎awk实行的经过

  1.实行命令的参数(赋值卡塔尔 -F -v

     2.BEGIN{} 里面包车型大巴内容 (awk还尚无起来读取文件内容卡塔 尔(英语:State of Qatar)

     3.读取文件内容

        推断是或不是满足条件(情势卡塔尔

        切合 实施命令(动作卡塔 尔(阿拉伯语:قطر‎

        不相符  读取下一行直到最后豆蔻梢头行

动用iSCSI服务配置互连网存款和储蓄【云顶娱乐app下载】,删除历史文件。     4.文件内容读取落成后,起首推行END{}里面包车型大巴剧情

 2卡塔尔国BEGIN{}   里面包车型地铁剧情会在 awk读取文件内容前面实行

        1.展现标题

        2.改善awk内置变量 创立变量

           awk 'BEGIN{OFS=:}'  相当于 awk -vOFS=:

        3.测试 计算

3卡塔尔END{}   awk读取完文件之后 实践

        展现总括结果

        先总结,END呈现结果

 

1.8.1 总计passwd.txt中捏造客商的多寡

[root@zeq files]# cat passwd.txt         查看文件虚拟用户为nologin

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

adm:x:3:4:adm:/var/adm:/sbin/nologin

lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

sync:x:5:0:sync:/sbin:/bin/sync

shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown

halt:x:7:0:halt:/sbin:/sbin/halt

mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin

总括数据

[root@zeq files]# awk  '/nologin$/{i=i+1}END{print i}' passwd.txt      i=i+1相当于i++

6

useradd  用于建设构造用户帐号;帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号;使用useradd指令所创立的帐号,实际上是保存在/etc/passwd文本文件中

1.8.2 计算/etc/services 文件中空行的数码

[root@zeq files]# awk '/^$/{i++}END{print i}' /etc/services

16

 

1.9 awk动作

print

gsub 函数 (命令)

变量 计算

passwd  用来更动使用者的密码

1.9.1 总括磁盘使用率

[root@zeq files]# df

Filesystem     1K-blocks    Used Available Use% Mounted on

/dev/sda3       19534104 8076500  10458644  44% /

tmpfs             502056       0    502056   0% /dev/shm

/dev/sda1         194241   62009    121992  34% /boot

/dev/sdb1         197209    1813    185003   1% /data

[root@zeq files]# df |awk 'NR>1{print $3/$2}'            

0.413456

0

0.319237

0.00919329

例:passwd pd    #设置pd客户的密码

1.9.2 查看内存音信   free    free -h

[root@zeq files]# free

             total       used       free     shared    buffers     cached

Mem:       1004112     806016     198096        236     101452     563232

-/+ buffers/cache:     141332     862780

Swap:       786428        420     786008

 

1.9.3 总括种类内部存款和储蓄器的使用率

[root@zeq files]# free |awk '/Mem/{print ($3-$6-$7)/$2}'

0.140705

[root@zeq files]# free|awk 'NR==3{print $3/($3+$4)}'

0.140705

usermod  用来改进用户帐号的种种设定

1.9.4 计算体系内部存款和储蓄器的剩余率

[root@zeq files]# free|awk 'NR==3{print $4/($3+$4)}'

0.859211

 

1.9.5 设置变量计算连串内部存款和储蓄器的使用率和剩余率

 [root@zeq files]# free|awk 'NR==3{sum=$3+$4;print $3/sum,$4/sum}'    sum为变量

0.140765 0.859235

ls  用于突显钦赐职业目录下之内容(列出如今干活目录所含之文件及子目录)

语法:ls -al name

      ls -i /pd.txt    #查看pd.txt的inode号

-a 彰显全数文件及目录 (ls钦点将文件名或目录名称开端为"."的正是隐蔽档,不会列出)

-l 除文件名称外,亦将文件型态、权限、具有者、文件大小等资源音讯详细列出

 

pwd 用于显示职业目录;试行pwd指令可立即获知你近些日子所在的职业目录的绝

对路径名称

 

cp  重要用以复制文件或目录

 

mv  用来为文件或目录改名、或将文件或目录移入此外地方

例:mv aa bb    #将文件aa更名为bb

mv info/ logs    #将info目录归入logs目录中。注意,即便logs目录一纸空文,则该命令将info改名叫logs

 

mkdir  用于建设构造名字为dirName之子目录

参数:-p 确认保证目录名称存在,不设有的就建贰个

例:mkdir aa    #在干活目录下,创设一个名字为aa的子目录

mkdir -p bb/Test    #在干活目录下的bb目录中,创设二个名字为 Test 的子目录;若bb目录原来不设有,则树立一个;(注:本例若不加 -p,且原来bb目录不设有,则发出错误卡塔 尔(英语:State of Qatar)

 

touch  用来校正文件或然目录的时光属性,包涵存取时间和转移时间;若文件不设有,系统会确立一个新的文件;ls -l 能够彰显档案的年月记下

例:touch text.txt    #新建text.txt

    touch {1..9}.txt    #相当于9条命令,新建1.txt到9.txt

 

rm  用于删除四个文本或然目录

本文由云顶娱乐app下载发布于云顶集团4008,转载请注明出处:动用iSCSI服务配置互连网存款和储蓄【云顶娱乐

关键词: