仿写 Linux 下的 ls-l 命令
时间: 2024-05-16 08:15:01 浏览: 105
linux 系统命令 ls -l命令的实现
5星 · 资源好评率100%
在Linux下,ls命令是查看目录内容的常用命令,而ls -l命令则可以查看详细信息,包括文件的权限、所有者、大小、创建日期等。下面是仿写ls -l命令的代码:
```python
import os
import pwd
import grp
import time
def ls_l():
for file in os.listdir("."):
stat = os.lstat(file)
mode = stat.st_mode
size = stat.st_size
mtime = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime(stat.st_mtime))
isdir = "d" if os.path.isdir(file) else "-"
owner = pwd.getpwuid(stat.st_uid).pw_name
group = grp.getgrgid(stat.st_gid).gr_name
permission = "".join([
"r" if mode & 0o400 else "-",
"w" if mode & 0o200 else "-",
"x" if mode & 0o100 else "-",
"r" if mode & 0o40 else "-",
"w" if mode & 0o20 else "-",
"x" if mode & 0o10 else "-",
"r" if mode & 0o4 else "-",
"w" if mode & 0o2 else "-",
"x" if mode & 0o1 else "-"
])
print("{0}{1} {2} {3} {4} {5} {6}".format(
isdir, permission, owner, group, size, mtime, file))
if __name__ == "__main__":
ls_l()
```
该代码使用os模块获取文件的各种信息,并使用pwd和grp模块获取文件所有者和所属组的名称。最后,将文件的详细信息格式化输出。
阅读全文