OPS Notes By 枯木

Linux Tips

1、给Linux man一点颜色看看

~/.bashrc或者~/.bash_profile中加入如下内容,source即可生效

1
2
3
4
5
6
7
export LESS_TERMCAP_mb=$'\E[01;31m'
export LESS_TERMCAP_md=$'\E[01;31m'
export LESS_TERMCAP_me=$'\E[0m'
export LESS_TERMCAP_se=$'\E[0m'
export LESS_TERMCAP_so=$'\E[01;44;33m'
export LESS_TERMCAP_ue=$'\E[0m'
export LESS_TERMCAP_us=$'\E[01;32m'

2、通过文件添加Swap分区

  • a、生成实际需求大小的文件
    • dd if=/dev/zero of=/swapfile bs=1024 count=65536
  • b、把生成的文件格式化成swap
    • mkswap /swapfile
  • c、使swap文件生效,但是自动重启之后就会失效
    • swapon /swapfile
  • d、加入以下内容到/etc/fstab配置文件中使重启swap自动生效
    • /swapfile swap swap defaults 0 0
  • e、关闭
    • swapoff /swapfile并删除/etc/fstab文件中内容

3、查看某个进程占用Swap大小

  • 方法1、topf键输入p回车即可
  • 方法2、grep --color -i swap /proc/pid/status

4、RHEL常用Yum源

  • 源1、epel企业版Linux附加软件包
    • rhel6 x86_64 rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
    • rhel5 x86_64 rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
  • 源2、RepoForge CentOS社区认为是最安全也是最稳定的一个软件仓库
    • rhel6 x86_64 rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
    • rhel5 x86_64 rpm -ivh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el5.rf.x86_64.rpm
  • 源3、网易163 mirrors 搜狐 mirrors

5、bash history记录命令执行时间

1
2
3
4
5
6
kumu-opsdev ~ # export HISTTIMEFORMAT='%F %T '
kumu-opsdev ~ # history | less
   39  2013-07-31 09:54:33 ls
   40  2013-07-31 09:54:35 su - test
   41  2013-07-31 09:54:39 ls
   42  2013-07-31 10:54:40 chmod 700 a

6、避免程序因网络原因/窗口意外断开中断

  • 使用tmux/screen等工具
  • 使用nohup 程序名 &或者setsid 程序名 &或者(命令名 &) 参考文章
  • 如果服务已经在运行了,则可以使用disown来完成
    • 1、Ctrl+z 使当前程序睡眠
    • 2、jobs 查看后台id号
    • 3、bg %jobid 让程序后台运行
    • 4、disown -h %jobid 使运行程序忽略HUP信号

7、Linux终端录制和回放

  • scriptscriptreplay命令
  • 【 script负责录制 | scriptreplay负责回放 】 参考文章
1
2
3
4
# script -t 2> test.time -a test.txt    # 录制,存入历史到test.txt
... ...
# exit                                  # 退出录制
# scriptreplay test.time test.txt       # 终端回放

8、退出无响应的ssh连接

  • 快捷键~. [波浪线和点]

9、ssh配置文件定义ssh连接端口

  • 为方便连接,可以在~/.ssh/config文件中定义ssh连接端口和私钥等
1
2
3
4
# ~/.ssh/config
HOST 172.16.*.*
    Port 22222
    IdentityFile ~/.ssh/kumu_id_rsa

10、vim分屏功能

  • vim打开多个文件横屏-o选项: vim -o2 /etc/passwd test1 test2 [n是数字,表示分成几个屏]
    • 上下切换使用Ctrl+w+上下方向键
  • vim打开多个文件竖屏-O 选项: vim -O2 /etc/passwd test1 test2 [n是数字,表示分成几个屏]
    • 上下切换使用Ctrl+w+左右方向键
  • 在vim中打开文件分屏
    • split 文件名 横屏
    • vsplit 文件名 竖屏

11、显示bash当前所在层级

  • 变量SHLVL
1
2
kumu-opsdev ssh # echo $SHLVL
2

12、清空内存缓存

1
echo 3 > /proc/sys/vm/drop_caches

13、rsync同步目录指定文件

有时候有需求只同步rsync库中单个文件,则可以通过如下方式同步

1
2
RSYNC_PASSWORD=your_pass rsync -az --include=filename --exclude=* \
    test@test.com::test /test/

14、crontab百分号

当写crontab时,如果命令中有%号的时候,需要使用\转移,否则计划任务会执行失败

15、ssh controlmaster选项

有时用ssh使用密码登陆多个相同主机时,为避免多次输入密码,可以在~/.ssh/config文件中加入如下选项

1
2
3
Host *
    controlmaster auto
    controlPath ~/.ssh/master-%r@%h:%p  # 会话保存位置和格式

Comments