剛學習,嘿嘿,求指導


關於linux:如果你是小白,linux快速入門技術值得你收藏?

zhuanlan.zhihu.com圖標

1、不要以根用戶登錄

這是你首先應該注意和遵守的。以前我們可能已經習慣了Windows,我們一直以為許可權越高越好,所以我們喜歡以管理員帳戶登錄。但是這也許是Windows經常被病毒騷擾和不安全的重要原因,現在太多人都在用根用戶登錄。

許可權越高責任越大,擁有管理員許可權你需要謹慎對待你所做的任何事情,但是錯誤還是不可避免。我記得我最先使用的是Suse Linux,有很多事項需要管理但是沒有圖像用戶界面我不知道如何做,於是我天真的註銷並登錄到了根用戶的圖形界面。根用戶圖形界面的默認壁紙是一排排的高亮地雷。這些符號在我腦海里盤旋,我很小心沒有終於沒有做錯什麼。

那麼以根用戶登錄有那些危險?

你可以想像你在沒有保護網的情況下打鞦韆,會不會感到害怕?這和你以根用戶登錄的道理是一樣的,你會不經意間毀掉你的系統。

你可能會不小心運行惡意軟體。通常在根用戶模式下任何程序的啟動都默認給予所有許可權的。

如果你的系統有安全漏洞沒有修補,你就可能被別人完全控制。

這是使用Unix的慣例,除非必須那麼不要輕易在根用戶下運行任何東西。如果一個不是自己觸發的程序請求根用戶許可權,那麼你就要小心了。

通常,我們不必登錄根用戶界面,下面是幾條技巧:

使用「sudo」或「su」命令,並在你完成管理時退出

如果你不知道如何使用命令行完成這些,你可以使用「gksu」或「kdesu」。比如,按 Alt+F2並打出「gksu nautilus」,並在你完成時馬上結束程序

2、合理的命名你的文件

Linux環境下,你可以按照你的意願命名文件,但是以下兩點是不允許的:1)「/」是根目錄專用的;2)不要使用無效字元。其它的在技術上都是可以的,但是為了避免以後的麻煩這裡有幾點經驗你可以遵守:

經驗上,只使用字母、數字、連接符(-)和下劃線(_)

避免使用美元符($),括弧和百分號(%)等特殊字元,這些字元對於shell有著特殊意義,可能會引起衝突

避免使用空格,在終端上處理含有空格的文件是很愚蠢的。你可以用連接符或下劃線來代替空格。

這些已經基本上成為我的習慣,並且我在使用Windows和MAC時也不自覺的遵守這些準則。

3、將你的home目錄放在一個獨立的分區上

這樣做會給你很大的靈活性。將home目錄放在一個獨立的分區上,可以在你重裝系統甚至升級你的整個版本而不會丟失你的數據和個人設置。你可以在根目錄下重新設置你所需要的而保留home分區。現在你可以將你需要的隨意分類而不必擔心的數據和個人設置,你可以隨時使用它們。

如果碰巧在你安裝系統之後才懂得這一點,不要失望。你可以按照Carthik在ubantu Blog上的一片名為「Move /home to it』s own partition」的指導道一步步的完成。

4、合理的災難管理

Linux是比較強大和穩定的,但是任何系統都會崩潰。在你CTRL-ALT-DEL,重啟之前,你應該學會如何處理你遇到的事故。你需要知道如何在不重啟的情況下輕鬆恢復你的系統。我個人認為這種情況分為幾個不同的層次,如果前一步不奏效的話請轉向下一步:

我將「強制關閉」程序放在我的任務欄上,如果哪個程序出現問題可以單擊「強制關閉」圖標並結束該程序

如果上一步不奏效,調用終端,用「ps -A」,記下那個出問題程序的進程號,結束它

使用「killall」命令,比如「killall firefox-bin」

如果整個圖形界面都凍結,你已經不可能調用終端,按CTRL-ALT-F1,這樣可以轉到另一個終端,這樣你就可以使用步驟2和3來結束出問題的程序

還不行的話,你可以使用CTRL-ALT-Backspace組合重啟你的圖形界面,但是要注意的是,這樣會結束你正在運行的GUI程序

調用CTRL-ALT-F1再使用CTRL+ALT+DEL這樣不會立即重啟你的系統,只是按照正常模式重啟,所以是安全的(假定你想要重啟並且CTRL-ALT-F1可用)。

