你会推荐哪本Python书给Linux系统管理员?

1 投票
8 回答
7909 浏览
提问于 2025-04-11 09:23

《Python在Unix和Linux系统管理中的应用》是一本专门为系统管理员准备的书。除了这本书,还有其他推荐的吗?

8 个回答

3

我推荐《Dive into Python》和《Python in a Nutshell》这两本书,都是很不错的学习资料。此外,我还强烈推荐effbot的《Guide to the Standard Library》,这本书对Python的标准库有很好的介绍。你可能还想看看《Python Cookbook》,里面有很多地道的Python代码示例,能帮助你更好地理解Python的用法。还有《Foundations of Python Networking》,这本书可以接着《SysAdmin》那本书的内容,深入了解网络协议(顺便说一下:所有APress的书都可以找到PDF版本,我觉得这点很棒)。

5

首先,你可以从Python的官方文档开始学习基础知识,文档索引里有很多有用的内容。那里还有教程和库的参考资料。对于系统管理员来说,有一些库是非常有用的,下面列举几个:

  1. shutil(用于移动或复制文件)
  2. os,比如:
    • os.walk() -> 递归查找目录中的文件
    • os.path.join() -> 合并文件路径
    • os.getmtime(), os.getatime() -> 获取文件的时间戳
    • os.remove(), os.removedirs() -> 删除文件
    • os.rename() -> 重命名文件
    还有很多其他的功能……你可以查看help(os)来了解更多操作系统相关的内容。
  3. sys
  4. ftplib, telnetlib -> 用于文件传输和telnet连接……
  5. glob() -> 文件匹配,使用通配符
  6. re -> 正则表达式,如果你需要用到它(但不是必须的)
  7. paramiko -> SSH,如果你想使用安全外壳
  8. socket -> 如果你需要进行网络编程,可以使用这个库……
  9. 作为系统管理员,你通常需要读写文件,所以要学习如何做到这一点。

  10. a) 使用for循环

      for line in open("file"):
         print line
    
  11. b) 使用文件句柄

      f=open("file")
      for line in f:
         print line
      f.close()
    
  12. c) 使用while循环

      f=open("file")
      while 1:
          line=f.readline()
          if not line: break
          print line
      f.close()
    
  13. datetime, time -> 处理日期和时间,比如计算某个日期距离现在有多少天,或者两个日期之间的差异等等。
  14. fileinput -> 用于直接编辑文件。

  15. md5或hashlib -> 计算哈希值,比如用来查找重复文件……

当然,还有很多其他的库,留给你自己去探索。

3

Mark Pilgrim的http://www.diveintopython.net/这个网站非常好,内容也很清晰。

撰写回答