中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

成都網(wǎng)站建設(shè)公司淺談百度一下百度知道

成都網(wǎng)站建設(shè)公司淺談,百度一下百度知道,如何做好seo優(yōu)化,國(guó)外網(wǎng)站建設(shè)什么價(jià)格低Linux前言鏈接文件符號(hào)鏈接(軟鏈接)硬鏈接shellshell 的類型shell的父子關(guān)系理解外部命令和內(nèi)建命令外部命令內(nèi)建命令Linux環(huán)境變量PATH環(huán)境變量前言 在這一章,我對(duì)Linux中有關(guān)shell較為深入的理解和環(huán)境變量方面知識(shí)的一個(gè)記錄。同時(shí)&#x…

Linux

  • 前言
  • 鏈接文件
    • 符號(hào)鏈接(軟鏈接)
    • 硬鏈接
  • shell
    • shell 的類型
    • shell的父子關(guān)系
    • 理解外部命令和內(nèi)建命令
      • 外部命令
      • 內(nèi)建命令
  • Linux環(huán)境變量
    • PATH環(huán)境變量

前言

?在這一章,我對(duì)Linux中有關(guān)shell較為深入的理解和環(huán)境變量方面知識(shí)的一個(gè)記錄。同時(shí),還將其中涉及到的鏈接文件方面的內(nèi)容也一并記錄下來(lái)。

鏈接文件

鏈接文件是Linux文件系統(tǒng)的一個(gè)優(yōu)勢(shì)。如果需要在系統(tǒng)中維護(hù)同一文件的兩個(gè)或多個(gè)副本,可以使用單個(gè)物理副本加多個(gè)虛擬副本(鏈接)的方法代替創(chuàng)建多個(gè)物理副本。鏈接是目錄中指向文件真實(shí)位置的占位符。在Linux中有兩種類型的文件鏈接。

  • 符號(hào)鏈接
  • 硬鏈接

符號(hào)鏈接(軟鏈接)

符號(hào)鏈接是一個(gè)實(shí)實(shí)在在的文件,該文件指向存放在虛擬目錄結(jié)構(gòu)中某個(gè)地方的另一個(gè)文件。這兩個(gè)以符號(hào)方式鏈接在一起的文件批次的內(nèi)容并不相同。

?要為一個(gè)文件創(chuàng)建符號(hào)鏈接,原始文件必須事先存在。然后可以使用ln命令以及-s選項(xiàng)來(lái)創(chuàng)建符號(hào)鏈接。如下面的例子

$ ls -l test_file
-rw-rw-r--. 1 christine christine 74 Feb 29 15:50 test_file
$
$ ln -s test_file slink_test_file
$
$ ls -l *test_file
lrwxrwxrwx. 1 christine christine  9 Mar  4 09:46 slink_test_file -> test_file
-rw-rw-r--. 1 christine christine 74 Feb 29 15:50 test_file
$

?在上面的例子中,符號(hào)鏈接文件名slink_test_file位于ln命令的第二個(gè)參數(shù)的位置。長(zhǎng)列表(ls -l)中顯示的內(nèi)容中,符號(hào)文件名后的箭頭(->)符號(hào)表明該文件是鏈接到文件test_file的一個(gè)符號(hào)鏈接。

?同時(shí),這兩個(gè)文件的大小明顯不同。這其中的原因是這兩個(gè)就是兩個(gè)完全不同的文件。slink_test_file文件只是指向test_file文件而已。

硬鏈接

硬鏈接創(chuàng)建的是一個(gè)獨(dú)立的虛擬文件,其中包含了原始文件的信息以及位置。但是,兩者就根本而已是同一個(gè)文件

?要想創(chuàng)建硬鏈接,原始文件也必須事先存在存在,只不過(guò)這次只用ln命令時(shí)不需要加入額外的選擇了,如下

 ls -l *test_one
-rw-rw-r--. 1 christine christine 0 Feb 29 17:26 test_one
$
$ ln test_one hlink_test_one
$
$ ls -li *test_one
1415016 -rw-rw-r--. 2 christine christine 0 Feb 29 17:26 hlink_test_one
1415016 -rw-rw-r--. 2 christine christine 0 Feb 29 17:26 test_one
$

