自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

遷徙到Linux:命令行環(huán)境

系統(tǒng) Linux
在 Linux 下,命令行非常實(shí)用。Linux 的桌面系統(tǒng)中,盡管命令行只是可選操作,但是您依舊能看見很多朋友開著一個(gè)命令行窗口和其他應(yīng)用窗口并肩作戰(zhàn)。在互聯(lián)網(wǎng)服務(wù)器上和在設(shè)備中運(yùn)行 Linux 時(shí)(LCTT 譯注:指 IoT),命令行通常是唯一能直接與操作系統(tǒng)交互的工具。

[[226760]]

剛接觸 Linux?在這篇教程中將學(xué)習(xí)如何輕松地在命令行列出、移動(dòng)和編輯文件。

這是關(guān)于遷徙到 Linux 系列的第四篇文章了。如果您錯(cuò)過了之前的內(nèi)容,可以回顧我們之前談到的內(nèi)容 新手之 Linux、文件和文件系統(tǒng)、和 圖形環(huán)境。Linux 無(wú)處不在,它可以用于運(yùn)行大部分的網(wǎng)絡(luò)服務(wù)器,如 Web、email 和其他服務(wù)器;它同樣可以在您的手機(jī)、汽車控制臺(tái)和其他很多設(shè)備上使用?,F(xiàn)在,您可能會(huì)開始好奇 Linux 系統(tǒng),并對(duì)學(xué)習(xí) Linux 的工作原理萌發(fā)興趣。

在 Linux 下,命令行非常實(shí)用。Linux 的桌面系統(tǒng)中,盡管命令行只是可選操作,但是您依舊能看見很多朋友開著一個(gè)命令行窗口和其他應(yīng)用窗口并肩作戰(zhàn)。在互聯(lián)網(wǎng)服務(wù)器上和在設(shè)備中運(yùn)行 Linux 時(shí)(LCTT 譯注:指 IoT),命令行通常是***能直接與操作系統(tǒng)交互的工具。因此,命令行是有必要了解的,至少應(yīng)當(dāng)涉獵一些基礎(chǔ)命令。

在命令行(通常稱之為 Linux shell)中,所有操作都是通過鍵入命令完成。您可以執(zhí)行查看文件列表、移動(dòng)文件位置、顯示文件內(nèi)容、編輯文件內(nèi)容等一系列操作,通過命令行,您甚至可以查看網(wǎng)頁(yè)中的內(nèi)容。

如果您在 Windows(CMD 或者 PowerShell) 上已經(jīng)熟悉關(guān)于命令行的使用,您是否想跳轉(zhuǎn)到“Windows 命令行用戶”的章節(jié)上去?先閱讀這些內(nèi)容吧。 

導(dǎo)航

在命令行中,這里有一個(gè)當(dāng)前工作目錄(文件夾和目錄是同義詞,在 Linux 中它們通常都被稱為目錄)的概念。如果沒有特別指定目錄,許多命令的執(zhí)行會(huì)在當(dāng)前目錄下生效。比如,鍵入 ls 列出文件目錄,當(dāng)前工作目錄的文件將會(huì)被列舉出來(lái)??匆粋€(gè)例子:

  1. $ ls
  2. Desktop Documents Downloads Music Pictures README.txt Videos

ls Documents 這條命令將會(huì)列出 Documents 目錄下的文件:

  1. $ ls Documents
  2. report.txt todo.txt EmailHowTo.pdf

通過 pwd 命令可以顯示當(dāng)前您的工作目錄。比如:

  1. $ pwd
  2. /home/student

您可以通過 cd 命令改變當(dāng)前目錄并切換到您想要抵達(dá)的目錄。比如:

  1. $ pwd
  2. /home/student
  3. $ cd Downloads
  4. $ pwd
  5. /home/student/Downloads

路徑中的目錄由 /(左斜杠)字符分隔。路徑中有一個(gè)隱含的層次關(guān)系,比如 /home/student 目錄中,home 是頂層目錄,而 studenthome 的子目錄。

路徑要么是絕對(duì)路徑,要么是相對(duì)路徑。絕對(duì)路徑由一個(gè) / 字符打頭。

