ค้นหาไฟล์ที่สร้างโดยผู้ใช้เฉพาะ


15

ฉันจะไปเกี่ยวกับการค้นหาไฟล์ทั้งหมดที่สร้างโดยผู้ใช้เฉพาะและแสดงบนหน้าจอได้อย่างไร

ฉันได้เริ่มสคริปต์ที่แจ้งให้ผู้ใช้ปัจจุบันป้อนชื่อผู้ใช้ที่พวกเขาต้องการดูไฟล์ทั้งหมดของ ฉันคิดถึงการใช้คำสั่ง if หากพิจารณาว่าฉันต้องการรวมการตรวจสอบข้อผิดพลาด

echo -e "Option 11: Display all the Files a Particular User Has Created\n\n"
echo -e "Enter Username below\n"
read username

6
findมี-userตัวเลือกสำหรับการค้นหาไฟล์ที่ผู้ใช้คนหนึ่งเป็นเจ้าของ ไม่แน่ใจว่าคุณจะสามารถระบุได้อย่างไรว่าใครเป็นผู้สร้างไฟล์ที่นอกเหนือจากนั้น ความเป็นเจ้าของสามารถเปลี่ยนแปลงได้ดังนั้นฉันไม่รู้ว่านั่นคือสิ่งที่คุณต้องการจริงๆหรือไม่
Bratchley

2
วิธีเดียวที่ฉันเห็นการดำเนินการที่มีการตรวจสอบระบบไฟล์ในสถานที่
BitsOfNix

คำตอบ:


22

คุณไม่สามารถทำได้บนระบบไฟล์ Linux ปกติเนื่องจากไม่ได้ติดตามcreatorไฟล์เฉพาะเจ้าของไฟล์เท่านั้น โดยปกติผู้สร้างและเจ้าของมักจะไม่เหมือนกัน

หากคุณต้องการค้นหาเจ้าของไฟล์คุณสามารถทำได้ตามที่ระบุไว้โดย Bratchley

find / -type f -user user_name

เพื่อค้นหาไฟล์เหล่านั้นและแสดงชื่อ

ในการแสดงไฟล์คุณจะต้องมีโปรแกรมที่สามารถแสดงเนื้อหาของไฟล์ประเภทใดก็ได้ที่คุณอาจพบเจอ หากคุณมีshow_fileยูทิลิตีที่ใช้ชื่อ file_name เดียวเป็นอาร์กิวเมนต์คุณสามารถทำได้:

find / -type f -user user_name -exec show_file {} \;

0

การใช้find:

find / -type f -user “<SHORTUSERNAME>" -print 2>/dev/null

ดังนั้นในสคริปต์ของคุณ:

echo “Enter Username:”;  
while read -e;do find / -type f -user $REPLY -print 2>/dev/null;done
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.