?在上面的例子中,創(chuàng)建好硬鏈接文件之后,使用ls -li命令顯示了兩個(gè)文件的inode編號(hào)以及長(zhǎng)列表。可以看到兩者共享同一個(gè)inode編號(hào)。同時(shí)兩者的文件大小也是一模一樣的。

只能對(duì)處于同一個(gè)存儲(chǔ)設(shè)備的文件創(chuàng)建硬鏈接。要想在位于不同存儲(chǔ)設(shè)備的文件之間創(chuàng)建鏈接,只能使用符號(hào)鏈接

shell

shell不單單是CLI(命令行界面),而是一種復(fù)雜的交互式程序。輸入命令并利用shell來(lái)運(yùn)行腳本會(huì)出現(xiàn)一些既有趣又令人困惑的問(wèn)題。搞清楚shell進(jìn)程及其與系統(tǒng)之間的關(guān)系能夠幫助你解決這些難題,或是完全避開(kāi)它們。

shell 的類型

當(dāng)你登錄系統(tǒng)時(shí),系統(tǒng)啟動(dòng)什么樣的shell程序取決于你的個(gè)人用戶配置。在/etc/passwd文件中,用戶記錄的第7個(gè)字段中列出了該用戶的默認(rèn)shell程序。只要用戶登錄某個(gè)虛擬控制臺(tái)終端或是在GUI中啟動(dòng)終端仿真器,默認(rèn)的shell程序就會(huì)啟動(dòng)。

?通過(guò)which bash 可以找到bash shell的位置。當(dāng)然也可以找到其余shell的位置。
?在現(xiàn)代Linux系統(tǒng)中,/bin目錄通常是/usr/bin/目錄的符號(hào)鏈接。這就是為什么通常默認(rèn)shell程序是/bin/bash,但bash shell程序?qū)嶋H位于/usr/bin/目錄。
?并不是非得使用默認(rèn)的交互式shell。可以啟動(dòng)系統(tǒng)中擁有的任意一種shell。只需要輸入其名稱即可。但是在實(shí)際中,不會(huì)有任何提升或消息表明你當(dāng)前使用的是哪種shell。使用echo $0會(huì)顯示當(dāng)前shell的名稱。

shell的父子關(guān)系

用戶登錄某個(gè)虛擬控制臺(tái)終端或在GUI中運(yùn)行終端仿真器時(shí)所啟動(dòng)的默認(rèn)的交互式shel(登錄shell)是一個(gè)父shell。到目前為止,都是由父shell提供CLI提示符并等待命令輸入。

?當(dāng)你在CLI提示符處輸入bash命令(或是其他shell程序名)時(shí),會(huì)創(chuàng)建新的shell程序。這是一個(gè)子shell。子shell也擁有CLI提示符,同樣會(huì)等待命令輸入。如下圖
在這里插入圖片描述
?在生成子shell進(jìn)程時(shí),只有部分父進(jìn)程的環(huán)境被復(fù)制到了子shell環(huán)境中。這會(huì)對(duì)變量在內(nèi)的一些東西造成影響。當(dāng)然,子shell也可以繼續(xù)生成其子shell。同時(shí),我們可以使用exit命令來(lái)退出子shell。

  • 進(jìn)程就是正在運(yùn)行的程序。如bash shell是一個(gè)程序,當(dāng)它運(yùn)行的時(shí)候,就成了進(jìn)程。

理解外部命令和內(nèi)建命令

  • which 命令只可以查看外部命令程序所在的位置
  • type 命令即可看外部命令也可以查看內(nèi)建命令程序所在位置。

外部命令

?外部命令(也可以稱為文件系統(tǒng)命令)指的是存在于bash shell 之外的程序。也就是說(shuō),它并不屬于shell程序的一部分。外部命令程序通常位于/bin、/usr/bin、/sbin目錄中。

?每當(dāng)執(zhí)行外部命令時(shí),就會(huì)創(chuàng)建一個(gè)子進(jìn)程。這種操作稱為衍生。只要涉及進(jìn)程衍生,就需要耗費(fèi)時(shí)間和資源來(lái)設(shè)置新子進(jìn)程的環(huán)境。因此,外部命令系統(tǒng)開(kāi)銷較高。
?無(wú)論是衍生子進(jìn)程還是創(chuàng)建子shell,都仍然可以通過(guò)信號(hào)與其互通,這一點(diǎn)無(wú)論是在使用命令行還是編寫腳本時(shí)都極其有用。進(jìn)程間以發(fā)送信號(hào)的方式彼此通信。

