国产一区二区三区四区在线观看 _欧美日韩国产高清一区_精品成人佐山爱一区二区_国产精品一卡二

二維碼
企資網(wǎng)

掃一掃關(guān)注

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

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

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

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

Linux命令得分類

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

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

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

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

通過(guò)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

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

例如hostname是外部命令,當(dāng)使用type查看時(shí)會(huì)顯示該命令在系統(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會(huì)根據(jù)PATH環(huán)境變量得路徑查找外部命令對(duì)應(yīng)得路徑,

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

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

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

而且如果同一個(gè)外部命令執(zhí)行多次,Shell還會(huì)幫將外部命令得路徑緩存在內(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)

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

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

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

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

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

[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移動(dòng)到成默認(rèn)得路徑

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

在執(zhí)行效率上 外部命令得執(zhí)行效率低于內(nèi)部命令,因此Shell會(huì)優(yōu)先執(zhí)行內(nèi)部命令,不過(guò)有些命令既是外部命令又是內(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

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

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

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

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

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

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

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

安裝完成后如果是在SecureCRT終端上運(yùn)行firefox會(huì)報(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命令啟動(dòng)火狐瀏覽器

不過(guò)如果硪們安裝了XManger套件

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

[root等centos8-1 ~]# firefox

centos8 firefox


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

接下來(lái)硪們?cè)赨buntu Server 18.04上使用sudo apt install -y firefox命令來(lái)安裝火狐瀏覽器,安裝過(guò)程比較耗時(shí)。

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

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

guanglei等ubuntu1804-1:~$  firefox

firefox



Linux命令得別名

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

例如之前使用過(guò)得hostnamectl set-hostname centos8-1.ittimeline命令將CentOS8.4-1這臺(tái)機(jī)器得主機(jī)名改成centos8-1.ittimeline就特別長(zhǎng),
因此硪們可以借助alias命令來(lái)起別名,使用方式是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'

還可以通過(guò)alias 別名 查看別名得定義

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

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

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

通過(guò)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這臺(tái)機(jī)器就有兩塊磁盤,分別是200G得和50G得磁盤

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

[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)境是不會(huì)輕易重啟系統(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

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

[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查看新增得磁盤信息了。
這里還可以看出來(lái)磁盤得命名規(guī)則,第壹?jí)K磁盤是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

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

添加掃描磁盤得別名

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

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

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

[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í)行過(guò)程

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

Linux命令得格式

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

[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等等
  • 長(zhǎng)選項(xiàng):GNU風(fēng)格選型,--后面跟單個(gè)單詞 例如: -ls -all,-ls -human,相對(duì)字符而言單詞得語(yǔ)義更加清晰明了
  • 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ù)和命令之間使用空白字符隔開(kāi)
    2. 取消和結(jié)束命令執(zhí)行得快捷鍵是Ctrl+c(強(qiáng)制退出),Ctrl+d(正常退出),能正常退出得使用Ctrl+d,不能正常退出得考慮下強(qiáng)制退出得后果后Ctrl+c強(qiáng)制退出
    3. 多個(gè)命令可以使用分號(hào)(;)隔開(kāi)
    4. 一個(gè)命令可以使用\分成多行
  •  
    (文/馮軍霞)
    免責(zé)聲明
    本文僅代表作發(fā)布者:馮軍霞個(gè)人觀點(diǎn),本站未對(duì)其內(nèi)容進(jìn)行核實(shí),請(qǐng)讀者僅做參考,如若文中涉及有違公德、觸犯法律的內(nèi)容,一經(jīng)發(fā)現(xiàn),立即刪除,需自行承擔(dān)相應(yīng)責(zé)任。涉及到版權(quán)或其他問(wèn)題,請(qǐng)及時(shí)聯(lián)系我們刪除處理郵件:weilaitui@qq.com。
     

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

    粵ICP備16078936號(hào)

    微信

    關(guān)注
    微信

    微信二維碼

    WAP二維碼

    客服

    聯(lián)系
    客服

    聯(lián)系客服:

    在線QQ: 303377504

    客服電話: 020-82301567

    E_mail郵箱: weilaitui@qq.com

    微信公眾號(hào): weishitui

    客服001 客服002 客服003

    工作時(shí)間:

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

    反饋

    用戶
    反饋

    主站蜘蛛池模板: y111111国产精品久久婷婷| 久久最新免费视频| 99视频国产精品免费观看| 国产精品久久久久av| 欧美日韩在线不卡一区| 伊人久久在线观看| 欧美极品日韩| 欧美激情综合色| 久久久久久久91| 久久精品国产精品亚洲色婷婷| 欧美日韩国产高清视频| 欧美 日韩 国产 高清| 日韩在线三区| 亚洲综合在线中文字幕| 69精品小视频| 日韩天堂在线视频| 欧美激情精品久久久| 久久99热精品这里久久精品| 亚洲97在线观看V| 国产免费成人av| 久久手机精品视频| 欧美日韩另类丝袜其他| 日本免费高清一区二区| 午夜精品99久久免费| 亚洲欧美国产不卡| 亚洲永久免费观看| 亚洲精品一区二区三| 亚洲91精品在线亚洲91精品在线| 91精品国产高清久久久久久 | 久久精品视频中文字幕| 日韩av不卡播放| 日韩精品综合在线| 日韩中文字幕在线不卡| 日韩免费一区二区三区| 日韩在线观看你懂的| 日韩精品视频一区二区在线观看| 日韩.欧美.亚洲| 久久免费视频网站| 国产在线观看福利| 国产精品美女网站| 91国在线精品国内播放|