溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux命令相關(guān)的基本知識有哪些

發(fā)布時間:2021-10-26 10:51:07 來源:億速云 閱讀:102 作者:小新 欄目:建站服務(wù)器

這篇文章給大家分享的是有關(guān)Linux命令相關(guān)的基本知識有哪些的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

本文約定

對于每一個命令,大致分為如下三個部分

  • 功能

    簡單介紹該命令功能。

  • 舉例

    給出該命令最常使用的例子。

  • 描述

    詳細(xì)描述該命令。

  • 其他

    該命令其他雜亂或者補(bǔ)充性的內(nèi)容。

對于每個命令的使用例子,如下說明

以orgmode格式做為文檔格式, orgmode格式一方面可讀性強(qiáng),另一方面便于將來導(dǎo)出為各種格式.

  1. 對于單個命令操作
    + 開始的列表項第一行給出要操作的目的,然后是具體的命令,最后給出該命令的詳細(xì)解釋。

    例如:

    + 列出當(dāng)前目錄的內(nèi)容
      =$ls=
      這里,將會列出當(dāng)前目錄所文件。

    如果命令過長,則使用 #+BEGIN_SRC/#+END_SRC 對。

  2. 對于某個系列的命令

    具體的命令使用列表給出,而命令所述的系列使用子標(biāo)題(orgmode中,列表的排版比較容易出錯,所以使用子標(biāo)題,盡量避免嵌套列表)。

    例如:

    ** 使用vi編輯:
       + 編輯之前首先打開文件<filename>:
         =$vi filename=
       打開文件之后,操作如下:
       + 插入
         輸入 =a=
       + 退出
         輸入 =:q=

基本知識

這里簡單介紹linux命令行的一般語法格式。這對初學(xué)者很重要,尤其是查找某個命令的幫助手冊( man 手冊)的時候,不會什么也看不懂。

命令組成

一般linux的命令語法格式如下:

命令名稱 項 項參數(shù)(值) 命令參數(shù)(值)

例如:

od [OPTION]... [FILE]... 
這里,命令名稱是 =od= ,項是OPTION。這里項用'[]'括起來表示這個部分在 =od= 命令里面可可無。命令的參數(shù)是FILE也是可可無;'...'表示其前面的東西(這里是OPTION和FILE可以不只一個.一般來說(不是絕對的),在 =man= 手冊里面,命令中像OPTION和FILE這樣的變量形式的參數(shù)(即其值取決于用戶的鍵入部分會用特殊顏色顯示出來;而 =od= 這樣本身是固定的部分(即不是用戶能改變的用另外一種顏色顯示(例如加粗)。也有的描述中把可變的部分用'<>'括起來。

再如:

cp [OPTION]... SOURCE... DIRECTORY 
從這里可以看出,=cp= 命令參數(shù)SOURCE和DIRECTORY,其中SOURCE參數(shù)可以是多個,DIRECTORY只能一個。OPTION部分可可無,但是SOURCE和DIRECTORY部分必須要。 
具體的例子: 
=$cp -r file1 file2 dir=

關(guān)于項

項簡單書寫形式也復(fù)雜書寫形式。簡單形式的項一般用 - 引出,復(fù)雜形式一般用 -- 引出等等。

  • 例如:

    $cp -v file1 file2 等價于 $cp --verbose file1 file2

    這里,=-v= 和 --verbose 是一樣的, -v 是簡寫形式, --verbose 是復(fù)雜形式。

  • 又例如:

    cp -r src des

    其中, -r 就是其中的[OPTION]部分,也可以是 --recursive

  • 另外,有些命令的項不用 - 來引出,例如:

    $unrar e test.rar

    使用 e 項指定 unrar 命令解壓 test.rar 文件。

  • 有些命令項用 - 做為前綴,然后可以接多個選項,例如:

    $tar -czvf dir.tgz dir

    這個命令使用 tar 命令的 -c -z -v -f 四個項,給 dir 目錄打包并且壓縮,生成結(jié)果文件為 dir.tgz.

  • 在項用’[]’包含起來表示可的同時,如果幾個值其中只能出現(xiàn)一個的話那么用’|’來分開。例如:

    command [-a|-b]

    這里, command 是假設(shè)的一個命令,這表示這個命令 command 中, -a-b 項,兩者要么都沒,要么只一個。

關(guān)于項的參數(shù)

不光是命令,命令的項也可以參數(shù)。

  • 這里舉一個復(fù)雜點的命令

    gdb [-help] [-nx] [-q] [-batch] [-cd=dir] [-f] [-b bps] [-tty=dev] [-s symfile] [-e prog] [-se prog] [-c core] [-x cmds] [-d dir] [prog[core|procID]]

    這是 gdb 命令的語法格式,關(guān)鍵的幾個部分如下:
    [-d dir] 就是指,運(yùn)行g(shù)db命令,可以添加一個可的項 -d ,這個項的參數(shù)是 dir.在本文的描述中,不太容易一下子看出 [-d dir] 里面哪部分是固定的字符串,哪部分是隨用戶輸入而變的字符串,但是 man 手冊里面都把它們標(biāo)記為不同的顏色了,實際通過分析也很容易知道哪個部分是可變的。

    有些命令項和項的參數(shù)之間可以沒空格,的項和項參數(shù)之間用 = 連接,例如這里的 ~[-cd=dir]’

  • 再舉一個例子

    minicom [-somMlwz8] [-c on|off] [-S script] [-d entry] [-a on|off] [-t term] [-p pty] [-C capturefile] [configuration]

    這是minicom的命令語法,其中[-c on|off]表示-c項是可的(即在命令中可可無,它一個選項參數(shù),參數(shù)值可以是on或者off.

基本命令

這里是經(jīng)常使用的linux命令,用于平時查閱之用.

一般而言,超級用戶(root)的命令提示符號是 #,一般用戶的命令提示符號是 $.

文件管理相關(guān)

  • 創(chuàng)建名字為1的目錄

    $mkdir 1

  • 創(chuàng)建名字為1的文件

    $touch 1

  • 刪除名字為1的文件

    $rm 1

  • 查看文件1的內(nèi)容

    $cat 1

  • 強(qiáng)制刪除一個目錄

    $rm -rf dirname

    這里, rm -r dirname 是遞歸刪除的意思,如果加上 -i 項,表示刪除之前提示是否刪除。

  • 重命名/移動文件

    $mv ./origin ./newname

    這里,Linux中沒專門的重命名命令,這里實際是使用了移動命令來進(jìn)行的。原來的文件名 origin,新文件名 newname.

  • 把文件file1拷貝一份到file2

    $cp file1 file2

    這里,操作都是在當(dāng)前目錄下面進(jìn)行的,如果拷貝到別的目錄,可以指定路徑,例如 cp file1 /anotherdir/file2.

  • 把目錄dir1考到另一個地方為dir2

    $cp -r dir1 dir2

    這里, -r 表示遞歸拷貝所子目錄。

  • 進(jìn)入到一個目錄中

    $cd dirname

  • 查看目錄dirname中所包含的文件

    $ls dirname

  • 查看目錄dirname中所包含的文件的詳細(xì)信息

    $ls -l

    這樣,會顯示相應(yīng)文件的詳細(xì)信息,包括屬主,大小,權(quán)限等信息。

  • 查看當(dāng)前的目錄

    $pwd

    這樣,會輸出當(dāng)前所在目錄的路徑。

  • 創(chuàng)建文件file的硬鏈接

    $ln file lnfile

    這里,使用鏈接的目錄格式類似 cp 。建立硬鏈接之后,如果刪除源,還可以通過這個硬鏈接訪問到這個文件的內(nèi)容,除非所的硬鏈接都被刪除了,否則文件內(nèi)容就一直存在的。硬鏈接不能夠跨越文件系統(tǒng),不能夠建立目錄的硬鏈接。

  • 創(chuàng)建文件 file 的軟鏈接

    $ln -s file lnfile

    這里,創(chuàng)建軟鏈接,文件名里面 $ 就用了轉(zhuǎn)義 \$ 表示 $,盡量用絕對路徑防止出錯。軟鏈接可以跨越文件系統(tǒng),可以為目錄創(chuàng)建軟鏈接,但是軟鏈接的文件,如果刪除源,鏈接會失效,類似windows中的快捷方式。

權(quán)限管理相關(guān)

  • 修改文件的權(quán)限為所人可讀可寫可執(zhí)行

    $chmod 777 filename

    這里,文件屬主必須是當(dāng)前用戶,否則就只能進(jìn)入超級用戶才能執(zhí)行這個命令了。

  • 修改文件filename的權(quán)限,為other用戶添加寫權(quán)限:

    $chmod o+w filename

  • 修改目錄以及所子目錄的權(quán)限為777

    $chmod 777 -R dir

  • 查看在線登陸用戶

    $who

  • 將一個用戶添加到用戶組中

    #usermod -a -G groupA user

    這里,不要忘記 -a 項。如果用: usermod -G groupA,這做會使 user 用戶離開其他用戶組,僅僅做為這個用戶組 groupA 的成員。

  • 更改用戶user的組為groupA

    #usermod -G groupA user

  • 查看所的用戶

    $cat /etc/passwd

    這里,用戶都保存在了 passwd 文件中,所以查看這個文件的內(nèi)容就可以看到所的用戶了。

    成功創(chuàng)建一個新用戶以后,在 /etc/passwd 文件中就會增加一行該用戶的信息,其格式如下:

    〔用戶名〕:〔密碼〕:〔UID〕:〔GID〕:〔身份描述〕:〔主目錄〕:〔登陸Shell〕

    其中每個字段被冒號 : 分成7各部分。

    由于小于500的 UIDGID 一般都是系統(tǒng)自己保留,不用做普通用戶和組的標(biāo)志,所以新增加的用戶和組一般都是 UIDGID 大于500的。

  • 查看所的組

    $cat etc/group

  • 查看所的組

    $cat etc/group

    這里,用戶都保存在了 group 文件中,所以查看這個文件的內(nèi)容就可以看到所的用戶了。

  • 添加一個用戶testusr

    #useradd testusr

    這里,注意在超級用戶模式才能用,剛建立沒密碼,沒自己的home,其他項可以參見man

  • 添加一個用戶testusr,并自動建立其用戶主目錄

    #useradd -m testusr

    運(yùn)行完畢,自動生成用戶的家目錄,目錄里面 .bashrc 等文件。

  • 刪除一個用戶 testusr

    #userdel testusr

    這里,命令不會把主目錄刪除.

  • 刪除一個用戶testusr,連同主目錄和郵箱緩存等

    #userdel -r testusr

  • 切換到用戶testusr

    $su testusr

    如果用戶需要密碼,那么需要輸入密碼才能登錄這個用戶。

  • 切換到超級用戶

    $su

    這樣,會提示輸入超級用戶的密碼,輸入之后,就會切換成超級用戶了。

  • 以超級用戶身份運(yùn)行一個程序

    $sudo app

    這樣,會以超級用戶身份運(yùn)行app程序,如果當(dāng)前權(quán)限不夠的時候,這條命令是很用的。當(dāng)然,運(yùn)行之前需要輸入自己的密碼。還有如 sudo su 也是類似的。

  • 設(shè)置更改一個用戶testusr的密碼

    #passwd testusr

    這里,需要在超級用戶下,輸入之后,按照提示輸入舊密碼和新密碼就行了。如果運(yùn)行的 passwd 沒參數(shù),那么會修改當(dāng)前用戶的密碼。更改自己的密碼只需輸入 passwd 不用切換到超級用戶下。

  • 修改用戶testusr的主目錄和登錄的shell

    #usermod -d/home/quietheart -s/bin/bash testusr

    這里,用戶名 testusr 的主目錄路徑設(shè)置在 /home/testusr,登陸的Shell設(shè)置為 /usr/bin/gcc ( -d 更新使用者新的登陸目錄, -s 指定新用戶Shell),空格無均可.

  • 修改用戶testusr名稱為test

    #usermod -l test testusr

    把用戶名 testusr 改成 test ( -l 變更用戶登陸時的名稱,手冊說同時使用者目錄名也會跟著更動成新的名稱(實踐了沒變目錄呀)) usermod 不允許改變正在線上的使用者帳號名稱.

  • 查看當(dāng)前用戶屬于的組

    $groups

  • 查看testusr用戶屬于的組

    $groups testusr

磁盤管理相關(guān)

  • 查看當(dāng)前目錄大小

    $du -sh

  • 查看文件的大小

    $du -sh filename

    這里, filename 是將要查看的文件名稱。

  • 查看分區(qū)信息

    fdisk -l

    這里,會顯示你的電腦上面的所磁盤的信息,例如分區(qū),文件系統(tǒng)等。當(dāng)前必須是 root 用戶,否則沒權(quán)限。

掛載磁盤相關(guān)

你的linux系統(tǒng)必須將其他硬盤的其他分區(qū)(例如windows分區(qū))掛載到根目錄樹中,才能訪問相應(yīng)的分區(qū)。

  • 掛載分區(qū) /dev/sda7/mnt/win

    #mount -t vfat /dev/sda7 /mnt/win

    這樣的掛載可能會出現(xiàn)顯示中文的時候亂碼,因為可能沒指定解碼的字符集。必須是超級用戶才能執(zhí)行。

  • 指定gb2312字符集的掛載

    #mount -t vfat -o iocharset=gb2312 /dev/sda7 /mnt/win

    這樣的掛載的時候,指定使用gb2312字符集,這樣就可能沒亂碼了。其他常用的字符包括cp936,utf8等等(ntfs的一般用utf8掛載)。必須是超級用戶才能執(zhí)行。

  • 查看已經(jīng)掛載的分區(qū)

    #mount

  • 卸載已經(jīng)掛載的分區(qū)

    #umount /mnt/win

    #umount /dev/sda7

    這里,是把 /dev/sda7 分區(qū)掛載到了 /mnt/win 上面。

  • 重新掛載

    #mount -o rw,remount /mnt/data

    這里,時候文件系統(tǒng)變?yōu)橹蛔x了,試試這個命令.

  • 設(shè)置系統(tǒng)啟動自動掛載某個分區(qū)

    方法之一是在 /etc/fstab 中加入如下內(nèi)容:

    /dev/sda8 /mnt/winG vfat defaults,rw,exec,iocharset=utf8,umask=0000 0 0

    必須 umask=0000, 否則只 root 可以寫,并且 root 也不能更改 chmod 777 -R ... 這是自己嘗試出來的。

其他操作

  • 清屏

    $clear

    這樣,當(dāng)前用戶的屏幕會被“清理”,并被重新刷新,原來輸入的命令和命令的輸出都被清理掉了,也可以使用 [Ctrl]l 來達(dá)到相同的效果。

  • 查看系統(tǒng)的編碼

    $locale

    輸入之后,例如我的機(jī)器輸出如下:

    LANG=zh_CN.UTF-8 
    LC_CTYPE="zh_CN.UTF-8" 
    LC_NUMERIC="zh_CN.UTF-8" 
    LC_TIME="zh_CN.UTF-8" 
    LC_COLLATE="zh_CN.UTF-8" 
    LC_MONETARY="zh_CN.UTF-8" 
    LC_MESSAGES="zh_CN.UTF-8" 
    LC_PAPER="zh_CN.UTF-8" 
    LC_NAME="zh_CN.UTF-8" 
    LC_ADDRESS="zh_CN.UTF-8" 
    LC_TELEPHONE="zh_CN.UTF-8" 
    LC_MEASUREMENT="zh_CN.UTF-8" 
    LC_IDENTIFICATION="zh_CN.UTF-8" 
    LC_ALL=
  • 啟動xwindow圖形界面

    $startx

    這個命令是在純粹的命令行下面運(yùn)行的命令。

  • 切換到第一個純命令行終端

    輸入: [Ctrl][Alt][F1]

    這樣,如果在圖形界面中運(yùn)行這個命令,會切換到第一個命令終端上面??梢允? [F1]~[F7] 等。

  • 切換到圖形界面

    輸入: [Ctrl][Alt][F7]

    這樣,如果在命令行終端,那么會切換到圖形終端上面的是 [F7] 、 [F8] 等等,都不一定,一般是 [F7] 。

  • 退出圖形界面

    兩種方法,

    1. 方法1, 注銷(不會 umount )

    2. 方法2, 輸入: [Ctrl][Alt][Backspace]

      退出圖形界面之后,不會 umount 之前 mount 過的分區(qū)。

  • 查看內(nèi)核版本號

    $uname -r

    這里,如果輸入 uname -a 會顯示所的內(nèi)核信息。

  • 查看發(fā)行的Linux版本號

    $cat /etc/issue

  • 搜索最近匹配的歷史命令

    使用如下步驟進(jìn)行:

    1. 輸入 [Ctrl]r

    2. 輸入以前輸入的命令的子字符串

    3. 根據(jù) 2 的輸入會自動匹配最近的命令。

      如果匹配了一個,但是我們需要的命令是更早的,那么再輸入一下 [Ctrl]r

    4. 輸入回車,運(yùn)行匹配的命令。

  • 在當(dāng)前目錄中尋找指定的文件

    $find -name filename

    這樣,會在當(dāng)前目錄下遞歸地尋找名稱為 filename 的文件,并且返回它的位置,這里支持通配符號。

  • 在指定的目錄中尋找指定的文件

    $find dirname -name filename

    這樣,會在 dirname 中遞歸地尋找名稱為 filename 的文件。

  • 在文件中查找字符串

    $grep 'string' filename

    這樣會在文件 filename 中查找指定的字符串’string’并且返回那個字符串的位置。

  • 在當(dāng)前目錄中所文件中查找指定的字符串

    $grep -r 'string' *

    這里,使用了通配符號。

  • 查看當(dāng)前時間

    $date

GNome桌面下面的操作

  • 切換桌面工作區(qū)域

    輸入 [Ctrl][Alt]<左右方向鍵>

  • 鎖屏幕

    輸入 [Ctrl][Alt]l

  • 切換不同任務(wù)窗口的快捷鍵

    輸入 [Alt][Tab]

  • 在桌面和上次的程序之間進(jìn)行切換

    輸入 [Ctrl][Alt]d

任務(wù)的前臺和后臺控制

假設(shè)我們運(yùn)行了多個vi編輯器,以及其他程序(無論前臺還是后臺,實際上只一個前臺的程序)。

  • 將當(dāng)前的程序放到后臺停止

    輸入 [Ctrl]z

  • 查看所在后臺運(yùn)行的程序

    $jobs

    輸入之后,輸出如下:

    [1]-  Stopped                 vi 
    [2]+  Stopped                 vi lex

    這里,使用前面的數(shù)字來標(biāo)記每一個后臺運(yùn)行的程序。

  • 將后臺停止的指定程序變成后臺運(yùn)行

    $bg %1

    這樣會把第一個后臺的作業(yè)調(diào)到后臺運(yùn)行,實際上,用 bg 1 就行了。

    這樣做之后,效果相當(dāng)于運(yùn)行了 app & ,其中app是運(yùn)行的程序,&表示放在后臺。

  • 將指定的后臺運(yùn)行的作業(yè)號放到前臺運(yùn)行

    $fg %1

    這樣會把第一個后臺的作業(yè)調(diào)到前臺運(yùn)行,實際上,用 fg 1 就行了。

  • 將最近的被停止的程序放到前臺運(yùn)行

    $fg

  • 殺掉指定的后臺運(yùn)行的程序

    $kill %1

    這樣,會在后臺運(yùn)行的作業(yè) %1 給殺掉。注意:這里的作業(yè)號用%來進(jìn)行標(biāo)記,而不像進(jìn)程直接用數(shù)字了。

最基本的文件編輯操作

這里提供了使用 vi 編輯文件的最基本的操作,能夠?qū)崿F(xiàn)大多數(shù)的編輯目的。

  • vi 打開一個文件

    輸入 vi filename

    這里, filename 就是你要打開的文件的名字,默認(rèn)打開文件后 vi 處于指令模式。

  • 進(jìn)入編輯模式編輯打開的文件

    輸入 i.

    或輸入 a.

    進(jìn)入編輯模式后,你可以直接敲入想要輸入的字符到文件,兩者的區(qū)別是 i 在當(dāng)前字符前面開始插入, a 在當(dāng)前字符后面開始插入。

  • 退出編輯模式

    輸入 [Esc]

    這樣,將返回指令模式,準(zhǔn)備接收你要傳達(dá)給 vi 的指令并執(zhí)行,如果之前已經(jīng)在指令模式下,那么系統(tǒng)將響鈴提醒一下。

以下命令都是vi在命令模式下進(jìn)行
  • 撤銷修改

    輸入 u

    這里,相比以前的vi來說,vim支持多步撤銷。

  • 恢復(fù)修改

    輸入 [Ctrl]r

    這里,和撤銷命令相反,是撤銷的撤銷,也可多步。

  • 復(fù)制行到剪切板

    輸入 yy

  • 復(fù)制定內(nèi)容到剪切板

    1. 輸入 v 。

    2. 方向鍵將高亮擇的內(nèi)容。

    3. 輸入 y 。

      這里,開始輸入 v 使vi臨時進(jìn)入了一個”選擇模式”,輸入方向鍵可以擇,輸入 y 將擇的內(nèi)容復(fù)制剪切板。

  • 刪除行

    輸入 dd

    注意,vi的刪除等價于剪切,刪除的內(nèi)容會保存到剪切板中。

  • 刪除定內(nèi)容

    1. 輸入 v 。

    2. 方向鍵將高亮擇的內(nèi)容。

    3. 輸入 d 。

      這里,開始輸入 v 使vi臨時進(jìn)入了一個“選擇模式”,輸入方向鍵可以擇,輸入 d 將擇的內(nèi)容刪除。

  • 粘貼

    輸入 p

    這樣會將剪切板的內(nèi)容粘貼到光標(biāo)位置或者光標(biāo)下一行。

  • 查找字符并定位到第一個匹配處

    輸入 /character

    這里 character 是待查找的字符,只要先輸入 / ,再輸入待查字符,最后回車即可定位到第一個匹配的字符處。

  • 定位到匹配查找的下一個字符處

    輸入 n

  • 定位到匹配查找的上一個字符處

    輸入 N

  • 保存文件

    輸入 :w

    注意 w 前面的 : ,輸入 : 之后,vim會將 : 之后的輸入解釋為待執(zhí)行的指令。

  • 退出

    輸入 :q

    這里,如果文件沒保存,將提示無法退出,除非你強(qiáng)制退出,不保存文件,或者保存退出。

  • 強(qiáng)制退出

    輸入 :q!

  • 保存退出

    輸入 :wq

    或輸入 ZZ.

  • 察看幫助

    輸入 :help

感謝各位的閱讀!關(guān)于“Linux命令相關(guān)的基本知識有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI