资源 | 数据科学家必备的21个命令行工具
发布时间:2022-12-21 11:08:50 所属栏目:Unix 来源:
导读: 3.所有者/群组
设置文件 file.txt 的所有者和群组:
chown ubuntu:ubuntu file.txt
递归地设置文件夹的所有者和群组:
chown -R ubuntu:ubuntu dir_name
4. 查看磁盘空
设置文件 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编程网 - 钦州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐

浙公网安备 33038102330484号