用脚本来讲一个技术生活的故事

对于生活,用文字表达是一种非常好的方式,作为技术人,我决定使用一个脚本来映射技术生活中的一些小故事,也是在今天突然想到的。
对的,你没有看错,就是下面这个命令。但凡接触过Linux系统,这个命令还是很熟悉的,不熟悉也没有关系,就是查看服务器的磁盘空间。
    df -h
我们像对待艺术品一样围着这个命令,认真的看看它,为什么叫df,想必是Disk Filesystem的意思吧,而为什么是-h选项,你还真想对了,其实-k -g等选项
    -a 显示所有文件系统的磁盘使用情况,包括0块(block)的文件系统,如/proc文件系统。
    -k 以k字节为单位显示。
    -i 显示i节点信息,而不是磁盘块。
    -t 显示各指定类型的文件系统的磁盘空间使用情况。
    -x 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。
    -T 显示文件系统类型。
当然我们的重点不是这里,我们的工作需要查看服务器的磁盘空间情况,所以我们登录服务器,然后在服务器段运行这个命令就可以看到了。
后来,网络进行了隔离,我们不能直接连接到这个服务器了,我们有了中控机,堡垒机,需要输入token,动态口令等。登录之后我们才有权限连接到服务器,当然我们使用的还是df -h的命令。
每天登录到服务器多次,几十次,上百次,发现真是一件体力活,能不能简单一些,我们发现可以使用ssh来简单实现,ssh登录后,直接发送df -h的命令即可。
就像下面的形式:
    ssh 10.127.133.45 "df -h"
一下子感觉我们的生活就解放了很多,配置了网络信任,我们不用每次都苦逼的输入密码,每次输入各种火星文密码也够折腾的。原来生活可以这么简单。
后来工作任务慢慢重了,交到手头的服务器多了,比如我们就说有2台。这下好了,我们只需要对脚本做一些简单的改进就可以了,比如下面的方式。
      ssh 10.127.133.45 "df -h"
     ssh 10.127.133.46 "df -h"
这样确实能够实现我们的需求,而且本身来说也没有什么问题,如果严格来看,就是可以重构一下,硬编码的痕迹太重了。这个脚本让人看到还不得笑话。
于是我们改进一下:
我们写了一个shell脚本如下,当然还用到了function
function ssh_df_h
{
ssh $1 "df -h"
}
ssh_df_h 10.127.133.45
ssh_df_h 10.127.133.46
这样来看这个功能就简化了一些,说实话简化了吗?逻辑上看起来是简化了,好吧,这个也不是重点,当然看起来这个脚本还不错,已经做了解耦和。
后来发现脚本的功能是不是还能够改进,如果我要做其它的操作是不是还要写一个差不多的脚本,重复造轮子的活看起来也是在太没有技术含量了。
我们继续改进,继续做了解耦和。
function ssh_cmd
{
ssh $1 "$2"
}
ssh_cmd 10.127.133.45 "df -h"
ssh_cmd 10.127.133.46 "df -h"
这个时候脚本看起来更加灵活了。你也对服务器列表做了一层定制,让这个脚本看起来更加高大上。看起来工作还是挺完美的了。我们自己用了下感觉还不错,然后就推广到更多的部门去使用。这个对我们也是蛮有成就感的。
然后没几天就出了一个问题,究其原因就是脚本的调用方式如下:
ssh_cmd 10.127.133.45 "rm xxxx"
啊,怎么运行了一个删除命令,这个时候服务器上的文件都被删了。
然后脚本完全禁用,调整了网络,这个时候我们在服务器上只df -h都很难了,而且设定了更多更加严格的安全策略,可以堪称史上最xxxx的。
突然我们发现竟然一夜回到解放前。这会不会是一个循环?


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23718752/viewspace-2120319/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/23718752/viewspace-2120319/

深度学习是机器学习的一个子领域,它基于人工神经网络的研究,特别是利用多层次的神经网络来进行学习和模式识别。深度学习模型能够学习数据的高层次特征,这些特征对于图像和语音识别、自然语言处理、医学图像分析等应用至关重要。以下是深度学习的一些关键概念和组成部分: 1. **神经网络(Neural Networks)**:深度学习的基础是人工神经网络,它是由多个层组成的网络结构,包括输入层、隐藏层和输出层。每个层由多个神经元组成,神经元之间通过权重连接。 2. **前馈神经网络(Feedforward Neural Networks)**:这是最常见的神经网络类型,信息从输入层流向隐藏层,最终到达输出层。 3. **卷积神经网络(Convolutional Neural Networks, CNNs)**:这种网络特别适合处理具有网格结构的数据,如图像。它们使用卷积层来提取图像的特征。 4. **循环神经网络(Recurrent Neural Networks, RNNs)**:这种网络能够处理序列数据,如时间序列或自然语言,因为它们具有记忆功能,能够捕捉数据中的时间依赖性。 5. **长短期记忆网络(Long Short-Term Memory, LSTM)**:LSTM 是一种特殊的 RNN,它能够学习长期依赖关系,非常适合复杂的序列预测任务。 6. **生成对抗网络(Generative Adversarial Networks, GANs)**:由两个网络组成,一个生成器和一个判别器,它们相互竞争,生成器生成数据,判别器评估数据的真实性。 7. **深度学习框架**:如 TensorFlow、Keras、PyTorch 等,这些框架提供了构建、训练和部署深度学习模型的工具和库。 8. **激活函数(Activation Functions)**:如 ReLU、Sigmoid、Tanh 等,它们在神经网络中用于添加非线性,使得网络能够学习复杂的函数。 9. **损失函数(Loss Functions)**:用于评估模型的预测与真实值之间的差异,常见的损失函数包括均方误差(MSE)、交叉熵(Cross-Entropy)等。 10. **优化算法(Optimization Algorithms)**:如梯度下降(Gradient Descent)、随机梯度下降(SGD)、Adam 等,用于更新网络权重,以最小化损失函数。 11. **正则化(Regularization)**:技术如 Dropout、L1/L2 正则化等,用于防止模型过拟合。 12. **迁移学习(Transfer Learning)**:利用在一个任务上训练好的模型来提高另一个相关任务的性能。 深度学习在许多领域都取得了显著的成就,但它也面临着一些挑战,如对大量数据的依赖、模型的解释性差、计算资源消耗大等。研究人员正在不断探索新的方法来解决这些问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值