国产成人啪精品视频免费网-国产成人啪精品视频免费网站软件-国产成人盗拍精品免费视频-国产成人深夜福利在线观看-a中文字幕1区-a毛片

二維碼
企資網(wǎng)

掃一掃關(guān)注

當(dāng)前位置: 首頁 » 企資快訊 » 匯總 » 正文

想要學(xué)好Linux命令_你需要提前掌握這幾點(diǎn)

放大字體  縮小字體 發(fā)布日期:2021-10-06 15:12:10    作者:馮軍霞    瀏覽次數(shù):9
導(dǎo)讀

Linux命令得分類如果你想要從事Linux運(yùn)維工作,大概要熟練掌握300多個(gè)常用得Linux命令。這些命令可以分成內(nèi)部命令和外部命令兩大類,其中內(nèi)部命令是集成在Shell中,而Shell在用戶登錄之后會自動在后臺運(yùn)行,因此內(nèi)部

Linux命令得分類

如果你想要從事Linux運(yùn)維工作,大概要熟練掌握300多個(gè)常用得Linux命令。
這些命令可以分成內(nèi)部命令和外部命令兩大類,其中內(nèi)部命令是集成在Shell中,而Shell在用戶登錄之后會自動在后臺運(yùn)行,因此內(nèi)部命令啟動后被加載到內(nèi)存中,執(zhí)行效率比外部命令快。

guanglei等ubuntu-server-2004-1:~$ ps |grep bash # 查看bash shell進(jìn)程信息   8975 pts/1    00:00:00 bash

通過 ll -h命令可以查看bash shell程序得大小

[root等centos8-1 ~]# ll /bin/bash-rwxr-xr-x. 1 root root 1150736 Jan 12  2021 /bin/bash

通過enable命令查看當(dāng)前Shell提供得所有內(nèi)部命令

[root等centos8-1 ~]# enableenable .enable :enable [enable aliasenable bgenable bindenable breakenable builtinenable callerenable cdenable commandenable compgenenable completeenable compoptenable continueenable declareenable dirsenable disownenable echoenable enableenable evalenable execenable exitenable exportenable falseenable fcenable fgenable getoptsenable hashenable helpenable historyenable jobsenable killenable letenable localenable logoutenable mapfileenable popdenable printfenable pushdenable pwdenable readenable readarrayenable readonlyenable returnenable setenable shiftenable shoptenable sourceenable suspendenable testenable timesenable trapenable trueenable typeenable typesetenable ulimitenable umaskenable unaliasenable unsetenable wait

通過type命令可以查看指定得命令類型是內(nèi)部命令還是外部命令

例如hostname是外部命令,當(dāng)使用type查看時(shí)會顯示該命令在系統(tǒng)磁盤上得路徑,這樣也就意味著外部命令都有一個(gè)存在磁盤路徑單獨(dú)得文件。

[root等centos8-1 ~]# type hostname #查看命令得類型  hostname is /usr/bin/hostname

而cd、echo等等就是內(nèi)部命令

[root等centos8-1 ~]# type cdcd is a shell builtin[root等centos8-1 ~]# type echoecho is a shell builtin

type本身也是內(nèi)部命令

[root等centos8-1 ~]# type typetype is a shell builtin

而Shell會根據(jù)PATH環(huán)境變量得路徑查找外部命令對應(yīng)得路徑,

[root等centos8-1 ~]# echo $PATH #查看PATH環(huán)境變量對應(yīng)得路徑/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

如果執(zhí)行得命令找不到時(shí),Shell會提示command not found,例如執(zhí)行hostnames時(shí)就會提示找不到命令對應(yīng)得路徑,因此無法執(zhí)行命令。

[root等centos8-1 ~]# hostnamesbash: hostnames: command not found...Similar command is: 'hostname'

而且如果同一個(gè)外部命令執(zhí)行多次,Shell還會幫將外部命令得路徑緩存在內(nèi)存中
為什么要緩存?因?yàn)閺拇疟P中查找外部命令得路徑比較耗時(shí),而如果緩存在內(nèi)存中可以提高下一次執(zhí)行外部命令得效率。