如果這一切都不管用,也不用記著按強制重啟按鈕,嘗試Raise a Skinny Elephant

5、主動嘗試

你可能對朋友給你設置設計的當前版本和配置很滿意,這適合你。這很好,但是可能會有比這更好的。為什麼不嘗試下Linux和開源的靈活性和豐富性呢?不要害怕嘗試不同的程序,圖形管理和桌面。實驗直到你找到最適合你的。你可以這樣想,你現在居住在世界上最好的地方,但是環球旅行也不會有什麼壞處的?或許說不定你還可以找到一個更好的居住地,就算不能,你旅行的時間也值得好好品味,你對其它國家,它們的人和風俗,思考方式瞭解的更多,最終說不定你會喜歡上這樣的嘗試。你嘗試的任何新事物都會增加你的學識,一年左右的時間你將會對Linux和開源世界有一個很好的把握。

我個人曾嘗試過至少10種分配方式,4種桌面和五種桌面管理。我最近的文章《 Etymology of A Distro》使我對更多的分配感興趣,象Zenwalk, Foresight和 Sabayon等。朋友,主動嘗試,這對你有好處。

在你嘗試之前,你可以參考以下幾點:

設置好你感覺最舒服的系統,因為你需要一個時刻工作的系統。這樣你就可以按照下面的幾點進行嘗試

你可以利用虛擬機來完成。安裝一個Vmware或Virtualbox,用它們來做測試

如果你不知道如何運用虛擬機,你可以設置一個獨立分區來嘗試

最好的,你可以用一個設置好的PC,再有一個當作測試用。這樣你就可以隨心所欲的進行嘗試

6、熟悉使用你的命令行

雖然我不提倡你一定要學習命令行,有太多的文章一直強調學習命令行的重要性。這裡我假設你已經知道他的重要性並且已經知道怎樣用它處理一些簡單的管理任務。你可以按照指導書和手冊做相應的配置。但是不要一味的複製和粘貼。就是說,不止不加思考的執行命令許多有自由天性的人勸誡你要盡量深刻的理解每條命令行的含義,它能做什麼。為什麼手冊上這樣做的,而不是那樣做?理解你所做步驟的基本原理。

過了一段時間你就會感覺你已經能很好的運用它了。

最後你會發現它僅僅是種偽裝的語言。每條命令可能只是一些詞語的首字母,或一個單詞的縮寫。你希望你的狗理解「Spike fetch ball」這樣的長句,為什麼不嘗試理解下「sudo mv /file1 /file2」那?

7、為你的用武之地做些準備

我有過很多這樣的經歷,當有個朋友請求我在他的電腦上做些東西,但是由於他所選擇的操作系統會出現糗事。有時候我有急事但是僅有的電腦有很挫的操作系統。不必痛苦,隨身戴上你的linux系統,不管是存儲在U盤或CD上。有相當多的linux版本很方便的,象Knoppix, DSL和 Puppy Linux等.


首先一定要明確自己學Linux的目的。不同的目的有不同的學習方法和策略。下面列舉幾種常見的目的和對應的學習方法。

  • 需要用Linux完成科研、開發等工作。除非這些工作本身是關於操作系統的,否則不需要深入學習Linux內核、複雜的系統配置等等。只需要學習基本的命令行操作,以及和自己工作相關的部分。如果有條件,盡量使用開箱即用的環境,而不要浪費時間在手動配環境上。
  • 需要學習Linux運維。這種就需要深入學習系統配置和管理,以及相關的網路技術、自動化技術等等。並且針對運維平臺本身的需求擴展自己的技能集。比如如何使用容器技術部署微服務等等。
  • 需要日常使用Linux桌面系統。一開始可以先嘗試使用主流的桌面系統,比如Ubuntu. 先感受一下在Linux桌面系統上會遇到哪些日常問題,然後找找解決方案。熟練之後可以慢慢探索開源軟體的合作模式,會編程的話可以參與一些開源軟體的工作。不會特定軟體的編程語言也可以參與翻譯文檔、答覆討論版等等。

特彆強調一下,市面上有很多教材和培訓機構都是針對運維工作來教Linux的,如果你學Linux不是為了從事運維工作,沒必要從那些教材和培訓機構裏學。


