转到正文

浪淘沙

静观己心,厚积薄发

存档

标签: linux
#!/bin/bash
function ergodic(){
     for file in ` ls $1`
         do
             if [ -d $1"/"$file ] #如果 file存在且是一个目录则为真
                 then
                       ergodic $1"/"$file
             elif [ "${file##*.}" = "php" ]
                 then
                       local path=$1"/"$file #得到文件的完整的目录
                       local name=$file       #得到文件的名字
                       #echo " elif then path: $path"
                       php -l $path|grep -v "No syntax errors" #过滤没有语法错误的结果
             else
                       local path=$1"/"$file #得到文件的完整的目录
                       local name=$file       #得到文件的名字
                       echo " else path: "$path
              fi

        done
 }

 if [ $#=0 ]
     then
     ergodic .
 else
     ergodic $1
 fi

shell 文字颜色设置demo.


#!/bin/bash
echo -e "\033[31m 红色字 \033[0m"
echo -e "\033[34m 黄色字 \033[0m"
echo -e "\033[41;33m 红底黄字 \033[0m"
echo -e "\033[41;37m 红底白字 \033[0m"
#字颜色:30—–37
echo -e "\033[30m 黑色字 \033[0m"
echo -e "\033[31m 红色字 \033[0m"
echo -e "\033[32m 绿色字 \033[0m"
echo -e "\033[33m 黄色字 \033[0m"
echo -e "\033[34m 蓝色字 \033[0m"
echo -e "\033[35m 紫色字 \033[0m"
echo -e "\033[36m 天蓝字 \033[0m"
echo -e "\033[37m 白色字 \033[0m"
#字背景颜色范围:40—–47
echo -e "\033[40;37m 黑底白字 \033[0m"
echo -e "\033[41;37m 红底白字 \033[0m"
echo -e "\033[42;37m 绿底白字 \033[0m"
echo -e "\033[43;37m 黄底白字 \033[0m"
echo -e "\033[44;37m 蓝底白字 \033[0m"
echo -e "\033[45;37m 紫底白字 \033[0m"
echo -e "\033[46;37m 天蓝底白字 \033[0m"
echo -e "\033[47;30m 白底黑字 \033[0m"ode]

下个图:

font

感觉还不错吧。。。

平时很少使用linux。一直以为只要使用root权限就可以为所欲为,比如,可以使用root修改文件内容等等。但是,今天我却遇到了一个问题。

使用ll 查看文件的权限为 -rw-r–r– 1 root root , 我作为一个root应该可以修改的。但是,无论怎么操作都不行,使用sudo也不行。没治了。

把神叫过来,直接命令后输入 命令:


chattr -i   config.php

ok。

chattr命令的作用很大,其中一些功能是由Linux内核版本来支持的,如果Linux内核版本低于2.2,那么许多
功能不能实现。同样-D检查压缩文件中的错误的功能,需要2.5.19以上内核才能支持。另外,通过chattr命令
修改属性能够提高系统的安全 性,但是它并不适合所有的目录。chattr命令不能保护/、/dev、/tmp、/var
目录。 lsattr比较简单,只是显示文件的属性。

关于这个命令的相关描述,互联网上已经有很多了,我这就不再累述。

参考:

http://blog.csdn.net/phphot/article/details/4089791   chattr和lsattr命令详解

http://baike.baidu.com/link?url=3eTmgAkeow3x3QqDXwkvQXAMnKaPcuGE4zd42bz8YbSISlgCyfzGBG4UHbSk3TJfIaL-K4AA0yZ9_NbNDMqNtK  chattr

http://linux.chinaitlab.com/command/38018.html  关于chattr 命令使用详解

从window转到linux第一个遇到的文件应该就是权限的问题。和window(特别是xp)不同的linux的目录和文件都是有其访问权限的。引用百度百科的一句话就是:“Linux系统中的每个文件和目录都有访问许可权限,用他来确定谁能通过何种方式对文件和目录进行访问和操作。 文件或目录的访问权限分为只读,只写和可执行三种。”。