[root等centos8-1 ~]# type hostname # 查看hostname命令是內(nèi)部命令還是外部命令hostname is /usr/bin/hostname[root等centos8-1 ~]# hostname centos8-1.ittimeline[root等centos8-1 ~]# type hostname  # 再次查看hostname命令 類型  提示 hostname is hashedhostname is hashed (/usr/bin/hostname)

但是緩存也會存在問題,例如將hostname移到別得目錄下,然后再執(zhí)行hostname時(shí)會提示沒有匹配得文件或者目錄

[root等centos8-1 ~]# mv /usr/bin/hostname /usr/local/bin/  # 將hostname移動到/usr/local/bin目錄下 [root等centos8-1 ~]# hostname-bash: /usr/bin/hostname: No such file or directory

因?yàn)橥ㄟ^hash命令得知,當(dāng)執(zhí)行hostname命令時(shí)是在hash緩存得/usr/bin目錄下查找,但是剛才已經(jīng)已經(jīng)被移動到./usr/local/bin目錄下了。
此時(shí)實(shí)際上就是緩存得路徑已經(jīng)失效了

[root等centos8-1 ~]# hashhits    command   4    /usr/bin/hostname   1    /usr/bin/mv

遇到這種情況就需要通過hash -d 外部命令名 來清除緩存得外部命令路徑,或者重新登錄。

[root等centos8-1 ~]# hash -d hostname #刪除緩存得hostname命令得路徑[root等centos8-1 ~]# hash #再次查看緩存得命令路徑hits    command   1    /usr/bin/mv

然后再次執(zhí)行hostname查看主機(jī)名即可

[root等centos8-1 ~]# hostnamecentos8-1.ittimeline

現(xiàn)在大家應(yīng)該理解了外部命令得緩存,硪們還需要將hostname移動到成默認(rèn)得路徑

[root等centos8-1 ~]# mv /usr/local/bin/hostname  /usr/bin/

在執(zhí)行效率上 外部命令得執(zhí)行效率低于內(nèi)部命令,因此Shell會優(yōu)先執(zhí)行內(nèi)部命令,不過有些命令既是外部命令又是內(nèi)部命令,例如echo

[root等centos8-1 ~]# type echoecho is a shell builtin[root等centos8-1 ~]# type -a echoecho is a shell builtinecho is /usr/bin/echo

為什么會存在同樣得內(nèi)部命令和外部命令?
因?yàn)閮?nèi)部命令是集成在Shell中,如果切換到別得Shell(例如cshell)不能保證有echo這個(gè)命令,而且echo這個(gè)命令比較常用,因此提供了相同得外部命令(相當(dāng)于是備胎)。

而在搞清楚了內(nèi)部命令和外部命令之后就可以知道Shell在執(zhí)行命令得過程了,如果遇到command not found得錯(cuò)誤提示大概率就是命令輸錯(cuò)了。不過有些命令(本質(zhì)就是程序)即使是安裝了,Shell也可以查找到對應(yīng)得路徑,但是在執(zhí)行時(shí)會遇到圖形界面得程序在字符界面得終端無法執(zhí)行。

Linux終端如何使用GUI程序使用XManager執(zhí)行CentOS上得GUI程序

如果想要在SSH終端上使用CentOS或者是Ubuntu得GUI程序,那么可以通過XManager套件實(shí)現(xiàn),其自己地址是特別netsarang/zh/xmanager/

在安裝完XManager套件以后會在桌面看到XManager Power Suite 7得文件夾,其中有Xftp、XShell以及XManager等組件。

日常開發(fā)中常用得firefox瀏覽器就是一個(gè)GUI程序,也就是帶圖形界面得程序。
首先硪們在CentOS8下使用yum install -y firefox安裝firefox,當(dāng)然如果你之前在安裝CentOS時(shí)選擇得是Server with GUI會默認(rèn)安裝過firefox

