網域名稱俱樂部


返回   網域名稱俱樂部 > 電腦與網路技術 > 電腦網路相關技術
論壇幫助 社區 日曆事件 今日新文章 搜尋

回覆
 
主題工具
  #1  
舊 2005-12-06, 01:20 AM
game.tw game.tw 目前離線
進階會員
 
註冊日期: 2002-10-01
文章: 1,370
預設 我想在home的每個目錄下touch 一個檔案

我一直有個困擾,雖然有更好的解決方法,但我希望用我想用的這個方式來解決...
在Linux Server 上,每個Web我都開一個使用者....並有自己的家目錄...
例如
/home/apple
/home/phpforum
/home/vbb
每個家目錄代表一個網站,該目錄內又有其他的子目錄...
我目前遇到的問題是,若該目錄下沒有 index.htm
訪客可以由Apach 讀取到我的目錄資訊....

所以我想在 /home 之內的所有目錄中,都 touch 一個 index.htm 的檔案...
想請教!如何利用正規表示法來達到這個目的!
__________________
Gamer.info
回覆時引用此篇文章
  #2  
舊 2005-12-06, 01:59 AM
licheng licheng 目前離線
進階會員
 
註冊日期: 2004-06-11
住址: localhost
文章: 950
預設

就寢前發個郵件,順便晃到 domain.club.tw,原來 game.tw 兄已經將問題發在這了。

小弟給您一個提示,game.tw 兄可以先在其他目錄底下作實驗。

如果,要給 /temp 底下每一個子目錄,都 touch 一個 index.html,可以使用如下指令:

find /temp -type d -exec touch {}/index.html \;

Hope this helps.
回覆時引用此篇文章
  #3  
舊 2005-12-06, 10:29 AM
game.tw game.tw 目前離線
進階會員
 
註冊日期: 2002-10-01
文章: 1,370
預設

引用:
作者: licheng
就寢前發個郵件,順便晃到 domain.club.tw,原來 game.tw 兄已經將問題發在這了。
小弟給您一個提示,game.tw 兄可以先在其他目錄底下作實驗。
如果,要給 /temp 底下每一個子目錄,都 touch 一個 index.html,可以使用如下指令:
find /temp -type d -exec touch {}/index.html \;
Hope this helps.
感謝Licheng兄的幫助....果然解決了我一直以來的困擾
我之前一直無法理解的,還是在於 {} 的使用時機...
看了這串表示式,一目了然...但小弟還不到可以自己寫出來的階段,
原本以為用 ls -dR 等等的方式可以搞定.....(後來發現不行)
忘了用find來找目錄較快...........

真的........真的很感謝您
__________________
Gamer.info
回覆時引用此篇文章
  #4  
舊 2005-12-06, 11:06 AM
licheng licheng 目前離線
進階會員
 
註冊日期: 2004-06-11
住址: localhost
文章: 950
預設

問題解決了最重要。

很高興幫得上忙。
回覆時引用此篇文章
  #5  
舊 2005-12-06, 12:21 PM
alextung alextung 目前離線
進階會員
 
註冊日期: 2004-04-26
文章: 652
預設

借題請教一下licheng,
在vbird站上的正規表示法說,{}是重複前一字符n次,
比方說:k{5}就是kkkkk;
在這邊{}是代表什麼?
回覆時引用此篇文章
  #6  
舊 2005-12-06, 12:35 PM
game.tw game.tw 目前離線
進階會員
 
註冊日期: 2002-10-01
文章: 1,370
預設

引用:
作者: alextung
借題請教一下licheng,
在vbird站上的正規表示法說,{}是重複前一字符n次,
比方說:k{5}就是kkkkk;
在這邊{}是代表什麼?
透過 -exec 參數,將find的結果導入{}中...
find找到目錄....再用
touch {find 結果}/index.htm
就可以達到我要目的了
__________________
Gamer.info
回覆時引用此篇文章
  #7  
舊 2005-12-06, 02:03 PM
licheng licheng 目前離線
進階會員
 
註冊日期: 2004-06-11
住址: localhost
文章: 950
預設

引用:
作者: alextung
在vbird站上的正規表示法說,{}是重複前一字符n次,
比方說:k{5}就是kkkkk;
在這邊{}是代表什麼?
{} 用在正規表示法,的確有它的用法。

不過,在這兒,{} 不是正規表示法。它代表 find 的搜尋結果。類似一個 place holder。

game.tw 兄的解釋,是正確的。
回覆時引用此篇文章
  #8  
舊 2005-12-06, 02:42 PM
alextung alextung 目前離線
進階會員
 
註冊日期: 2004-04-26
文章: 652
預設

原來如此,
man了一下find和touch還找了RE,
都找不到相關的說明,
那這個{}只能用在find的結果,或是其他指令也可以?
感覺起來這跟重導向符號,例如:|、>,很類似?
回覆時引用此篇文章
  #9  
舊 2005-12-06, 05:37 PM
licheng licheng 目前離線
進階會員
 
註冊日期: 2004-06-11
住址: localhost
文章: 950
預設

引用:
作者: alextung
那這個{}只能用在find的結果,或是其他指令也可以?
在這哩,{} 的用法,只限於用在 find。

man find

應該是可以找到說明才對。
回覆時引用此篇文章
  #10  
舊 2005-12-06, 06:48 PM
alextung alextung 目前離線
進階會員
 
註冊日期: 2004-04-26
文章: 652
預設

果然沒錯,
在find的說明檔裡的確有,
謝謝licheng和game.tw大大的教學。
回覆時引用此篇文章
回覆


發文規則
不可以發表新主題
不可以發表回覆
不可以上傳附件
不可以編輯自己的文章

啟用 BB 代碼
論壇啟用 表情符號
論壇啟用 [IMG] 代碼
論壇禁用 HTML 代碼



所有時間均為 +8。現在的時間是 10:39 AM


本站主機由網易虛擬主機代管
Powered by vBulletin® 版本 3.8.4
版權所有 ©2000 - 2024,Jelsoft Enterprises Ltd.