[2019.05.09]Linux 学习笔记(3)
最近的心得:
CLI真好用,GUI就是渣渣
1. Bash 里面的命令是可以起别名的,起一个别名的方法是
- alias [Alias]=[command]
command可以是任意长的别名,比如
alias upload=“uemcli -d 10.1*9.**.*5 -u ***** -p ******** -upload -f *****-c4dev_PIE_4192-u**rade-*.0.0.1.3.***-5.0.0.1.3.***.*****6**50-GNOSIS_R***IL.tgz.bin.gpg”
要注意不可以省略掉引号 ——命令里面有空格,bash里面空格是视作用于分割命令的关键字的。
这样以后直接敲upload就可以啦!
甚至还可以骚操作:
> alias upload=“uemcli -d 10.1*9.**.*5 -u ***** -p ******** -upload -f ${fileName}”
> fileName=“*****-c4dev_PIE_4192-u**rade-*.0.0.1.3.***-5.0.0.1.3.***.*****6**50-GNOSIS_R***IL.tgz.bin.gpg”
> upload
2. 由于别名会被记忆住,所以如果临时使用的话你甚至可以这样:
> upload=“uemcli -d 10.1*9.**.*5 -u ***** -p ******** -upload -f *****-c4dev_PIE_4192-u**rade-*.0.0.1.3.***-5.0.0.1.3.***.*****6**50-GNOSIS_R***IL.tgz.bin.gpg”
> $upload
照样可以执行这个指令。
3.CLI的多窗口(可能也是TMUX之所以能写出来原因之一):
在bash里面执行bash命令,会创建一个子进程bash,在其上运行的指令会继承父进程bash的环境变量。
4.管道的理解和应用——自动完成交互式输入
管道是让前一个命令的输出当作后一条命令的输入的一个工具,因此我们利用这一点可以完成自动化交互式输入工作:
你有一条命令:> command deactivate alaert -id alert_1
它的输出:
> You should only deactivate an alert when the issue has been solved. Once the alert has been deact
ivated, it can't be activated again. Do you want to proceed?
> yes / no:
它期待一个yes 或者 no;
你还有一条命令:echo no —— 它会向屏幕输出后面跟着的字符串,你通过管道给他的输出重定向到上面那条指令的输入去,于是:
> echo no | command deactivate alaert -id alert_1
你成功的自动输入了no
> You should only deactivate an alert when the issue has been solved. Once the alert has been deact
ivated, it can't be activated again. Do you want to proceed?
> yes / no: Operation failed. Error code: 0x100001b
> Operation aborted by user. (Error Code:0x100001b)
5.补充一下Winscp链接阿里云连不上的几个可能性。今天在给一个网站做debug的时候发现登不上他们的阿里云,查找了好久找到了解决方案,分享于此
Winscp链接阿里云一般使用SFTP协议,运行在22端口。
1.检查22端口的安全组是否打开TCP和SSH允许:
2.检查云主机的防火墙是否关闭。虽然可以设置允许某些tcp链接进入,但是偶尔的链接还是直接关了防火墙来的比较快,尤其是小网站没啥流量,也就不会有太多危险。
先使用service iptables status 查询防火墙状态,如果是开着的那么久service iptable stop关了它。想要重新打开防火墙只需要重启云主机即可。
3.确定使用的用户名密码是正确的。阿里云主机使用的用户名密码有很多,只有使用了正确的用户名密码才可以登入主机。
这里(上图)的用户名密码是云主机这台linux的root账户密码,其设置/修改位置在下图所示位置:
如果不知道究竟是什么密码就直接重置掉就好。
还有更新会继续持续编辑,加油!