共计 2835 个字符,预计需要花费 8 分钟才能阅读完成。
问题
用 Windows 链接 Linux 服务器,方式很多,我最经常用的是 xshell。但是 xshell 没有 mac 版,那用 mac 电脑,比较好的命令行软件是什么呢?我用的是 iTerm2,这个功能确实蛮强大,很多人都在用。但是,你用 iTerm2 链接远程 Linux 服务器,假如你去干别的,一会再回到 iTerm2,你会发现 iTerm2 断线了,苦逼的还要再次进行链接,好麻烦!针对这个有没有什么好的解决方案呢?
链接服务器方式
通过如下命令:
ssh -t root@公网 ip 地址 -p 22
输入用户名和密码,就可以登录到你的 linux 服务器了。但是如果一段时间不操作,再次进入 Terminal 时会有一段时间没有响应,然后就出现错误提示:
Write failed: Broken pipe
这是因为 mac 下的 securecrt 存在丢包现象。
解决方案
情景一:如果您有多台服务器,不想在每台服务器上设置,如下操作:
1、运行命令:
cd ~/.ssh/
2、假如运行命令 ls,没有 config, 新建 config
vim config
3、在 config 在里面输入:
ServerAliveInterval 60
4、保存文件(:x)
在链接 linux 服务器,就不会有断线的问题了。
情景二:如果您有多个人管理服务器,不想在每个客户端进行设置,只需在服务器的 /etc/ssh/sshd_config 中添加如下的配置:
ClientAliveInterval 60
情景三:如果您只想让当前的 ssh 保持连接,可以使用以下的命令:
ssh -o ServerAliveInterval=60 user@sshserver
小结
上面只是总结了一个避免断线的一个小技巧,关于 linux 的命令操作,
关于 mac 电脑的一些常用命令,请看如下 Mac 电脑的一些常用命令
在我的 mac 电脑上操作 grunt,突然发现我用命令行进不了移动硬盘了,因为我的 nodejs 文件是放在移动硬盘里面,mac 命令行如何进入移动硬盘?
怪自己是 mac 的菜鸟,网上查了查,才知道桌面上看到的硬盘都挂在 /Volumes 下
为了让我这个 mac 菜鸟在今后 mac 命令行操作的时候,更快地找到相应地命令,现在总结一下 MAC 电脑的一些常用命令。
mac 电脑常用文件位置
移动硬盘的位置 :
cd /Volumes/ 硬盘名字
根目录位置是:
cd /
ls
驱动所在位置 :
/Systme/Library/Extensions
用户文件夹位置:
/Users/ 用户名
桌面的位置
/Users/ 用户名 /Desktop
在 mac 中查看以上位置文件夹的快捷键
Commond+shift+g
获得权限
为了防止误操作破坏系统,再用户状态下时没有权限操作系统重要文件的,所以先要取得 root 权限
sudo -s
然后输入密码,输入密码时没有任何回显,连星号都没有,只管输完回车就行了。
常用命令
谷歌浏览器调试 F12 快捷键
Commond +shift +C
列出文件
ls 参数 目录名
例: 想看看跟目录下有什么,
ls /
想看看驱动目录下有什么,
ls /System/Library/Extensions
参数 -w 显示中文,-l 详细信息,-a 包括隐藏文件
转换目录
cd
例:想到驱动目录下溜达一圈
cd /System/Library/Extensions
建立新目录
mkdir 目录名
例:在驱动目录下建一个备份目录 backup
mkdir /System/Library/Extensions/backup
在桌面上建一个备份目录 backup
mkdir /User/ 用户名 /Desktop/backup
拷贝文件
cp 参数 源文件 目标文件
例:想把桌面的 Natit.kext 拷贝到驱动目录中
cp -R /Users/ 用户名 /Desktop/Natit.kext /System/Library/Extensions
参数 R 表示对目录进行递归操作,kext 在图形界面下看起来是个文件,实际上是个文件夹。
把驱动目录下的所有文件备份到桌面 backup
cp -R /System/Library/Extensions/* /Users/ 用户名 /Desktop/backup
删除文件
rm 参数 文件
例:想删除驱动的缓存
rm -rf /System/Library/Extensions.kextcache
rm -rf /System/Library/Extensions.mkext
参数-rf 表示递归和强制,千万要小心使用,如果执行了 rm -rf / 你的系统就全没了
移动文件
mv 文件
例:想把 AppleHDA.Kext 移到桌面
mv /System/Library/Extensions/AppleHDA.kext /User/ 用户名 /Desktop
想把 AppleHDA.Kext 移到备份目录中
mv /System/Library/Extensions/AppleHDA.kext /System/Library/Extensions/backup
更改文件权限
chmod 参数 权限 文件
例:把驱动目录下所有文件设定到 root 读写,其他用户只读
chmod -R 755 /System/Library/Extensions
参数 R 表示递归,755 表示各用户的权限
更改文件属主
chown 参数 用户: 组 文件
例:把驱动目录下的所有文件属主改成根用户
chown -R root:wheel /System/Library/Extensions
参数 R 表示递归操作
修复整个系统中文件的权限
diskutil repairpermissions /
严格的说这不是一个 unix 命令,而是 osx 一个软件,记得修改或添加的驱动就执行一次。
文本编辑
nano 文件名
例:编辑 natit Info.plist
nano /System/Library/Extensions/Natit.kext/Info.plist
编辑完成后 用 Ctrl +O 存盘,Ctrl+X 退出
另一个文本编辑软件是 vi,操作有些古怪,熟了是非常好用的,而且在所有类 Unix 系统中都它,走遍天下都不怕了。
运行脚本命令
sh 脚本文件名
例 修改驱动后所有需要的操作存成一个脚本,以后修改了驱动后只要运行一次这个脚本就可以了,方便吧 , 步骤如下:
1. 终端中运行 nano /clean
2. 把下列代码粘贴到 nano 中
rm -rf /System/Library/Extensions.kextcache
rm -rf /System/Library/Extensions.mkext
chown -R root:wheel /System/Library/Extensions
chmod -R 755 /System/Library/Extensions
diskutil repairpermissions /
kextcache -k /System/Library/Extensions/
3. Ctrl +O 存盘,Ctrl+X 退出
4. 以后只要动了驱动,就在终端中运行一次 sh /clean
苹果系统式 Unix 系统,和 Linux 系统操作差不多,假如您对 Linux 系统操作很熟练,详细操作苹果系统肯定也是如鱼得水!
: