laravelåthinkphpçåºå«ï¼
thinkphp主è¦æä»ä¹ç¨
1ãèä¸å¯ä»¥å¾æ¹ä¾¿çæ§å¶æ³¨å ¥çåºæ¬å®å ¨æªæ½ãåç§å¤åçæ¹æ³ä¹é常好ç¨ï¼æ¯å¦ajaxãcookieçç2åç§åè½é½å ¨ãæ³è¦é«å¤§ä¸ï¼æ²¡é®é¢ï¼thinkphpçåç§åè½é½é常é½å ¨ï¼ä»ä¹ä¸ä¼ ãéªè¯ç ãå页ãé«éç¼åã模åéªè¯balabalaå ¨é½æã
2ãæ¨å¥½ï¼ææ¥ä¸ºæ¨è§£ThinkPHPæ¯ä¸ä¸ªå è´¹å¼æºçãå¿«éç®åçãé¢å对象çãMVCç»æçè½»é级PHPå¼åæ¡æ¶ï¼æ¯ä¸ºäºææ·Webåºç¨å¼ååç®åä¼ä¸åºç¨å¼åèè¯ççã项ç®åç«äºå¹´åï¼éµå¾ªApache2å¼æºåè®®åå¸ã
3ãthinkphpæ¯ç¼ç¨è¯è¨phpçä¸ä¸ªæ¡æ¶ï¼æ¡æ¶å°±æ¯å·¥å ·éåä½ï¼æé«å¼åæççã
4ãThinkphp模åç±»ç主è¦ä½ç¨æ¯ï¼å®æä¸å¡é»è¾å¤çï¼å æ¬å¯¹æ°æ®è¡¨çå¢å æ¹æ¥ï¼CUEDï¼æä½ã对å¤ççæ°æ®è¿è¡å°è£ ï¼å¯¹å段åå±æ§è¿è¡éªè¯ï¼å®æ对象åå±æ§çè¿æ»¤çåè½ã
5ãä¸è¬æ åµä¸æ¯ä¸ä¸ªè¡¨å¯¹åºä¸ä¸ªmodelç±»ï¼ä¸ç¨ä¹æ¯å¯ä»¥çã
6ãè¿ä¸ªæ¯ä¸ä¸ªactionç±»ï¼æåä¸å¥$this-display(Publicï¼text)ï¼æ¯æ¾ç¤ºpublicä¸çtext模æ¿ãä¹å°±æ¯è¯´å æ§è¡è¿ä¸ªç±»çè¿ä¸ªæ¹æ³ï¼ç¶åæ¾ç¤ºæ¨¡æ¿ã模æ¿ç¨å°çåéå°±ä»è¿éè°ç¨assignåé è¿å»ã
thinkphpä¸phpçåºå«
æ»çæ¥è¯´ï¼ç»æ¢¦ï¼dedecmsï¼ãphpcmsé½æ¯cmså 容管çç³»ç»ï¼thinkPHPæ¯PHPçä¸ç§å¼åæ¡æ¶ï¼cmsç¸å¯¹ç®åï¼è®°ä½å¯¹åºçè°ç¨æ ç¾ï¼å°±æ¯ç®åçå¥æ¨¡æ¿ï¼ä¸ç¨å¼ååå°ï¼äºæ¬¡å¼åé¤å¤ï¼ï¼æ¨¡ååªè½æ¯cmsæä¾ç模åã
åºæ¬ä¸å¤æ°cmsé½æ¯åºäºæ¡æ¶å¼åçï¼å ¶ä¸æäºcmsç³»ç»å°±æ¯åºäºthinkPHPæ¡æ¶å¼åèµ·æ¥çï¼æ以å¯ä»¥è¯´ç¨äºå¼å项ç®çæ¡æ¶ï¼æ¯é¡¹ç®çå身ã--就好æ¯ç³ç åæ¿å±ã
æä¸å¾ä¸æ¿è®¤ThinkPHPæ¯ä¸ä¸ªæ¯å½å æ¡æ¶è¿è¥æ¹é¢çæ¦æ ·ï¼å½FleaPHP/QeePHPæç«çé£éµï¼æ说è¿FleaPHP/QeePHPä¼åçï¼ã
æ人说tpæ¯è¾èè¿ï¼æè§å¾è¿æ¯å®çä¼ç¹ï¼å 为强大æ以æèè¿ï¼å¦ææ¯é常å°ç项ç®ï¼æè§å¾ç¡®å®ä¸å¤ªéåï¼åºè¯¥ä½¿ç¨æ´è½»é级çæ¡æ¶ã
ç®åphpå¼åç½ç«,æ为æµè¡çæ¡æ¶æ¯åªå 个?CakePHPCakePHPæ¯ä¸ä¸ªå¿«éå¼åPHPçæ¡æ¶ï¼å ¶ä¸ä½¿ç¨äºä¸äºå¸¸è§ç设计模å¼å¦ï¼AssociationDataMappingï¼FrontController以åMVCã
ä¸é¢æ们èä¸èæ¯è¾æµè¡çä¸ä¸ªphpå¼åæ¡æ¶ãLavarelï¼è¿æ¯ä¸æ´å¥è¯æ³ç®æ´ï¼å¥½ç解çwebå¼åæ¡æ¶ã主è¦çä¼å¿éä¸ä½ç°å¨åæçæ¯æãææ¡£çå ¨å¤ï¼è¿ææ´»è·ç社åºä¸ã
Canphpæ¯ä¸ä¸ªä¸å½å¼æºçphpæ¡æ¶ï¼ä¸»è¦ç设计ç念就æ¯ä¸ºäºè¿½æ±ç®åï¼åå°phpåå¦è çå¦ä¹ ææ¬ï¼èä¸è¿½æ±é«æçï¼æ¨¡çç±»ä¸æä¾å ¶ä»æ ç¾ï¼ç´æ¥åºç¨phpçæºä»£ç ï¼è¿æå®æ¯å¾®å æ ¸è®¾è®¡ï¼ç§»æ¤æ§å¼ºï¼æ¾æ£è¦åçç¹ç¹ï¼è½éæå°ä½ ä»»ä½ä¸ä¸ªç³»ç»éé¢ã
CakePHPå¼åæ¡æ¶å¦æä½ ä»ç¶éè¦ç¼åé¢åPHP4å ¼å®¹ç代ç ï¼CakePHPå°æ¯ä¸ä¸ªé常ä¸éçéæ©ï¼å¨PHP4&5çMVCå¼æ¡æ¶å表éé¢ï¼CakePHPé½æ¾ç»æ¯ææµè¡çã
PHP常ç¨æ¡æ¶æï¼thinkphpï¼å½äººå¼åï¼ææ¡£æ¯è¾å ¨ï¼ä¸æææ¡£ãå ¥é¨æ¯è¾ç®åãåæ³å¿«ãlaravelï¼å½å¤äººåçï¼å ¥é¨é¨æ§é«ãè±è¯ææ¡£ï¼ç¤¾åºæ¯è¾æ´»è·ãsymfonyï¼å½å¤äººåçãé¨æ§æ¯è¾é«ï¼è±è¯ææ¡£ã
ææµè¡çPHPæ¡æ¶ï¼Symfonyï¼LaravelåYiiãSymfonySymfonyæ¯ä¸å¥å¯éå¤ä½¿ç¨çPHPç»ä»¶ï¼å®å 许å¼åè 人åå建å¯æ©å±çï¼é«æè½çåºç¨ç¨åºãå®æ个ç»ä»¶å¯ä»¥éæ©ï¼å¼å人åå¯ä»¥æ足å¤çèªç±å¨RADç¯å¢ä¸è¿è¡è¯éªåå·¥ä½ã
ä¼ä¸å¼åç¨tp6è¿æ¯hyperf1ãç¼ç¨è¯è¨ç±»åä¸åï¼TP6æ¯ä¸ç§åºäºPrologè¯è¨çé»è¾ç¼ç¨è¯è¨ï¼èJavaæ¯ä¸ç§åºäºé¢å对象ç¼ç¨çéç¨ç¼ç¨è¯è¨ãåºç¨åºæ¯ä¸åï¼TP6主è¦ç¨äºäººå·¥æºè½ãèªç¶è¯è¨å¤çåä¸å®¶ç³»ç»çé¢åï¼èJavaå广æ³åºç¨äºä¼ä¸çº§åºç¨åWebåºç¨å¼åã
2ãæ²¡å¿ è¦ãtp6æ²¡å¿ è¦ç¨å¤åºç¨ï¼å 为æ¬å°±æ¯åå ¥å£èªå¨å¤åºç¨æ¨¡å¼ï¼å¹¶ä¸ä¸éè¦ä½¿ç¨composeræ¥å¼å¯å¤åºç¨æ¨¡å¼æ©å±ï¼tp6åå¸å¼é¨ç½²å¤ä¸ªæ°æ®åºï¼å®ç°è¯»åå离ãtp6çåå¸å¼é¨ç½²è¯»ååä»ç¶æ¯ä¸ä¸ªç³»ç»ã
3ãtp6loadåimportæ¯PHPå¼åä¸é常常ç¨ç两个å½æ°ãtp6loadç¨äºå 载类æ件ï¼èimportåæ¯éè¿åå空é´å 载类æ件ã
4ãå¯ä»¥æ¯å¯ä»¥ï¼ä½æ¯ä¸æ¨èï¼commonéé¢æ¾çæ¹æ³æ´å¤çæ¯å ¬ç¨çæ¹æ³ï¼æ¯å¦å¾å¤æ¨¡åé½ä¼è°ç¨çæ¹æ³ãå æ¤ï¼å¦æä¸ä¸ªæ¹æ³åªæ¯ä¸ªå«æ¨¡å使ç¨çè¯ï¼å»ºè®®å°å®æ¾å°æ¨¡å对åºçå é¨å³å¯ï¼è¿æ ·æ´æ¹ä¾¿ä»£ç çéæåè¿ä»£ï¼æ´åºè²ã
5ãè¿å 个çåéçè¯åºè¯¥æ¯åç¡çè·¯ç±å¨æ好ï¼è ¾è¾¾åTPæ¯å ¥é¨çº§å®¶ç¨è·¯ç±å¨ãå¦ææ¯å¯¹ç½éæå¾é«è¦æ±çè¯å¯ä»¥èèæç§æè 软路ç±ãå¦ææ¯ä½å¸¦å®½ç¯å¢çè¯å 个çåçè·¯ç±å¨é½å·®ä¸å¤çã
phpæ¡æ¶åªä¸ªå¥½ç¨,容æä¸æ1ãSpeedPHPæ¡æ¶æ¯ä»å®é è¿è¡çåä¸ç³»ç»ä¸åå ¶ç²¾åèæçï¼å¨ç¨³å®æ§åè¿è¡é度ä¸é½é常åºè²ï¼åæ¶æçæ¸ æ°çæ¶æï¼æ´æå©äºæé«å¢éå¼åæçï¼æç¨ä¼å¤ï¼å ¥é¨å®¹æï¼å·ç§°æéååå¦è çPHPæ¡æ¶ï¼å¿«éå¸¦ä½ è¿å ¥PHPé«æçè¡åã
2ãLavarelï¼è¿æ¯ä¸æ´å¥è¯æ³ç®æ´ï¼å¥½ç解çwebå¼åæ¡æ¶ã主è¦çä¼å¿éä¸ä½ç°å¨åæçæ¯æãææ¡£çå ¨å¤ï¼è¿ææ´»è·ç社åºä¸ãå¦ä¹ Lavarelï¼éè¦å 对PHPè¯è¨ãé¢å对象ãæ°æ®åºçæä½æä¸ä¸ªåºæ¬çå¦ä¹ åºç¡ã
3ãæ¨è使ç¨thinkphpï¼è¿ä¸ªæ¯è¾ç®åï¼ä¸ææ¯è¾å¿«ThinkPHPæ¯ä¸ä¸ªå¿«éãå ¼å®¹èä¸ç®åçè½»é级å½äº§PHPå¼åæ¡æ¶ï¼è¯çäºå¹´åï¼ååFCSï¼å¹´å æ¦æ£å¼æ´å为ThinkPHPï¼ä»¥ä¸ç®ç§°TPï¼ãä½ä¸ºå½äº§æ¡æ¶ï¼å¨å½å ã
4ãé¢ä¸»å¦ææ¯ä¸ä¸ªåæ¥è§¦PHPçæ°äººçè¯ï¼å¯è½ä¼è§å¾æ¡æ¶å¾å¤ï¼å个æ¡æ¶é½æåèªçç¹ç¹ï¼é¾ä»¥ææ¡ï¼å ¶å®è½ç¶æ¯ä¸ªæ¡æ¶çç¹ç¹ä¸ä¸æ ·ï¼ä½æ¯æ¡æ¶çæè·¯é½æ¯å·®ä¸å¤çï¼å¦æä½ ç¨çäºï¼å°±ä¼è§å¾ä»ä¹æ¡æ¶é½å·®ä¸å¤ã
5ãä»MVCï¼DAO/ï¼widgetsï¼cachingï¼ç级å¼RBACï¼Webæå¡ï¼å°ä¸»ä½åï¼INåLNï¼Yiiæä¾äºä»æ¥Web0åºç¨å¼åæéè¦çå ä¹ä¸ååè½ãèä¸è¿ä¸ªæ¡æ¶çä»·æ ¼ä¹å¹¶ä¸å¤ªé«ãäºå®ä¸ï¼Yiiæ¯æææççPHPæ¡æ¶ä¹ä¸ã
6ãä½ å¥½ï¼å ¶å®ç°å¨ä¸»æµçPHPæ¡æ¶é½åæä¼å¿ï¼èä¸é½å¯ä»¥å®æphpå¼åè çåºæ¬è¦æ±ãä½æ¯å ¶å®å¨ä½¿ç¨çä¸ï¼æ¯ä¸ªåºåé½æ¯ä¸ä¸æ ·çãå¨ä¸å½ï¼thinkphpç使ç¨çè¯å®æ¯æé«çï¼èå¨å¤å½å个æ¡æ¶ç使ç¨çä¹ä¸ä¸æ ·ã
linuxåºç¡å½ä»¤
Linux常ç¨å½ä»¤å¤§å ¨
ç³»ç»ä¿¡æ¯
arch æ¾ç¤ºæºå¨çå¤çå¨æ¶æ(1)
uname -m æ¾ç¤ºæºå¨çå¤çå¨æ¶æ(2)
uname -r æ¾ç¤ºæ£å¨ä½¿ç¨çå æ ¸çæ¬
dmidecode -q æ¾ç¤ºç¡¬ä»¶ç³»ç»é¨ä»¶ - (SMBIOS / DMI)
hdparm -i /dev/hda ç½åä¸ä¸ªç£ççæ¶æç¹æ§
hdparm -tT /dev/sda å¨ç£çä¸æ§è¡æµè¯æ§è¯»åæä½
cat /proc/cpuinfo æ¾ç¤ºCPU infoçä¿¡æ¯
cat /proc/interrupts æ¾ç¤ºä¸æ
cat /proc/meminfo æ ¡éªå å使ç¨
cat /proc/swaps æ¾ç¤ºåªäºswap被使ç¨
cat /proc/version æ¾ç¤ºå æ ¸ççæ¬
cat /proc/net/dev æ¾ç¤ºç½ç»éé å¨åç»è®¡
cat /proc/mounts æ¾ç¤ºå·²å è½½çæ件系ç»
lspci -tv ç½å PCI 设å¤
lsusb -tv æ¾ç¤º USB 设å¤
date æ¾ç¤ºç³»ç»æ¥æ
cal æ¾ç¤ºå¹´çæ¥å表
date . 设置æ¥æåæ¶é´ - ææ¥æ¶åå¹´.ç§
clock -w å°æ¶é´ä¿®æ¹ä¿åå° BIOS
å ³æº (ç³»ç»çå ³æºãéå¯ä»¥åç»åº )
shutdown -h now å ³éç³»ç»(1)
init 0 å ³éç³»ç»(2)
telinit 0 å ³éç³»ç»(3)
shutdown -h hours:minutes & æé¢å®æ¶é´å ³éç³»ç»
shutdown -c åæ¶æé¢å®æ¶é´å ³éç³»ç»
shutdown -r now éå¯(1)
reboot éå¯(2)
logout 注é
æ件åç®å½
cd /home è¿å ¥ '/ home' ç®å½'
cd .. è¿åä¸ä¸çº§ç®å½
cd ../.. è¿åä¸ä¸¤çº§ç®å½
cd è¿å ¥ä¸ªäººç主ç®å½
cd ~user1 è¿å ¥ä¸ªäººç主ç®å½
cd - è¿åä¸æ¬¡æå¨çç®å½
pwd æ¾ç¤ºå·¥ä½è·¯å¾
ls æ¥çç®å½ä¸çæ件
ls -F æ¥çç®å½ä¸çæ件
ls -l æ¾ç¤ºæ件åç®å½ç详ç»èµæ
ls -a æ¾ç¤ºéèæ件
ls *[0-9]* æ¾ç¤ºå å«æ°åçæ件ååç®å½å
tree æ¾ç¤ºæ件åç®å½ç±æ ¹ç®å½å¼å§çæ å½¢ç»æ(1)
lstree æ¾ç¤ºæ件åç®å½ç±æ ¹ç®å½å¼å§çæ å½¢ç»æ(2)
mkdir dir1 å建ä¸ä¸ªå«å 'dir1' çç®å½'
mkdir dir1 dir2 åæ¶å建两个ç®å½
mkdir -p /tmp/dir1/dir2 å建ä¸ä¸ªç®å½æ
rm -f file1 å é¤ä¸ä¸ªå«å 'file1' çæ件'
rmdir dir1 å é¤ä¸ä¸ªå«å 'dir1' çç®å½'
rm -rf dir1 å é¤ä¸ä¸ªå«å 'dir1' çç®å½å¹¶åæ¶å é¤å ¶å 容
rm -rf dir1 dir2 åæ¶å é¤ä¸¤ä¸ªç®å½åå®ä»¬çå 容
mv dir1 new_dir éå½å/ç§»å¨ ä¸ä¸ªç®å½
cp file1 file2 å¤å¶ä¸ä¸ªæ件
cp dir/* . å¤å¶ä¸ä¸ªç®å½ä¸çæææ件å°å½åå·¥ä½ç®å½
cp -a /tmp/dir1 . å¤å¶ä¸ä¸ªç®å½å°å½åå·¥ä½ç®å½
cp -a dir1 dir2 å¤å¶ä¸ä¸ªç®å½
ln -s file1 lnk1 å建ä¸ä¸ªæåæ件æç®å½ç软é¾æ¥
ln file1 lnk1 å建ä¸ä¸ªæåæ件æç®å½çç©çé¾æ¥
touch -t file1 ä¿®æ¹ä¸ä¸ªæ件æç®å½çæ¶é´æ³ - (YYMMDDhhmm)
file file1 outputs the mime type of the file as text
iconv -l ååºå·²ç¥çç¼ç
iconv -f fromEncoding -t toEncoding inputFile > outputFile creates a new from the given input file by assuming it is encoded in fromEncoding and converting it to toEncoding.
find . -maxdepth 1 -name *.jpg -print -exec convert "{ }" -resize x "thumbs/{ }" \; batch resize files in the current directory and send them to a thumbnails directory (requires convert from Imagemagick)
æ件æç´¢
find / -name file1 ä» '/' å¼å§è¿å ¥æ ¹æ件系ç»æç´¢æ件åç®å½
find / -user user1 æç´¢å±äºç¨æ· 'user1' çæ件åç®å½
find /home/user1 -name \*.bin å¨ç®å½ '/ home/user1' ä¸æ索带æ'.bin' ç»å°¾çæ件
find /usr/bin -type f -atime + æç´¢å¨è¿å»å¤©å æªè¢«ä½¿ç¨è¿çæ§è¡æ件
find /usr/bin -type f -mtime - æç´¢å¨å¤©å 被å建æè ä¿®æ¹è¿çæ件
find / -name \*.rpm -exec chmod '{ }' \; æ索以 '.rpm' ç»å°¾çæ件并å®ä¹å ¶æé
find / -xdev -name \*.rpm æ索以 '.rpm' ç»å°¾çæ件ï¼å¿½ç¥å 驱ãæ·ççå¯ç§»å¨è®¾å¤
locate \*.ps 寻æ¾ä»¥ '.ps' ç»å°¾çæ件 - å è¿è¡ 'updatedb' å½ä»¤
whereis halt æ¾ç¤ºä¸ä¸ªäºè¿å¶æ件ãæºç æmançä½ç½®
which halt æ¾ç¤ºä¸ä¸ªäºè¿å¶æ件æå¯æ§è¡æ件çå®æ´è·¯å¾
æè½½ä¸ä¸ªæ件系ç»
mount /dev/hda2 /mnt/hda2 æè½½ä¸ä¸ªå«åhda2çç - ç¡®å®ç®å½ '/ mnt/hda2' å·²ç»åå¨
umount /dev/hda2 å¸è½½ä¸ä¸ªå«åhda2çç - å ä»æè½½ç¹ '/ mnt/hda2' éåº
fuser -km /mnt/hda2 å½è®¾å¤ç¹å¿æ¶å¼ºå¶å¸è½½
umount -n /mnt/hda2 è¿è¡å¸è½½æä½èä¸åå ¥ /etc/mtab æ件- å½æ件为åªè¯»æå½ç£çå满æ¶é常æç¨
mount /dev/fd0 /mnt/floppy æè½½ä¸ä¸ªè½¯ç
mount /dev/cdrom /mnt/cdrom æè½½ä¸ä¸ªcdromædvdrom
mount /dev/hdc /mnt/cdrecorder æè½½ä¸ä¸ªcdrwædvdrom
mount /dev/hdb /mnt/cdrecorder æè½½ä¸ä¸ªcdrwædvdrom
mount -o loop file.iso /mnt/cdrom æè½½ä¸ä¸ªæ件æISOéåæ件
mount -t vfat /dev/hda5 /mnt/hda5 æè½½ä¸ä¸ªWindows FATæ件系ç»
mount /dev/sda1 /mnt/usbdisk æè½½ä¸ä¸ªusb æ·çæéªå设å¤
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share æè½½ä¸ä¸ªwindowsç½ç»å ±äº«
ç£ç空é´
df -h æ¾ç¤ºå·²ç»æè½½çååºå表
ls -lSr |more 以尺寸大å°æåæ件åç®å½
du -sh dir1 ä¼°ç®ç®å½ 'dir1' å·²ç»ä½¿ç¨çç£ç空é´'
du -sk * | sort -rn 以容é大å°ä¸ºä¾æ®ä¾æ¬¡æ¾ç¤ºæ件åç®å½ç大å°
rpm -q -a --qf '%{ SIZE}t%{ NAME}n' | sort -k1,1n 以大å°ä¸ºä¾æ®ä¾æ¬¡æ¾ç¤ºå·²å®è£ çrpmå æ使ç¨çç©ºé´ (fedora, redhat类系ç»)
dpkg-query -W -f='${ Installed-Size;}t${ Package}n' | sort -k1,1n 以大å°ä¸ºä¾æ®æ¾ç¤ºå·²å®è£ çdebå æ使ç¨çç©ºé´ (ubuntu, debian类系ç»)
è¿å顶é¨ç´¢å¼ ^
ç¨æ·å群ç»
groupadd group_name å建ä¸ä¸ªæ°ç¨æ·ç»
groupdel group_name å é¤ä¸ä¸ªç¨æ·ç»
groupmod -n new_group_name old_group_name éå½åä¸ä¸ªç¨æ·ç»
useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 å建ä¸ä¸ªå±äº "admin" ç¨æ·ç»çç¨æ·
useradd user1 å建ä¸ä¸ªæ°ç¨æ·
userdel -r user1 å é¤ä¸ä¸ªç¨æ· ( '-r' æé¤ä¸»ç®å½)
usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 ä¿®æ¹ç¨æ·å±æ§
passwd ä¿®æ¹å£ä»¤
passwd user1 ä¿®æ¹ä¸ä¸ªç¨æ·çå£ä»¤ (åªå 许rootæ§è¡)
chage -E -- user1 设置ç¨æ·å£ä»¤ç失ææé
pwck æ£æ¥ '/etc/passwd' çæä»¶æ ¼å¼åè¯æ³ä¿®æ£ä»¥ååå¨çç¨æ·
grpck æ£æ¥ '/etc/passwd' çæä»¶æ ¼å¼åè¯æ³ä¿®æ£ä»¥ååå¨ç群ç»
newgrp group_name ç»éè¿ä¸ä¸ªæ°ç群ç»ä»¥æ¹åæ°å建æ件çé¢è®¾ç¾¤ç»
è¿å顶é¨ç´¢å¼ ^
æ件çæé - ä½¿ç¨ "+" 设置æéï¼ä½¿ç¨ "-" ç¨äºåæ¶
ls -lh æ¾ç¤ºæé
ls /tmp | pr -T5 -W$COLUMNS å°ç»ç«¯ååæ5æ æ¾ç¤º
chmod ugo+rwx directory1 设置ç®å½çææ人(u)ã群ç»(g)以åå ¶ä»äºº(o)以读ï¼r ï¼ãå(w)åæ§è¡(x)çæé
chmod go-rwx directory1 å é¤ç¾¤ç»(g)ä¸å ¶ä»äºº(o)对ç®å½ç读åæ§è¡æé
chown user1 file1 æ¹åä¸ä¸ªæ件çææ人å±æ§
chown -R user1 directory1 æ¹åä¸ä¸ªç®å½çææ人å±æ§å¹¶åæ¶æ¹åæ¹ç®å½ä¸æææ件çå±æ§
chgrp group1 file1 æ¹åæ件ç群ç»
chown user1:group1 file1 æ¹åä¸ä¸ªæ件çææ人å群ç»å±æ§
find / -perm -u+s ç½åä¸ä¸ªç³»ç»ä¸ææ使ç¨äºSUIDæ§å¶çæ件
chmod u+s /bin/file1 设置ä¸ä¸ªäºè¿å¶æ件ç SUID ä½ - è¿è¡è¯¥æ件çç¨æ·ä¹è¢«èµäºåææè åæ ·çæé
chmod u-s /bin/file1 ç¦ç¨ä¸ä¸ªäºè¿å¶æ件ç SUIDä½
chmod g+s /home/public 设置ä¸ä¸ªç®å½çSGID ä½ - 类似SUID ï¼ä¸è¿è¿æ¯é对ç®å½ç
chmod g-s /home/public ç¦ç¨ä¸ä¸ªç®å½ç SGID ä½
chmod o+t /home/public 设置ä¸ä¸ªæ件ç STIKY ä½ - åªå 许åæ³ææ人å é¤æ件
chmod o-t /home/public ç¦ç¨ä¸ä¸ªç®å½ç STIKY ä½
è¿å顶é¨ç´¢å¼ ^
æ件çç¹æ®å±æ§ - ä½¿ç¨ "+" 设置æéï¼ä½¿ç¨ "-" ç¨äºåæ¶
chattr +a file1 åªå 许以追å æ¹å¼è¯»åæ件
chattr +c file1 å 许è¿ä¸ªæ件è½è¢«å æ ¸èªå¨å缩/解å
chattr +d file1 å¨è¿è¡æ件系ç»å¤ä»½æ¶ï¼dumpç¨åºå°å¿½ç¥è¿ä¸ªæ件
chattr +i file1 设置æä¸å¯åçæ件ï¼ä¸è½è¢«å é¤ãä¿®æ¹ãéå½åæè é¾æ¥
chattr +s file1 å 许ä¸ä¸ªæ件被å®å ¨å°å é¤
chattr +S file1 ä¸æ¦åºç¨ç¨åºå¯¹è¿ä¸ªæ件æ§è¡äºåæä½ï¼ä½¿ç³»ç»ç«å»æä¿®æ¹çç»æåå°ç£ç
chattr +u file1 è¥æ件被å é¤ï¼ç³»ç»ä¼å è®¸ä½ å¨ä»¥åæ¢å¤è¿ä¸ªè¢«å é¤çæ件
lsattr æ¾ç¤ºç¹æ®çå±æ§
è¿å顶é¨ç´¢å¼ ^
æå åå缩æ件
bunzip2 file1.bz2 解åä¸ä¸ªå«å 'file1.bz2'çæ件
bzip2 file1 å缩ä¸ä¸ªå«å 'file1' çæ件
gunzip file1.gz 解åä¸ä¸ªå«å 'file1.gz'çæ件
gzip file1 å缩ä¸ä¸ªå«å 'file1'çæ件
gzip -9 file1 æ大ç¨åº¦å缩
rar a file1.rar test_file å建ä¸ä¸ªå«å 'file1.rar' çå
rar a file1.rar file1 file2 dir1 åæ¶å缩 'file1', 'file2' 以åç®å½ 'dir1'
rar x file1.rar 解årarå
unrar x file1.rar 解årarå
tar -cvf archive.tar file1 å建ä¸ä¸ªéå缩ç tarball
tar -cvf archive.tar file1 file2 dir1 å建ä¸ä¸ªå å«äº 'file1', 'file2' 以å 'dir1'çæ¡£æ¡æ件
tar -tf archive.tar æ¾ç¤ºä¸ä¸ªå ä¸çå 容
tar -xvf archive.tar éæ¾ä¸ä¸ªå
tar -xvf archive.tar -C /tmp å°å缩å éæ¾å° /tmpç®å½ä¸
tar -cvfj archive.tar.bz2 dir1 å建ä¸ä¸ªbzip2æ ¼å¼çå缩å
tar -xvfj archive.tar.bz2 解åä¸ä¸ªbzip2æ ¼å¼çå缩å
tar -cvfz archive.tar.gz dir1 å建ä¸ä¸ªgzipæ ¼å¼çå缩å
tar -xvfz archive.tar.gz 解åä¸ä¸ªgzipæ ¼å¼çå缩å
zip file1.zip file1 å建ä¸ä¸ªzipæ ¼å¼çå缩å
zip -r file1.zip file1 file2 dir1 å°å 个æ件åç®å½åæ¶å缩æä¸ä¸ªzipæ ¼å¼çå缩å
unzip file1.zip 解åä¸ä¸ªzipæ ¼å¼å缩å
è¿å顶é¨ç´¢å¼ ^
RPM å - ï¼Fedora, Redhatå类似系ç»ï¼
rpm -ivh package.rpm å®è£ ä¸ä¸ªrpmå
rpm -ivh --nodeeps package.rpm å®è£ ä¸ä¸ªrpmå è忽ç¥ä¾èµå ³ç³»è¦å
rpm -U package.rpm æ´æ°ä¸ä¸ªrpmå ä½ä¸æ¹åå ¶é ç½®æ件
rpm -F package.rpm æ´æ°ä¸ä¸ªç¡®å®å·²ç»å®è£ çrpmå
rpm -e package_name.rpm å é¤ä¸ä¸ªrpmå
rpm -qa æ¾ç¤ºç³»ç»ä¸ææå·²ç»å®è£ çrpmå
rpm -qa | grep mand <> file1_in.txt_or_file1_out.txt general syntax for text manipulation using PIPE, STDIN and STDOUT
cat file1 | command( sed, grep, awk, grep, etc...) > result.txt å并ä¸ä¸ªæ件ç详ç»è¯´æææ¬ï¼å¹¶å°ç®ä»åå ¥ä¸ä¸ªæ°æ件ä¸
cat file1 | command( sed, grep, awk, grep, etc...) >> result.txt å并ä¸ä¸ªæ件ç详ç»è¯´æææ¬ï¼å¹¶å°ç®ä»åå ¥ä¸ä¸ªå·²æçæ件ä¸
grep Aug /var/log/messages å¨æ件 '/var/log/messages'ä¸æ¥æ¾å ³é®è¯"Aug"
grep ^Aug /var/log/messages å¨æ件 '/var/log/messages'ä¸æ¥æ¾ä»¥"Aug"å¼å§çè¯æ±
grep [0-9] /var/log/messages éæ© '/var/log/messages' æ件ä¸ææå å«æ°åçè¡
grep Aug -R /var/log/* å¨ç®å½ '/var/log' åéåçç®å½ä¸æç´¢å符串"Aug"
sed 's/stringa1/stringa2/g' example.txt å°example.txtæ件ä¸ç "string1" æ¿æ¢æ "string2"
sed '/^$/d' example.txt ä»example.txtæ件ä¸å é¤ææ空ç½è¡
sed '/ *#/d; /^$/d' example.txt ä»example.txtæ件ä¸å é¤ææ注éå空ç½è¡
echo 'esempio' | tr '[:lower:]' '[:upper:]' å并ä¸ä¸åå æ ¼å 容
sed -e '1d' result.txt ä»æ件example.txt ä¸æé¤ç¬¬ä¸è¡
sed -n '/stringa1/p' æ¥çåªå å«è¯æ± "string1"çè¡
sed -e 's/ *$//' example.txt å é¤æ¯ä¸è¡æåç空ç½å符
sed -e 's/stringa1//g' example.txt ä»ææ¡£ä¸åªå é¤è¯æ± "string1" 并ä¿çå©ä½å ¨é¨
sed -n '1,5p;5q' example.txt æ¥çä»ç¬¬ä¸è¡å°ç¬¬5è¡å 容
sed -n '5p;5q' example.txt æ¥ç第5è¡
sed -e 's/*/0/g' example.txt ç¨å个é¶æ¿æ¢å¤ä¸ªé¶
cat -n file1 æ 示æ件çè¡æ°
cat example.txt | awk 'NR%2==1' å é¤example.txtæ件ä¸çææå¶æ°è¡
echo a b c | awk '{ print $1}' æ¥çä¸è¡ç¬¬ä¸æ
echo a b c | awk '{ print $1,$3}' æ¥çä¸è¡ç第ä¸å第ä¸æ
paste file1 file2 å并两个æ件æ两æ çå 容
paste -d '+' file1 file2 å并两个æ件æ两æ çå 容ï¼ä¸é´ç¨"+"åºå
sort file1 file2 æåºä¸¤ä¸ªæ件çå 容
sort file1 file2 | uniq ååºä¸¤ä¸ªæ件ç并é(éå¤çè¡åªä¿çä¸ä»½)
sort file1 file2 | uniq -u å é¤äº¤éï¼çä¸å ¶ä»çè¡
sort file1 file2 | uniq -d ååºä¸¤ä¸ªæ件ç交é(åªçä¸åæ¶åå¨äºä¸¤ä¸ªæ件ä¸çæ件)
comm -1 file1 file2 æ¯è¾ä¸¤ä¸ªæ件çå 容åªå é¤ 'file1' æå å«çå 容
comm -2 file1 file2 æ¯è¾ä¸¤ä¸ªæ件çå 容åªå é¤ 'file2' æå å«çå 容
comm -3 file1 file2 æ¯è¾ä¸¤ä¸ªæ件çå 容åªå é¤ä¸¤ä¸ªæä»¶å ±æçé¨å
è¿å顶é¨ç´¢å¼ ^
å符设置åæä»¶æ ¼å¼è½¬æ¢
dos2unix filedos.txt fileunix.txt å°ä¸ä¸ªææ¬æ件çæ ¼å¼ä»MSDOS转æ¢æUNIX
unix2dos fileunix.txt filedos.txt å°ä¸ä¸ªææ¬æ件çæ ¼å¼ä»UNIX转æ¢æMSDOS
recode ..HTML < page.txt > page.html å°ä¸ä¸ªææ¬æ件转æ¢æhtml
recode -l | more æ¾ç¤ºææå 许ç转æ¢æ ¼å¼
è¿å顶é¨ç´¢å¼ ^
æ件系ç»åæ
badblocks -v /dev/hda1 æ£æ¥ç£çhda1ä¸çåç£å
fsck /dev/hda1 ä¿®å¤/æ£æ¥hda1ç£çä¸linuxæ件系ç»çå®æ´æ§
fsck.ext2 /dev/hda1 ä¿®å¤/æ£æ¥hda1ç£çä¸ext2æ件系ç»çå®æ´æ§
e2fsck /dev/hda1 ä¿®å¤/æ£æ¥hda1ç£çä¸ext2æ件系ç»çå®æ´æ§
e2fsck -j /dev/hda1 ä¿®å¤/æ£æ¥hda1ç£çä¸ext3æ件系ç»çå®æ´æ§
fsck.ext3 /dev/hda1 ä¿®å¤/æ£æ¥hda1ç£çä¸ext3æ件系ç»çå®æ´æ§
fsck.vfat /dev/hda1 ä¿®å¤/æ£æ¥hda1ç£çä¸fatæ件系ç»çå®æ´æ§
fsck.msdos /dev/hda1 ä¿®å¤/æ£æ¥hda1ç£çä¸dosæ件系ç»çå®æ´æ§
dosfsck /dev/hda1 ä¿®å¤/æ£æ¥hda1ç£çä¸dosæ件系ç»çå®æ´æ§
è¿å顶é¨ç´¢å¼ ^
åå§åä¸ä¸ªæ件系ç»
mkfs /dev/hda1 å¨hda1ååºå建ä¸ä¸ªæ件系ç»
mke2fs /dev/hda1 å¨hda1ååºå建ä¸ä¸ªlinux ext2çæ件系ç»
mke2fs -j /dev/hda1 å¨hda1ååºå建ä¸ä¸ªlinux ext3(æ¥å¿å)çæ件系ç»
mkfs -t vfat -F /dev/hda1 å建ä¸ä¸ª FAT æ件系ç»
fdformat -n /dev/fd0 æ ¼å¼åä¸ä¸ªè½¯ç
mkswap /dev/hda3 å建ä¸ä¸ªswapæ件系ç»
è¿å顶é¨ç´¢å¼ ^
SWAPæ件系ç»
mkswap /dev/hda3 å建ä¸ä¸ªswapæ件系ç»
swapon /dev/hda3 å¯ç¨ä¸ä¸ªæ°çswapæ件系ç»
swapon /dev/hda2 /dev/hdb3 å¯ç¨ä¸¤ä¸ªswapååº
è¿å顶é¨ç´¢å¼ ^
å¤ä»½
dump -0aj -f /tmp/home0.bak /home å¶ä½ä¸ä¸ª '/home' ç®å½çå®æ´å¤ä»½
dump -1aj -f /tmp/home0.bak /home å¶ä½ä¸ä¸ª '/home' ç®å½ç交äºå¼å¤ä»½
restore -if /tmp/home0.bak è¿åä¸ä¸ªäº¤äºå¼å¤ä»½
rsync -rogpav --delete /home /tmp åæ¥ä¸¤è¾¹çç®å½
rsync -rogpav -e ssh --delete /home ip_address:/tmp éè¿SSHéérsync
rsync -az -e ssh --delete ip_addr:/home/public /home/local éè¿sshåå缩å°ä¸ä¸ªè¿ç¨ç®å½åæ¥å°æ¬å°ç®å½
rsync -az -e ssh --delete /home/local ip_addr:/home/public éè¿sshåå缩å°æ¬å°ç®å½åæ¥å°è¿ç¨ç®å½
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' éè¿sshå¨è¿ç¨ä¸»æºä¸æ§è¡ä¸æ¬¡å¤ä»½æ¬å°ç£ççæä½
dd if=/dev/sda of=/tmp/file1 å¤ä»½ç£çå 容å°ä¸ä¸ªæ件
tar -Puf backup.tar /home/user æ§è¡ä¸æ¬¡å¯¹ '/home/user' ç®å½ç交äºå¼å¤ä»½æä½
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' éè¿sshå¨è¿ç¨ç®å½ä¸å¤å¶ä¸ä¸ªç®å½å 容
( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' éè¿sshå¨è¿ç¨ç®å½ä¸å¤å¶ä¸ä¸ªæ¬å°ç®å½
tar cf - . | (cd /tmp/backup ; tar xf - ) æ¬å°å°ä¸ä¸ªç®å½å¤å¶å°å¦ä¸ä¸ªå°æ¹ï¼ä¿çåææéåé¾æ¥
find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents ä»ä¸ä¸ªç®å½æ¥æ¾å¹¶å¤å¶ææ以 '.txt' ç»å°¾çæ件å°å¦ä¸ä¸ªç®å½
find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 æ¥æ¾ææ以 '.log' ç»å°¾çæ件并åæä¸ä¸ªbzipå
dd if=/dev/hda of=/dev/fd0 bs= count=1 åä¸ä¸ªå° MBR (Master Boot Record)å 容å¤å¶å°è½¯ççå¨ä½
dd if=/dev/fd0 of=/dev/hda bs= count=1 ä»å·²ç»ä¿åå°è½¯ççå¤ä»½ä¸æ¢å¤MBRå 容
è¿å顶é¨ç´¢å¼ ^
å ç
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force æ¸ ç©ºä¸ä¸ªå¯å¤åçå çå 容
mkisofs /dev/cdrom > cd.iso å¨ç£çä¸å建ä¸ä¸ªå ççisoéåæ件
mkisofs /dev/cdrom | gzip > cd_iso.gz å¨ç£çä¸å建ä¸ä¸ªå缩äºçå çisoéåæ件
mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cd å建ä¸ä¸ªç®å½çisoéåæ件
cdrecord -v dev=/dev/cdrom cd.iso å»å½ä¸ä¸ªISOéåæ件
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - å»å½ä¸ä¸ªå缩äºçISOéåæ件
mount -o loop cd.iso /mnt/iso æè½½ä¸ä¸ªISOéåæ件
cd-paranoia -B ä»ä¸ä¸ªCDå ç转å½é³è½¨å° wav æ件ä¸
cd-paranoia -- "-3" ä»ä¸ä¸ªCDå ç转å½é³è½¨å° wav æ件ä¸ï¼åæ°-3ï¼
cdrecord --scanbus æ«ææ»çº¿ä»¥è¯å«scsiéé
dd if=/dev/hdc | md5sum æ ¡éªä¸ä¸ªè®¾å¤çmd5sumç¼ç ï¼ä¾å¦ä¸å¼ CD
è¿å顶é¨ç´¢å¼ ^
ç½ç» - ï¼ä»¥å¤ªç½åWIFIæ 线ï¼
ifconfig eth0 æ¾ç¤ºä¸ä¸ªä»¥å¤ªç½å¡çé ç½®
ifup eth0 å¯ç¨ä¸ä¸ª 'eth0' ç½ç»è®¾å¤
ifdown eth0 ç¦ç¨ä¸ä¸ª 'eth0' ç½ç»è®¾å¤
ifconfig eth0 ..1.1 netmask ...0 æ§å¶IPå°å
ifconfig eth0 promisc 设置 'eth0' ææ··æ模å¼ä»¥å æ¢æ°æ®å (sniffing)
dhclient eth0 以dhcp模å¼å¯ç¨ 'eth0'
route -n show routing table
route add -net 0/0 gw IP_Gateway configura default gateway
route add -net ..0.0 netmask ..0.0 gw ..1.1 configure static route to reach network '..0.0/'
route del 0/0 gw IP_gateway remove static route
echo "1" > /proc/sys/net/ipv4/ip_forward activate ip routing
hostname show hostname of system
host www.example.com lookup hostname to resolve name to ip address and viceversa(1)
nslookup www.example.com lookup hostname to resolve name to ip address and viceversa(2)
ip link show show link status of all interfaces
mii-tool eth0 show link status of 'eth0'
ethtool eth0 show statistics of network card 'eth0'
netstat -tup show all active network connections and their PID
netstat -tupl show all network services listening on the system and their PID
tcpdump tcp port show all HTTP traffic
iwlist scan show wireless networks
iwconfig eth1 show configuration of a wireless network card
hostname show hostname
host www.example.com lookup hostname to resolve name to ip address and viceversa
nslookup www.example.com lookup hostname to resolve name to ip address and viceversa
whois www.example.com lookup on Whois database
GO TOP INDEX ^
Microsoft Windows networks (SAMBA)
nbtscan ip_addr netbios name resolution
nmblookup -A ip_addr netbios name resolution
smbclient -L ip_addr/hostname show remote shares of a windows host
smbget -Rr smb://ip_addr/share like wget can download files from a host windows via smb
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/share mount a windows network share
怎样分析linux的性能指标
LR
监控
UNIX/Linux
系统方法
一、准备工作:
1.
可以通过两种方法验证服务器上是否配置
rstatd
守护程序:
①使用
rup
命令,它用于报告计算机的各种统计信息,其中就包括
rstatd
的40的源码怎么算配置信息。使用命
令
rup
...,
此处
...
是要监视的
linux/Unix
服务器的
IP
,如果该命令返回相关的开发app源码和代码
统计信息。则表示已经配置并且激活了
rstatd
守护进程;若未返回有意义的统计信息,或者出现一
条错误报告,则表示
rstatd
守护进程尚未被配置或有问题。
②使用
find
命令
#find / -name rpc.rstatd,
该命令用于查找系统中是否存在
rpc.rstatd
文件,如果没有,说明系统没
有安装
rstatd
守护程序。
2
.
linux
需要下载
3
个包:
(
1
)
rpc.rstatd-4.0.1.tar.gz
(
2
)
rsh-0.-.i.rpm
(
3
)
rsh-server-0.-.i.rpm
3
.下载并安装
rstatd
如果服务器上没有安装
rstatd
程序(一般来说
LINUX
都没有安装)
,源码时代新媒体学费需要下载一个包才有这个服
务
,
包
名
字
是
rpc.rstatd-4.0.1.tar.gz.
这
是
一
个
源
码
,
需
要
编
译
,
下
载
并
安
装
rstatd
(
可
以
在
municate with the portmapper on host '...'.
RPC: RPC call failed.
RPC-TCP: recv()/recvfrom() failed.
RPC-TCP: Timeout reached. (entry point: CFactory::Initialize). [MsgId: MMSG-]
检查原因,发现是
Linux
系统中的防火墙开启了并且阻挡了
LoadRunner
监控
Linux
系统的资源,
因此要将防火墙关闭。虎牙直播源码获取方式
关闭防火墙:
[root@localhost ~]# /etc/init.d/iptables stop;
三、监控
UNIX
lr
监控
UNIX
UNIX
先启动一
rstatd
服务
以下是在
IBM AIX
系统中启动
rstatd
服务的方法:
1
.使用
telnet
以
root
用户的身份登录入
AIX
系统
2
.在命令行提示符下输入:
vi /etc/inetd.conf
3
.查找
rstatd
,找到
#rstatd
sunrpc_udp
udp
wait
root /usr/sbin/rpc.rstatd rstatd 1-3
4
、软件源码在哪下载安全将
#
去掉
5
、
:wq
保存修改结果
6
、命令提示符下输入:
refresh
–
s inetd
重新启动服务。
这样使用
loadrunner
就可以监视
AIX
系统的性能情况了。
注:在
HP UNIX
系统上编辑完
inetd.conf
后,重启
inetd
服务需要输入
inetd -c
UNIX
上也可以用
rup
命令查看
rstatd
程序是否被配置并激活
若
rstatd
程序已经运行,
重启时,
先查看进程
ps -ef |grep inet
然后杀掉进程,
再
refresh
–
s inetd
进行重启。
2024-11-23 11:59
2024-11-23 11:39
2024-11-23 09:50
2024-11-23 09:45
2024-11-23 09:25