很多人想學習Linux,卻不知道怎麼著手,甚至不知道Linux有哪些方向,跟題主一樣迷茫。基於此,我特地寫了篇文章介紹Linux方向性問題,沒想到一不小心成了爆款:

到什麼程度才叫精通 Linux??

www.zhihu.com圖標

看完這個回答,相信很多人至少知道了目前 Linux 從業者所從事的幾個方向,對於方向選擇有個大概的認知。

自我介紹一下。我是良許,本科及碩士所學專業卻是機械,畢業後從零開始自學轉行 IT,1 年後被世界 500 強外企所錄用,目前是 Linux 工程師

本文將根據我的從業經驗及與同行大佬的交流,介紹一些Linux學習方法,並且在文末贈送一些Linux書籍的電子版及及視頻教程等資源,希望對大家有幫助!

書籍篇

對於Linux書籍的推薦,我特地寫了幾個回答來介紹,這裡就不重複貼回答了:

有沒有學習Linux比較好的入門書籍?

求推薦學習linux命令的書籍?

有沒有比《鳥哥的Linux私房菜》更好的書?

嵌入式Linux有哪些好書推薦?

資源篇

不管學習什麼技術,資源都是必不可少的。想當年,我自學轉行,靠的就是大量的優質資源。優質資源會助你一臂之力,讓你快速入門。

當然,我也整理了另外一些不錯的資源,寫在這個回答裏了,大家可以看看:

有哪些好的Linux學習資源??

www.zhihu.com圖標

想進大廠的同學,一定要好好學演算法,這是面試必備的。這裡準備了一份 BAT 大佬總結的 LeetCode 刷題寶典,很多人靠它們進了大廠。

冒死分享,面試必備!LeetCode 刷題神器,看完 BAT 隨你挑!?

t.1yb.co圖標

如何入門並深入學習Linux

1. Linux學習路徑

Linux應用開發自學之路這篇文章介紹了我從零開始自學轉行Linux的完整過程,被很多大號轉載,並且影響了很多人,大家可以參考。

自學簡單編程可行嗎?這篇文章更詳細介紹了我是如何自學轉行的,包括心路歷程,轉行過程,轉行中需要注意的地方,以及更高效轉行成功的方法。

Linux 思維導圖整理(建議收藏)這是一個技術大佬整理的Linux思維導圖,包括:Linux學習路徑,Linux基礎入門,Linux內核學習路線,Linux命令參考,Linux命令速查等等。這份導圖雖然不是100%全面,但如果能夠將裡面全部內容掌握下來,你也是個高手了。

2. Linux環境搭建

2.1 虛擬機安裝與配置

既然要學習Linux那肯定需要一個Linux環境。那麼環境搭建有兩個選擇:1. 安裝虛擬機;2. 直接在實體機上安裝。對於這兩個選擇,我更傾向於第1個,因為前期學習一些命令及基礎知識,直接在虛擬機上進行就可以了。

手把手教你安裝Linux虛擬機

手把手教你配置Linux虛擬機

虛擬機常用的有兩種:Vmware,VirtualBox。Vmware功能更強大,但是是收費的。而VirtualBox雖然功能不及Vmware,但對於新手完全夠用了。這兩篇文章所使用的是Wmare,手把手教你安裝並配置虛擬機,圖文並茂,一路跟下來就可以安裝並配置好虛擬機,完成最基本的搭建。

2.2 主機與虛擬機文件共享

虛擬機安裝好之後,還有一項很重要的工作要做,那就是實現虛擬機與主機的互通,也就是互相共享文件。實現文件共享有很多方式,一般而言有以下幾種:

  • 使用 FTP 協議實現文件共享
  • 使用 samba 協議實現文件共享

特別地,對於Vmware有一套自己的專屬文件共享方式,VirtualBox應該也有,但我沒去研究過。對於Windows與Linux之間的文件共享,我們一般會用到一款很強大的共享工具——WinSCP,當然還有很多類似工具,比如Xftp,FileZilla。這些工具其實都是基於FTP協議,使用起來也大同小異,都非常方便。

2.3 終端工具

作為一名Linux工程師,不管是運維還是開發,我們很多時間會是在命令行下工作。我一般是把虛擬機打開著,然後使用終端工具遠程到虛擬機進行操作。這裡推薦一款很強大的終端工具——MobaXterm,它的功能十分強大,界面也非常友好,我用上一次就愛不釋手。