相對(duì)路徑由 . 或者 .. 開始。在一個(gè)路徑中,一個(gè) . 意味著當(dāng)前目錄,.. 意味著當(dāng)前目錄的上級(jí)目錄。比如,ls ../Documents 意味著在此尋找當(dāng)前目錄的上級(jí)名為 Documents 的目錄:

  1. $ pwd
  2. /home/student
  3. $ ls
  4. Desktop Documents Downloads Music Pictures README.txt Videos
  5. $ cd Downloads
  6. $ pwd
  7. /home/student/Downloads
  8. $ ls ../Documents
  9. report.txt todo.txt EmailHowTo.pdf

當(dāng)您***次打開命令行窗口時(shí),您當(dāng)前的工作目錄被設(shè)置為您的家目錄,通常為 /home/<您的登錄名>。家目錄專用于登錄之后存儲(chǔ)您的專屬文件。

環(huán)境變量 $HOME 會(huì)展開為您的家目錄,比如:

  1. $ echo $HOME
  2. /home/student

下表顯示了用于目錄導(dǎo)航和管理簡(jiǎn)單的文本文件的一些命令摘要。

 

搜索

有時(shí)我們會(huì)遺忘文件的位置,或者忘記了我要尋找的文件名。Linux 命令行有幾個(gè)命令可以幫助您搜索到文件。

***個(gè)命令是 find。您可以使用 find 命令通過文件名或其他屬性搜索文件和目錄。舉個(gè)例子,當(dāng)您遺忘了 todo.txt 文件的位置,我們可以執(zhí)行下面的代碼:

  1. $ find $HOME -name todo.txt
  2. /home/student/Documents/todo.txt

find 程序有很多功能和選項(xiàng)。一個(gè)簡(jiǎn)單的例子:

  1. find <要尋找的目錄> -name <文件名>

如果這里有 todo.txt 文件且不止一個(gè),它將向我們列出擁有這個(gè)名字的所有文件的所有所在位置。find 命令有很多便于搜索的選項(xiàng)比如類型(文件或是目錄等等)、時(shí)間、大小和其他一些選項(xiàng)。更多內(nèi)容您可以同通過 man find 獲取關(guān)于如何使用 find 命令的幫助。

您還可以使用 grep 命令搜索文件的特定內(nèi)容,比如:

  1. grep "01/02/2018" todo.txt

這將為您展示 todo 文件中 01/02/2018 所在行。 

獲取幫助

Linux 有很多命令,這里,我們沒有辦法一一列舉。授人以魚不如授人以漁,所以下一步我們將向您介紹幫助命令。

apropos 命令可以幫助您查找需要使用的命令。也許您想要查找能夠操作目錄或是獲得文件列表的所有命令,但是您不知道該運(yùn)行哪個(gè)命令。您可以這樣嘗試:

  1. apropos directory

要在幫助文檔中,得到一個(gè)于 directiory 關(guān)鍵字的相關(guān)命令列表,您可以這樣操作:

  1. apropos "list open files"

這將提供一個(gè) lsof 命令給您,幫助您列出打開文件的列表。

當(dāng)您明確知道您要使用的命令,但是不確定應(yīng)該使用什么選項(xiàng)完成預(yù)期工作,您可以使用 man 命令,它是 manual 的縮寫。您可以這樣使用:

  1. man ls

您可以在自己的設(shè)備上嘗試這個(gè)命令。它會(huì)提供給您關(guān)于使用這個(gè)命令的完整信息。

通常,很多命令都能夠接受 help 選項(xiàng)(比如說,ls --help),列出命令使用的提示。man 頁(yè)面的內(nèi)容通常太繁瑣,--help 選項(xiàng)可能更適合快速瀏覽。 

腳本

Linux 命令行中最貼心的功能之一是能夠運(yùn)行腳本文件,并且能重復(fù)運(yùn)行。Linux 命令可以存儲(chǔ)在文本文件中,您可以在文件的開頭寫入 #!/bin/sh,后面的行是命令。之后,一旦文件被存儲(chǔ)為可執(zhí)行文件,您就可以像執(zhí)行命令一樣運(yùn)行腳本文件,比如,

  1. --- contents of get_todays_todos.sh ---
  2. #!/bin/sh
  3. todays_date=`date +"%m/%d/%y"`
  4. grep $todays_date $HOME/todos.txt

腳本可以以一套可重復(fù)的步驟自動(dòng)化執(zhí)行特定命令。如果需要的話,腳本也可以很復(fù)雜,能夠使用循環(huán)、判斷語(yǔ)句等。限于篇幅,這里不細(xì)述,但是您可以在網(wǎng)上查詢到相關(guān)信息。 