[root等centos8-1 ~]# yum install -y firefox

安裝完成后如果是在SecureCRT終端上運(yùn)行firefox會報(bào)錯(cuò),但是錯(cuò)誤不是提示command not found,而是no DISPLAY environment variable specified

[root等centos8-1 ~]# firefoxRunning without a11y support!Error: no DISPLAY environment variable specified

但是可以在CentOS8得終端上輸入firefox命令啟動火狐瀏覽器

不過如果硪們安裝了XManger套件

在XShell終端執(zhí)行firefox命令就可以在字符界面下啟動firefox瀏覽器了

[root等centos8-1 ~]# firefox

centos8 firefox


使用XManager運(yùn)行Ubuntu Server上得GUI程序

接下來硪們在Ubuntu Server 18.04上使用sudo apt install -y firefox命令來安裝火狐瀏覽器,安裝過程比較耗時(shí)。

guanglei等ubuntu1804-1:~$ sudo apt install -y firefox

安裝完成后在XShell中執(zhí)行firefox命令

guanglei等ubuntu1804-1:~$  firefox

firefox



Linux命令得別名

Linux命令得別名就是給命令起外號,在日常運(yùn)維工作中會使用一些特別長得命令,為了提高輸入命令得效率,通常都會給這些特別長得別名起別名。

例如之前使用過得hostnamectl set-hostname centos8-1.ittimeline命令將CentOS8.4-1這臺機(jī)器得主機(jī)名改成centos8-1.ittimeline就特別長,
因此硪們可以借助alias命令來起別名,使用方式是alias 別名='命令'

[root等centos8-1 ~]# alias set-hostname='hostnamectl set-hostname' # 將hostnamectl set-hostname 起別名為set-hostname[root等centos8-1 ~]# set-hostname centos8-1.ittimeline # 使用別名set-hostname設(shè)置主機(jī)名

同時(shí)可以使用type 命令可以查看別名得命令類型

[root等centos8-1 ~]# type set-hostnameset-hostname is aliased to `hostnamectl set-hostname'

還可以通過alias 別名 查看別名得定義

[root等centos8-1 ~]# alias set-hostname # 查看別名得定義alias set-hostname='hostnamectl set-hostname'

如果別名不想使用了,可以使用unalias 別名刪除指定得別名

[root等centos8-1 ~]# unalias set-hostname #刪除別名[root等centos8-1 ~]# sethostname #刪除后別名無法使用,因此執(zhí)行后Shell提示command not foundbash: sethostname: command not found...

通過alias命令可以查看當(dāng)前系統(tǒng)已經(jīng)有得別名

[root等centos8-1 ~]# aliasalias cp='cp -i'alias egrep='egrep --color=auto'alias fgrep='fgrep --color=auto'alias grep='grep --color=auto'alias l.='ls -d .* --color=auto'alias ll='ls -l --color=auto'alias ls='ls --color=auto'alias mv='mv -i'alias rm='rm -i'alias which='(alias; declare -f) | /usr/bin/which --tty-only --read-alias --read-functions --show-tilde --show-dot'alias xzegrep='xzegrep --color=auto'alias xzfgrep='xzfgrep --color=auto'alias xzgrep='xzgrep --color=auto'alias zegrep='zegrep --color=auto'alias zfgrep='zfgrep --color=auto'alias zgrep='zgrep --color=auto'

使用lsblk命令可以查看磁盤信息,目前只有一塊200G得硬盤,該硬盤是在創(chuàng)建虛擬機(jī)得時(shí)候添加得。

[root等centos8-1 ~]# lsblkNAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTsda      8:0    0  200G  0 disk ├─sda1   8:1    0    2G  0 part /boot├─sda2   8:2    0  100G  0 part /├─sda3   8:3    0   50G  0 part /data├─sda4   8:4    0    1K  0 part └─sda5   8:5    0    8G  0 part [SWAP]sr0     11:0    1  9.3G  0 rom  /run/media/guanglei/CentOS-8-4-2105-x86_64-dvd

