Windows系统其实和Linux系统有相似的地方,Windows系统文件、目录的属性有只读、隐藏,而Linux 也一样。
Linux中,每一个文件都具有特定的属性。主要包括文件类型和文件权限两个方面。可以分为5种不同的类型:普通文件、目录文件、链接文件、设备文件
和管道文件。上海数据恢复
所谓的文件权限,是指对文件的访问权限,包括对文件的读、写、删除、执行。Linux 是一个多用户操作系统,它允许多个用户同时登录和工作。因此
Linux 将一个文件或目录与一个用户或组联系起来。访问控制列表(ACL:Access Control
List)为计算机提供更好的访问控制,它的作用是限制包括root用户在内的所有用户对文件、资源或者套接字的访问。下面就来教大家简单的设置方法。
步骤1 检查系统核心
首先检查你的Linux系统的核心是否有支持ACL的功能。因为Linux系统并不是每一个版本的核心都有支持ACL的功能,而最简单的方法就是检查
系统目前的核心能否支持:
[root@mail /]# cat /boot/config-kernel-version | grep -i ext3
CONFIG_EXT3_FS=m
CONFIG_EXT3_IDEX=y
CONFIG_EXT3_FS_XATTR_SHARING=y
CONFIG_EXT3_FS_XATTR_USER=y
CONFIG_EXT3_FS ......
版本10.2
在9i下dbstart存在一bug:dbstart启动时在$ORACLE_HOME/dbs下寻找initSID.ora,事实上在该目录下不存在这个pfile,在9i 已经使用了spfile,所以要想正常通过dbstart启动db,需要在目录$ORACLE_HOME/dbs下创建一个initSID.ORA文件,10g中我发现修正了这一问题。不过10g中dbstart在自动启动listener时存在一问题:dbstart脚本中存在下面一行:#ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
致使启动是出现错误:
[oracle@xys bin]$ dbstart
Failed to auto-start Oracle Net Listene using /ade/vikrkuma_new/oracle/bin/tnslsnr
Processing Database instance "TEST": log file /opt/app/oracle/product/10.2.0/db_1/startup.log
该错误显示listener不能正常启动,但是instance可以正常启动,原因就是ORACLE_HOME_LISTNER设置的不对,我们修正一下,注释下面一行,增加:
#ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
ORACLE_HOME_LISTNER=$ORACLE_HOME即可
修正之后启动和停止测试如下:
[oracle@xys bin]$ dbstart
Processing Database instance "TEST": log file /opt/app/oracle/product/10.2.0/db_1/startup.log
[oracle@xys bin]$ lsnrctl s ......
1.bootsect.s
本文的目的,在将linux kernel的boot部份做一个介绍,因为笔者觉得很少有这样的
文章来介绍一个操作系统最最开始的一步----把kernel本身载入至内存中,同时进行一些
机器相关(machine dependent)的初始化工作,由于linux刚好使用的是大家最熟悉的386,
486系列PC,所以在说明其程序流程时,也刚好可以对其相关的PC硬体架构做探讨,可以
说是一举两得。不过,我必须假设读者对于汇编语言及PC最基础的架构,如寄存器,分段,
分页,中断服务等有大概的认识。
读者可在linux source code的/boot子目录下找到几个以.S作为副档名的组合语言档,
本文要说明的即是其中的bootsect.S及setup.S两个档案,及尽量简单地说明其所牵涉的
相关硬件部份。
bootsect.S
这个程序是linux kernel的第一个程序,包括了linux自己的bootstrap程序,但是
在说明这个程序前,必须先说明一般IBM PC开机时的动作(此处的开机是指"打开PC的电源"):
一般PC在电源打 ......
查看当前目录下文件的个数
ls -l | grep "^-" | wc -l
查看当前目录下文件的个数,包括子目录里的。
ls -lR| grep "^-" | wc -l
查看某目录下文件夹(目录)的个数,包括子目录里的。
ls -lR| grep "^d" | wc -l
简要说明:
ls -l
长列表输出该目录下文件信息(注意这里的文件,不同于一般的文件,可能是目录、链接、设备文件等)
grep "^-"
这里将长列表输出信息过滤一部分,只保留一般文件,如果只保留目录就是 ^d
wc -l
统计输出信息的行数,因为已经过滤得只剩一
统计一个目录中的目录个数
ls -l | awk '/^d/' | wc -l
统计一个目录中的文件个数
ls -l | awk '/^-/' | wc -l
统计一个目录中的全部文件数
find ./ -type f -print | wc -l
统计一个目录中的全部子目录数
find ./ -type d -print | wc -l
find -name 'prm20100220*' -d print | wc -l ......
Linux 动态链接
Linux 中的应用程序以以下两种方式之一链接到外部函数:要么在构建时与静态库( lib*.a ) 静态地链接,并且将库代码包含在该应用程序的可执行文件里;要么在运行时与共享库( lib*.so ) 动态地链接。通过动态链接装入器,将动态库映射进应用程序的可执行内存中。在启动应用程序之前,动态链接装入器将所需的共享目标库映射到应用程序的内存,或者使用系统共享的目标并为应用程序解析所需的外部引用。现在应用程序就可以运行了。
作为示例,下面有一个演示 Linux 中对动态链接库的缺省使用的小程序:
main()
{
printf("Hello world
");
}
当使用 gcc 编译 hello.c 时,就创建了一个名为 a.out 的可执行文件。通过使用 Linux 命令 ldd a.out (该命令打印出共享库的相互依赖性),可以看出所需的共享库是:
libc.so.6 => /lib/libc.so.6 (0x4001d000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
使用相同的动态链接装入器在应用程序运行之后将 dll 映射进应用程序的内存。通过使用 Linux 动态装入器例程,应用程序控制装入哪一个动态库以及调用库中的哪一个函数,以执行装入和链接以及返回所需入口点的地 ......
来自:http://www.linuxsir.org/main/?q=node/137#1.2
摘要: 本文是find 命令的详细说明,可贵的是针对参数举了很多的实例,大量的例证,让初学者更为容易理解;本文是zhyfly兄贴在论坛中;我对本文进行了再次整理,为方便大家阅读;
目录
版权声明
前言:关于find命令
一、find 命令格式
1、find命令的一般形式为;
2、find命令的参数;
3、find命令选项;
4、使用exec或ok来执行shell命令;
二、find命令的例子;
1、查找当前用户主目录下的所有文件;
2、为了在当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件;
3、为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径;
4、查找/var/logs目录中更改时间在7日以前的普通文件,并在删除之前询问它们;
5、为了查找系统中所有属于root组的文件;
6、find命令将删除当目录中访问时间在7日以来、含有数字后缀的admin.log文件
7、为了查找当前文件系统中的所有目录并排序;
8、为了查找系统中所有的rmt磁带设备;
三、xargs
四、find 命令的参数;
1、使用name选项
2、用perm选项
3、忽略某个目录
4、使用find查找文件的时候怎么避开某个文 ......