1. 程式人生 > >Linux就是這個範兒之第一次親密接觸(3)

Linux就是這個範兒之第一次親密接觸(3)

原創作品,允許轉載,轉載時請務必以超連結形式標明文章原始出處 、作者資訊和本宣告。否則將追究法律責

有一種說法,現代計算機不是靠電力驅動,而是靠“滑鼠”。多少應用程式的介面需要移動和點選滑鼠來執行的。計算機本來的用意是把人類從反覆單調的工作中解放出來,但適得其反,擺在我們身邊的殘酷現實是我們每個人每天不得不移動和點選滑鼠,確保養家餬口的工作能夠順利正確地完成。

別嘆氣,存在另一個世界,那就是命令列,讓你暫時遠離滑鼠。對那些苦哈哈的程式猿來講,這也許是另一種情調的工作方式。我們突然之間擁有了另一種意想不到的收穫,例如我想看看使用者目錄下的的檔案大小,然後按升序排列產生個報表。如果用

C/C++完成這項工作,至少得用好幾十行程式碼,但是用一句命令列就能完成上面的功能。

du -s * | sort -nr > $HOME/space_report.txt

命令列有它的存在價值吧。還有把 Linux 桌面操作錄製成一段視訊。想起來就是一件複雜的任務,在Linux上用一句命令就能輕鬆搞定。

ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg

賣個關子,這個命令會在《多媒體篇》有詳細解釋。

估計你可能會迫不及待的想要實驗一下剛才所提到的命令,但是苦於現在都流行的圖形介面,我們推薦的Cent OS預設也進入了圖形介面,看來做點實驗還是有點難度的。不過不用著急,Linux的老手們一定是要命令列的,所以想通過鍵盤輸入命令,一個合格的Linux發行版一定會做得十分方便,只是要先搞清楚一些概念。

使用者和系統不是直接打交道,他們中間有個名字叫Shell的聯絡人。我們從鍵盤中輸入命令給ShellShell再把它們交給作業系統去執行。

從哪裡開始輸入命令呢?當然你可以在字元介面輸入命令(暫時先放放,稍後再看)。Linux系統還提供一個叫終端模擬器的程式。這個程式開啟一個視窗,讓我們與Shell交流。Linux系統上的各種軟體向來是百花齊放,模擬器終端也不例外,例如gnome-terminalkonsolextermrxvtkvtnxtermeterm等,而大多數Linux發行版會同時支援幾種。

使用過Windows作業系統的你,在登入Linux桌面系統後,應該也能輕鬆地從選單中選擇啟動終端的圖示點選就可以進入終端模擬器。當然你也可以在檔案瀏覽器中找到叫“

konsole”(KDE桌面)或“gnome-terminal”(Gnome桌面)的程式雙擊執行開啟終端視窗。更有意思的是你可以開啟任意多個視窗,每個視窗給你一個shell會話。你從中選擇了一個視窗開始鍵盤輸入magic。在終端上會顯示你剛才敲入的字元magic。接下來還有magic的事情呢,當你按向上箭頭時可以看到前一個命令,再按向上箭頭又可以看到前一個的前一個命令,按向下箭頭命令又可以往回輸入顯示,最後我們又回到了magic輸入,你還可以使用左右箭頭移動游標進行字元輸入。

哦,我記得有個cp命令,那就試試吧:

$ cp /etc/resolv.conf /etc/resolv.conf.bak