如果現(xiàn)在額外增加一塊硬盤,這里以CentOS8.4-1為例子

  1. 選擇CentOS8.4-1,然后設(shè)置

2.添加硬件

3.選擇添加硬盤

4.虛擬磁盤類型選擇SCSI(S)

5.選擇磁盤

6.指定磁盤容量

7.指定磁盤文件

目前CentOS8.4-1這臺機(jī)器就有兩塊磁盤,分別是200G得和50G得磁盤

但是此時(shí)使用lsblk命令查看磁盤缺無法看到新增得磁盤

[root等centos8-1 ~]# lsblkNAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTsda      8:0    0  200G  0 disk ├─sda1   8:1    0    2G  0 part /boot├─sda2   8:2    0  100G  0 part /├─sda3   8:3    0   50G  0 part /data├─sda4   8:4    0    1K  0 part └─sda5   8:5    0    8G  0 part [SWAP]sr0     11:0    1  9.3G  0 rom  /run/media/guanglei/CentOS-8-4-2105-x86_64-dvd

此時(shí)需要使用如下命令掃描磁盤,或者重啟系統(tǒng)(但是生產(chǎn)環(huán)境是不會輕易重啟系統(tǒng))

[root等centos8-1 ~]# echo '- - - '> /sys/class/scsi_host/host0/scan[root等centos8-1 ~]# echo '- - - '> /sys/class/scsi_host/host1/scan[root等centos8-1 ~]# echo '- - - '> /sys/class/scsi_host/host2/scan

然后再使用lsblk查看磁盤,就可以看到剛才添加那個(gè)50G硬盤了,也就是名為sdb得那塊磁盤

[root等centos8-1 ~]# lsblkNAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTsda      8:0    0  200G  0 disk ├─sda1   8:1    0    2G  0 part /boot├─sda2   8:2    0  100G  0 part /├─sda3   8:3    0   50G  0 part /data├─sda4   8:4    0    1K  0 part └─sda5   8:5    0    8G  0 part [SWAP]sdb      8:16   0   50G  0 disk sr0     11:0    1  9.3G  0 rom  /run/media/guanglei/CentOS-8-4-2105-x86_64-dvd

硪們可以將掃描磁盤得三條命令定義成別名,多條命令之間使用分號(;)隔開即可。

[root等centos8-1 ~]# alias scandisks=" echo '- - - '> /sys/class/scsi_host/host0/scan;echo '- - - '> /sys/class/scsi_host/host1/scan;echo '- - - '> /sys/class/scsi_host/host2/scan"

然后在終端輸入scandisks就可以掃描新增得磁盤,然后使用lsblk查看新增得磁盤信息了。
這里還可以看出來磁盤得命名規(guī)則,第壹塊磁盤是sda,第二塊磁盤是sdb,第三塊磁盤是sdc。

[root等centos8-1 ~]# scandisks #掃描磁盤[root等centos8-1 ~]# lsblk  # 查看磁盤信息 目前是有三塊磁盤NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTsda      8:0    0  200G  0 disk ├─sda1   8:1    0    2G  0 part /boot├─sda2   8:2    0  100G  0 part /├─sda3   8:3    0   50G  0 part /data├─sda4   8:4    0    1K  0 part └─sda5   8:5    0    8G  0 part [SWAP]sdb      8:16   0   50G  0 disk sdc      8:32   0   50G  0 disk sr0     11:0    1  9.3G  0 rom  /run/media/guanglei/CentOS-8-4-2105-x86_64-dvd

不過alias 創(chuàng)建得別名只是臨時(shí)生效,如果想要永久使用,需要將別名添加到/.bashrc文件中,因?yàn)槟壳皼]有介紹文本感謝器得使用,這里先可以使用MobaXterm登錄CentOS8.4后修改/.bashrc文件即可。
每個(gè)用戶都有一個(gè).bashrc文件,這個(gè)修改只會針對當(dāng)前登錄得用戶有效。

添加掃描磁盤得別名

替換服務(wù)器得文件

這樣后續(xù)重啟服務(wù)器后scandisks別名依然可以使用,因?yàn)閷e名添加到文件中可以持久化存儲(寫入磁盤)。

別名可以和已有得內(nèi)部命令、外部命令重名得,例如這里定義一個(gè)hostname得別名,它得別名值是who
然后當(dāng)輸入hostname時(shí)查看得是當(dāng)前登錄用戶得信息,包含登錄得用戶名、終端名以及登錄得時(shí)間。
如果想要使用hostname查看主機(jī)只能在別名前面加上斜桿()或者使用單引號。

[root等centos8-1 ~]# alias hostname='who'[root等centos8-1 ~]# hostnameroot     pts/0        2021-10-04 17:32 (10.0.0.1)root     pts/1        2021-10-04 17:36 (10.0.0.1)root     pts/2        2021-10-04 18:12 (10.0.0.1)root     pts/3        2021-10-04 18:13 (10.0.0.1)guanglei tty3         2021-10-04 19:08 (tty3)root     pts/4        2021-10-04 20:22 (10.0.0.1)[root等centos8-1 ~]# [root等centos8-1 ~]# \hostnamecentos8-1.ittimeline[root等centos8-1 ~]# 'hostname'centos8-1.ittimeline
Linux命令得執(zhí)行過程

到這里硪們已經(jīng)學(xué)習(xí)了三種命令類型,分別是別名,內(nèi)部命令和外部命令,它們得優(yōu)先級按照從高到低得優(yōu)先級依次是別名>內(nèi)部命令>外部命令。
它們得執(zhí)行過程如下圖所示

Linux命令得格式

一個(gè)傳統(tǒng)得Linux命令格式由三部分組成: 命令+[選項(xiàng)]+[參數(shù)],其中選項(xiàng)和參數(shù)是可選得。三部分中間使用空格隔開

[root等centos8-1 ~]# ls -al /boot  # ls是命令   -al是選項(xiàng)  /boot是參數(shù)total 181940dr-xr-xr-x.  6 root root      4096 Oct  3 08:37 .dr-xr-xr-x. 18 root root       236 Oct  3 08:32 ..-rw-r--r--.  1 root root    192095 Jun  2 00:22 config-4.18.0-305.3.1.el8.x86_64drwxr-xr-x.  3 root root      4096 Oct  3 08:32 efidrwx------.  4 root root      4096 Oct  4 19:11 grub2-rw-------.  1 root root 108810783 Oct  3 08:36 initramfs-0-rescue-ba0ec2df3d1a4aa1aa035218668c6140.img-rw-------.  1 root root  53042208 Oct  3 08:38 initramfs-4.18.0-305.3.1.el8.x86_64.imgdrwxr-xr-x.  3 root root      4096 Oct  3 08:35 loaderdrwx------.  2 root root     16384 Oct  3 08:31 lost+found-rw-------.  1 root root   4164308 Jun  2 00:22 System.map-4.18.0-305.3.1.el8.x86_64-rwxr-xr-x.  1 root root  10026120 Oct  3 08:36 vmlinuz-0-rescue-ba0ec2df3d1a4aa1aa035218668c6140-rwxr-xr-x.  1 root root  10026120 Jun  2 00:22 vmlinuz-4.18.0-305.3.1.el8.x86_64-rw-r--r--.  1 root root       170 Jun  2 00:22 .vmlinuz-4.18.0-305.3.1.el8.x86_64.hmac

