$ rm foobar
rm: remove regular file `foobar'?
Điều đó có nghĩa gì đối với một tệp là "thông thường" và tại sao lại rm
coi một tệp đó là một trường hợp đặc biệt?
$ rm foobar
rm: remove regular file `foobar'?
Điều đó có nghĩa gì đối với một tệp là "thông thường" và tại sao lại rm
coi một tệp đó là một trường hợp đặc biệt?
Câu trả lời:
Bất kỳ tệp nào vượt qua bài kiểm tra ( -f
) là một tệp thông thường:
$ test -f afile.zip && echo regular
regular
Nếu bạn xem qua trang hướng dẫn, test
bạn sẽ thấy tất cả các loại tệp khác nhau.
Bạn cũng có thể kiểm tra xem một tệp có thường xuyên hay không bằng cách sử dụng stat
lệnh:
$ stat afile.zip
File: `afile.zip'
Size: 1512 Blocks: 8 IO Block: 4096 regular file
Device: fd02h/64770d Inode: 10370668 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 500/ saml) Gid: ( 501/ saml)
Access: 2013-11-07 15:52:06.719632792 -0500
Modify: 2013-11-07 15:52:00.949760104 -0500
Change: 2013-11-07 15:52:00.949760104 -0500
Để hiểu thêm về sự khác biệt giữa một tệp thông thường và các loại có thể khác, hãy xem trang hướng dẫn stat
. Hãy chắc chắn xem trang man cho hướng dẫn lập trình viên chứ không phải trang man cho stat
lệnh thực tế .
$ man 2 stat
Phần này đặc biệt hiển thị các loại tệp khác nhau:
The following flags are defined for the st_mode field:
S_IFMT 0170000 bit mask for the file type bit fields
S_IFSOCK 0140000 socket
S_IFLNK 0120000 symbolic link
S_IFREG 0100000 regular file
S_IFBLK 0060000 block device
S_IFDIR 0040000 directory
S_IFCHR 0020000 character device
S_IFIFO 0010000 FIFO
S_ISUID 0004000 set UID bit
S_ISGID 0002000 set-group-ID bit (see below)
S_ISVTX 0001000 sticky bit (see below)
S_IRWXU 00700 mask for file owner permissions
S_IRUSR 00400 owner has read permission
S_IWUSR 00200 owner has write permission
S_IXUSR 00100 owner has execute permission
S_IRWXG 00070 mask for group permissions
S_IRGRP 00040 group has read permission
S_IWGRP 00020 group has write permission
S_IXGRP 00010 group has execute permission
S_IRWXO 00007 mask for permissions for others (not in group)
S_IROTH 00004 others have read permission
S_IWOTH 00002 others have write permission
S_IXOTH 00001 others have execute permission
Tôi rm
có thể là một bí danh rm -i
. Phần "thông thường" không có nghĩa gì đặc biệt, nó chỉ có nghĩa là nó không phải là đường ống, thiết bị, ổ cắm hay bất cứ thứ gì "đặc biệt".
file /etc/passwd
hoặc file /dev/null
.
rm -i
.