當前位置:
首頁 > 科技 > 數據科學家必知的21個命令

數據科學家必知的21個命令

作者 | ActiveWizards

翻譯 | 李樂,王晨

在這篇文章里,我們將要一睹能快速分析文本數據(如日誌,報告等)的最方便工具。很多時候,我們需要的數據並不存儲在我們的本機上。所以首先,我們要知道如何鏈接到遠程伺服器上並使用它。為此,使用SSH最為合適。(SSH,即Secure Shell,是一個加密網路協議,它能讓你在一個不安全的網路上安全地遠程登陸和使用其他網路服務)

在Ubuntu的終端你可以用以下幾個命令之一來登陸遠程伺服器。

通過密鑰鏈接:

在遠程主機上執行命令:

此時,SSH 客戶端就已經在Ubuntu的默認程序列表中了。若沒有,你可以在終端嘗試以下命令。

On Windows

若你使用微軟的Windows,你需要安裝一款開源軟體PuTTY(地址http://www.putty.org/)來使用SHH。為了使用PuTTY鏈接,需要以下幾步:

1. 運行PuTTY並輸入你的鏈接設置:

a. Host Name: example.com

b. Port: 22 (leave as default)

c. Connection Type: SSH (leave as default)

2. 點擊Open開啟一個SSH回話。

3. 當打開SSH連接時,你應該會看到一個終端提示讓你輸入用戶名。

4. 接下來,輸入密碼。需要注意的是,當輸入密碼的時,你不會看到游標移動或任何輸入字元(如**)。這是一個標準的PuTTY安全特性。點擊enter。

5. 現在你已經可以在終端提示符下使用遠程主機了。

SSH的一個好的特性是可以創建secure tunnels。

On Ubuntu

1. 將遠程主機連接到本地

進入主機1.1.1.1

獲得主機192.168.0.1的許可權

操作:

-R 將遠程主機(伺服器)的某個埠轉發到本地端指定機器的指定埠。執行遠程重定向。當你訪問遠程主機的這個埠,就會建立一個SSH隧道,並建立了通向這個主機埠的鏈接。

-N不執行遠程腳本或命令,只在前向埠時使用。

-f 經過遠程系統認證後立即進入後台模式。

使用ssh隧道一個非常有用的方式就是用於這種通信加密。比如,你在一個開放的網路中使用,但是你不想別人能夠攔截你的數據。

2. 將本地機(客戶機)的某個埠轉發到遠端指定機器的指定埠

在本機1.1.1.1輸入http://localhost:80就會得到訪問遠程主機192.168.0.1的頁面。

操作:

-L 將本地機(客戶機)的某個埠轉發到遠端指定機器的指定埠。

反向隧道用於這種情況,你需要訪問一台被防火牆保護或處於NAT之後的主機。

使用PuTTY的SSH隧道功能

在Connection -> SSH -> Tunnels,輸入

選擇」Dynamic」,點擊「Add」

在會話中輸入目標主機地址並選擇SSH協議。通過手動輸入已保存的會話名來保存你的選擇。例如:「HostName with ssh tunnel on 22」,點擊「保存」,雙擊會話名,連接成功。

當SSH會話建立成功,你可以通過瀏覽器驗證鏈接是否成功。

現在我們連上了主機,已經可以操作了。但是一些命令需要root許可權。如果主機允許使用root許可權,你可以在終端中執行:

在輸入root用戶的密碼後,通過終端向遠程主機的鏈接就會被確認,你也獲得了root許可權:

我們知道了如何鏈接到主機和獲取必要許可權的所有要點,但這還不足以用來分析主機上的數據。接下來還要學習在遠程主機上控制、數據獲取和獲取的基本命令。

使用文件系統

現在,我們開始學習如何使用文件系統。以下是相應的命令用來:

1. 處理文件和文件夾

新建一個文件夾 dir_name

將dir_name重命名為dir_name2

刪除文件夾/文件

操作:

-r, -R 處理所有嵌套的子目錄。

-i 每一個傳輸鏈接移除之前需確認

-f 若錯誤是因文件不存在導致,則不以false結束,且不詢問是否建立連接

刪除所有以file2015開頭的文件;*表示任意字元,你可以把它用在任何表示缺失字元的地方。

創建文件 file_name.txt

重命名文件

2. 許可權

ls -la 查看目錄下所有文件、文件夾的連接情況及所有權

-l 關鍵的擴展輸出

執行file文件的許可權

R 代表dir_name文件夾所有的文件

更多信息請參考:https://ru.wikipedia.org/wiki/Chmod

3. 所有者(Owner)/所屬群組(Group)

為file.txt文件設置所有者和群組

遞歸設置所有者和群組

4. 查看磁碟空間

顯示目前在Linux系統上的文件系統的磁碟使用情況

獲取文件夾大小

獲取文件夾和子目錄的大小

獲取文件大小

下面的命令可以用來獲取主機系統的狀態:

查看內存和交換空間的使用情況

實時顯示系統中各個進程的資源佔用狀況

現在我們已經知道如何使用文件系統並獲得我們想要信息。不幸的是,在大部分情況下,這些信息都不便於人們理解。所以要考慮能方便數據分析的工具。

分析信息的第一步,就是找到信息。

通過這個命令可以用*符號,如果全名太長或者不知道,這時用

這個例子查詢主機上的認證日誌:

一旦找到了文件,通常情況下我們希望查看他們的內容。

輸出文件內容

將文件1和文件2合并,存入文件3

將多個文件合并存入文件的開始

將多個文件合并到制定目錄下的制定文件

除了對文件重定向,也可以對腳本和命令重定向

重定向輸出到文件(覆蓋文件)

重定向輸出到文件尾部

將標準輸出和錯誤輸出重定向到/dev/null

下一步保存文件內容

將和的文件內容保存到/home/auth.log

從上面的輸出,我們可以看到,有許多冗餘的信息。我們可以通過過濾來得到想要的信息。有一個非常有用的用法grep來處理這種情況。語法如下:

將cat的output信息過濾,這得到包含some_line的行

Grep也可以應用到命令和腳本中

只輸出包含errors的字元串

通過sshd過濾,我們可以列印只關於ssh的認證記錄

我們也可以跟蹤文件更改記錄。例如,當你需要測試網頁時,這將變得非常有用。所以當你查詢日誌或者查看新的認證記錄時,你可以獲取到這樣的信息:

列印製定文件的第三方應用的新記錄

也可以配合Grep來使用

列印包含error的新記錄

接下來讓我們看看tail做了什麼。首先設置跟蹤文件

然後利用tail命令

在每個面向主機ssh的新連接建立以後,我們顯示相關信息和認證記錄。

另一個用於分析文件的有用工具是awk. 利用它,我們可以很容易地處理任何一個文件結構。Awk是用於語義搜索和編輯的工具。它可以看做成一種shell形式的awk。運行awk程序有很多種方式。對於一個很短的程序,很容易將其加入運行awk的命令,如下:

更多信息,請參考手冊:http://www.gnu.org/software/gawk/manual/gawk.html

我們可以利用awk查看用戶何時連接或加入ssh

另外一個有用的命令是sed. 該命令將文件(默認為標準輸入)複製到標準輸出,利用包含這些命令的腳本編輯這些文件。利用標識符-f命令可以得到sfile文件的鏡像。如果只有-e script選項,-e標識符可以省略。默認情況下-n標識符無效。Script包含編輯命令,每個佔一行,格式如下:

Sed命令循環將輸入字元串轉化,並輸出。

例子:

將report.txt文件中所有的John替換為Nick

刪除那些包含如下信息的行:

等等。

下面介紹一下一些便於遠程主機操作的有用的命令。Tar和zip對於文檔的操作會節省空間和流量。常用的命令如下:

對於tar:

壓縮階段忽略讀取錯誤

其中,

c 用於從創建新的文檔

z 設置用gzip壓縮

f 設置文檔文件。

對於多級目錄:

x設置提取文檔

z設置利用gzip解壓

f設置文檔文件

對zip:

壓縮文件命令:

解壓文件命令:

其中,-d指明目標目錄。

當然,遠程主機的相關任務還需要本地電腦和遠程主機之間的文件傳輸。下面的命令將幫助我們完成這些任務:

從本機下載tar

向遠程伺服器上傳文件

利用awk命令我們已經獲得用戶連接時間和斷開時間。現在我們將這些保存在一個文件中,將其壓縮成tar文件並上傳:

總結

通過這篇文章,我們可以看多CLI的多種用途和它是如何幫助我們進行數據科學探究的。多數讀者肯定在搜索命令行上花了不少的時間。本文旨在幫助理解這些常用的基礎命令。

每一個指令都很有用,它們的合理組合將會形成一個非常強大指令。現在你可以熟練運用grep,sed和awk等命令。它們將會給你帶來很多機會。

我們希望了解更多讀者平時常用的指令,請在下面留言,繼續學習這些指令,提升自我。好運!

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

基於Arduino和IoT雲平台搭建物聯網系統
業務視角下的微服務架構設計實例
在調試器里看Windows 10的Linux子系統
Google I/O 2016——人工智慧真正的起點

TAG:CSDN |

您可能感興趣

數據科學家必用的25個深度學習的開放數據集!
研究報道:科學家有望復活已經滅絕700年的鳥類
2000多位科學家的「科學秀」
科學家有望復活已經滅絕700年的鳥類
工業4.0時代下的數據科學家
智能家:美國50個最棒的工作 數據科學家位居首位
迄今科學家困擾的15種謎團!
數據科學與數據科學家
人才缺口高達25萬,中位數工資70萬,數據科學家在美國最搶手
科學家證明:50-80%的智力是遺傳的
來自五個國家的研究人員和科學家榮獲2018年費薩爾國王獎
殺人機器人被禁止!90多個國家,2000多名科學家共同簽署協議!
2018年那些逝去的科學家們
科學家:有一種方法可以存活100萬億年
全球頂尖計算機科學家:美國632位,德國45位,中國數據你知道么?
104歲的科學家和96歲的愛情鳥
「更新」2018全球Top 1000 計算機科學家h指數,71位華人學者,29位中國科學家上榜
中國古生物學家張瀰漫獲得2018年「世界傑出女科學家成就獎」
科學家表示人類真的可以活1000歲了!
閉關4年,投入8億資金,500位頂級數據科學家完成了一個「臟活兒」