Perl 目錄操作

Perl 目錄操作

以下列出了一些操作目錄的標(biāo)準(zhǔn)函數(shù):

opendir DIRHANDLE, EXPR  # 打開(kāi)目錄
readdir DIRHANDLE        # 讀取目錄
rewinddir DIRHANDLE      # 定位指針到開(kāi)頭
telldir DIRHANDLE        # 返回目錄的當(dāng)前位置
seekdir DIRHANDLE, POS   # 定位指定到目錄的 POS 位置
closedir DIRHANDLE       # 關(guān)閉目錄

顯示所有的文件

顯示目錄下的所有文件,以下實(shí)例使用了 glob 操作符,演示如下:

實(shí)例

#!/usr/bin/perl
 
# 顯示 /tmp 目錄下的所有文件
$dir = "/tmp/*";
my @files = glob( $dir );
 
foreach (@files ){
   print $_ . "\n";
}
 
# 顯示 /tmp 目錄下所有以 .c 結(jié)尾的文件
$dir = "/tmp/*.c";
@files = glob( $dir );
 
foreach (@files ){
   print $_ . "\n";
}
 
# 顯示所有隱藏文件
$dir = "/tmp/.*";
@files = glob( $dir );
foreach (@files ){
   print $_ . "\n";
}
 
# 顯示 /tmp 和 /home 目錄下的所有文件
$dir = "/tmp/* /home/*";
@files = glob( $dir );
 
foreach (@files ){
   print $_ . "\n";
}

以下實(shí)例可以列出當(dāng)前目錄下的所有文件:

實(shí)例

#!/usr/bin/perl
 
opendir (DIR, '.') or die "無(wú)法打開(kāi)目錄, $!";
while ($file = readdir DIR) {
  print "$file\n";
}
closedir DIR;

如果你要顯示 /tmp 目錄下所有以 .c 結(jié)尾的文件,可以使用以下代碼:

實(shí)例

#!/usr/bin/perl
 
opendir(DIR, '.') or die "無(wú)法打開(kāi)目錄, $!";
foreach (sort grep(/^.*\.c$/,readdir(DIR))){
   print "$_\n";
}
closedir DIR;

創(chuàng)建一個(gè)新目錄

我們可以使用 mkdir 函數(shù)來(lái)創(chuàng)建一個(gè)新目錄,執(zhí)行前你需要有足夠的權(quán)限來(lái)創(chuàng)建目錄:

實(shí)例

#!/usr/bin/perl
 
$dir = "/tmp/perl";
 
# 在 /tmp 目錄下創(chuàng)建 perl 目錄
mkdir( $dir ) or die "無(wú)法創(chuàng)建 $dir 目錄, $!";
print "目錄創(chuàng)建成功\n";


刪除目錄

我們可以使用 rmdir 函數(shù)來(lái)刪除目錄,執(zhí)行該操作需要有足夠權(quán)限。另外要?jiǎng)h除的目錄必須的空目錄:

實(shí)例

#!/usr/bin/perl
 
$dir = "/tmp/perl";
 
# 刪除 /tmp 目錄下的 perl 目錄
rmdir( $dir ) or die "無(wú)法刪除 $dir 目錄, $!";
print "目錄刪除成功\n";


切換目錄

我們可以使用chdir 函數(shù)來(lái)切換當(dāng)期目錄,執(zhí)行該操作需要有足夠權(quán)限。實(shí)例如下:

實(shí)例

#!/usr/bin/perl
 
$dir = "/home";
 
# 將當(dāng)期目錄移動(dòng)到 /home 目錄下
chdir( $dir ) or die "無(wú)法切換目錄到 $dir , $!";
print "你現(xiàn)在所在的目錄為 $dir\n";

執(zhí)行以上程序,輸出結(jié)果為:

你現(xiàn)在所在的目錄為 /home
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀(guān)點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 能流失掉的都是你茍且求全的時(shí)間能真正擁有的是你打開(kāi)每個(gè)毛孔全情投入的時(shí)間 曾經(jīng)很長(zhǎng)一段時(shí)間,我睡覺(jué)都很晚,早的話(huà)1...
    洛小貳閱讀 315評(píng)論 0 0
  • 封K君為2B青年這事兒,其實(shí)一點(diǎn)兒也不擰巴。 K君覺(jué)得普通青年俗、文藝青年裝,只有2B青年才最貼近生活。這事兒確實(shí)...
    瓜瓜的乖豆豆閱讀 532評(píng)論 0 2
  • “愿你所到之處,遍地陽(yáng)光;愿你夢(mèng)的遠(yuǎn)方,溫暖為向;愿你所等之人,儒雅熱情。這世界上最難熬的,不是等愛(ài)的過(guò)程,而是等...
    glove溫存閱讀 224評(píng)論 1 2

友情鏈接更多精彩內(nèi)容