cp: cannot create regular file `/etc/resolv.conf.bak': Permissiondenied

太欺負人了吧,怎麼簡單的命令都不讓偶用。你注意到沒有,Shell命令提示符是$,這意味著什麼?這意味著你是普通使用者,不是超級使用者,你沒有管理員許可權。如果你是擁有管理員許可權的超級使用者,提示符就變成#,你就可以在系統上做增加,刪除和修改檔案的操作。

方才我們介紹的方法是目前最常用的在桌面環境下執行命令方法,但是也有很多有“潔癖”的人喜歡使用純粹的文字終端,這就需要進行圖形和文字切換了,或者乾脆就關閉圖形介面。我們先搞定前者,後者會在後面的章節做十分詳細的介紹。

要在文字和圖形介面之間來回切換是非常簡單的,只需要使用快捷鍵<Ctrl><Alt><F1>~<F6>來回切換就行,具體什麼效果大家可以自己實驗,這個地方不同的Linux發行版會有不同的設定,所以本書就不好做定論。一般<Crtl><Alt><F1>代表圖形介面,而剩下的5組快捷鍵對應5個不同的文字終端,我們推薦的Cent OS就是這種設定。還有的設定是<Ctrl><Alt><F7>是圖形介面,其它6組快捷鍵是6個不同的文字終端。

一般不建議使用本小節介紹的方法來操作Linux,除非你有強烈的“潔癖”或遇到有“潔癖”的系統管理員。因為這種方法你能夠使用到的獨立文字終端最多隻有6個。而使用上一小結介紹的在圖形介面中使用終端模擬器的方法,則沒有文字終端數量的限制,對於一個Linux老手來講,文字終端永遠都是多多益善的。很快你們就會有這種感覺了。

提及Linux基本命令,先給你講述一個浪漫的故事:

曾經有個男孩很喜歡一個女孩,可是不敢表白。他想了一個辦法。在Linux終端上輸入echo“這週六下午230,能在如嘉咖啡館一起喝咖啡嗎?”>love.txt,然後回車。

接著他找來那張他喜歡的鼓浪嶼圖片(pic.png),使用 cat pic.png love.txt >pic1.png重新做了一個圖片檔案。

他鼓起勇氣給那個女孩寫了封郵件,郵件內容只是:請查閱附件。

女孩收到郵件,用圖片瀏覽器開啟後,看到的只是一張美麗的風景圖片,有點納悶。但是聰明的她,立刻猜到了那個男孩的用意。她用tail pic1.png,很快發現了祕密。

$ tail pic1.png

PNG

IHDRmtEXtSoftwareAdobe ImageReadyq<IDATxA0

[圖片編碼內容,一般人無法直接讀懂…….]

)'EDDDqq^cDDD/GDDDDmyw/}!"""“這週六下午2:30,能在如嘉咖啡館一起喝咖啡嗎?”

太妙了,原來學好Linux通過Linux基礎命令還可以交女朋友。加大馬力,我們來認識更多的命令。不過我們會遇到一個問題,Linux命令太多了,數量至少有200多個,怎麼記呀。其實誰也記不住這麼多命令,剝絲抽繭抓重點,把重要的和經常使用的搞定了就行。按照它們在系統中所起的作用,我做一下簡單地分類說明。

1-1

命令

說明

目錄和檔案處理:

在講解之前,我們先認識一下幾個好玩的符號

:小點活在當下,即當前目錄。例如:./jie_work執行當前目錄下的jie_work檔案

..:兩點跑上去,既到當前的上一級目錄。舉個例子,命令cd..修改當前工作目錄到上一級目錄

:水波帶我回家,即/home/我的登入名。例如我的登入名為zhangjiecd ~命令就是cd /home/zhangjie。當然你直接輸入cd,也有同樣功效

mkdir

建立目錄

用法:mkdir [OPTION] DIRECTORY

例:mkdir fangru

ls

列出目錄下的內容

用法ls [OPTION][FILE]

例:ls -al fangru

cd

更換工作目錄

用法:cd [DIRECTORY]

例:cd fangru

pwd

顯示當前工作目錄

用法:pwd

vim

增強版文字編輯器

用法:vim [OPTION] [file]

例:vim helloworld.c

cp

拷貝檔案及其目錄

用法:cp [OPTION]... SOURCE DEST

例:cp jie.txt jie.bak

mv

移動(重新命名)檔案

用法:mv [OPTION]SOURCE DEST

例:mv jieold jienew

rm

刪除檔案或目錄

用法:rm [OPTION]FILE

例:rm -rf jie_dir

find

在目錄及其子目錄查詢檔案

用法:find [OPTION] [path] [pattern]

例:find -name jie*.txt

history

顯示最近使用過的命令

用法:history

文字處理:

在講解之前,有必要說明一下模式的定義。

模式是一種表示式,不列出所有元素,而是給出一系列字串的一種精確描述

例如:ab*cd匹配了以ab開始和cd結束的一系列字串

cat

連結檔案列印到標準輸出

用法:cat [OPTION] [FILE]

例:cat pic.png love.txt > pic1.png

還記得那個命令列的故事吧?

echo

顯示一行文字

用法:echo [OPTION] [string]

例:echo $HOME

grep

搜尋特定的內容並將含有這些內容的行標準輸出

用法:grep [OPTION] PATTERN [FILE]

例:grep -i Jagen magicLinux.txt

wc

統計指定檔案中的位元組數、字數、行數,並將統計結果顯示輸出

用法:wc [OPTION][FILE]

例:wc -L magicLinux.txt

sort

對檔案中的各行進行排序

用法:sort [OPTION][FILE]

例:sort -r magicLinux.txt

系統管理:

在講解這類命令之前,先談談檔案許可權的定義。Linux系統上檔案有三種許可權-讀、寫和執行。敲入ls -l命令後,我們會發現有10個字母表示檔案型別和許可權資訊:第一個字母是檔案型別,d代表目錄,-代表普通檔案;接下了的每三個字母為一組,分別代表擁有者(owner)群組成員(groups)其他人(others)的讀、寫和執行許可權。

例:drwxrw-r--意味著這是一個目錄,擁有者擁有讀、寫和執行三種許可權,群組成員擁有讀寫許可權,其他人只擁有可讀許可權。

許可權位還可以用相應的數值來代表,讀-4、寫-2、執行-1,這些數字或它們的和就代表一個角色的許可權。

例:rwxrw-r-- = 764

673 = rw-rwx-wx

chmod

控制使用者對檔案的許可權

用法:chmod [OPTION] [MODE] [FILE]

例:chmod 764 count.sh

chown

改變檔案的擁有者

用法:chown [OPTION]OWNER[:[GROUP]] FILE

例:chown jie magicLinux.txt

su

su是切換到其他使用者,但是不切換環境變數

su - 是完整的切換到一個使用者環境

要知兩者的區別,用export命令一查便知。

用法:su [OPTION] [LOGIN]

例:su zhangjie

passwd

更改使用者的密碼引數

/etc/passwd

儲存的是作業系統使用者資訊,該檔案為所有使用者可見

/etc/shadow

被稱為/etc/passwd的影子檔案。它們之間的內容是互補的。shadow內容包括使用者及被加密的密碼以及其它/etc/passwd不能包括的資訊,比如使用者的有效期限等

用法:passwd [OPTION]

例:passwd zhangjie

who

顯示目前登入系統的使用者資訊

用法:who [OPTION]

例:who -b

程序管理

相關推薦

Linux就是這個第一親密接觸(3)

原創作品,允許轉載,轉載時請務必以超連結形式標明文章原始出處 、作者資訊和本宣告。否則將追究法律責 有一種說法,現代計算機不是靠電力驅動,而是靠“滑鼠”。多少應用程式的介面需要移動

Linux就是這個

趙鑫磊 阿里巴巴集團資深Linux系統專家。 自1998年開始使用Linux,曾參與國內著名的Linux社群發行版MagicLinux的開發工作,是一個土生土長的東北人。工作經歷豐富,開過小網咖、大學講過課、發過小廣告(時在阿里媽媽)、幹過鐵路工(開發鐵路車載電視系統)、當過

Linux就是這個

 我發現很多人不太愛用UDP,對UDP存有偏見,愛憎分明的我不得不為它吐吐槽。 比起TCP來,UDP的優勢在於速度快,而且不需要維護資料流,還能防止意想不到的欺騙。我遇到這麼一個專案,在nginx上設計一個add-on模組做區域網轉發。由於最終實現的服務部署在本機或區域網

Linux學習筆記第五周第一課(3月5日)

rpm -ivh yum install yum remove yum update rpm -e 7.1 安裝軟件包的三種方法三種方法rpm工具,安裝會提示依賴其他包,要一個包一個包安裝;yum工具,自動下載安裝依賴包,最容易安裝;源碼包,源代碼,需要編譯器編譯再安裝,最難安裝;7.2

Linux學習筆記第六周第一課(3月12日)

grep egrep grep -E grep -v grep -n 9.1 正則介紹_grep上egrep是grep的擴展,具有所有grep功能;grep是用來過濾關鍵詞的;-r遍歷所有子目錄-v取反,意思是除了關鍵詞所在行,其他行顯示出來;9.2 grep中'【0-9】'

與JMeter的第一親密接觸

相同 技術 mage 請求參數 去掉 spa 添加 admin sam postman和JMeters是外部接口測試的兩個工具,通過界面化的方法,來實現操作http報文攜帶的請求字段、VK值、json、cookie、header值及文件。本篇主要介紹JMeter。

學習筆記-小甲魚Python3學習第一講:我和python的第一親密接觸

idl print alt 什麽 舉例 nag pat 程序員 分享 測試題: 0、python 是什麽類型的語言?python是一種腳本語言 IDLE 是什麽?是一種python shell,類似於windows的cmd窗口和linux的shell print()

零基礎入門學習Python,我與python的第一親密接觸後的感受!

前言:Python是適合初學者入門最好的語言 Python適合初學者入門最好的語言 人工智慧用Python?高考要加入Python?現在連微軟官方Excel都要把Python作為官方語言!Python魅力這麼大!小夥伴們知道嗎?小編只想說,現在不學Python就OUT了,未來程式設計Py

第001講:我和Python的第一親密接觸|學習記錄(小甲魚零基礎入門學習Python)

(標答出處: 魚C論壇) 《零基礎入門學習Python》 Python 是什麼型別的語言? Python是程式碼語言 IDLE 是什麼? IDLE是一個Python Shell,shell的意思就是“外殼”,基本上來說,就是一個通過鍵入文字與程式互

Asp.Net Core與攜程阿波羅(Apollo)的第一親密接觸

一、瞎扯點什麼 1.1 阿波羅 ​ 阿波羅是希臘神話中的光明之神、文藝之神,同時也是羅馬神話中的太陽神;他是光明之神,從不說謊,光明磊落,在其身上找不到黑暗,也被稱作真理之神。他非常聰明,通曉世事,是預言之神。 後世各種各樣的專案都喜歡以阿波羅命名,比如著名的美國登月計劃:阿波羅計劃; 既然攜程以

秒殺多執行緒第二篇 多執行緒第一親密接觸 CreateThread與_beginthreadex本質區別

本文將帶領你與多執行緒作第一次親密接觸,並深入分析CreateThread與_beginthreadex的本質區別,相信閱讀本文後你能輕鬆的使用多執行緒並能流暢準確的回答CreateThread與_beginthreadex到底有什麼區別,在實際的程式設計中到底應該使用C

小甲魚的《零基礎入門學習Python》[課後作業] 第001講:我和Python的第一親密接觸 | 課後測試題及答案

以下內容均來自網上,我就是自己看的時候好看放上來了的。 0. Python 是什麼型別的語言? Python是指令碼語言   指令碼語言(Scripting language)是電腦程式語言,因此也能讓開發者藉以編寫出讓電腦聽命行事的程式。以簡單的方式快速完成某些複雜的事

與karma、angular的第一親密接觸

  首先要了解什麼是karma,karma幹嘛用的,它的好朋友jasmine又是啥?這些文章可以幫助你:   karma幹嘛的?   angular與karma1   angular與karma2   看了以上幾篇文章之後,我們基本上就可以啟動我們最簡單的一個karma測試例子了

第一親密接觸MSF

    第一次親密接觸MSF Metasploit Framework介紹 Metasploit是一款開源安全漏洞檢測工具,附帶數百個已知的軟體漏洞,並保持頻繁更新。被安全社群冠以“可以黑掉整個宇宙”之名的強大滲透測試框架。       專業術

我與龍芯電腦的第一親密接觸

                在深圳,今年的冬天來得特別遲,比往年都顯得異常暖和,但前幾天一股寒冷的北風吹來,猛烈地狂掃華南,好像在提醒人們冬天來了,深圳電視臺也特別地播放氣象臺釋出的寒冷警告。忙忙忙碌碌的深圳,快節奏的生活,人們好像不在意這些變化。這麼寒冷的天氣裡,我還在熱情地盼望著我的龍芯電腦到來。“來

入門學習-Python-小甲魚學習資料-Day001-我和Python的第一親密接觸

標題 入門學習 – Python – 小甲魚學習資料 – Day001** 標題 我和Python的第一次親密接觸 本課程講了一些Python的最基本的操作 , 雖然不全面 , 但是舉例還算比較合適 , 也好理解 ,我自己使用的是 JetBrains PyCharm , 實在是好用啊

我和 flow.ci 的第一親密接觸

編者按:本文轉載自 flow.ci 使用者 @君賞 的實踐分享,原文連結這裡。 這不是第一次聽說 ,記得當時 fir.im 新出這個服務的時候,我也是心情十分激動的去嘗試,結果是隻支援安卓,我可是iOS的程式設計師呀! 這次 已經支援 iOS,並且支

【零基礎入門學習Python】001:我和Python的第一親密接觸

課後作業 測試題: 0. Python 是什麼型別的語言? 答:python是指令碼語言(Scripting language)。 指令碼語言是電腦程式語言,因此也能讓開發者藉以編寫出讓電腦聽命行事的程式。以簡單的方式快速完成某些複雜的事情通常是創造指令碼語言的重要

執行緒總結第二篇 多執行緒第一親密接觸 CreateThread與_beginthreadex本質區別

本文將帶領你與多執行緒作第一次親密接觸,並深入分析CreateThread與_beginthreadex的本質區別,相信閱讀本文後你能輕鬆的使用多執行緒並能流暢準確的回答CreateThread與_beginthreadex到底有什麼區別,在實際的程式設計中到底應該使用Cre

01 講:我和 Python 第一親密接觸

ror 博客 peer 例如 cit 如果 alt 開始 初學者 今天開始學習 魚C論壇的魚C工作室出品的《零基礎入門學習Python》的視頻教程(網易雲課堂)。 學習筆記下載:http://download.csdn.net/detail/u012052268/97152