Linux 檔案與目錄管理常用命令 記錄

沉默在燃燒發表於2020-12-01

ls

檢視當前目錄下的前幾個檔案

# 顯示前十個檔案
ls -l | head -n 10

檢視檔案個數

檢視某資料夾下的檔案個數,不包括子資料夾裡的

// 在要檢視目錄的父目錄
find ./train_images -type f | wc -l
// 在當前資料夾下
ls -l |grep "^-"|wc -l

檢視某資料夾下檔案的個數,包括子資料夾裡的

// 不包括資料夾個數
ls -lR|grep "^-"|wc -l

檢視某資料夾下資料夾的個數,包括子資料夾裡的。

ls -lR|grep "^d"|wc -l

檢視檔案路徑

所有檔案的絕對路徑

# 得出當前目錄的路徑下的所有檔案的絕對路徑,ls後面加子資料夾得出的路徑有誤
ls | sed "s:^:`pwd`/:"
# $PWD後可以跟子資料夾,從而得出絕對路徑
find  $PWD | xargs ls -ld | grep ^- | awk -F' ' '{print $9}' 
find  $PWD | xargs ls -ld

檢視某個檔案的絕對路徑

pwd|awk '{print $1"/file_name"}'

只保留檔案的前N行

在新的檔案上修改,只保留前N(大寫N)行

head -n N filename_old > filename_new

在原有檔案上修改,只保留前N(大寫N)行

sed -i 'N,$d' filename_old 

問題合集

bash: /usr/bin/cp: Argument list too long

問題出處:一次性cp 太多檔案
解決辦法:

find train_images/ -name "*.jpg" | xargs -i cp {} ./rec_data/

相關文章