ICOM
June 29, 2017, 2:18am
1
shell เข้าไปดู มี directory ประหลาดตัวหนึ่ง c:?ecycler$temp cd เข้าด้วย root ก็ไม่ได้ ลบก็ไม่ได้ จะทำยังไงดีครับ
drwxr-xr-x 3 wanghin wanghin 4096 Mar 2 18:22 c:?ecycler$temp
ส่วน file ประหลาดอื่นๆลบออกได้หมดแล้ว เหลือ directory นี้เท่านั้นครับ
ขอบคุณครับ
apkp
June 29, 2017, 2:36am
2
ตอนลบ ขึ้น Error อะไร ครับ
1 Like
ICOM
June 29, 2017, 5:30am
3
เวลา cd เข้าไป บอกว่า ไม่ใช่ directory พอสั่งลบ ก็บอกว่า ไม่ใช่ directory ครับ
[root@ns5 public_html]# cd c:?ecycler$temp
-bash: cd: c:?ecycler: No such file or directory
[root@ns5 public_html]# rm -R c:?ecycler$temp
rm: cannot remove `c:?ecycler’: No such file or directory
ถ้า
rm -rf
ล่ะครับพี่ธี ได้ไหม
s3cr3t
June 29, 2017, 6:11am
5
ลองสร้างชื่อตามนั้นแล้วลบด้วย
rm ได้ปกตินะครับ
icez
June 29, 2017, 6:49am
6
เปลี่ยนสัฯลักษณ์พิเศษเป็น * ให้หมดครับ
rm -rfv c:ecycler temp
หรือไม่ก็ใส่ ’ ’ ครอบไว้
ICOM
June 29, 2017, 12:26pm
7
ลองแล้วครับ ไม่ได้
[root@ns5 public_html]# rm -R "c:?ecycler$temp"
rm: cannot remove `c:?ecycler’: No such file or directory
[root@ns5 public_html]# rm -R ‘c:?ecycler$temp’
rm: cannot remove `c:?ecycler$temp’: No such file or directory
[root@ns5 public_html]# mv c:?ecycler$temp c**ecycler*temp
mv: cannot stat `c:?ecycler’: No such file or directory
ลองอันนี้ได้มั้ยครับพี่
ls -1 -R -i | grep -a “[^A-Za-z0-9_.’:@ /-]” | while read f; do inode=$(echo “$f” | cut -d ’ ’ -f 1); find -inum “$inode” -delete; done
ICOM
June 29, 2017, 1:18pm
10
ลองแบบไม่รู้ว่าคือะไร 555 แต่ลองแล้วเป็นแบบนี้ครับ
[root@ns5 public_html]# ls -1 -R -i | grep -a “[^A-Za-z0-9_.’:@ /-]” | while read f; do inode=$(echo “$f” | cut -d ’ ’ -f 1); find -inum “$inode” -delete; done
find: cannot delete ./c:\recycler$temp': Directory not empty find: invalid argument
-delete’ to -inum' find: invalid argument
-delete’ to -inum' find: cannot delete
./images/\323\251\363\323\251\347\323\251\350\323\251\327’: Directory not empty
find: cannot delete ./images/\323\251\370\323\251\355\323\251\374\323\251\366': Directory not empty find: cannot delete
./images/\323\251\374\323\251\352\323\251\374\323\251\372\323\251\372\323\251\355’: Directory not empty
find: cannot delete ./images/prapa/\323\251\363\323\251\347\323\251\350\323\251\327': Directory not empty find: invalid argument
-delete’ to -inum' find: invalid argument
-delete’ to -inum' find: invalid argument
-delete’ to -inum' find: invalid argument
-delete’ to `-inum’
ลองอีกทีนะครับ
หาก่อนว่าไฟล์นี้ inode number อะไร
ls -li
จากนั้นสั่งลบ inode number มันครับ
find . -inum 99999 -mount -exec rm -Rf {} ;
แทนที่ 99999 ด้วยเลข inode number ของมันครับ
ICOM
June 29, 2017, 1:34pm
12
ผลครับ
[root@ns5 public_html]# ls -li
total 144
17359014 drwxr-xr-x 3 wanghin wanghin 4096 Mar 2 18:22 c:?ecycler$temp
[root@ns5 public_html]# find . -inum 17359014 -mount -exec rm -Rf {} ;
find: warning: you have specified the -mount option after a non-option argument -inum, but options are not positional (-mount affects tests specified before it as well as those specified after it). Please specify options before other arguments.
find: `./c:\recycler$temp’: No such file or directory
ลองอีกทีได้มั้ยครับ
find . -inum 17359014 -exec rm -rf {} ;
1 Like
ICOM
June 29, 2017, 1:39pm
14
ลองแล้วครับ หายวับไปกับตา
ค้นหา -inum แล้วก็สั่งลบ
ขอบคุณมากครับ ต้องเก็บคำสั่งไว้ศึกษา
1 Like
kke
June 30, 2017, 7:36pm
15
ชื่อไฟล์มันมี ? กับ $ ทำให้สั่งผ่าน command แล้วไม่เจอ เพราะมันไปตีค่า ? กับ $
ปกติผมจะใช้วิธีกด tab ให้มันค้นชื่อให้ มันจะใส่ " กับ \ ให้เอง
ถ้ายังไม่ได้ ก็ใช้ find ช่วยแบบข้างบน
ICOM
June 30, 2017, 9:08pm
16
ทดลองใช้ tab แทนการพิมพ์เข้าไปเองแล้วครับไม่ได้
ใช้ rm -rf .\c: แล้วกด tab ครับ