當然還有很多好用的終端工具,比如XShell、secureCRT、Putty、telnet等,選擇一個自己最喜歡的工具即可。

2.4 編程工具

如果你是一名Linux開發人員,那你的工作肯定少不了編程。我一般的作法是,在Window上使用代碼編輯工具編好代碼,然後在Linux下編譯。我經常使用兩個工具:Notepad++Sourceinsight

使用notepad++遠程編輯虛擬機文檔

代碼閱讀神器——Sourceinsight

當然我們也可以直接在Linux下寫代碼,在Linux下編譯。Linux下寫代碼也有很多軟體,常用的比如最性感的編輯器——Sublime Text。

想進大廠的同學,一定要好好學演算法,這是面試必備的。這裡準備了一份 BAT 大佬總結的 LeetCode 刷題寶典,很多人靠它們進了大廠。

冒死分享,面試必備!LeetCode 刷題神器,看完 BAT 隨你挑!?

t.1yb.co圖標

3. Linux基礎知識

Linux環境搭建完畢之後,我們就可以正式進入到Linux的學習中來。

3.1 Linux系統架構

學習Linux,我們肯定要知道Linux的系統架構是怎樣的。一般而言,Linux是由以下幾部分構成:

  • 內核
  • bootloader
  • 文件系統
  • Shell
  • 應用程序

內核是Linux系統的核心,它往下直接與硬體打交道,向上連接應用程序。它是由Linux社區來共同維護,其中Linus是核心人物。內核主要是由C語言及少量彙編語言編寫而成,是最著名的一個開源項目之一。內核的源碼在這裡,但對於初學者,就別指望能把它看懂。

初學者只要瞭解一些內核的基本架構即可,後期可以再進一步深入學習。網路上有一張非常經典的內核架構圖,可以藉助來理解內核。

Bootloader就是一個單片機程序,用來引導系統啟動。這個程序比較簡單,有些高手甚至自己手寫了bootloader程序。

Linux文件系統有ext3、ext4等,而windows 有 fat32 、ntfs等。做底層開發的工程師需要深入瞭解,在此不贅述。

3.2 Shell

Shell是系統的用戶界面,提供了用戶與內核進行交互操作的一種介面(命令解釋器)。它的基本作用如下圖示:

對於Shell的使用,有非常多坑,初學者一定要規避。在此,我也找了兩篇Shell面試題,以幫助大家學習進步:

必會的 24 道 Shell 腳本面試題

10 個實戰與面試【常用 Shell 腳本】編寫

3.3 Vim

Vim是Linux裏非常重要的一個編輯器,但是,它比較難,對於初學者非常不友好,號稱上古神器。Vim有很多命令,所以我們首先要學習Vim的基本命令

如果你覺得Vim不好學,那麼我介紹一款提高Vim水平的遊戲。這款遊戲靈感來自PacMan,讓你使用Vim的命令去控制主角躲避怪物。把這款遊戲玩熟練了,你的Vim水平也上了很大一個臺階。

當然如果是官方標配版的Vim,那其實還是非常不好用的。好在Vim社區有很多大神,他們開發了很多實用的插件,讓Vim用起來不再那麼難用,比如以下三款非常實用的插件:

Vim的三款實用插件

3.4 其它

除了以上3點,Linux系統還有很多基礎知識,這些知識很多很細,沒辦法一篇文章講完,需要在實踐中慢慢學習。

比如Linux系統的目錄結構,它是一個樹狀結構,跟Windows系統有本質的區別。

還有,Linux有很多快捷鍵,掌握了這些快捷鍵會為我們提高不少效率。

虛擬終端快捷鍵

4. Linux命令

眾所周知,Linux有非常多命令,但是,剛開始學Linux千萬別貪多,別想著一口吃成大胖子。對於普通人而言,先學會一些最基本的命令,再去拓展其它更高階的命令。

Linux命令基本格式及目錄處理命令

超好用的Unix/Linux 命令技巧 大神為你詳細解讀

給Linux小白看的命令行極簡教程

Linux的10個最危險的命令

常用的命令可能就二三十個,當你把這二三十個命令都用得非常熟之後,你纔算剛入門。當然,你別小看這些基礎命令,很多基礎命令有著自己的高級用法,當你把高級用法都玩透了,你就開始慢慢脫離小白了。

