[命令] Linux 命令 test (比较数值)

内容一:test 的数值比较符号和方法

1) -eq 相等则结果为真
2) -ne 不等于则结果为真
3) -gt 大于则结果为真
4) -lt 小于则结果为真
5) -ge 大于或等于则结果为真
6) -le 小于或等于则结果为真

内容二:test 的数值比较案例

# test 0 -ne 1
# echo $?
0

(补充:这里以测试 0 是否不等于 1 为例)

[步骤] sftp 的搭建

步骤目录:

步骤一:创建 sftp 用户的组

步骤二:创建用于 sftp 的主目录
2.1 创建用于 sftp 的主目录
2.2 设置用于 sftp 的主目录的所属组和所属主
2.3 设置用于 sftp 的主目录的权限

步骤三:开启 sftp 服务
3.1 修改 sshd 配置文件
3.2 重启 sshd 服务

步骤四:创建 sftp 用户
4.1 创建 sftp 用户
4.1.1 创建 sftp 用户
4.1.2 给 sftp 用户设置密码
4.2 创建 sftp 用户的主目录
4.2.1 创建 sftp 用户的主目录
4.2.2 设置 sftp 用户的主目录的所属组和所属主
4.2.3 设置 sftp 用户的主目录的权限
4.3 创建 sftp 用户有写入权限的目录
4.3.1 创建 sftp 用户有写入权限的目录
4.3.2 设置 sftp 用户有写入权限的目录的所属组和所属主
4.3.3 创建 sftp 用户有写入权限的目录的权限

步骤五: sftp 的使用
5.1 登陆 sftp
5.2 sftp 可使用的命令
5.2.1 查看当前目录下的所有文件和目录
5.2.2 创建某一个目录
5.2.3 从被远程的主机上下载一个文件
5.2.4 将本地的一个文件上传到被远程的主机上

具体的操作步骤:

步骤一:创建 sftp 用户的组

# groupadd sftp

步骤二:创建用于 sftp 的主目录
2.1 创建用于 sftp 的主目录

# mkdir /sftp

(补充:这里以创建 /sftp 目录为例)

2.2 设置用于 sftp 的主目录的所属组和所属主

# chown root:sftp /sftp

(补充:这里以给 /sftp 设置 root 主和 sftp 组为例)

2.3 设置用于 sftp 的主目录的权限

# chmod 755 /sftp

(补充:这里以给 /sftp 目录权限为例)

步骤三:开启 sftp 服务
3.1 修改 sshd 配置文件

# vim /etc/ssh/sshd_config

将以下内容:

......
Subsystem       sftp    /usr/libexec/openssh/sftp-server
......

修改为:

......
# Subsystem       sftp    /usr/libexec/openssh/sftp-server
......

并添加以下内容:

......
Subsystem       sftp    internal-sftp
Match Group sftp
ChrootDirectory /sftp/%u
ForceCommand    internal-sftp
AllowTcpForwarding no
X11Forwarding no


补充:这里以
(1)sftp 的所属组是 sftp
(2)以 /sftp/%u 作为 sftp 的家目录
为例

3.2 重启 sshd 服务

# systemctl restart sshd

步骤四:创建 sftp 用户
4.1 创建 sftp 用户
4.1.1 创建 sftp 用户

# useradd -g sftp -s /bin/false sftpuser

(补充:这里以创建名为 sftpuser ,所属组为 sftp,解释器是 /bin/false 的用户为例)

4.1.2 给 sftp 用户设置密码

# passwd sftpuser

(补充:这里以给 sftpuser 用户设置密码为例)

4.2 创建 sftp 用户的主目录
4.2.1 创建 sftp 用户的主目录

# mkdir /sftp/sftpuser

(补充:这里以创建 /sftp/sftpuser 目录为例)

4.2.2 设置 sftp 用户的主目录的所属组和所属主

# chown root:sftp /sftp/sftpuser

(补充:这里以给 /sftp/sftpuser 设置 root 主和 sftp 组为例)

4.2.3 设置 sftp 用户的主目录的权限

# chmod 755 /sftp/sftpuser

