• 2017-09-04

    国内某品牌云主机SSH远程后无法在终端显示远程路径的问题

    Views: 271 | No Comments

    如果你用 Mac 自带的 Terminal SSH 远程登录远程主机,那边会在 Terminal 的窗口标题栏显示出类似

    user -- user@host:~
    

    这样的信息。这个信息包含远程主机的用户名,主机名,远程路径等等。非常有用。

    但是,国内某品牌的云主机,却无法显示这些信息。经查,原来该品牌使用的 Linux 系统,/etc/bashrc 文件与其它的不同,我怀疑是该公司的工程师私自改的。他们在文件末尾加上了:

    export HISTSIZE=3000
    export HISTTIMEFORMAT="%F %T "
    export PROMPT_COMMAND="history -a"
    unset HISTCONTROL
    

    正是这一行导致了问题:

    export PROMPT_COMMAND="history -a"
    

    删除即可。

    更新:厂商回复

    您好,这个是我们添加的优化
    目的是在用户在bash上敲了每个命令后,能够及时将命令写入到历史记录文件,防止bash异常退出导致命令没有记录下来,实在不满足您的需求,您可以根据自己的需要考虑取舍。

    又一个"为你好"的坏例子。

    Posted by ideawu at 2017-09-04 16:58:52
  • 2016-06-08

    Linux Shell mv 命令覆盖目标目录

    Views: 3501 | No Comments

    注意, 在Linux命令行下, mv是移动文件或者文件夹(目录), 如果目标路径是文件, 则会覆盖, 但如果目标是目录, 则被移动到目录里面. 有时, 我们需要替换到目标目录. 例如

    mv a tmp/a
    

    我们希望, 最终文件a(可能是文本文件)应该在tmp目录下. 但如果tmp目录已经有同名目录的话, a文件的路径会变成tmp/a/a, 这不是我们希望的.

    解决方法是加上-T参数:

    mv -T a tmp/a
    

    参数说明:

           -T, --no-target-directory
                  treat DEST as a normal file
    

    当然, Mac 不支持这个参数(估计BSD都不支持).

    Posted by ideawu at 2016-06-08 15:49:52
  • 2016-06-08

    iptables 封禁解封 IP

    Views: 3179 | No Comments

    iptables 封禁 IP:

    sudo iptables -I INPUT -s 1.2.3.4 -j DROP
    

    iptables 解封 IP:

    sudo iptables -D INPUT -s 1.2.3.4 -j DROP
    
    Posted by ideawu at 11:45:28
  • 2016-05-10

    一个 GUI 系统的组成部分

    Views: 9363 | No Comments

    在做 iOS 上的 XML+CSS UI 布局框架 CocoaUI 的过程中, 我体会到了 Apple 技术的强大之处, Apple 的底层框架和库提供了强大的功能和友好的 API, 我在开发 GUI 框架(上层 UI 框架)时用到的许多技术功能点都是信手拈来.

    现在总结, 有不少想法, 记下来分享一下.

    首先, iOS 系统为什么那么"好"? 不仅开发者觉得好, 最终用户用起来也觉得棒! 对比看 Android 的软件界面, 毛毛糙糙, 生硬, 总是缺了很多神韵. 这当然有屏幕硬件的功能, 但软件技术的作用更多, 因为从公开的资料上看, 不少 Android 厂商使用了和苹果同类的硬件.

    Continue reading »

    Posted by ideawu at 2016-05-10 16:31:03
  • 2016-05-04

    ssh远程执行命令

    Views: 3935 | No Comments

    有时候我们希望在远程服务器上执行一些命令, 但不想ssh到远程之后再执行这些命令, 那么, 可以用下面的方法:

    ssh -t me@127.0.0.1 "sudo ls /tmp"
    

    -t 参数模拟一个终端, 以便 sudo 命令能够执行.

    Posted by ideawu at 2016-05-04 10:59:11
  • 2016-05-03

    Mac远程ssh出现LC_CTYPE错误的解决

    Views: 5469 | 1 Comment

    使用 Mac 系统的终端 ssh Linux 时, 总是提示

    -bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
    

    即使在 Linux 上面修改了 locale 也没用. 原来, 这是 Mac 自己搞的鬼, 它会擅作主张地在你登录远程终端时设置 locale 为 UTF-8, 和服务器设置无关. 所以, 要解决只能修改 Mac 自己的配置文件.

    修改/etc/ssh_config, 注释掉下面的行即可:

    SendEnv LANG LC_*
    
    Posted by ideawu at 2016-05-03 10:03:50
|<<<123456789>>>| 1/14 Pages, 83 Results.