5分鐘 more 命令從入門到精通

Linux下 ls 命令的高級用法8例

Linux 下你所不知道的 7 個 SSH 命令用法

5. Linux神器

在 Linux 下工作,有一些工具可能大大提高你的工作效率。有些工具大家可能耳熟能詳,但還有更多神器可能連聽都沒聽說過。

比如我們程序員經常需要繪製一些流程圖,我們可以使用一些諸如EA之類的繪圖工具,但這類工具很多都很龐大,而且比較難學。在Linux下其實我們可以使用dot工具簡單高效繪圖!

程序員輕鬆繪圖神器

再如,我們如果和同事協作開發,想要把自己的操作過程錄製下來,發給同事然後同事繼續你的工作。或者,別人使用你的電腦,你想把他的操作記錄下來,以免後期爭議。這時,Script命令就派上用場了。

Linux終端裏的記錄器

當然還有很多非常實用的神器,限於篇幅就不一一列舉了。

如何高效回退到特定層級目錄?

Linux任務的前後臺管理

Linux下如何高效切換目錄?

6. Linux趣應用

工作都是乏味的,我們要在工作中找到一些樂趣。作為一個免費的操作系統,大量的愛好者為 Linux 寫了很多很有趣的應用,不僅可以幫助我們提高工作效率,而且還可以給我們枯燥的生活帶來樂趣。

Linux 終端給人的感覺就是黑漆漆一片,裡面只能顯示一些字元,而從來沒見過顯示圖片的,但是,實際上,Linux 終端除了顯示字元外,當然也可以顯示圖片(然後就可以用來看女神照片)。那是怎麼實現的呢?這篇文章有答案:

什麼?Linux 終端也可以用來看女神照片?

人這一輩子,真的是非常不容易:讀書時,被老師、同學嘲笑,工作時,被老闆、同事嘲笑,就連出去擼個串兒,還可能被朋友嘲笑……這些也就算了,畢竟大家還都是同類,都是活生生的人。但是,你如果被 Linux 終端給嘲笑了,你的內心會是什麼感受?

說出來也許你不信,我被 Linux 終端嘲笑了…….

[alvin@VM_0_16_centos ~]$ sldkf

Why are you doing this to me?!

-bash: sldkf: command not found
[alvin@VM_0_16_centos ~]$ iehf

You are not as bad as people say, you are much, much worse.

-bash: iehf: command not found
[alvin@VM_0_16_centos ~]$ sdfas

How many times do I have to flush before you go away?

-bash: sdfas: command not found

Git 是用來做啥的?想必碼農朋友都知道,Git 是版本控制軟體,是軟體開發過程中團隊協作不可或缺的軟體。但是,作為版本控制軟體的 Git ,能跟聊天工具扯上關係嗎?這二者似乎毫無關係,但腦洞大開的外國朋友活生生將 Git 改造成了一個聊天工具!

Git 居然可以用來跟女神聊天?

等等類似於此類的應用,這些應用雖然不是學習過程中的必需品,但卻可以給我們的學習生活帶來很多樂趣!

7. Git

作為程序員,肯定不是離開Git。Git是版本控制軟體,是軟體開發過程中團隊協作不可或缺的軟體。但可悲的是,在學校裏很少會有Git相關課程,所以很多大學生都不知道有Git這個東西。

對於Git的入門,建議看 Pro Git 這本書,它是一本免費開源書,在它的官網上就可以直接在線閱讀。

https://git-scm.com/book/zh/v2

Git雖然命令也很多,但基本的常用的也沒幾個。在使用Git的過程中,我們也要注意一些 Git 提交規範

如何高效的使用 Git

學會這兩件事,讓你成為 Git 老司機

你可能不太會用的 10 個 Git 命令

使用Git,就不得不提到GitHub。GitHub是一個面向開源及私有軟體項目的託管平臺,因為只支持git 作為唯一的版本庫格式進行託管,故名GitHub。由於開發人員多為男性,故又名GayHub……

很多小夥伴知道使用Git,卻不知道如何在GitHub上與其他小夥伴一起協作,為此我特地寫了一篇文章來介紹GitHub的協作方法

如何在GitHub上大顯身手?

除此之外,還有你必須收藏的 GitHub 技巧

後記

