加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 钦州站长网 (https://www.0777zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

资源 | 数据科学家必备的21个命令行工具

发布时间:2022-12-21 11:08:50 所属栏目:Unix 来源:
导读:  3.所有者/群组

  设置文件 file.txt 的所有者和群组:

  chown ubuntu:ubuntu file.txt

  递归地设置文件夹的所有者和群组:

  chown -R ubuntu:ubuntu dir_name

  4. 查看磁盘空
  3.所有者/群组
 
  设置文件 file.txt 的所有者和群组:
 
  chown ubuntu:ubuntu file.txt
 
  递归地设置文件夹的所有者和群组:
 
  chown -R ubuntu:ubuntu dir_name
 
  4. 查看磁盘空间
 
  查看所有磁盘分区:
 
  df -h
 
  获取文件夹大小:
 
  du -sh dir_name/
 
  获取文件夹大小和子目录大小:
 
  du -h dir_name/*
 
  获得文件大小:
 
  du -h filename
 
  下面的命令行能获取主机系统的信息:
 
  free
 
  top/htop
 
  现在我们已经在文件系统上运行并获取了我们需要的信息。不过在大多数情况下,这些并不是人类可读的信息。因此我们需要一些工具帮助分析数据。
 
  当我们需要分析信息,首先就需要找到它,通常使用命令行:
 
  find / var -name search _name
 
  如果名字太长或未知,同样可以使用符号*。在该案例中,使用命令行:
 
  find / var -name search_name*
 
  我们可以在主机中查找认证日志:
 
  一旦我们搜到了所需的文件,通常打开查看是有必要的。我们可以使用以下命令行实现:
 
  cat file_name
 
  cat file_name1 file_name2 > file_name3
 
  cat file_name* > file_name_end
 
  我们不仅同样可以为文件重定向(redirect)输出流,同时还能采用命令行用脚本完成:
 
  ./some_script.sh > /path/to/file.txt
 
  ./some_script.sh >> /path/to/file.txt
 
  在 /dev/null 中输出标准输出(STDOUT)和误差流(STDERR)
 
  some command > /dev/null 2>&1
 
  下一步是保存文件目录
 
  /var/log/auth.log
 
  和
 
  /var/log/auth.log.1
 
  在
 
  /home/auth.log
 
  文件中进行更多的分析。
 
  我们可以从输出看到,有太多的信息我们并不需要。现在我们需要过滤获得正好需要的信息,而该任务有一个很有用的 grep,句法展示为如下:
 
  cat file_name | grep some_line
 
  Grep 同样能应用于命令行和脚本:
 
  python run_sum_script.py | grep error
 
  通过 sshd 滤波器,我们可以打印仅仅和 ssh 相关的授权记录:
 
  我们同样能追踪文件的修订。当我们测试一个网页时,该方法是十分有效的。所以当查询日志或查看新的授权记录时,我们能「抓取」它。
 
  该命令行将打印第三方应用的新纪录到文件中。
 
  tail -f some_web_server_log
 
  该命令同样能连同 grep 一起使用。
 
  打印包含误差的新纪录
 
  tail -f some_web_server_log | grep error
 
  让我们在操作中查看一下 tail。首先,设置追踪文件
 
  /var/log/auth.log
 
  并使用命令行 tail
 
  -f /var/log/auth.log | grep sshd
 
  在每一个新连接都通过 ssh 连接到主机后,我们将显示信息和授权记录。
 
  另一个高效的文件文本分析工具是 Awk。在该工具的帮助下,我们能轻易地处理任何文本文件格式。Awk 是一种文本语境搜索工具。现有一些方式运行 Awk 程序。如果程序非常短,那么就很容易将其包含在命令行中来运行 Awk。就如同:
 
  awk 'program' input-file1 input-file2
 
  若需要更多的信息,请阅读以下指南:
 
  我们能使用 Awk 查看什么时候用户使用命令行通过 ssh 取得了连接。
 
  $ awk '/sshd/ && /pam_unix/ {print ($1,$2,$3,$8,$11)}' /var/log/auth.log
 
  同样还有一个高效的命令 sed。该命令复制文件(默认标准输入)到标准输出,并通过放置在 script(批处理文件或行编辑器 [而不是 shell])中的命令编辑它们。在 flag -f 命令下,采取图像 sfilefile。如果这里只有一个设置 -e script,那么-e flag 就能够省去。Script 由编辑命令组成,一行一条,并以如下格式:
 
  [addr [, addr]] cmd [args]
 
  「Sed」循环地转变一个输入字符串为输出。
 
  例如:
 
  sed 's/Nick/John/g' report.txt
 
  who | sed '2,4d'
 
  考虑一些有用的命令行帮助远程主机的操作。Tar 和 zip 文档常常用于保存空间和流量(traffic)。下面的命令行都是用来处理这些的:
 
  对于 tar:
 
  tar czf new-tar-file-name.tar.gz file-or-folder-to-archive
 
  --ignore-failed-read
 
  tar -czf new-tar-file-name.tar.gz file1 file2 folder1 folder2
 
  tar -xzf tar-file-name.tar.gz
 
  对于 zip:
 
  zip file-or-folder-to-archive new-zip-file-name.zip
 
  unzip -d new-zip-file-name.zip
 
  其中-d destination_folder
 
  当然,在远程主机上工作不能在没有文件转移(在本地计算机和远程主机间)的情况下完成。为了完成这个,我们能使用以下命令:
 
  scp -r (recursive) username@server:(remote location) (local location
 
  scp -r (local location) username@server:(remote location)
 
  上文中我们借助 awk 命令的帮助通过 ssh 已经接受到了连接与非连接用户的时间。现在我们可以将其全部保存到文件中unix命令行,并压缩为 tar 文件上传。
 
  结语
 
  在这篇文章中我们想要展示命令行接口(CLI)的多种可能性以及其如何能在数据科学上对我们有所帮助。你肯定在命令行上花了很多时间,本文旨在帮助你理解工作中使用的基本命令。
 
  每个工具都有其用武之地,其与更大流程的结合之也会变得越发强大。现在我们有很好的了解运用 grep、sed 和 awk 等优秀的工具。在利用 SSH 协议的安全通道之后,这些工具变得越发重要,我们也希望各位读者能高效地利用它们处理数据。
 
  更多有关GMIS 2017大会的内容,请点击「阅读原文」查看机器之心官网 GMIS 专题↓↓↓
 
 
 

(编辑:PHP编程网 - 钦州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章