Linux命令之mount
一、命令简介   Unix系统中可访问的所有文件都排列在一棵大树中,即文件层次结构,根在/。这些文件可以分布在多个设备上。mount命令用于将某些设备上的文件系统附加到大文件树。相反,umount命令将再次将其分离。mount是Linux下常用命令,它可以将分区挂接到Linux的一个文件夹下,从而将分区和该目录联系起来,因此我们只要访问这个文件夹,就相当于访问该分区了。

二、使用示例
1、获取命令帮助
[root@s142 ~]# mount --hlep

2、查看命令版本
[root@s142 ~]# mount -V
mount from util-linux 2.23.2 (libmount 2.23.0: selinux, debug, assert)

3、查看系统所有挂载
[root@s142 ~]# mount -l
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=1928120k,nr_inodes=482030,mode=755)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)

4、挂载光盘
[root@s142 opt]# mkdir -p /mnt/cdrom
[root@s142 opt]# mount /dev/cdrom /mnt/cdrom
mount: /dev/sr0 is write-protected, mounting read-only
[root@s142 opt]# ll /mnt/cdrom/
total 686
-rw-rw-r–. 1 root root 14 Nov 25 2018 CentOS_BuildTag
drwxr-xr-x. 3 root root 2048 Nov 25 2018 EFI
-rw-rw-r–. 1 root root 227 Aug 30 2017 EULA
-rw-rw-r–. 1 root root 18009 Dec 9 2015 GPL
drwxr-xr-x. 3 root root 2048 Nov 25 2018 images
drwxr-xr-x. 2 root root 2048 Nov 25 2018 isolinux
drwxr-xr-x. 2 root root 2048 Nov 25 2018 LiveOS
drwxrwxr-x. 2 root root 663552 Nov 25 2018 Packages
drwxrwxr-x. 2 root root 4096 Nov 25 2018 repodata
-rw-rw-r–. 1 root root 1690 Dec 9 2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r–. 1 root root 1690 Dec 9 2015 RPM-GPG-KEY-CentOS-Testing-7
-r–r--r–. 1 root root 2883 Nov 25 2018 TRANS.TBL

5、挂载iso镜像文件
(base) [root@sun-site ~]# mkdir -p /mnt/vcdrom
(base) [root@sun-site ~]# mount -o loop -t iso9660 /opt/CentOS-7.0-1406-x86_64-DVD.iso /mnt/vcdrom
mount: /dev/loop0 is write-protected, mounting read-only

6、挂载U盘
(base) [root@s186 /]# mount /dev/sdb /mnt/usb/
mount: /dev/sdb 写保护,将以只读方式挂载

7、挂载NFS网络共享盘

(base) [root@s186 ztimport]# mount -t nfs 192.168.0.204:/disk4 /mnt/bf

Linux系统中mount和nc命令详细使用方法_linux

8、挂载windows共享目录
#挂载的时候要加上-t参数指定类型,所以必须使用root用户挂载,如果挂载后普通用户需要写入,需要指定file_mode=0777,dir_mode=0777,否则只有root用户可以写入,普通用户只读。
root@vanfonuat:/# mount -t cifs -o user=everyone,file_mode=0777,dir_mode=0777 ​​//192.168.0.8/SHARE​​ /sharedata
Password for everyone@​​//192.168.0.8/SHARE:​​

9、取消挂载
(base) [root@s186 ztimport]# umount /mnt/bf

三、使用语法及参数说明
1、使用语法
用法:
mount [-lhV]
mount -a [选项]
mount [选项] [–source] <源> | [–target] <目录>
mount [选项] <源> <目录>
mount <操作> <挂载点> [<目标>]