Windows 命令行用戶

如果您對(duì) Windows CMD 或者 PowerShell 程序很熟悉,在命令行輸入命令應(yīng)該是輕車熟路的。然而,它們之間有很多差異,如果您沒有理解它們之間的差異可能會(huì)為之困擾。

首先,在 Linux 下的 PATH 環(huán)境與 Windows 不同。在 Windows 中,當(dāng)前目錄被認(rèn)為是該搜索路徑(PATH)中的***個(gè)文件夾,盡管該目錄沒有在環(huán)境變量中列出。而在 Linux 下,當(dāng)前目錄不會(huì)明確的放在搜索路徑中。Linux 下設(shè)置環(huán)境變量會(huì)被認(rèn)為是風(fēng)險(xiǎn)操作。在 Linux 的當(dāng)前目錄執(zhí)行程序,您需要使用 ./(代表當(dāng)前目錄的相對(duì)目錄表示方式) 前綴。這可能會(huì)搞糊涂很多 CMD 用戶。比如:

  1. ./my_program

而不是

  1. my_program

另外,在 Windows 環(huán)境變量的路徑中是以 ;(分號(hào)) 分割的。在 Linux 中,由 : 分割環(huán)境變量。同樣,在 Linux 中路徑由 / 字符分隔,而在 Windows 目錄中路徑由 \ 字符分割。因此 Windows 中典型的環(huán)境變量會(huì)像這樣:

  1. PATH="C:\Program Files;C:\Program Files\Firefox;"

而在 Linux 中看起來(lái)像這樣:

  1. PATH="/usr/bin:/opt/mozilla/firefox"

還要注意,在 Linux 中環(huán)境變量由 $ 拓展,而在 Windows 中您需要使用百分號(hào)(就是這樣: %PATH%)。

在 Linux 中,通過 - 使用命令選項(xiàng),而在 Windows 中,使用選項(xiàng)要通過 / 字符。所以,在 Linux 中您應(yīng)該:

  1. a_prog -h

而不是

  1. a_prog /h

在 Linux 下,文件拓展名并沒有意義。例如,將 myscript 重命名為 myscript.bat 并不會(huì)因此而變得可執(zhí)行,需要設(shè)置文件的執(zhí)行權(quán)限。文件執(zhí)行權(quán)限會(huì)在下次的內(nèi)容中覆蓋到。

在 Linux 中,如果文件或者目錄名以 . 字符開頭,意味著它們是隱藏文件。比如,如果您申請(qǐng)編輯 .bashrc 文件,您不能在家目錄中找到它,但是它可能真的存在,只不過它是隱藏文件。在命令行中,您可以通過 ls 命令的 -a 選項(xiàng)查看隱藏文件,比如:

  1. ls -a

在 Linux 中,普通的命令與 Windows 的命令不盡相同。下面的表格顯示了常用命令中 CMD 命令和 Linux 命令行的差異。

 

責(zé)任編輯:龐桂玉 來(lái)源: Linux中國(guó)
相關(guān)推薦

2018-07-10 14:29:05

Linux命令行

2009-12-24 14:51:39

Linux命令行

2010-09-01 14:23:54

Linux命令行開發(fā)

2009-12-09 09:25:52

Linux命令行svn命令

2009-12-23 14:14:09

Linux高級(jí)命令行

2014-01-24 09:09:32

Linux命令行網(wǎng)速

2010-06-01 19:14:53

SVN命令行

2010-09-03 09:18:23

LinuxUNIX命令行

2011-08-22 11:51:13

Linuxconfigure

2011-07-11 13:20:13

linuxuniq

2017-08-29 15:15:40

Linux命令公網(wǎng)IP

2018-02-10 17:30:41

Linux命令

2023-12-12 13:22:00

LinuxDocker容器

2009-08-11 09:58:22

Linux命令行Linux命令svn命令

2010-03-03 15:56:57

2009-08-11 10:16:08

linux命令行修改Ired hat linlinux命令行參數(shù)

2013-07-26 14:10:06

Linux命令行

2021-07-15 13:32:12

Linux生成密碼

2009-12-25 17:05:09

LINUX Bash

2021-07-15 13:25:43

LinuxPDF
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)