(补充:这里以给 /sftp/sftpuser 目录权限为例)

4.3 创建 sftp 用户有写入权限的目录
4.3.1 创建 sftp 用户有写入权限的目录

# mkdir /sftp/sftpuser/write

(补充:这里以创建 /sftp/sftpuser/write 目录为例)

4.3.2 设置 sftp 用户有写入权限的目录的所属组和所属主

# chown sftpuser:sftp /sftp/sftpuser/write

(补充:这里以给 /sftp/sftpuser/write 设置 sftpuser 主和 sftp 组为例)

4.3.3 创建 sftp 用户有写入权限的目录的权限

# chmod 755 /sftp/sftpuser/write

(补充:这里以给 /sftp/sftpuser/write 目录权限为例)

步骤五: sftp 的使用
5.1 登陆 sftp

# sftp sftpuser@127.0.0.0.1

(补充:这里以使用 sftpuser 用户登陆 IP 地址为 127.0.0.1 的 sftp 为例)

5.2 sftp 可使用的命令
5.2.1 查看当前目录下的所有文件和目录

sftp> ls

5.2.2 创建某一个目录

sftp> mkdir test

(补充:这里以创建 test 目录为例)

5.2.3 从被远程的主机上下载一个文件

sftp> get test.txt

(补充:这里以下载 test.txt 文件为例)

5.2.4 将本地的一个文件上传到被远程的主机上

sftp> put local.txt

(补充:这里以上传 local.txt 文件为例)

[命令] Linux 命令 xargs (替代参数)

内容目录:

内容一:理解 xargs 的作用
1.1 Linux 命令可接收的内容
1.2 Linux 命令对可接收内容的态度
1.3 xargs 的作用
1.4 理解 xargs 作用的案例
1.4.1 准备一个用于测试的文件
1.4.2 测试没有 xargs 命令的情况

内容二:xargs 的使用案例
2.1 案例一:xargs 对参数进行分行
2.2 案例二:xargs 指定分割参数的分割符
2.3 案例三:xargs 不输出参数,而是将参数传输给后面的命令,并让此命令使用此参数执行
2.4 案例四:xargs 只输出前几个参数

具体的内容:

内容一:理解 xargs 的作用
1.1 Linux 命令可接收的内容

1) 第一种内容是输入
2) 第二中内容是参数

1.2 Linux 命令对可接收内容的态度

1) 有些命令既可以接收输入也可以接受参数
2) 有些命令只能接收输入
3) 有些命令只能接收参数

1.3 xargs 的作用

当管道符号 “|” 将前一个命令的输出结果转换为下一个命令的输入时,再将此输入转换为参数

1.4 理解 xargs 作用的案例
1.4.1 准备一个用于测试的文件

# echo "This is a test file" > test.txt

1.4.2 测试没有 xargs 命令的情况

# echo test.txt | cat
test.txt

(补充:此时 test.txt 对于 cat 而言是输入)

1.4.3 测试有 xargs 命令的情况

# echo test.txt | xargs cat
This is a test file

(补充:此时 test.txt 对于 cat 而言是参数)

内容二:xargs 的使用案例
2.1 案例一:xargs 对参数进行分行

# echo aa bb cc dd ee | xargs -n 2
aa bb
cc dd
ee

(补充:这里是设置每 2 个参数为一行)

2.2 案例二:xargs 指定分割参数的分割符

# echo aa@bb@cc@dd@ee | xargs -d @
aa bb cc dd ee

(补充:这里是将 @ 设置为分割符)

2.3 案例三:xargs 不输出参数,而是将参数传输给后面的命令,并让此命令使用此参数执行

# echo aa@bb@cc@dd@ee | xargs -d @ -p echo
echo aa bb cc dd ee
 ?...y
aa bb cc dd ee

(补充:这里需要在提示是否执行 echo aa bb cc dd ee 时输入 y 以确认)

2.4 案例四:xargs 只输出前几个参数

# echo aa bb cc dd ee | xargs -E cc echo
aa bb

(补充:这里只输出在 cc 之前的参数)

(注意:当使用了 -d 参数后,-E 参数会实效)