您会为Linux系统管理员推荐哪本Python书籍?

时间:2008-10-05 11:28:15

标签: python linux sysadmin system-administration

Python for Unix and Linux System Administration针对的是系统管理员。 除此之外的任何其他最爱。

8 个答案:

答案 0 :(得分:5)

首先,您可以从Python文档索引开始学习Python的基础知识。同样感兴趣的还有教程,库参考。对于sysadmin,您可以使用的一些库,仅举几例

  1. shutil(移动/复制文件)
  2. os例如 os.walk() - >寻找文件的递归目录
    os.path.join() - >加入文件路径
    os.getmtime(),os.getatime() - >文件时间戳
    os.remove(),os.removedirs() - >删除文件
    os.rename() - >重命名文件.. 还有更多...请参阅帮助(os)了解更多操作系统内容......
  3. SYS
  4. ftplib,telnetlib - >用于文件传输和远程登记......
  5. glob() - >文件通配,通配符
  6. re - >正则表达式,如果你需要使用它。(但不是必需的)
  7. paramiko - > SSH,如果你想使用安全shell
  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. 日期时间,时间 - >处理日期和时间,例如计算旧日数或两个日期之间的差异等

  14. fileinput - >用于编辑文件。

  15. md5或hashlib - >计算哈希摘要/ md5,例如查找重复文件......

  16. 当然,还有更多,但我留给你探索。

答案 1 :(得分:4)

Mark Pilgrim的http://www.diveintopython.net/非常清楚。

答案 2 :(得分:3)

+1 Dive into Python和Python in a Nutshell。我也强烈推荐effbot的Guide to the Standard Library。您可能还想查看Python Cookbook以获取一些惯用Python代码的好例子。查看Foundations of Python Networking以获取SysAdmin书籍在网络协议方面的优势(fyi:所有APress书籍都以PDF格式提供,我喜欢)

答案 3 :(得分:2)

如果您不了解Python,可以从这里开始:Dive into Python(如果您知道一些编码)。这是一个免费下载。 Python.org上的Python tutorial也非常好,我从这里学到了很多东西,然后潜入Python。您也可以先看一下Google Tech Talk Video。标题为程序员说Python,但它仍然有用。一旦你知道这一点,从我所听到的,你提到的Python for Unix和Linux系统管理是一个非常好的和充分的。在强调使用Python进行系统管理的细节之前,我强烈建议您先学习它的基础知识。

快乐的Python。

答案 4 :(得分:2)

我认为您希望将Python in a Nutshell放在书架上。 Alex Martelli提供的优秀,全面的参考资料。

答案 5 :(得分:2)

Beginning Python: From Novice to Professional是一本很好的书。 我可以推荐它。

答案 6 :(得分:1)

我也是从python.org上的Python教程开始的,这让我开始相当快,在此之后我正在阅读O'Reilly的编程Python。

答案 7 :(得分:0)

我开始使用Mark Lutz的Programming Python(O'Reilly)。