linux中更改文件及文件夹所有者命令chown使用详解

作者:一起写诗 发布时间:July 28, 2010 分类:Linux No Comments

指令名称 : chown 使用权限 : root
使用方式 : chown [-cfhvR] [--help] [--version] user[:group] file…
利用 chown 可以将档案的拥有者加以改变。这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。

参数:
-c或-change:作用与-v相似,但只传回修改的部分
-f或–quiet或–silent:不显示错误信息
-h或–no-dereference:只对符号链接的文件做修改,而不更改其他任何相关文件
-R或-recursive:递归处理,将指定目录下的所有文件及子目录一并处理
-v或–verbose:显示指令执行过程
–dereference:作用和-h刚好相反
–help:显示在线说明
–reference=<参考文件或目录>:把指定文件或目录的所有者与所属组,统统设置成和参考文件或目录的所有者与所属组相同
–version:显示版本信息

chown命令使用举例:

# chown [-R] [用户名称] [文件或目录]
# chown[-R] [用户名称:组名称] [文件或目录]

范例1:将test3.txt文件的属主改为test用户。

# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt
# chown test:root test3.txt
# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59

范例2:chown所接的新的属主和新的属组之间可以使用:连接,属主和属组之一可以为空。如果属主为空,应该是“:属组”;如果属组为空,“:”可以不用带上。

# ls -l test3.txt
-rw-r–r– 1 test root 0 2009-10-23 9:59 test3.txt
# chown :test test3.txt <==把文件test3.txt的属组改为test
# ls -l test3.txt
-rw-r–r– 1 test test 0 2009-10-23 9:59 test3.t

xt
范例3:chown也提供了-R参数,这个参数对目录改变属主和属组极为有用,可以通过加 -R参数来改变某个目录下的所有文件到新的属主或属组。

# ls -l testdir <== 查看testdir目录属性
drwxr-xr-x 2 usr root 0 2009-10-56 10:38 testdir/ <==文件属主是usr用户,属组是 root用户
# ls -lr testdir <==查看testdir目录下所有文件及其属性
total 0
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test1.txt
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test2.txt
-rw-r–r– 1 usr root 0 2009-10-23 10:38 test3.txt
# chown -R test:test testdir/ <==修改testdir及它的下级目录和所有文件到新的用户和用户组
# ls -l testdir
drwxr-xr-x 2 test test 0 2009-10-23 10:38 testdir/
# ls -lr testdir
total 0
-rw-r–r– 1 test test 0 2009-10-23 10:38 test1.txt
-rw-r–r– 1 test test 0 2009-10-23 10:38 test2.txt
-rw-r–r– 1 test test 0 2009-10-23 10:38 test3.txt

apache错误:Internal Server Error

作者:一起写诗 发布时间:July 23, 2010 分类:Apache No Comments

一:出现错误
把.htaccess配置好,放到WEB根目录下,设置好了一条首页规则.然后用localhost/index.html访问网页时,出现了错误提示

Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, admin@localhost and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.

二:跟踪错误
去 Apache\logs\error.log里面去找相关错误的详细提示:

.htaccess: Invalid command 'RewriteEngine', perhaps misspelled or defined by a module not included in the server configuration

说明.htaccess中定义的RewriteEngine根本就没有起作用,问题肯定就是处在httpd.conf 这个配置文件里面了。

三:解决错误
加载rewrite模块,在httpd.conf文件里加上如下代码:

LoadModule rewrite_module modules/mod_rewrite.so

也可以直接去掉LoadModule rewrite_module modules/mod_rewrite.so前的注释“#”

C#里面中将字符串转为变量名

作者:一起写诗 发布时间:July 22, 2010 分类:C#/ASP.Net No Comments

public partial class Form1 : Form
    {
        string str = "spp";
        public string spp = "very good";
 
        public Form1()
        {
            InitializeComponent();
 
            MessageBox.Show(this.GetType().GetField(str).GetValue(this).ToString());
        }
    }

c# 修饰符

作者:一起写诗 发布时间:July 12, 2010 分类:C#/ASP.Net No Comments

1、 访问修饰符、
指定声明的类型和类型成员的可访问性。

  • public:是类型和类型成员的访问修饰符。公共访问是允许的最高访问级别。对访问公共成员没有限制。
  • private:是一个成员访问修饰符。私有访问是允许的最低访问级别。私有成员只有在声明它们的类和结构体中才是可访问的。
  • internal:是类型和类型成员的访问修饰符。只有在同一程序集的文件中,内部类型或成员才是可访问的。
  • protected:是一个成员访问修饰符。受保护成员在它的类中可访问并且可由派生类访问。

2、abstract:指示某个类只能是其他类的基类。
可以和类、方法、属性、索引器及事件一起使用。在类声明中使用 abstract修饰符以指示某个类只能是其他类的基类。标记为抽象或包含在抽象类中的成员必须通过从抽象类派生的类来实现。

阅读剩余部分...

WAMP Server设置Mysql密码

作者:一起写诗 发布时间:June 14, 2010 分类:Default,PHP No Comments

安装完wamp进入phpmyadmin后会提示root密码为空。

直接在phpmyadmin后台修改密码。

然后打开phpmyadmin目录下的config.inc.php

$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '123456';

IE和firefox通用的复制到剪贴板的JS函数

