熟悉linux
1. 熟悉常用的 linux 操作和 Hadoop 操作
1.切換到當前目錄的上一級目錄
cd ..
2.切換到當前登錄 Linux 系統的用戶自己的主文件夾
cd ~
3.進入/tmp 目錄,創建目錄 a1/a2/a3/a4。
mkdir a1/a2/a3/a4 -p
4.刪除目錄
rmdir a
rmdir a1/a2/a3/a4 -p
5.cp 命令:復制文件或目錄
(1) 將當前用戶的主文件夾下的文件.bashrc 復制到目錄「/usr」下,並重命名為 bashrc1
sudo cp .bashrc /usr/bashrc1
(2) 在目錄「/tmp」下新建目錄 test,再把這個目錄復制到「/usr」目錄下
cd /tmp
mkdir test
sudo cp /tmp/test /usr -r
6.mv 命令:移動文件與目錄,或更名
(1) 將「/usr」目錄下的文件 bashrc1 移動到「/usr/test」目錄下
sudo mv /usr/bashrc1 /usr/test
(2) 將「/usr」目錄下的 test 目錄重命名為 test2
sudo mv /usr/test /usr/test2
7.rm 命令:移除文件或目錄
(1) 將「/usr/test2」目錄下的 bashrc1 文件刪除
sudo rm /usr/test2/bashrc1
(2) 將「/usr」目錄下的 test2 目錄刪除
sudo rm -rf /usr/test2
8.cat 命令:查看文件內容查看當前用戶主文件夾下的.bashrc 文件內容
cat .bashrc
9.tac 命令:反向查看文件內容反向查看當前用戶主文件夾下的.bashrc 文件的內容
tac .bashrc
10.more 命令:一頁一頁翻動查看翻頁查看當前用戶主文件夾下的.bashrc 文件的內容
more .bashrc
11.head 命令:取出前面幾行
(1) 查看當前用戶主文件夾下.bashrc 文件內容前 20 行
head -n20 .bashrc
(2)查看當前用戶主文件夾下.bashrc 文件內容,後面 50 行不顯示,只顯示前面幾行
head -n -50 .bashrc
12.tail 命令:取出後面幾行
(1)查看當前用戶主文件夾下.bashrc 文件內容最後 20 行
tail -n20 .bashrc
(2)查看當前用戶主文件夾下.bashrc 文件內容,並且只列出 50 行以後的數據
tail -n -50 .bashrc
13.touch 命令:修改文件時間或創建新文件
(1) 在「/tmp」目錄下創建一個空文件 hello,並查看文件時間
touch hello
stat hello
(2)修改 hello 文件,將文件時間整為 5 天前
touch -d "2019-3-26" hello
stat hello
14.chown 命令:修改文件所有者許可權將 hello 文件所有者改為 root 帳號,並查看屬性
sudo chown root hello
ls -l hello
15.find 命令:文件查找找出主文件夾下文件名為.bashrc 的文件
find .bashrc
16.tar 命令:壓縮命令
(1) 在根目錄「/」下新建文件夾 test,然後在根目錄「/」下打包成 test.tar.gz
tar -zcvf test.tar.gz test/
(2) 把上面的 test.tar.gz 壓縮包,解壓縮到「/tmp」目錄
tar -zxvf test.tar.gz
17.grep 命令:查找字元串從「~/.bashrc」文件中查找字元串'examples'
grep -rn "examples" .bashrc
18.使用 hadoop 用戶登錄 Linux 系統,啟動 Hadoop(Hadoop 的安裝目錄為「/usr/local/hadoop」),為 hadoop 用戶在 HDFS 中創建用戶目錄「/user/hadoop」
./bin/hadoop fs -mkdir -p /usr/hadoop
19.接著在 HDFS 的目錄「/user/hadoop」下,創建 test 文件夾,並查看文件列表
./bin/hdfs dfs -mkdir test
./bin/hadoop fs -ls
20.將 Linux 系統本地的「~/.bashrc」文件上傳到 HDFS 的 test 文件夾中,並查看 test
./bin/hadoop fs -put ~/.bashrc test
./bin/hadoop fs -ls test
21.將 HDFS 文件夾 test 復制到 Linux 系統本地文件系統的「/usr/local/hadoop」目錄下
參考: 1
2. 怎樣學習linux
1.興趣培養好的開頭的成功的一半,如果要想學好必須要先喜歡他。培養一個好的興趣是很好必要的,查看目前市場的需求可以看到linux的發展勢頭...
2.開發版本的選擇接著要了解linux系統的發行版,linux旗下發行版一般分伺服器版本和桌面版本。當然桌面版本也可以做服務的,為了以後工作...
3.linux系統社區選擇好linux系統版本之後,到相關linux社群或查看專業的linux指導手冊。了解此版本和linux的相關知識
4.Linux架構和命令了解linux版本之後,安裝linux進行學習。熟悉linux啟動的過程等。linux下都是通過命令來執行的,要學會...
5.服務搭建和排除然後是屬性各種linux系統下服務的安裝和搭建。維護配置linux下的常見服務等,遇到問題根據日誌查看排除。
3. 零基礎學習linux要怎麼開始
首先,當前Linux操作系統是不錯的選擇,一方面Linux操作系統的應用范圍比較廣泛,尤其在大數據、物聯網和人工智慧領域有大量的應用場景,另一方面Linux操作系統是開源的,可以通過閱讀其核心源代碼來深入了解操作系統的體系結構和資源管理方式。在當前的大數據、人工智慧時代背景下,不僅IT(互聯網)行業的職場人應該學習Linux操作系統,傳統行業的職場人學習Linux操作系統也會帶來一定的積極意義。
學習Linux操作系統通常要經歷三個階段,每個學習階段有不同的學習方式和學習目標。學習Linux的第一個階段是熟悉Linux操作系統的應用,掌握Linux操作系統的安裝和運行方式,這個階段的學習難度是相對比較低的,也完全可以通過自學來掌握Linux操作系統的基礎應用。
學習Linux操作系統的第二個階段是基於Linux操作系統來完成一些行業應用,比如雲計算就是一個不錯的選擇,其中通過Linux來完成一些虛擬化操作也會為理解雲計算奠定一個扎實的基礎,而在這個過程中,會系統了解Linux操作系統的資源管理方式。Linux在雲計算領域的應用是非常普遍的,而且很多學習Linux操作系統的初學者未來也可以從事雲計算運維類崗位。
學習Linux操作系統的第三個階段是基於Linux操作系統進行一些程序設計,這個階段要了解Linux操作系統的資源管理方式和程序調度方式,要學習一系列Linux的API,這個過程可以看成是深入學習Linux操作系統的重要階段。
4. 新手入門Linux的步驟
很多Linux初學者不知從何處開始學起,怎麼學,感覺很茫然。Linux菜鳥要成為Linux高手,要有一個好的學習計劃和規劃,參加正規培訓班,要不然時間花了很多,卻沒有效果。這里介紹學習Linux的步驟和建議,也可以咨詢老男孩教育,希望對初學者有幫助。
准備階段:(1)了解Linux是什麼,有什麼優缺點,發展歷史和現狀,應用領域;(2)趕快找一部計算機,趕快安裝一個 Linux 發行版本,要自己親手安裝一遍Linux操作系統(包括虛擬機的Linux環境和完整真實的Linux環境);(3)熟悉Linux環境和Linux基本操作
菜鳥階段之選教程:選擇一本好的工具書工具書對於學習者而言是相當重要的。如:跟老男孩學Linux運維,linux就該這樣學等。
菜鳥階段之系統命令:Linux命令是必須好好學習和經常使用,而不要經常去使用菜單操作。一定要養成在命令行下工作的習慣
中級階段之命令行習慣:養成在命令行下工作:一定要養成在命令行下工作的習慣,要不然沒法成為高手
中級階段之Linux系統結構理解、語言編程與英語:C語言、C++,QT,shell,makefile,java,vi編輯器使用。這些至少要精通一兩門編程語言吧
高級階段之網路編程:Linux是網路的代名詞,Linux網路服務功能非常強大,不論是郵件伺服器、Web伺服器、DNS伺服器等都非常完善。要增加自己Linux 的技能,只有通過實踐來實現了。所以學習Linux也一樣,如果你無法經常學習的話,學了後面的,前面的忘了。你對Linux命令熟悉後你可以開始搭建一個小的Linux網路,這是最好的實踐方法。 當然你不需搭建所有服務,可以慢慢來。需要說明的是這個Linux網路對於初學者有兩三台計算機即可。學好了學好學精了Linux的網路編程,可以肯定的告訴你,你已經是一個非常優秀的Linux人才或者「Linux高手」了
高級階段之嵌入式編程、底層驅動編程與內核源碼:成為Linux高手的重要的方向
5. 如何學習linux
1、學習linux要學的內容很多,很多東西必須了解其機制,所以並不單單的如windows那樣傻瓜式的學習,因為windows本身就是針對不懂電腦的人群。。
2、精通這種詞很難定義,反正要學的東西很多。
3、在windows下安裝虛擬機對於新手學習linux較方便,在linux安裝windows虛擬機(我的經驗是卡,我用的是vmware 而且不是一般的卡) ,起初條件差,自己裝了雙系統,後來就買兩台電腦,一台LINUX一台WINDOWS。
下面就是詳細的說一下。。
一.為什麼要學linux?
當然最重要是愛好和興趣!如果你這種必要學,或者根本不喜歡,請不要浪費時間,你學也學不好!
二.起步
你應該為自己創造一個學習linux的環境--在電腦上裝一個linux或unix
如何選擇版本:北美用redhat,歐洲用SuSE,桌面mandrake較多,而debian是技術最先進的linux開發人員中用debian的最多,其次是redhat,從全球linux各應用領域市場份額來看無疑redhat是最多的,此外還有很多出名的發行版本,不再列舉。
對於初學linux的人來說,我建議是使用redhat,原因如下:
1)現在很多書都是以redhat為例講的,為了與書本協調一致
2)周圍的人都用redhat,交流比較方便
3)redhat應用范圍廣,有典型性和代表性
4)它易於使用和安裝,我們沒有必要把時間浪費在「裝系統」上而應集中精力學習最有用的東西。
【注】現在覺得RH很死板,AS,ES等用在伺服器上或許不錯,Personal desktop用mandrake,debian,suse都不錯,筆者現在用Mandrake,因為她長得漂亮:)
如果你並不打算深入學習linux,而是有諸如適應北京市政府辦公平台遷移到linux上這種需要,那麼中軟,紅旗等中文linux是不錯的選擇
我強烈建議:自己親自動手把linux裝到你的硬碟上,你必須學會獨立安裝linux系統的技能,對於現在的版本來說,其實跟裝WinXP一樣簡單
從此現在開始,請不要以windows的工作方式來考慮問題,應該嘗試挖掘linux身上的「天才unix」的氣質。
三.進階
掌握至少50個以上的常用命令
理解shell管道"|",文件流重定向">"及追加">>"等
熟悉Gnome/KDE等X-windows桌面環境操作
掌握.tgz.rpm.biz等軟體包的常用安裝方法
學習添加外設,安裝設備驅動程序(比如modem)
熟悉Grub/Lilo引導器及簡單的修復操作
熟悉系統固有目錄的名稱及公用
學會用mount命令訪問其他文件系統
了解vi,gcc,gdb等常用編輯器,編譯器,調試器
學習linux環境下的簡單組網
建議:買一本不需要太厚的linux教材,大致可以滿足要求(現在的書越來越多了,還帶很多圖,我當時可沒這么多書)
四.高級應用
澄清一些概念:linux的普通操作與真正的系統管理不能相提並論,後者需要很多知識
1.英語
即使你不學linux,我也強烈建議你學好英文[U.S.english]。因為實質上計算機語言就是英文和字元,所謂的多國語言只是外部包裝。你必須能無障礙的閱讀大量的英文技術文檔在搜索引擎找到的英文網站和網頁中熟練的檢索最好能有用英文直接交流的能力,擺脫了這個障礙,你的學習和理解速度就能快很多,你就有機會拉開和別人的差距。
2.shell[sed/awk]
shell是命令解釋器,是內核與用戶界面交流通道,shell寫的小腳本有點類似於win下的.bat但shell比.bat強大的多,shell不只是解釋命令,更是一種編程語言,有時候幾百行的c用shell幾十行就能代替完成工作,因為shell的工作方式建立在系統已有的眾多應用程序之上
這也是CS中的一個重要思想。此外,shell可以實現工作自動化,這個概念也比較重要sed,awk用來處理文本,歷來很常用。
3.Perl/php
漂亮的腳本, CGI的首選,比ASP好,應用面很廣
4.C\C++
C、C++是linux/unix的核心語言,系統代碼都是C寫的
5.ASM
系統底層及內核,硬體,設備驅動程序,嵌入式開發都需要。//走核心路線的話,c\c++,asm最重要
6.Java,Python,Tcl,XML
五、系統管理篇
在熟悉linux的基礎上還需要掌握至少一種unix。我首推Solaris,其次是FreeBSD比如運營級系統一般是Solaris+Oracle/DB2之類的學習apache、ssh、sendmail/Qmail、proftp/vsftp、Samba、Squid、Mysql/PostgreSQL/Oracle、Bind等各種應用伺服器的構架及電子商務的應用熟悉TCP/IP協議族,學習諸如apache+php+proftp+mysql+quota的實現以及大型區域網,分布式集群等各種企業級應用解決方案熟悉多用戶管理,資料庫管理,文件系統,邏輯存儲管理,日誌分析,備份與災難數據修復系統補丁,內核升級,以及在此基礎上的防火牆構架等以保障系統安全在內的各種系統管理技能。
我覺得,如果在此基礎上再掌握路由/交換設備便是一個不錯的系統管理員
各種基於linux的解決方案可參考相關書籍和文獻,必要時用google或各大linux站點站內搜索引擎尋找最新文檔,以避免錯誤和漏洞有幾本技術大全和技術內幕我認為都是這方面不錯的書
六、深入學習linux
我個人理解的讀linux內核需要的基礎:在此之前,希望先把應用層的東西學一下,那樣會比較好理解
1.C
如果學過潭浩強的大學教科書(除了編幾個數學模型好像什麼也做不了的那種),建議再看一下《The C Programming Language》Second Edition這本聖經(如果想學緩沖區溢出,這點C的功力可能是不夠的,還有<C陷阱與缺陷>,<C專家編程>,<C\C++深層探索>,反正經典書看多了是沒有壞處的)
2.asm (AT&T語法,保護模式)
保護模式下的比較復雜,基本上每本講內核的書都會有介紹有80x86 Intel語法的基礎就行,
有興趣可以看看Intel的官方網站
3.數據結構(離散數學)
計算機專業的核心課程,重要性我就不說了
4.操作系統原理
看懂這個再去讀linux吧
5.微機原理/組成原理(數字電路)
底層直接和硬體打交道,所以這個也要
6.了解linux/unix
我想至少你要會操作吧,了解unix的API
7.軟體工程/編譯原理