一、linux文件权限

每个linux文件(在linux下目录也属于一种文件,详情?)都具有四种权限,r(可读  Readable),w(可写  writable), x (可执行 eXecute )和 -(无权限)。使用 我们可以 `ls -l` 这个命令来查看某个文件或者目录的权限。它以显示数据的第一个字段为
准。第一个字段由10个字符组成,如下:
rwxr-xr-x

其中 第一个字符表示当前文件的类型(“-” 表示普通文件,“ d” 表示目录文件,“ l” 表示链接文件,“c”表示字符设备,“b”表示块设备,“p”表示命名管道比如FIFO文件(First In First Out, 先进先出),“ f”表示堆栈文件比如LIFO文件(Last In First Out,后进先出)。

第2、3、4个字符表示当前文件/目录拥有者的存取权限,有时我们也简称此权限为u (User)的权限——u权限。

第5、6、7个字符表示此档案拥有者所属群组成员的存取权限,例如此档案拥有者属於 admin j群组’而此群组中有10个成员,则表示这10个成员都拥有此处指定的权限,有时我们也简称此权限为g (Group)的权限——g权限。

第8、9、10表示此档案拥有者所属群组之外的使用者存取权限,行时我们也简称此权限为o (Other)的权限——o权限。

注意:这9 个字符(第2到第10个字符)的权限总和有时我们也简称为 a (All)的权限——a权限。

二、修改目录、文件的访问权限 chmod (Change Mode)

1. 用数字表示法修改权限
所谓数字表示法,是指将rwx分别用421来代表,没有授予权限的则为0,
然后把权限相加,如下

 原始权限  转换为数字  数字表示法
 rwxrwxr-x  (421)(421)(401)  775
 rwxr-xr-x  (421)(401)(401)  755

修改权限的例子:将文件test的权限修改为所有者和组成员具有读写的权限,其他
人只有读权限
chmod 664 test

2. 用文本表示法修改权限
文本表示法用4个字母表示不同的用户:
u:所有者
g:组成员
o:其他成员
a:所有人
权限仍用r、w和x表示

和数字表示法不同,文本表示法不仅可以重新指定权限,也可以在原来权限的基础上
增加或减少权限,如下:
=:重新制定权限
-:对目前的设置减少权限
+:对目前的设置增加权限

例子:讲上述例子中,所有者加上执行权限,组成员减少执行权限,其他成员设置为
执行权限,执行以下命令
chmod u+x,g-x,o=x test

注意:逗号前后不能有空格

三、目录权限
目录权限的修改和文件权限修改不同,只是四种权限代表的含义如下:
r:可列出目录中的内容
w:可在目录中创建、删除和修改文件
x:可以使用cd命令切换到此目录
-:没有任何此目录的访问权限

注意:目录可以使用通配符”*”来表示目录中的所有文件,如将/test目录中的所有文件
的权限设置为任何人都可以读写
chmod 666 /test/*

四、指定文件的默认权限掩码—–umask
权限掩码有4个八进制的数字组成,讲现有的权限减掉权限掩码后,即可产生此文件建立
时的默认权限。
一般来说,新建文件的默认值是0666,新建目录的默认值是0777,如果将全线掩码设置
为0002,则每个新建文件的默认权限为0666-0002=0664,而目录的默认权限则为775。
可以直接输入umask命令来检查目前的默认权限掩码,或输入”umask 权限掩码”来指定默
认权限掩码。
用umask的方式指定默认权限掩码,可以避免添加访问权限过大的文件或目录。

参考:

http://linux.chinaunix.net/techdoc/system/2006/07/19/936273.shtml

http://vbird.dic.ksu.edu.tw/linux_basic/0220filemanager.php

http://www.blogjava.net/pdw2009/archive/2008/11/19/70065.html