作者:一起写诗 发布时间:June 8, 2010 分类:JS/JQ/Ajax/ No Comments

<script language="JavaScript">
	function copyUrl(txt){
		if(window.clipboardData) {   
			window.clipboardData.clearData();   
			window.clipboardData.setData("Text", txt);   
			alert("复制成功,您可以用Ctrl+V粘贴到你的QQ/MSN上推荐给你的好友了");  
		} else if(navigator.userAgent.indexOf("Opera") != -1) {   
			window.location = txt;   
		} else if (window.netscape) {   
			try {   
				netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");   
			} catch (e) {   
				alert("被浏览器拒绝!\n请在浏览器地址栏输入'about:config'并回车\n然后将 'signed.applets.codebase_principal_support'设置为'true'");   
			}   
			var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);   
			if (!clip)   
				return;   
			var trans = Components.classes['@mozilla.org/widget/transferable;1'].createInstance(Components.interfaces.nsITransferable);   
			if (!trans)   
				return;   
			trans.addDataFlavor('text/unicode');   
			var str = new Object();   
			var len = new Object();   
			var str = Components.classes["@mozilla.org/supports-string;1"].createInstance(Components.interfaces.nsISupportsString);   
			var copytext = txt;   
			str.data = copytext;   
			trans.setTransferData("text/unicode",str,copytext.length*2);   
			var clipid = Components.interfaces.nsIClipboard;   
			if (!clip)   
				return false;   
			clip.setData(trans,null,clipid.kGlobalClipboard);   
			alert("复制成功,您可以用Ctrl+V粘贴到你的QQ/MSN上推荐给你的好友了");  
		}   
	}
</script>

在jsp页面中得到请求页面的地址

作者:一起写诗 发布时间:May 16, 2010 分类:java/jsp No Comments

String reqUrl = request.getHeader("referer");

Underlying input stream returned zero bytes错误原因及解决方法

作者:一起写诗 发布时间:May 14, 2010 分类:java/jsp No Comments

[Microsoft][SQLServer 2000 Driver for JDBC]Underlying input stream returned zero bytes
原因:由于jdbc的bug,所以不能将一个"NULL"值和一个""(empty)存储在text类型的字段中。
解决办法 :
1:可以在表结构中设置字段的默认值为" "(one char)。
2在JavaBean中增加处理,确保在Text类型的字段中不会保存 Null值

我遇到这个问题是由于我在做文章内容保存,当用户没有输入内容时,那么这个字段就为空,我在把内容提交到数据的时候做一个判断,

String text = request.getParameter("EditorDefault");	//内容
	if(text.equals("")) {
		text = "NUll";
	}

Ubuntu让Gnome恢复初始设置

作者:一起写诗 发布时间:May 2, 2010 分类:Linux No Comments

刚装了ubuntu10.04,用了一两天后,发现通知区域(托盘)的网络图标没了,到Google.com上也没找着相关的办法。
倒是有提到,如果声音图标没有的解决方法:

$ gnome-volume-control-applet

但我这个网络图标还真不知道怎么解决,搜索了一阵,还是没找着。干脆恢复初始化设置吧!

$ rm -rf .gnome .gnome2 .gconf .gconfd .metacity

重启以后,你的Gnome就恢复最初样式了!

ubuntu手动配置安装jdk

作者:一起写诗 发布时间:April 30, 2010 分类:java/jsp,Linux No Comments

首先,从http://java.sun.com中下载jdk,我下载到的版本是jdk1.6.0_20,将下载得到的bin文件jdk-6u20-linux-i586.bin文件置于/usr/lib/jvm/java中

$ sudo mkdir /usr/lib/jvm/java/
$ sudo mv jdk-6u20-linux-i586.bin /usr/lib/jvm/java/

然后,在shell中执行:
代码:

$ sudo chmod u+x /usr/lib/jvm/java/jdk-6u20-linux-i586.bin

修改bin文件权限,使其可执行
然后,执行
代码:

$ sudo /usr/lib/jvm/java/jdk-6u20-linux-i586.bin

将会出现字幕,持续按回车键,直至屏幕显示要求输入 yes/no,此时输入y回车,将会把jdk解压到文件夹,得到jdk1.6.0_20目录。
此时,jdk已安装完毕,下面进行配置
执行
代码:

$ sudo vi /etc/environment

在environment中修改,加入以下内容,如果PATH中已经有内容,则用冒号间隔,加上jdk的bin地址。

PATH="/usr/lib/jvm/java/jdk1.6.0_20/bin"
CLASSPATH="/usr/lib/jvm/java/jdk1.6.0_20/lib"
JAVA_HOME="/usr/lib/jvm/java/jdk1.6.0_20"

此时,环境变量设置成功。
由于ubuntu中可能会有默认的jdk,如openjdk,所以,为了使默认使用的是我们安装的jdk,还要进行如下工作。
执行

$ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java/jdk1.6.0_20/bin/java 300
$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java/jdk1.6.0_20/bin/javac 300

通过这一步将我们安装的jdk加入java选单。
然后执行

$ sudo update-alternatives --config java

通过这一步选择系统默认的jdk
这样,再在shell中输入

$ java -version

时,就会显示系统使用的java是sun的java。

  1. 页码:
  2. 1
  3. 2
  4. 3