內(nèi)建命令

?與外部命令不同,內(nèi)建命令無(wú)需子進(jìn)程來(lái)執(zhí)行。內(nèi)建命令已經(jīng)和shell編譯成一體了,作為shell的組成部分存在,無(wú)需借助外部程序文件來(lái)執(zhí)行。

Linux環(huán)境變量

Linux環(huán)境變量能幫你提升Linux shell 的使用體驗(yàn)。很多程序和腳本通過(guò)環(huán)境變量來(lái)獲取系統(tǒng)信息、存儲(chǔ)臨時(shí)數(shù)據(jù)和配置信息。
?bash shell 使用環(huán)境變量來(lái)存儲(chǔ)shell會(huì)話和工作環(huán)境的相關(guān)信息。環(huán)境變量允許在內(nèi)存中存儲(chǔ)數(shù)據(jù),以便shell中運(yùn)行的程序或腳本能夠訪問(wèn)到這些數(shù)據(jù)。這也是存儲(chǔ)持久數(shù)據(jù)的一種簡(jiǎn)便的方法。bash shell 中有兩種環(huán)境變量、

  • 全局變量
  • 局部變量。

?? 全局變量對(duì)于shell會(huì)話和所有生成的子shell都是可見(jiàn)的。局部環(huán)境變量則是只對(duì)創(chuàng)建它的shell可見(jiàn)。一下幾個(gè)命令為查看環(huán)境變量的命令

env:查看全局變量;
printenv:也是查看全局變量。與上一條命令不同的是其可以查看個(gè)別環(huán)境變量的值。
set:可以顯示特定進(jìn)程的所有環(huán)境變量,既包括局部變量、全局變量,也包括用戶自定義變量。
? 可以看到?jīng)]有直接能夠直接查看局部變量的命令。下邊是使用全局變量和局部變量的一些注意事項(xiàng)

  1. 兩者本質(zhì)都是變量,該變量是有值得。一般是一個(gè)字符串(如某一路勁)或者數(shù)值。在引用某個(gè)環(huán)境變量的時(shí)候,必須在該變量名前加上美元符號(hào)($)
  2. 創(chuàng)建用戶自定義變量:如my_var=Hello.如果用于賦值的字符串包含空格,則必須使用單引號(hào)或雙引號(hào)來(lái)界定字符串的起止。
  3. 系統(tǒng)變量用的都是大寫字母,所以為了與其區(qū)分。我們自定義的變量,一般都使用小寫字母即可。
  4. 創(chuàng)建全局環(huán)境變量的方法是先創(chuàng)建局部變臉,然后再將其導(dǎo)出到全局環(huán)境中。如:export my_var="Hello World" 。同時(shí),如果之后再子shell修改該全局變量的值并不會(huì)影響父shell中該變量的值。(甚至我們就無(wú)法再使用export 命令來(lái)改變父shell中全局變量的值)。也就是說(shuō),在該例子的全局變量中,我們?cè)谧觭hell修改了這個(gè)值(全局中沒(méi)有改變),之后再使用export命令。在父shell中my_var的值還是“Hello World”

PATH環(huán)境變量

PATH環(huán)境變量定義了用于查找命令和程序的目錄。

?如下為在Ubuntu Linux系統(tǒng)中,PATH環(huán)境變量的內(nèi)容如下:

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:
/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
$

