第三章 開始使用 Linux
在電影中我們經常可以看到這樣的場景:一個“超級黑客”坐在電腦前,不使用滑鼠,而是直接在黑色的螢幕上一行接一行地輸入命令,不出 30 秒就成功地侵入到對方的系統之中。
現在大多數的計算機使用者都只熟悉圖形使用者介面,並且一直被灌輸這樣的理念,即認為命令列介面是過去使用的一種很恐怖的東西。其實,命令列介面才是人與計算機進行互動的最有效方式。linux 世界中一直流傳著這麼一句話:“圖形使用者介面讓簡單地任務更容易完成,而命令列介面使完成複雜的任務成為可能。”
本章將從一些最基礎的命令開始,比如顯示時間日期的 date,顯示日曆的 cal 等等,帶領讀者叩響通往 Linux 世界的大門。
本書在編寫時,為顧及部分讀者深入學習的需要,也提及了一些較為複雜的命令使用規則,並且標註為【進階操作】,初學者可以根據自己的實際情況選擇是否跳過這些內容。
準備好了嗎,美妙的 Linux 之旅即將開始。
3.1 date - 顯示時間和日期
正如“Hello World”程式是學習程式設計的入門程式,date 命令則是大多數人接觸 Linux 敲入的第一個命令。我們的 Linux 之旅也從這裡開始。
為了顯示當前的時間和日期,只需簡單地輸入:
$ date
注意:$ 是提示符,並不需要輸入,本書之後不再做說明。
【小提示】
如果 shell 未找到命令對應的程式,會提示 command not found,你可以輸入像 kaefjaeifj 這樣的亂字元就能看到。大部分 Linux 發行版預設儲存最後輸入的 500 個命令,可以按上、下箭頭鍵在它們之間切換。
date 顯示的是本地時間,若想檢視協調世界時(UTC),只需輸入:
$ date -u
Linux 系統實際上使用的是 UTC,但它在顯示的時候會根據本地時區自動轉換。
3.2 cal - 顯示日曆
想要直接顯示當前月份的日曆,只需輸入:
$ cal
如果想顯示某一年的日曆,只需在後面指定年份(1~9999),比如:
$ cal 2008
會顯示 2008 年全年的日曆。
當然,還可以顯示指定月份的日曆,例如:
$ cal 7 2008
不要問我為什麼不能直接輸入 cal 7。
【進階操作】
如果想顯示某一天是該年的第幾天(1 月 1 日=1),可以在 cal 後面新增 -j,例如:
$ cal -j 12 2008
可以看到 2008 年的 12 月以第 366 天結束,所以是閏年,這是判斷的一種好方法。你也可以試試在 -j 後面直接輸入 2008 會怎樣。
3.3 檢視系統基本資訊
Linux 系統中提供了幾條命令可以用來檢視系統的資訊。
比如想要檢視計算機的名稱,可以輸入:
$ hostname
想要檢視作業系統的名稱,可以輸入:
$ uname
如果想檢視作業系統更多的資訊,可以使用 -a 選項(all information):
$ uname -a
下面是我的輸出結果:
從這裡面可以看到,我使用的是 Linux 核心,版本號是 3.16.0。
而如果想要檢視系統已執行了多長時間,可以輸入:
$ uptime
3.4 顯示自己的資訊
初一看,一定感到很可笑,自己的資訊有什麼好檢視的,難道自己還不清楚嗎?
這裡就要強調一個重要的概念,Linux 系統是通過使用者標識來區分不同的使用者的,它並不關心使用者的真實資訊。在 Linux 系統中,只有使用者標識擁有真正的身份,Linux 系統會記錄每個使用者標識使用系統的情況。例如,當你建立了一個檔案,那麼這個檔案並不屬於你,而是被你的使用者標識所擁有。
要顯示當前自己的使用者標識,只需輸入:
$ whoami
【小提示】
每個 Linux 賬戶都由使用者標識(userid)和口令(password)組成,只有擁有賬戶才能使用 Linux 系統。每個賬戶都有不同的許可權,具體情況由系統管理員進行設定。如果你有自己的 Linux 計算機,那麼你自己就是系統管理員。
3.6 顯示其他使用者的資訊
要記住,Linux 是一個真正的多使用者系統,同時可能有許多使用者都登入了系統。
顯示當前登入系統的所有使用者標識,只需輸入:
$ users
如果想顯示更多的資訊,可以使用 who 命令:
$ who
將顯示終端的名稱和使用者標識的登入時間。
【進階操作】
如果你覺得這還不夠,想要檢視系統上使用者標識的更詳細資訊,可以使用 w 命令:
$ w
會顯示以下專案資訊:
- USER:當前登入系統的使用者標識
- TTY:使用者標識使用的終端名稱
- FROM:使用者標識所使用的遠端計算機的名稱
- LOGIN@:使用者標識的登入時間
- IDLE:使用者上一次按鍵後已經過去的時間
- JCPU:自登入後所有程式總共使用的處理器時間
- PCPU:當前程式所使用的處理器時間
- WHAT:當前正在執行的命令
3.7 cat - 檢視檔案
cat 命令用來連線顯示多個檔案,當然也可以顯示單個檔案。
只需輸入:
$ cat 檔名…
注意:這裡 … 代表可以有多個檔名,以後命令中凡出現 … 都代表可以有多個引數,本書不再做說明。
不過 cat 程式一次顯示整個檔案(不是每次一屏),所以只有檔案足夠短小,螢幕不需要滾動就可以完全顯示時,才會使用它。大多數時候,最好還是使用 less。
3.8 分頁程式 less
less 是一個分頁程式,也就是說它會每次一屏地顯示資料。
如果想檢視一個大的檔案,直接開啟檔案輸出會很長,而且前面的內容會滾動出螢幕,需要拖動滑塊才能檢視,這時就可以使用 less:
$ less 檔名
less 會顯示第一屏的內容,這時可以按下<Space>
(空格鍵)檢視下一屏,或者按 b
鍵回看上一屏。如果直接按<Return>
(Enter鍵)會往下滾動一行。最後按 q
退出程式。
你可以先嚐試檢視一個系統檔案練習一下,比如:
$ less /boot/grub/grub.cfg
順便說一下,這就是系統的啟動配置檔案。
在檔案中進行搜尋是很常見的操作,less 中進行搜尋十分容易,只需輸入 /
或 ?
,後面跟要查詢的關鍵字就可以了。例如:
/if
會開始向前搜尋關鍵字 if,注意搜尋時區分大小寫。
?if
則會開始向後搜尋關鍵字 if。
想按相同方向繼續搜尋,輸入 n
;按相反方向繼續搜尋,輸入 N
。
最後,你可以嘗試一下將前面介紹過的 cal
命令與 less
結合起來,看看會發生什麼。比如輸入:
$ cal 2008 | less
這裡用到了管道,後面會詳細介紹。
【進階操作】
下面是一些較為常用的 less 中的高階命令,熟練掌握後能更方便地檢視資料。
g
- 跳到第一行G
- 跳到最後一行y
- 後退一行!command
- 執行指定的 shell 命令3.9 結束終端會話
你可以直接關閉終端視窗,或者輸入 exit 命令來終止一個終端會話:
$ exit
【小提示】
清屏的快捷鍵是 ctrl + L。
3.5 超級使用者標識 root
Linux 中,所有的使用者標識都是平等的,只有一個例外,那就是 root,它擁有非凡的許可權。當有人以 root 登入時,就稱他為超級使用者。
超級使用者擁有強大的權力,可以在系統中新增新的使用者、改變他人的口令、升級一些軟體等等。超級使用者不經意間的操作都可能會對系統造成嚴重的損害,所以一定要謹慎使用。系統管理員只有在進行需要特殊許可權的工作時才卻換到超級使用者,平時依然是使用普通使用者標識來進行工作。
【小提示】
安裝好系統後,預設沒有啟用 root 使用者標識。可以通過修改 root 賬戶口令的方式來啟用,即輸入:
$ sudo passwd root
先輸入自己的口令以執行 sudo 命令,然後輸入兩次 root 賬戶的口令。
如果想要禁用 root 賬戶,可以輸入:
$ sudo passwd -l root
相關文章
- 在 Linux 桌面中開始使用 LuminaLinux
- [Go實戰]第三章-開始編碼-筆記Go筆記
- 開始使用MASMASM
- 如何開始使用Linux?入門學習運維Linux運維
- 開始使用WAMPServerServer
- 開始使用Web WorkersWeb
- 開始使用 Budgie 吧,一款 Linux 桌面環境Linux
- ImageJ使用教程(一):開始使用
- 我開始用Linux了Linux
- NestJS WebSocket 開始使用JSWeb
- 使用Python開始機器學習Python機器學習
- 開始使用C# (轉)C#
- Go 模組--開始使用 Go ModulesGo
- 開始在 CentOS 上使用 dockerCentOSDocker
- 從這裡開始學習 LinuxLinux
- 開始使用 Python 開發 Web 應用PythonWeb
- Ubuntu linux 為啥要開始選擇ubuntu LINUXUbuntuLinux
- NeuChar 平臺使用及開發教程(一):開始使用 NeuChar
- [譯]UISearchController 教程:開始使用UIController
- [Flutter]開始使用:配置編輯器Flutter
- 翻譯 | 開始使用 TypeScript 和 ReactTypeScriptReact
- Apworks框架實戰(二):開始使用框架
- 開始學習使用Node.jsNode.js
- 入坑日記-正式開始玩LinuxLinux
- 改變自己從學習linux開始Linux
- 想試用Linux,這樣開始(轉)Linux
- Python資料處理從零開始----第三章(pandas)③資料標準化Python
- 第三章Docker基本使用Docker
- 開始使用GraphQL Java和Spring BootJavaSpring Boot
- 開始使用DOCKER COMPOSE V2Docker
- 如何利用Anaconda開始使用python?Python
- 從零開始學Linux運維難嗎?Linux基礎Linux運維
- 使用HTML語言和CSS開發商業站點第三章HTMLCSS
- .NET開發人員如何開始使用ML.NET
- 青少年如何使用 Python 開始遊戲開發Python遊戲開發
- Re:從零開始的Linux之路(目錄配置)Linux
- Re:從零開始的Linux之路(基礎篇)Linux
- 從零開始製作一個linux iso映象Linux