Linux博大精深,絕非一篇文章就能講透的。本文根據自己的一些經驗,介紹了一些方向性的東西。大家如果按著這些方向去學習,也一定會成為大神!


最後,最近很多小夥伴找我要Linux學習路線圖,於是我根據自己的經驗,利用業餘時間熬夜肝了一個月,整理了一份電子書。無論你是面試還是自我提升,相信都會對你有幫助!目錄如下:

免費送給大家,只求大家金指給我點個贊!

電子書 | Linux開發學習路線圖

也希望有小夥伴能加入我,把這份電子書做得更完美!

另外,想進大廠的同學,一定要好好學演算法,這是面試必備的。這裡準備了一份 BAT 大佬總結的 LeetCode 刷題寶典,很多人靠它們進了大廠。

冒死分享,面試必備!LeetCode 刷題神器,看完 BAT 隨你挑!?

t.1yb.co圖標

有收穫?希望老鐵們來個三連擊,給更多的人看到這篇文章

推薦閱讀:

  • 乾貨 | 程序員進階架構師必備資源免費送
  • 神器 | 支持搜索的資源網站


1、安裝Linux系統

由於Linux的開源性,我們可以有很多選擇,常見的有Ubuntu,centos,Fedora, Debian ,RedhatEnterpriseLinux ,SUSE OpenSUSE,Mindriva, Gentoo, Arch , Slackware等等這些主流發行版幾乎佔據了大多份額。這裡我選擇的是Ubuntu16.04

2、預裝軟體

當你成功安裝了Linux系統後,你會發現桌面像這樣

系統給你預裝了一些軟體,但是這不一定你用的習慣,首當其衝就是輸入法啦!沒有習慣的搜狗輸入法,我們還怎麼愉快的玩耍,故此第一個安裝的軟體肯定就是輸入法了。針對次,搜狗推出了針對Linux版本,下載鏈接:搜狗輸入法 for linux

安裝教程可以參考https://blog.csdn.net/u013894834/article/details/60357071或https://blog.csdn.net/iamplane/article/details/70447517。

還有我們經常辦公用的QQ怎麼辦,畢竟我們習慣了打開電腦登上QQ的生活,可是小馬哥沒有針對Linux系統開發對應版本的QQ,這可如何是好。這時候廣大的人民羣眾站起來了,我們自己解決問題,大牛們開發出來了Wine-QQ與Wine-TIM的Appimage版本,下載安裝鏈接https://github.com/Albert337/Wine-QQ-TIM,下載後你會發現是這樣的

不是我們常見的後綴exe格式哦,而是APPiMage格式,想要運行它,我們先要修改一下他的許可權,選中右鍵點擊屬性,在許可權那一頁,勾選允許作為程序執行文件,效果如下圖:

然後我們雙擊它後我們就可以見到我們經典的登錄界面啦。

3、使用技巧

在Linux下我們最常見的就是在終端進行一些操作,打開終端的方式有很多種,滑鼠右鍵選擇打開終端,或者快捷鍵Ctrl+Alt+T,接下來我們介紹一下Linux常用的命令:

(1)查看目錄:ls用於查看當前路徑下所有文件信息

補:

查看linux文件的許可權:ls -l 文件名稱(可以簡單輸入ll也行)

查看linux文件夾的許可權:ls -ld 文件夾名稱(所在目錄)

(2)創建目錄:mkdir 創建文件夾

(3)切換目錄:cd 切換到指定文件

(4)複製文件、目錄:cp(源文件)(目標件)

cp-r 可以指定拷貝指定的任意目錄(包括子目錄和文件)

cp- f 刪除已經存在的目標文件而不提示。

cp- i 和f選項相反,在覆蓋目標文件之前將給出提示要求用戶確認。回答y時目標文件將被覆蓋,是互動式拷貝。

(4)刪除文件、目錄:rm (文件或目錄)

rm-rf可以指定刪除任意的目錄或文件,慎用。

rm dir刪除空文件夾

(5)重命名或剪切文件:mv(文件或目錄名/舊地址)(新名字/新地址)

6)簡單的編輯器nano

nano temp.py 會生成一個腳本,進入編輯框

在編輯完後按住Ctrl+x離開保存即可。

(7)讀取命令cat

cat有兩種用法,一是將文件內容全部顯示在屏幕上 cat temp.py

二是將一個文件內容放到另一個文件內,相當於cp命令 cattemp.py temp1.py