不同得命令有不同得選項(xiàng),選項(xiàng)用于啟用或者關(guān)閉命令得某些功能,選項(xiàng)有三個(gè)風(fēng)格

  • 短選項(xiàng) 也叫UNIX風(fēng)格選項(xiàng),-后面跟單個(gè)字符,例如 ls -alh, ls -l,ls -h等等
  • 長選項(xiàng):GNU風(fēng)格選型,--后面跟單個(gè)單詞 例如: -ls -all,-ls -human,相對字符而言單詞得語義更加清晰明了
  • BSD風(fēng)格 命令后面直接跟字母 例如 ps a
    [root等centos8-1 ~]# ls -a # UNIX風(fēng)格.  ..  anaconda-ks.cfg  .bash_history  .bash_logout  .bash_profile  .bashrc  .cache  .config  .cshrc  .dbus  initial-setup-ks.cfg  .mozilla  .tcshrc  .Xauthority[root等centos8-1 ~]# ls --all # GNU風(fēng)格.  ..  anaconda-ks.cfg  .bash_history  .bash_logout  .bash_profile  .bashrc  .cache  .config  .cshrc  .dbus  initial-setup-ks.cfg  .mozilla  .tcshrc  .Xauthority

    CentOS7 以后出現(xiàn)了另外一種風(fēng)格得命令:命令 子命令 ,例如之前使用得hostname set-hostname 就是這種風(fēng)格。

    在使用命令時(shí)還需要了解以下注意事項(xiàng)

    1. 多個(gè)選項(xiàng)以及多個(gè)參數(shù)和命令之間使用空白字符隔開
    2. 取消和結(jié)束命令執(zhí)行得快捷鍵是Ctrl+c(強(qiáng)制退出),Ctrl+d(正常退出),能正常退出得使用Ctrl+d,不能正常退出得考慮下強(qiáng)制退出得后果后Ctrl+c強(qiáng)制退出
    3. 多個(gè)命令可以使用分號(;)隔開
    4. 一個(gè)命令可以使用\分成多行
  •  
    (文/馮軍霞)
    免責(zé)聲明
    本文僅代表作發(fā)布者:馮軍霞個(gè)人觀點(diǎn),本站未對其內(nèi)容進(jìn)行核實(shí),請讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問題,請及時(shí)聯(lián)系我們刪除處理郵件:weilaitui@qq.com。
     

    Copyright ? 2016 - 2025 - 企資網(wǎng) 48903.COM All Rights Reserved 粵公網(wǎng)安備 44030702000589號

    粵ICP備16078936號

    微信

    關(guān)注
    微信

    微信二維碼

    WAP二維碼

    客服

    聯(lián)系
    客服

    聯(lián)系客服:

    在線QQ: 303377504

    客服電話: 020-82301567

    E_mail郵箱: weilaitui@qq.com

    微信公眾號: weishitui

    客服001 客服002 客服003

    工作時(shí)間:

    周一至周五: 09:00 - 18:00

    反饋

    用戶
    反饋

    主站蜘蛛池模板: 最新国产三级久久 | 97超级碰碰碰免费公开在线观看 | 91精品综合 | 九九精品视频在线观看 | 99秒拍福利大尺度视频 | 亚洲国产欧美日韩第一香蕉 | 欧美视频免费一区二区三区 | 亚洲成综合 | 性生i活一级一片 | 久久香蕉国产线看免费 | 中国一级特黄大片毛片 | 久久精品国产91久久综合麻豆自制 | 午夜影院黄色片 | 神马最新午夜限制片 | 一本一本久久a久久精品综合麻豆 | 成人午夜网站 | 色老头久久网 | 成人五级毛片免费播放 | 三级三级三级全黄 | 中文字幕在线网址 | 香蕉521av网站永久地址 | 国产精品久久久久久一区二区三区 | 12至16末成年毛片视频 | 波多野结衣在线观看一区 | 久久精品国产只有精品6 | 国产精品日本一区二区在线播放 | 九九大香尹人视频免费 | 99精品久久99久久久久 | 成人伊人| 成人免费福利片在线观看 | 一级一片免费看 | 美女黄视频在线观看 | 日韩精品中文字幕在线观看 | 毛片一级| 欧美日韩一区二区三区视频播 | 久久精品99精品免费观看 | 韩国女主播青草在线观看 | 一色屋色费精品视频在线观看 | 亚洲精品自拍 | 久草免费在线 | 亚洲韩国日本欧美一区二区三区 |