?PATH中的目錄之間以冒號(hào)分隔。上邊輸出顯示共有9個(gè)目錄,shell會(huì)在其中查找命令和程序。
?如果命令或程序所在的位置沒(méi)有包括在PATH變量中,那么在不使用絕對(duì)路徑的情況下,shell是無(wú)法找到的。shell找不到指定的命令或程序時(shí)就會(huì)產(chǎn)生錯(cuò)誤。
?我們安裝的應(yīng)用程序的可執(zhí)行文件目錄有時(shí)不在PATH環(huán)境所包含的目錄中。解決辦法是保證PATH環(huán)境變量包含所有存在應(yīng)用程序的目錄。
&emsp為如何添加PATH環(huán)境變量,我們只需引用原來(lái)的PAHT值,添加冒號(hào)(😃,然后再使用絕對(duì)路徑輸入新目錄即可:

$ ls /home/christine/Scripts/
myprog
$ echo $PATH
/home/christine/.local/bin:/home/christine/bin:/usr/local/bin:/usr/
bin:/usr/local/sbin:/usr/sbin
$
$ PATH=$PATH:/home/christine/Scripts
$
$ myprog
The factorial of 5 is 120
$

?將上述目錄加入PATH環(huán)境變量之后,就可以在虛擬目錄結(jié)構(gòu)的任意位置執(zhí)行這個(gè)程序了。

如果希望程序位置也可用于在shell,則務(wù)必確保將修改之后的PATH環(huán)境變量導(dǎo)出。(全局)

?ps:對(duì)于如此修改的PATH環(huán)境變量只能持續(xù)到退出或重啟系統(tǒng)。也就是說(shuō)這種效果不會(huì)一直湊效的。(如果想永久修改,需要修改其中的文件)

http://www.risenshineclean.com/news/52615.html

相關(guān)文章:

  • 網(wǎng)站的建設(shè)方法有哪些內(nèi)容seo營(yíng)銷優(yōu)化軟件
  • 上海網(wǎng)站設(shè)計(jì)大連網(wǎng)絡(luò)整合營(yíng)銷方案ppt
  • 住房與住房建設(shè)部網(wǎng)站如何搭建一個(gè)網(wǎng)站平臺(tái)
  • 怎么網(wǎng)站定制十大接單推廣app平臺(tái)
  • 網(wǎng)頁(yè)設(shè)計(jì)入門軟件排名優(yōu)化怎么做
  • 網(wǎng)站內(nèi)頁(yè)banner一般做多高百度一下搜索引擎
  • 醫(yī)療網(wǎng)站怎么做推廣成人再就業(yè)技能培訓(xùn)班
  • 織夢(mèng)裝修網(wǎng)站模板湖南廣告優(yōu)化
  • 承德網(wǎng)站建設(shè)報(bào)價(jià)石家莊百度快速排名優(yōu)化
  • wordpress網(wǎng)站建小程序游戲優(yōu)化大師手機(jī)版
  • 有什么做設(shè)計(jì)接任務(wù)的網(wǎng)站搜索引擎有哪些分類
  • 寧波東錢湖建設(shè)局網(wǎng)站中國(guó)seo排行榜
  • 網(wǎng)站開(kāi)發(fā)平臺(tái)的定義今日頭條新聞推薦
  • wordpress 分割線公司網(wǎng)站seo公司
  • 做國(guó)際網(wǎng)站的上海高端網(wǎng)站公司百度官網(wǎng)下載安裝
  • seo提高網(wǎng)站排名單頁(yè)網(wǎng)站制作教程
  • 中國(guó)企業(yè)報(bào)蘇州旺道seo
  • 做淘寶客網(wǎng)站掙錢瀏覽器網(wǎng)址
  • 蘇州專業(yè)做網(wǎng)站的公司有哪些在線代理瀏覽網(wǎng)站免費(fèi)
  • 短視頻網(wǎng)站平臺(tái)怎么做seo研究中心怎么樣
  • 東坑網(wǎng)站建設(shè)東莞seo優(yōu)化公司
  • 建手機(jī)網(wǎng)站價(jià)格企業(yè)網(wǎng)站seo哪里好
  • 群暉nas可以做網(wǎng)站百度seo怎么提高排名
  • 豬八戒官網(wǎng)做網(wǎng)站專業(yè)嗎企業(yè)網(wǎng)絡(luò)
  • 自己做的網(wǎng)站如何百度能搜索企業(yè)關(guān)鍵詞排名優(yōu)化網(wǎng)址
  • 最吸引人的廣告圖片seo教學(xué)免費(fèi)課程霸屏
  • 自己設(shè)計(jì)圖紙的軟件佛山百度快照優(yōu)化排名
  • 能在線做初中題的網(wǎng)站適合小學(xué)生的新聞事件
  • 可以用來(lái)做視頻網(wǎng)站的視頻外鏈嗎網(wǎng)絡(luò)營(yíng)銷專員的就業(yè)前景
  • 產(chǎn)品經(jīng)理做網(wǎng)站網(wǎng)站頁(yè)面