2、参数说明
参数 参数说明
-a, --all 挂载 fstab 中的所有文件系统
-c, --no-canonicalize 不对路径规范化
-f, --fake 空运行;跳过 mount(2) 系统调用
-F, --fork 对每个设备禁用 fork(和 -a 选项一起使用)
-T, --fstab <路径> /etc/fstab 的替代文件
-h, --help 显示此帮助并退出
-i, --internal-only 不调用 mount.<类型> 助手程序
-l, --show-labels 列出所有带有指定标签的挂载
-n, --no-mtab 不写 /etc/mtab
-o, --options <列表> 挂载选项列表,以英文逗号分隔
-O, --test-opts <列表> 限制文件系统集合(和 -a 选项一起使用)
-r, --read-only 以只读方式挂载文件系统(同 -o ro)
-t, --types <列表> 限制文件系统类型集合
–source <源> 指明源(路径、标签、uuid)
–target <目标> 指明挂载点
-v, --verbose 打印当前进行的操作
-V, --version 显示版本信息并退出
-w, --rw, --read-write 以读写方式挂载文件系统(默认)
-h, --help 显示此帮助并退出
-V, --version 输出版本信息并退出
-L, --label <标签> 同 LABEL=
-U, --uuid <uuid> 同 UUID=
LABEL=<标签> 按文件系统标签指定设备
UUID=<uuid> 按文件系统 UUID 指定设备
PARTLABEL=<标签> 按分区标签指定设备
PARTUUID=<uuid> 按分区 UUID 指定设备
<设备> 按路径指定设备
<目录> 绑定挂载的挂载点(参阅 --bind/rbind)
<文件> 用于设置回环设备的常规文件
-B, --bind 挂载其他位置的子树(同 -o bind)
-M, --move 将子树移动到其他位置
-R, --rbind 挂载其他位置的子树及其包含的所有挂载
–make-shared 将子树标记为 共享
–make-slave 将子树标记为 从属
–make-private 将子树标记为 私有
–make-unbindable 将子树标记为 不可绑定
–make-rshared 递归地将整个子树标记为 共享
–make-rslave 递归地将整个子树标记为 从属
–make-rprivate 递归地将整个子树标记为 私有
–make-runbindable 递归地将整个子树标记为 不可绑定
-o async 打开非同步模式,所有的档案读写动作都会用非同步模式执行。
-o sync 在同步模式下执行。
-o atime、-o noatime 当 atime 打开时,系统会在每次读取档案时更新档案的『上一次调用时间』。当我们使用 flash 档案系统时可能会选项把这个选项关闭以减少写入的次数。
-o auto、-o noauto 打开/关闭自动挂上模式。
-o defaults 使用预设的选项 rw, suid, dev, exec, auto, nouser, and async.
-o dev、-o nodev-o exec、-o noexec 允许执行档被执行。
-o suid、-o nosuid 允许执行档在 root 权限下执行。
-o user、-o nouser 使用者可以执行 mount/umount 的动作。
-o remount 将一个已经挂下的档案系统重新用不同的方式挂上。例如原先是唯读的系统,现在用可读写的模式重新挂上。
-o ro 用唯读模式挂上。
-o rw 用可读写模式挂上。
-o loop= 使用 loop 模式用来将一个档案当成硬盘分割挂上系统。
3、文件系统类型
光盘或光盘镜像:iso9660
DOS fat16文件系统:msdos
Windows 9x fat32文件系统:vfat
Windows NT ntfs文件系统:ntfs
Mount Windows文件网络共享:smbfs
UNIX(LINUX) 文件网络共享:nfs

Linux命令之nc命令

一、命令简介
  nc是netcat的简写,是一个功能强大的网络工具,有着网络界的瑞士军刀美誉。nc命令在linux系统中实际命令是ncat,nc是软连接到ncat。nc命令的主要作用如下:

实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定端口
端口的扫描,nc可以作为client发起TCP或UDP连接
机器之间传输文件
机器之间网络测速
  nc如果找不到nc命令可以使用yum install -y nc安装,其中centos6系统安装的是nc-1.84-24.el6.x86_64,centos7安装的是nmap-ncat-6.40-19.el7.x86_64。

二、使用示例
1、验证服务器端口是否通
如下验证172.16.7.78服务器的80端口通,81端口不通。

Linux系统中mount和nc命令详细使用方法_linux_02

2、拷贝文件
首先在文件接收终端test2机器上激活nc监听

Linux系统中mount和nc命令详细使用方法_命令_03

然后在文件发送终端test1机器上发送文件

Linux系统中mount和nc命令详细使用方法_命令_04

在test2上检查文件是否已成功接收

Linux系统中mount和nc命令详细使用方法_命令_05

3、终端之间通信聊天
test1主机上启动nc监听,ctrl+C中断通信。

Linux系统中mount和nc命令详细使用方法_linux_06

test2上连接监听,ctrl+C中断通信。

Linux系统中mount和nc命令详细使用方法_命令_07

