Lệnh find cho đầu ra này:
[root @ localhost /] # tìm var / log / -iname anaconda. * var / log / anaconda.log var / log / anaconda.xlog var / log / anaconda.yum.log var / log / anaconda.syslog var / log / anaconda.program.log var / log / anaconda.st Storage.log
Sau khi kết hợp với tar, nó hiển thị đầu ra này:
[root @ localhost /] # find var / log / -iname anaconda. * -exec tar -cvf file.tar {} \;
var / log / anaconda.log
var / log / anaconda.xlog
var / log / anaconda.yum.log
var / log / anaconda.syslog
var / log / anaconda.program.log
var / log / anaconda.st Storage.log
Nhưng trong khi liệt kê tệp tar, nó chỉ hiển thị một tệp duy nhất
[root @ localhost /] # tar -tvf file.tar -rw ------- root / root 208454 2012 / 02-27 12:01 var / log / anaconda.st Storage.log
Tôi đang làm gì sai ở đây?
Với xargs tôi nhận được đầu ra này:
[root @ localhost /] # tìm var / log / -iname anaconda. * | xargs tar -cvf file1.tar
Câu hỏi thứ hai
Trong khi gõ / trước var, có nghĩa là find /var/logtại sao nó lại đưa ra mesaage tar này: Loại bỏ `/ 'hàng đầu khỏi tên thành viên
[root @ localhost /] # find / var / log / -iname anaconda. * -exec tar -cvf file.tar {} \;
tar: Loại bỏ `/ 'hàng đầu khỏi tên thành viên
/var/log/anaconda.log
tar: Loại bỏ `/ 'hàng đầu khỏi tên thành viên
/var/log/anaconda.xlog
tar: Loại bỏ `/ 'hàng đầu khỏi tên thành viên
/var/log/anaconda.yum.log
tar: Loại bỏ `/ 'hàng đầu khỏi tên thành viên
/var/log/anaconda.syslog
tar: Loại bỏ `/ 'hàng đầu khỏi tên thành viên
/var/log/anaconda.program.log
tar: Loại bỏ `/ 'hàng đầu khỏi tên thành viên
/var/log/anaconda.st Storage.log
Trong một hình thức đơn giản, sự khác biệt giữa trong hai sau đây là gì?
find var/log và find /var/log
{} +thay vì {} \;nó sẽ nhóm kết quả tìm kiếm vào một đối số
findlệnh, bạn nên trích dẫn cụm từ tìm kiếm. Nó hoạt động mà không đôi khi nhưng không phải luôn luôn.