分类 Unix 下的文章

[总结]Mac OS X显示隐藏文件

打开命令行, 输入以下命令(井号后面的不用复制):

defaults write com.apple.finder AppleShowAllFiles  YES && killall Finder # 打开
defaults write com.apple.finder AppleShowAllFiles  NO && killall Finder #关闭

就是这么简单

[原创]Ubuntu/LinuxMint下右键选择比较文件或目录(类似windows下右键的beyond compare)

LinuxMint下安装svn右键操作, 参考: Ubuntu/LinuxMint下安装rabbitvcs(类似Windows下的Tortoisesvn)

PS: LinuxMint16已经不需要额外添加ppa了,nemo-compare已经纳入到官方库了。所以第一第二步骤可以省略了。

一: 添加cinnamon的ppa源:

sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-stable # 会提示确认, 直接按回车键

二: 更新本地源缓存

sudo apt-get update

三: 安装meld, nemo扩展

sudo apt-get install nemo-compare meld #默认使用meld比较

四: 重启Nemo

killall nemo
nemo

此时随意选中两个文件, 然后点击右键, 会出现一个compare选项, 点击会打开meld进行比较, 也可以单个选择文件或目录, 和windows下beyond compare右键操作一样, 只是变成了英文而已.

五: 使用beyond compare进行比较

vi .config/nemo-compare.conf # 若文件不存在, 记得先随意比较两个文件, 来生成配置
[Settings]
diff_engine_path = bcompare
diff_engine_path_3way = bcompare
diff_engine_path_multi = #此处可留空, 也可输入which bcompare后得到的值
defined_comparators = ['bcompare', 'meld']

重启nemo(第四步), 再次比较文件文件后, 打开的窗口就是beyond compare了. 牛逼透了, 所有的设置都是这么简单...

beyond compare linux版下载地址: http://www.scootersoftware.com/download.php

截图参考:
请输入图片描述

[转载]VIM使用小技巧-重新载入文件

原文地址: VIM使用小技巧-重新载入文件

有时候要使用VIM打开了一些文件,但是在其他地方把次文件改动了,例如使用git进行checkout等操作,需要重新载入此文件。

1 重新载入当前文件:

:e
:e! #放弃当前修改,强制重新载入

2 重新载入所有打开的文件:

:bufdo e 或者 :bufdo :e!
:bufdo命令表示把后面的命令应用到所有buffer中的文件。

参考网址:Refresh all files in buffer from disk in vim, Run a command in multiple buffers

[转载]如何查看某个文件在哪个软件包(rpm)中

参考链接: 如何查看某个文件在哪个软件包中?

我们在Linux中安装软件包时,经常会有缺少某个依赖文件而无法继续。用yum provides可以查看某个文件是包含在哪个软件包中,例如,要查看libstdc++.so.5是属于哪个软件包中,方法如下:

$ yum provides libstdc++.so.5

结果如下:

compat-libstdc++-33-3.2.3-63.i386 : 兼容的标准 C++ 库

非常有用。

另外,如果你想查看本机上已经安装的文件是属于哪个RPM软件包中,还可以用以下方法:

$ rpm -qf /usr/lib/libstdc++.so.6
libstdc++-4.3.0-8.i386

[记录]让Samba支持软连接

参考地址: 让Samba支持软连接,方便开发的实践操作。

家里的系统由centos6换成linuxmint(实在是好用才换)了, 重新配置好samba后,发现里面的一个软链接到pt下载目录的目录不能访问。

测试半天,chcon, chmod, chown,不行,仔细一想,应该是samba下软链接支持问题了,google后,解决,方案如下, 在smb.conf增加以下三行

wide links = yes  
follow symlinks = yes  
unix extensions  = no 

重启smbd服务即可。

[记录]Linux查找和替换目录下所有文件中字符串

原文地址: Linux查找和替换目录下所有文件中字符串

Linux查找和替换目录下所有文件中字符串

单个文件中查找替换很简单,就不说了。文件夹下所有文件中字符串的查找替换就要记忆了,最近部署几十台linux服务器,记录下总结。

查找文件夹下包含字符串的文件
例:查找/usr/local目录下所有包含”rubyer.me”的文件。

grep -lr 'rubyer.me' /usr/local/*

vim替换单个文件中所有字符串方法
例:替换当前文件中所有old为new

:%s/old/new/g

%表示替换说有行,g表示替换一行中所有匹配点。

替换文件夹下包含字符串的文件
sed结合grep
例:要将目录/www下面所有文件中的old都修改成new,这样做:

sed -i "s/old/new/g" `grep old -rl /www`

[记录]vim 记住上一次编辑的位置

打开/etc/vimrc 在最后一行 加入:

if has("autocmd")
    au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif

如果已经有, 去掉注释即可.

[原创]Ubuntu/LinuxMint下安装rabbitvcs(类似Windows下的Tortoisesvn)

参考文章: Ubuntu RabbitVCS

LinuxMint是Ubuntu的一个衍生版, 系统大体一样, 自我感觉LinuxMint比原版Ubuntu好用, 所以本文围绕着LinuxMint展开.

RabbitVCS是Ubuntu下的可视化SVN客户端, 类似Windows下的Tortoisesvn;
安装和Ubuntu下安装差不多, 唯一的区别就是Ubuntu下的文件管理器是Nautilus, LinuxMint下的的Nautilus的分支Nemo.

PS:LinuxMint16已经不需要额外添加ppa了,需要的包都已经纳入官方库,所以第一第二步可以省略,然后第三第四步更改为如下就可以了:

apt-get install rabbitvcs-core nemo-rabbitvcs python-nemo

一: 添加rabbitvcs的ppa源

sudo add-apt-repository ppa:rabbitvcs/ppa # 会提示确认, 直接按回车键

二: 更新本地源缓存

apt-get update

三: 安装rabbitvcs

apt-get install rabbitvcs-core rabbitvcs-cli rabbitvcs-thunar thunarx-python # 若依赖错误, 可手工一个个安装

四: 安装nemo-python, nemo-rabbitvcs插件

apt-add-repository ppa:gwendal-lebihan-dev/cinnamon-stable # 会提示确认, 直接按回车键
apt-get update
apt-get install python-nemo

从这里: python-nemo 下载RabbitVCS.py, 放入到/usr/share/nemo-python/extensions/下, 或直接安装nemo-rabbitvcs

五: 重启Nemo


- 阅读剩余部分 -