Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Linux ½ø³Ì»¥³âÁ¿

ÍøÉÏÕÒÁËÏÂLinux½ø³Ì¼ä»¥³âµÄʵÏÖ£¬Á½ÖÖ·½·¨£¬semaphore ºÍ ÎļþËø¡£¸Õ¿ªÊ¼Ò²³¢ÊÔÓÃsemaphoreÀ´ÊµÏÖ£¬µ«·¢ÏÖsem_waitºÍsingalÎÞ·¨ÊµÏÖWindowsÏÂCirtSec£¬¶ø²ÉÓÃÁ˺óÕßÎļþËø£»
µ«¶ÔÓÚ¶ÁÐ´ËøÀ´ËµÊµÓÃÎļþËøÊµÏÖ£¬´æÔÚÒ»¶¨µÄ²»×㣬Ëü·Ö¿ªÁ˶ÁÐ´Ëø£¬¶øÃ»Óзֿª½â¶ÁÐ´Ëø£¬ÀûÓÃUnLockÀ´Í³Ò»½â¶ÁÐ´Ëø£¬¶ÔÓÚÕâ½ø³Ì¼ä¶ÁÐ´ËøµÄʵÏÖ£¬»¹ÐèÒªÔÙ½øÒ»²½Á˽â²Å¿É£¡
»ùÓÚÎļþËø¶øÊµÏֵĽø³Ì¼ä»¥³â
/*
* File: MProcessCritSec.h
* Author: root
*
* Created on 2010Äê5ÔÂ13ÈÕ, ÉÏÎç4:37
*/
#ifndef _MPROCESSCRITSEC_H
#define _MPROCESSCRITSEC_H
#include <fcntl.h>
#include <string>
using namespace std;
class MProcessCritSec
{
public:
MProcessCritSec(char *pFileName);
virtual ~MProcessCritSec();
public:
/*
* Ëø
*/
bool Lock();
/*
* ½âËø
*/
bool UnLock();
/*
* ·Ç×èÈûËø
*/
bool TryLock(int nWaitTime = 60);
/*
* ÅжÏËøµÄ״̬
*/
bool IsLock();
private:
//
flock m_lock;
//
int m_nLockValue;
//
bool m_bLocked;
//
string m_strFilePath;
};
#endif /* _MPROCESSCRITSEC_H */
/*
* File: MProcessCritSec.cpp
* Author: root
*
* Created on 2010Äê5ÔÂ13ÈÕ, ÉÏÎç4:37
*/
#include "MProcessCritSec.h"
#include <errno.h>
using namespace std;
MProcessCritSec::MProcessCritSec(char *pFileName)
:m_bLocked(false)
{
m_bLocked = false;
m_strFilePath.append("/tmp/");
m_strFilePath.append(pFileName);
m_nLockValue = open(m_strFilePath.c_str(), O_WRONLY|O_CREAT, 0777);
}
MProcessCritSec::~MProcessCritSec()
{
close(m_nLockValue);
remove(m_strFilePath.c_str());
}
/*
* º¯Êý×÷ÓãºËø
* º¯Êý²ÎÊý£º
* º¯Êý·µ»Ø£º
* bool
*/
bool MProcessCritSec::Lock()
{
m_lock.l_type = F_WRLCK;
m_lock.l_whence = SEEK_SET;
m_lock.l_start = 0;
m_lock.l_len = 0;
if ( fcntl(m_nLockValue, F_SETLKW, &m_lock) != 0 )
return false;
m_bLocked = true;

return true;
}
/*
* º¯Êý×÷ÓÃ


Ïà¹ØÎĵµ£º

ѧϰLinuxµÄ¼¸µã½¨Òé ÔõÑùѧºÃLinux²Ù×÷ϵͳ

ºÜ¶àÈ˾õµÃѧϰLinuxºÜ“ǰÎÀ”£¬ÓÚÊǾÍäĿ¼ÓÈëÁËLinuxѧϰµÄÐÐÁУ¬µ±È»Ò²ÓÐÈËÈ¥ÈÏÕæµÄѧÁË£¬ÕâÀï¸ø³õѧÕßÌá³öÆßµãѧϰLinuxµÄ½¨Ò飬ÍûÅúÅÐÐÔµÄÔĶÁ£¡
1¡¢²»Òª“Íæ Linux”
ºÜ¶àÈËÓà Linux µÄʱºò»á¸Ð¾õºÜÃÔ㣬¸ÃÓÃÄĸö·¢ÐÐÄØ£¿ÊDz»ÊÇÎÒÉÙ×°ÁËʲô£¿ÔõôÉý¼¶Õâô¿ì°¡£¡ÔõôÕâô²»Îȶ¨£¡Ã¿µ±Óöµ½Ð ......

LinuxÏÂʱÖÓÊ±ÇøÒÔ¼°Ê±¼äͬ²½µÄÃüÁîºÍÅäÖÃ

µÚÒ»²¿·Ö£ºÉèÖÃʱ¼ä
ÎÒÃÇÒ»°ãʹÓÓdate -s”ÃüÁîÀ´ÐÞ¸Äϵͳʱ¼ä (ÕâÀï˵µÄÊÇϵͳʱ¼ä£¬ÊÇlinuxÓɲÙ×÷ϵͳά»¤µÄ¡£)¡£±ÈÈ罫ϵͳʱ¼äÉ趨³É1996Äê6ÔÂ10ÈÕµÄÃüÁîÈçÏ¡£
#date -s 06/10/96
½«ÏµÍ³Ê±¼äÉ趨³ÉÏÂÎç1µã12·Ö0ÃëµÄÃüÁîÈçÏ¡£
#date -s 13:12:00
½«ÈÕÆÚʱ¼äÉèÖóÉ1996Äê6ÔÂ10ÈÕÏÂÎç1µã12·Ö0Ãë¿ÉÒ ......

LinuxÖбäÁ¿$#,$@,$0,$1,$2µÄº¬Òå

ÎÒÃÇÏÈдһ¸ö¼òµ¥µÄ½Å±¾£¬Ö´ÐÐÒÔºóÔÙ½âÊ͸÷¸ö±äÁ¿µÄÒâÒå
¡¡¡¡
¡¡¡¡# touch variable
¡¡¡¡# vi variable
¡¡¡¡
¡¡¡¡½Å±¾ÄÚÈÝÈçÏ£º
¡¡¡¡
¡¡¡¡#!/bin/sh
¡¡¡¡echo "number:$#"
¡¡¡¡echo "scname:$0"
¡¡¡¡echo "first :$1"
¡¡¡¡echo "second:$2"
¡¡¡¡echo "argume:$@"
¡¡¡¡
¡¡¡¡±£´æÍ˳ö
¡¡¡¡
¡¡¡¡¸³Óè½Å±¾ ......

linux×îʵÓõÄÃüÁî

1¡¢²é¿´½ø³Ì·þÎñÊý£¬ÀýÈ磺ps -u ats3|grep Commer|wc -l
ÆäÖГ-u”£¬ºóÃæ¸úÓû§£¬“|grep Commer|”ÊÇ¿´ats3Óû§ÏµÄCommer·þÎñÊý£¬“|wc -l”¿´ÐÐÊý£»
2¡¢°´Ê±¼äÅÅÐò²é¿´Îļþ£ºls -lrt£»
3¡¢viÖеÄÃüÁ
:set nu ÏÔʾÐÐÊý
°´x¼ü£ºÉ¾³ý¹â±ê´¦µÄÒ»¸ö×Ö·û
°´dd¼ü£ºÉ¾³ý¹â±êËùÔÚµÄÐÐ
......

LinuxÎļþϵͳÖвéÕÒÎļþÃüÁîÓ÷¨

ÔÚµ±Ç°Ä¿Â¼ÏÂËÑË÷Ö¸¶¨Îļþ£º
find . -name test.txt
ÔÚµ±Ç°Ä¿Â¼ÏÂÄ£ºýËÑË÷Îļþ£º
find . -name '*.txt'
ÔÚµ±Ç°Ä¿Â¼ÏÂËÑË÷ÌØ¶¨ÊôÐÔµÄÎļþ£º
find . -amin -10 # ²éÕÒÔÚϵͳÖÐ×îºó10·ÖÖÓ·ÃÎʵÄÎļþ
find . -atime -2 # ²éÕÒÔÚϵͳÖÐ×îºó48Сʱ·ÃÎʵÄÎļþ
find . -empty # ²éÕÒÔÚϵͳÖÐΪ¿ÕµÄÎļþ»òÕßÎļþ¼Ð
find . -g ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