linux系统基础




#!/bin/bash
# 确保提供了文件名
if [ "$#" -ne 1 ]; then
echo "Usage: $0 filename"
exit 1
fi
filename=$1
# 筛选出包含至少四个'a'且不以's'结尾的单词
grep -E 'a.*a.*a.*a' "$filename" | grep -v 's$' > filtered_words.txt
# 统计每个单词的出现频率并排除文件中已经出现的单词
sort filtered_words.txt | uniq -c | sort -nr > word_counts.txt
# 提取出现频率前三的单词
top_three_words=$(head -n 3 word_counts.txt | awk '{print $2}')
# 提取这些单词的末尾三个字母
for word in $top_three_words; do
echo "${word: -3}"
done | sort | uniq -c | sort -nr

以下是作业内容。














SSH端口转发是一种通过SSH协议在本地和远程主机之间建立安全通道,实现端口之间的数据转发的方法。它允许用户在不直接访问目标主机的情况下,通过安全的SSH连接来访问该主机上的服务。通过SSH端口转发,可以将本地端口与远程主机上的服务端口相关联,使得在本地主机上运行的应用程序能够通过SSH隧道与远程主机上的服务进行通信。这种技术通常被用来绕过防火墙等设备穿透到内网,或用于保护TCP连接等,确保传输的内容是安全的。
SSH端口转发可以分为三种类型:
本地转发:表示本地某个端口的数据通信会被转发到目标主机的特定端口。
远程转发:允许从远程主机转发数据到本地主机。
动态转发:这是一种更复杂的转发方式,允许在多个会话之间动态地建立连接。
SSH端口转发的工作原理是利用本地客户机端口映射到服务器端口,SSH可以映射所有的服务器端口到本地端口,但要设置1024以下的端口需要根用户权限。这种技术为其他服务在客户端和服务器端建立了一条安全的传输管道,用于传输其他TCP/IP协议的报文。
简而言之,SSH端口转发是一种利用SSH协议的安全特性,在本地和远程主机之间建立数据通道的技术,它不仅可以保护数据传输的安全,还可以帮助用户绕过网络限制,访问远程服务。


SSH 端口转发,也称为 SSH 隧道,是一种通过 SSH 协议将一个端口从一个网络转发到另一个网络端口的技术。它允许人能够安全地访问位于远程或不同网络中的服务,就像它们在本地主机上一样。端口转发可以用来突破网络隔离(即连接不能直接连接的网络),可以穿透防火墙和 NAT,实现对远程服务的安全访问。SSH 端口转发是一种通过在服务器和客户端间建立加密的 SSH 连接进而实现端口转发的手段。
SSH 端口转发的类型有两种,SSH 本地端口转发和 SSH 远程端口转发。
SSH 本地端口转发(Local Port Forwarding):
本地端口转发是将应用对于本地主机 A 指定端口 X 的访问请求转发给主机 B,交由主机 B 对另一指定主机 C 的指定端口 Z 发起访问。具体步骤大概为:先创建本地端口,再把发往该端口的通信信息经由 SSH 服务器全部转发到一定远程服务器的端口。此时 SSH 服务器作为中介,让本地可以连接到没办法直接连接的远程服务器,转发规则此时在本地建立,这样就能通过 SSH 隧道访问远程主机上的服务。这种方式常用于访问位于远程网络中的服务,例如数据库、Web 服务器等。
SSH 远程端口转发(Remote Port Forwarding):
与本地端口转发的流动方向相反,远程端口转发是将对于远程主机 B 指定端口 Y 的访问请求转发给主机 A,交由主机 A 对另一指定主机 C 的指定端口 Z 发起访问。这种方式较少使用,但可以在某些情况下,比如说需要从远程主机访问本地网络中的资源时使用。远程转发中,建立起 SSH 隧道后,通过远程 SSH 服务器访问本地的计算机,最后转发到目标的端口。


浙公网安备 33010602011771号