4、端口扫描
端口扫描,通的端口返回succeeded,不通的端口返回refused。此扫描基于nc-1.84-24.el6.x86_64。
[root@test1 /]# nc -v -w 1 172.16.7.78 -z 22-81
Connection to 172.16.7.78 22 port [tcp/ssh] succeeded!
nc: connect to 172.16.7.78 port 23 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 24 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 25 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 26 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 27 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 28 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 29 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 30 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 31 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 32 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 33 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 34 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 35 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 36 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 37 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 38 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 39 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 40 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 41 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 42 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 43 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 44 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 45 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 46 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 47 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 48 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 49 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 50 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 51 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 52 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 53 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 54 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 55 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 56 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 57 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 58 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 59 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 60 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 61 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 62 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 63 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 64 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 65 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 66 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 67 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 68 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 69 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 70 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 71 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 72 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 73 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 74 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 75 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 76 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 77 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 78 (tcp) failed: Connection refused
nc: connect to 172.16.7.78 port 79 (tcp) failed: Connection refused
Connection to 172.16.7.78 80 port [tcp/http] succeeded!
nc: connect to 172.16.7.78 port 81 (tcp) failed: Connection refused

5、验证UDP端口
[root@test1 ~]# nc -uvz 192.168.0.125 111
Ncat: Version 7.50 ( ​​https://nmap.org/ncat​​ )
Ncat: Connected to 192.168.0.125:111.
Ncat: UDP packet sent successfully
Ncat: 1 bytes sent, 0 bytes received in 2.04 seconds.

6、测速网速
测速网速需要结合dstat命令查看。

安装dstat命令
[root@test1 ~]# yum install -y dstat
[root@test2 ~]# yum install -y dstat

test1主机上监听端口
[root@test1 ~]# nc -l 33333 >/dev/null

test2主机上发送数据,全0数据
[root@test2 ~]# nc 192.168.0.124 33333 </dev/zero

查看流量
[root@test1 ~]# dstat
[root@test2 ~]# dstat

Linux系统中mount和nc命令详细使用方法_命令_08

三、使用语法及参数说明
1、使用语法
用法:ncat [options] [hostname] [port]

2、参数说明
参数 参数说明
-4 Use IPv4 only
-6 Use IPv6 only
-U, --unixsock 仅使用Unix域套接字
-C, --crlf 将crlf用于EOL序列
-c, --sh-exec <command> 通过/bin/sh执行给定的命令
-e, --exec <command> 执行给定的命令
–lua-exec <filename> 执行给定的lua脚本
-g hop1[,hop2,…] 松散源路由跃点(最多8个)
-G <n> 松散源路由跃点指针(4,8,12,…)
-m, --max-conns <n> 最大同时连接数
-h, --help 帮助显示此帮助屏幕
-d, --delay <time> 读/写之间的延迟
-o, --output <filename> 将会话数据转储到文件
-x, --hex-dump <filename> 将会话数据作为十六进制转储到文件
-i, --idle-timeout <time> 空闲读/写超时
-p, --source-port port 指定要使用的源端口
-s, --source addr 指定要使用的源地址(不影响-l)
-l, --listen 绑定并侦听传入连接
-k, --keep-open 在侦听模式下接受多个连接
-n, --nodns 不通过DNS解析主机名
-t, --telnet 应答telnet协商
-u, --udp 使用udp而不是默认TCP
–sctp 使用sctp而不是默认的TCP
-v, --verbose 设置详细级别(可以多次使用)
-w, --wait <time> 连接超时时间,单位秒
-z 仅报告连接状态
–append-output 追加而不是重击指定的输出文件
–send-only 忽略接收;退出EOF
–recv-only 从不发送任何东西
–allow 给定主机连接到Ncat
–allowfile 允许连接到Ncat的主机的文件
–deny 给定主机连接到Ncat
–denyfile 拒绝连接到Ncat的主机文件 –broker 启用Ncat的连接模式
–chat 开始一个简单的Ncat聊天服务器
–proxy <addr[:port]> 指定要通过代理的主机地址
–proxy-type <type> 指定代理类型(“http”或“socks4”或“socks5”)
–proxy-auth <auth> 通过HTTP或SOCKS代理服务器进行身份验证
–ssl 使用ssl连接或侦听
–ssl-cert 指定用于侦听的ssl证书文件(PEM)
–ssl-key 指定用于侦听的ssl私钥(PEM)
–ssl-verify 证书的信任和域名
–ssl-trustfile 包含可信ssl证书的PEM文件
–ssl-ciphers Cipherlist包含要使用的ssl密码
–version 查看命令版本 ​