不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > Linux命令行技巧

Linux命令行技巧

時(shí)間: 春健736 分享

Linux命令行技巧

  學(xué)習(xí)啦小編將和大家分享一些學(xué)習(xí)Linux命令行的技巧,希望能對(duì)大家有所助益。如果在本文中遇到不太熟悉的命令,可以在終端中鍵入以下命令尋求幫助。下面跟著學(xué)習(xí)啦小編一起來(lái)了解一下吧。

  Linux命令行技巧

  這篇文章希望向你展示一些不需要很高的技術(shù)就可以像一個(gè)高手一樣使用 Linux 終端的有用技巧。你只需要一個(gè) Linux 終端和一些自由時(shí)間來(lái)體會(huì)這些命令。

  1. 找到正確的命令

  執(zhí)行正確的命令對(duì)你的系統(tǒng)來(lái)說(shuō)非常重要。然而在 Linux 中有如此多的、難以記憶的各種的命令行。那么怎樣才能找到你需要的正確命令呢?答案是 apropos。你只需要運(yùn)行:

  # apropos <description>

  其中你要用真正描述你要查找的命令的語(yǔ)句代替 “description”。這里有一個(gè)例子:

  # apropos "list directory"

  dir(1)-list directory contents

  ls(1)-list directory contents

  ntfsls (8)-list directory contents on an NTFS filesystem

  vdir (1)-list directory contents

  左邊你看到的是命令,右邊是它們的描述。

  2. 執(zhí)行之前的命令

  很多時(shí)候你需要一遍又一遍執(zhí)行相同的命令。盡管你可以重復(fù)按你鍵盤上的向上光標(biāo)鍵,但你也可以用 history 命令替代。這個(gè)命令會(huì)列出自從你上次啟動(dòng)終端以來(lái)所有輸入過(guò)的命令:

  # history

  1fdisk-l

  2apt-get install gnome-paint

  3hostname tecmint.com

  4hostnamectl tecmint.com

  5manhostnamectl

  6hostnamectl--set-hostname tecmint.com

  7hostnamectl-set-hostname tecmint.com

  8hostnamectlset-hostname tecmint.com

  9mount-t "ntfs"-o

  10fdisk-l

  11mount-t ntfs-3g/dev/sda5 /mnt

  12mount-t rw ntfs-3g/dev/sda5 /mnt

  13mount-t -rw ntfs-3g/dev/sda5 /mnt

  14mount-t ntfs-3g/dev/sda5 /mnt

  15mountman

  16manmount

  17mount-t -o ntfs-3g/dev/sda5 /mnt

  18mount-o ntfs-3g/dev/sda5 /mnt

  19mount-ro ntfs-3g/dev/sda5 /mnt

  20cd/mnt

  ...

  正如你上面看到的,你會(huì)得到一個(gè)你運(yùn)行過(guò)的命令的列表。每一行中有一個(gè)數(shù)字表示你在第幾行輸入了命令。你可以通過(guò)以下方法重新調(diào)用該命令:

  !#

  其中要用命令的實(shí)際編號(hào)代替 #。為了更好的理解,請(qǐng)看下面的例子:

  !501

  等價(jià)于:

  # history

  3. 使用 midnight 命令

  如果你不習(xí)慣使用類似 cd、cp、mv、rm 等命令,你可以使用 midnight 命令。它是一個(gè)簡(jiǎn)單的可視化 shell,你可以在上面使用鼠標(biāo):

  Midnight 命令

  借助 F1 到 F12 鍵,你可以輕易地執(zhí)行不同任務(wù)。只需要在底部選擇對(duì)應(yīng)的命令。要選擇文件或者目錄,按下 “Insert” 鍵。

  簡(jiǎn)而言之 midnight 就是所謂的 “mc”。要安裝 mc,只需要運(yùn)行:

  $ sudoapt-get install mc [OnDebian based systems]

  #yum install mc [OnFedora based systems]

  下面是一個(gè)使用 midnight 命令器的簡(jiǎn)單例子。通過(guò)輸入以下命令打開 mc:

  # mc

  現(xiàn)在使用 TAB 鍵選擇不同的窗口 - 左和右。我有一個(gè)想要移動(dòng)到 “Software” 目錄的 LibreOffice 文件:

  Midnight 命令移動(dòng)文件

  按 F6 按鈕移動(dòng)文件��新的目錄。MC 會(huì)請(qǐng)求你確認(rèn):

  移動(dòng)文件到新目錄

  確認(rèn)了之后,文件就會(huì)被移動(dòng)到新的目標(biāo)目錄。

  擴(kuò)展閱讀:如何在 Linux 中使用 Midnight 命令文件管理器

  4. 在指定時(shí)間關(guān)閉計(jì)算機(jī)

  有時(shí)候你需要在下班幾個(gè)小時(shí)后再關(guān)閉計(jì)算機(jī)。你可以通過(guò)使用下面的命令在指定時(shí)間關(guān)閉你的計(jì)算機(jī):

  $ sudoshutdown21:00

  這會(huì)告訴你在你指定的時(shí)間關(guān)閉計(jì)算機(jī)。你也可以告訴系統(tǒng)在指定分鐘后關(guān)閉:

  $ sudoshutdown+15

  這表示計(jì)算機(jī)會(huì)在 15 分鐘后關(guān)閉。

  5. 顯示已知用戶的信息

  你可以使用一個(gè)簡(jiǎn)單的命令列出你 Linux 系統(tǒng)的用戶以及一些關(guān)于它們的基本信息。

  # lslogins

  這會(huì)輸出下面的結(jié)果:

  UID USER PWD-LOCK PWD-DENY LAST-LOGIN GECOS

  0 root 00Apr29/11:35 root

  1 bin 01 bin

  2 daemon 01 daemon

  3 adm 01 adm

  4lp01lp

  5sync01sync

  6shutdown01Jul19/10:04shutdown

  7halt01halt

  8 mail 01 mail

  10 uucp 01 uucp

  11operator01operator

  12 games 01 games

  13 gopher 01 gopher

  14 ftp 01 FTP User

  23 squid 01

  25 named 01Named

  27 mysql 01MySQLServer

  47 mailnull 01

  48 apache 01Apache

  ...

  6. 查找文件

  查找文件有時(shí)候并不像你想象的那么簡(jiǎn)單。一個(gè)搜索文件的好例子是:

  #find/home/user -type f

  這個(gè)命令會(huì)搜索 /home/user 目錄下的所有文件。find 命令真的很強(qiáng)大,你可以傳遞更多選項(xiàng)給它使得你的搜索更加詳細(xì)。如果你想搜索超過(guò)特定大小的文件,可以使用:

  #find.-type f -size10M

  上面的命令會(huì)搜索當(dāng)前目錄中所有大于 10M 的文件。確保不要在你 Linux 系統(tǒng)的根目錄運(yùn)行該命令,因?yàn)檫@可能導(dǎo)致你的機(jī)器 I/O 瓶頸。

  我最經(jīng)常和 find 命令一起使用的選項(xiàng)之一是 “exec”,這允許你對(duì) find 命令的結(jié)果運(yùn)行一些操作。

  例如,假如我們想查找一個(gè)目錄中的所有文件并更改權(quán)限??梢酝ㄟ^(guò)以下簡(jiǎn)單命令完成:

  #find/home/user/files/-type f -execchmod644{} \;

  上面的命令會(huì)遞歸搜索指定目錄內(nèi)的所有文件,并對(duì)找到的文件執(zhí)行 chmod 命令。

  7. 用一個(gè)命令創(chuàng)建目錄樹

  你很可能知道可以使用 mkdir 命令創(chuàng)建新的目錄。因此如果你想創(chuàng)建一個(gè)新的目錄,你可能會(huì)運(yùn)行:

  #mkdir new_folder

  但如果你想在該目錄下創(chuàng)建 5 個(gè)子目錄呢?運(yùn)行 5 次 mkdir 命令并非是一個(gè)好的選擇。相反你可以類似下面這樣使用 -p 選項(xiàng):

  #mkdir-p new_folder/{folder_1,folder_2,folder_3,folder_4,folder_5}

  最后你會(huì)在 new_folder 中有 5 個(gè)目錄:

  #ls new_folder/

  folder_1 folder_2 folder_3 folder_4 folder_5

  8. 復(fù)制文件到多個(gè)目錄

  通常使用 cp 命令進(jìn)行文件復(fù)制。復(fù)制文件通常看起來(lái)類似:

  #cp/path-to-file/my_file.txt /path-to-new-directory/

  現(xiàn)在假設(shè)你需要復(fù)制該文件到多個(gè)目錄:

  #cp/home/user/my_file.txt /home/user/1

  #cp/home/user/my_file.txt /home/user/2

  #cp/home/user/my_file.txt /home/user/3

  這有點(diǎn)荒.唐。相反,你可以用簡(jiǎn)單的一行命令解決問(wèn)題:

  #echo/home/user/1/ /home/user/2/ /home/user/3/|xargs-n 1cp/home/user/my_file.txt

  9. 刪除大文件

  有時(shí)候文件可能會(huì)變得很大。我看過(guò)由于缺乏管理技能一個(gè)日志文件就超過(guò) 250G 的例子。用 rm 命令可能不足以刪除該文件,因?yàn)橛写罅康臄?shù)據(jù)需要移除。應(yīng)該避免這個(gè)很“笨重”的操作。相反,你可以使用一個(gè)簡(jiǎn)單的方法解決這個(gè)問(wèn)題:

  #>/path-to-file/huge_file.log

  當(dāng)然你需要根據(jù)你實(shí)際情況替換路徑和文件名。上面的命令寫一個(gè)空輸出到該文件。用更簡(jiǎn)單的話說(shuō)它會(huì)清空文件而不會(huì)導(dǎo)致你的系統(tǒng)產(chǎn)生大的 I/O 消耗。

  10. 在多個(gè) Linux 服務(wù)器上運(yùn)行相同命令

  最近我們的一個(gè)讀者在 LinuxSay 論壇提問(wèn)說(shuō)如何通過(guò) ssh 在多個(gè) Linux 服務(wù)器上執(zhí)行一個(gè)命令。他機(jī)器的 IP 地址是:

  10.0.0.1

  10.0.0.2

  10.0.0.3

  10.0.0.4

  10.0.0.5

  這里有一個(gè)簡(jiǎn)單的解決方法。將服務(wù)器的 IP 地址寫到文件 list.txt 中,像上面那樣一行一個(gè)。然后運(yùn)行:

  #forin $i(catlist.txt);dossh user@$i 'bash command';done

  上面的命令中你需要用實(shí)際登錄的用戶替換 “user”,用你希望執(zhí)行的實(shí)際命令替換 “bash command”。這個(gè)方法非常適用于通過(guò)使用 SSH 密鑰進(jìn)行無(wú)密碼驗(yàn)證,因?yàn)檫@樣你不需要每次都為用戶輸入密碼。

  注意取決于你 Linux 系統(tǒng)的設(shè)置,你可能還需要傳遞一些額外的參數(shù)給 SSH 命令。

  總結(jié)

  上面的例子都很簡(jiǎn)單,我希望它們能幫助你發(fā)現(xiàn) Linux 的優(yōu)美之處,你如何能簡(jiǎn)單實(shí)現(xiàn)在其它操作系統(tǒng)上需要更多時(shí)間的不同操作。

646176