摘要: 本文是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查找文件的时候怎么避开某个文件目录
5、使用user和nouser选项
6、使用group和nogroup选项
......
ls -l|grep ^d ----列出当前目录下的文件夹
ls -l|grep ^d|grep "tmp" ----列出当前目录下明子含有"tmp"的文件夹
for dir in `ls -l ~/dxy/|grep ^d | awk '{print $9}'` ---- awk '{print $9}' ,只print 文件夹的名字
do
echo "==== $dir"
cd ~/dxy;cd $dir/
t=`ls -l|grep ^d|grep "tmp"|wc -l`
echo t =: $t
done ......
Linux 远程登录服务:telnet和ssh
通常情况下远程登录我们使用telnet服务,Red Hat
Linux带有telnet服务器的软件包,我们需要安装telnet-server和xinetd两个软件包:
[root@rh73 ~]# rpm -ivh
/mnt/cdrom/RedHat/RPMS/telnet-server-0.17-20.i386.rpm
[root@rh73 ~]# rpm -ivh
/mnt/cdrom/RedHat/RPMS/xinetd-2.3.4-0.8.i386.rpm
设置telnet服务:
一、允许telnet登录
编辑/etc/xinetd.d/telnet
[root@rh73 ~]# vi /etc/xinetd.d/telnet
修改为: disable=no
其内容如下:
# default: on
# description: The telnet server serves telnet sessions; it uses
\
#
unencrypted username/password pairs for authentication.
service telnet
{
disable = no
flags
= REUSE
socket_type
= stream
wait &n ......
网上找到了许多关于这方面的文章,内容基本相同。经过实践,发现内容里普遍存在问题。以下是自己实践之后,修改了其中的错误,并记录下来的笔记。
在 Linux 或 UNIX 下的 Apache 服务器中给网页设置密码—这是一种很简单的基于用户名/口令的认证方式,当我们在浏览器中访问经此认证模式保护的URL链接时,将会出弹出一个对话框,要求用户键入用户名和口令。用户输入后,传给Apache服务器,Apache服务器验证它的正确性,如果正确,显示页面,否则出现401错误(没有权限)。这是怎么实现的呢?
实例一:需要用户名和口令的访问控制
,限制 WWW 服务器中 /home/httpd/html/backup/ 目录中网站 www.britepic.org 页面的访问,只允许用户“user1”以口令“passwd1”访问页面。
基本情况:
假设www.britepic.org 站点Apache服务器中的httpd.conf文件有设置为:
DocumentRoot /home/httpd/html
AccessFileName .htaccess
AllowOverride All
实现步骤:
1.使用htpasswd建立用户文件:
$ htpasswd -c /home/httpd/secr/.htpasswd ......
64位 linux 编译链接错库的问题
在64位机器下面编译软件的时候,经常会遇到编译的时候需要链接64位的库,但是编译时找的却是32位的库,可以通过如下的办法强制编译程序去找64位的库
LDFLAGS="-L/usr/lib64 -L/lib64" \
在配置时加上这么一个选项即可。
......
原文地址:http://blog.csdn.net/Javadino/archive/2008/09/06/2891413.aspx
引子:
1.在Linux系统中,进程状态除了我们所熟知的TASK_RUNNING,TASK_INTERRUPTIBLE,TASK_STOPPED等,还有一个TASK_TRACED。这表明这个进程处于什么状态?
2.strace可以方便的帮助我们记录进程所执行的系统调用,它是如何跟踪到进程执行的?
3.gdb是我们调试程序的利器,可以设置断点,单步跟踪程序。它的实现原理又是什么?
所有这一切的背后都隐藏着Linux所提供的一个强大的系统调用ptrace().
1.ptrace系统调用
ptrace
系统调从名字上看是用于进程跟踪的,它提供了父进程可以观察和控制其子进程执行的能力,并允许父进程检查和替换子进程的内核镜像(包括寄存器)的值。其基
本原理是:
当使用了ptrace跟踪后,所有发送给被跟踪的子进程的信号(除了SIGKILL),都会被转发给父进程,而子进程则会被阻塞,这时子进程的状态就会被
系统标注为TASK_TRACED。而父进程收到信号后,就可以对停止下来的子进程进行检查和修改,然后让子进程继续运行。
其原型为:
#include <sys/ptrace.h>
......