****對於文件的讀取操作等,還可以藉助vim編輯器或gedit編輯器,

4、常見文件的打開方式

  • deb包-是Ubuntu的專利,在Ubuntu中雙擊deb包就可以進入自動安裝進程 dpkg -i xxx.deb即可
  • rpm包-在紅帽LINUX、SUSE、Fedora可以直接進行安裝,但在Ubuntu中卻無法識別
  • whl包:已經編譯的包,類似於exe文件,先安裝wheel包後,再利用pip install xx.whl來安裝即可。
  • tar包:源文件,只是打包在一起,還沒有編譯,在所有的Linux版本中都能使用,用歸檔管理器提取。

同樣針對.tar包可以利用 tar –xvf 解壓 壓縮:tar –cvf jpg.tar *.jpg //將目錄裏所有jpg文件打包成tar.jpg

  • tar.gz包:源文件,壓縮並打包在一起,還沒有編譯,在所有的Linux版本中都能使用,用歸檔管理器提取。

同樣針對.tar.gz包可以利用 tar –zxvf 解壓 壓縮:tar –czf jpg.tar.gz *.jpg //生成一個gzip壓縮過的包,命名為 .

tar命令

  解包:tar -zxvf FileName.tar

  打包:tar -czvf FileName.tar DirName

gz命令

  解壓1:gunzip FileName.gz

  解壓2:gzip -d FileName.gz

  壓縮:gzip FileName

  .tar.gz 和 .tgz

  解壓:tar -zxvf FileName.tar.gz

  壓縮:tar -zcvf FileName.tar.gz DirName

壓縮多個文件:tar zcvf FileName.tar.gz DirName1 DirName2 DirName3 ...

bz2命令

  解壓1:bzip2 -d FileName.bz2

  解壓2:bunzip2 FileName.bz2

  壓縮: bzip2 -z FileName

  .tar.bz2

  解壓:tar jxvf FileName.tar.bz2

  壓縮:tar jcvf FileName.tar.bz2 DirName

bz命令

  解壓1:bzip2 -d FileName.bz

  解壓2:bunzip2 FileName.bz

  壓縮:未知

  .tar.bz

  解壓:tar jxvf FileName.tar.bz

Z命令

  解壓:uncompress FileName.Z

  壓縮:compress FileName

  .tar.Z

  解壓:tar Zxvf FileName.tar.Z

  壓縮:tar Zcvf FileName.tar.Z DirName

zip命令

  解壓:unzip FileName.zip

  壓縮:zip FileName.zip DirName

註:

1.關於Linux下的許可權不夠問題,我們在命令前面加上sudo即可

2.針對切換命令cd,有一些默認小命令 cd/ 表示進入根目錄 ;cd或cd~進入用戶home目錄;cd-表示進入上一次訪問的目錄,相當於back;cd .. 進入上級目錄

3.pwd結果顯示當前目錄或者ctrl+l可以快速查看路徑

4.ifconfig顯示系統的網路IP信息

5.man顯示某個命令的manual(指南)

6.dpkg -l可以查看電腦上安裝的軟體信息

7.對函數或包不熟悉時,用help(函數、包)查看詳細信息

8.xdg-open加上路徑會以默認方式打開文件

9.sudo chmod -(代表類型)×××(所有者)×××(組用戶)×××(其他用戶)可以修改文件及文件夾屬性。

10.修改主機名 sudo hostnamectl set-hostname &

11.修改密碼 passwd(當前用戶),passwd user(指定用戶)

12.whereis命令只能用於程序名的搜索,而且只搜索二進位文件(參數-b)、man說明文件(參數-m)和源代碼文件(參數-s)。如果省略參數,則返回所有信息。

和find相比,whereis查找的速度非常快,這是因為linux系統會將 系統內的所有文件都記錄在一個資料庫文件中,當使用whereis和下面即將介紹的locate時,會從資料庫中查找數據,而不是像find命令那樣,通過遍歷硬碟來查找,效率自然會很高。

13.新建用戶的命令不同,第一種是useradd, 第二種是adduser。相對應的,如果要刪除用戶,第一種的命令為userdel, 第二種是deluser,推薦使用第二種,這樣會自動賦予sudo許可權。同時進行用戶切換命令可用:切換到root(sudo su 或su - root)


推薦閱讀:
相關文章