一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

在Linux系統(tǒng)中系統(tǒng)變量存在哪里呢?

阿銘linux ? 來源:阿銘linux ? 作者:阿銘 ? 2022-11-16 09:46 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

11.3系統(tǒng)環(huán)境變量與個(gè)人環(huán)境變量的配置文件

上面講了很多系統(tǒng)變量,那么在Linux系統(tǒng)中,這些變量存在哪里呢?為什么用戶一登錄shell就自動(dòng)有了這些變量呢?我們先來看看下面幾個(gè)文件。

/etc/profile:這個(gè)文件預(yù)設(shè)了幾個(gè)重要的變量,例如PATH、USER、LOGNAME、MAIL、INPUTRC、HOSTNAME、HISTSIZE、umask等。

/etc/bashrc:這個(gè)文件主要預(yù)設(shè)umask以及PS1。這個(gè)PS1就是我們?cè)谳斎朊顣r(shí)前面的那串字符。例如,阿銘的Linux系統(tǒng)的PS1就是[root@localhost~]#,我們不妨看一下PS1的值,如下所示:

# echo $PS1
[u@h W]$

其中,u指用戶,h指主機(jī)名,W指當(dāng)前目錄,$指字符#(如果是普通用戶,則顯示為$)。

除了以上兩個(gè)系統(tǒng)級(jí)別的配置文件外,每個(gè)用戶的主目錄下還有以下幾個(gè)隱藏文件。

bash_profile:該文件定義了用戶的個(gè)人化路徑與環(huán)境變量的文件名稱。每個(gè)用戶都可使用該文件輸入專屬于自己的shell信息,當(dāng)用戶登錄時(shí),該文件僅僅執(zhí)行一次。

bashrc:該文件包含專屬于自己的shell的bash信息,當(dāng)?shù)卿浕蛎看未蜷_新的shell時(shí),該文件會(huì)被讀取。例如,你可以將用戶自定義的別名或者自定義變量寫到這個(gè)文件中。

bash_history:該文件用于記錄命令歷史。

bash_logout:當(dāng)退出shell時(shí),會(huì)執(zhí)行該文件。你可以將一些清理的工作放到這個(gè)文件中。

11.4Linux shell中的特殊符號(hào)

在學(xué)習(xí)Linux的過程中,也許你已經(jīng)接觸過某個(gè)特殊符號(hào),例如*,它是一個(gè)通配符,代表零個(gè)或多個(gè)字符或數(shù)字。下面阿銘就介紹一下常用的特殊字符。

11.4.1*代表零個(gè)或多個(gè)任意字符

這個(gè)字符前面已經(jīng)介紹過,這里再次提到,它的用法如下:

#ls/tmp/4_6/test*
/tmp/4_6/test1 /tmp/4_6/test111  /tmp/4_6/test4  /tmp/4_6/test5

11.4.2?只代表一個(gè)任意的字符

這個(gè)字符的用法如下:

#touch/tmp/4_6/testa
#ls-d/tmp/4_6/test?
/tmp/4_6/test1 /tmp/4_6/test4  /tmp/4_6/test5 /tmp/4_6/testa

不管是數(shù)字還是字母,只要是一個(gè)字符,都能匹配出來。

11.4.3注釋符號(hào)#

這個(gè)符號(hào)在Linux中表示注釋說明,即#后面的內(nèi)容都會(huì)被忽略。用法如下:

#abc=123#aaaaa
#echo$abc
123

11.4.4脫義字符

這個(gè)字符會(huì)將后面的特殊符號(hào)(如*)還原為普通字符。用法如下:

#ls-dtest*
ls:
cannot access 'test*': No such file or directory

11.4.5再說管道符|

這個(gè)字符前面曾多次出現(xiàn)過,它的作用是將前面命令的輸出作為后面命令的輸入。這里提到的后面的命令,并不是所有的命令都可以的,一般針對(duì)文檔操作的命令比較常用。

例如cat、less、head、tail、grep、cut、sort、wc、uniq、tee、tr、split、sed、awk等,其中g(shù)rep、sed和awk是正則表達(dá)式必須掌握的工具,在后面會(huì)詳細(xì)介紹。管道符的用法如下:

#cattestb.txt|wc-l
0

在上例中,wc -l用來計(jì)算一個(gè)文檔有多少行。管道的作用在于將左邊命令的輸出內(nèi)容作為右邊命令的輸入。

11.4.6特殊符號(hào)$

符號(hào)$可以用作變量前面的標(biāo)識(shí)符,還可以和!結(jié)合起來使用。示例命令如下:

# cd ..
# ls testb.txt
testb.txt
# ls !$
ls testb.txt
testb.txt

!$表示上條命令中的最后一個(gè)變量,本例中上條命令最后是testb.txt,那么在當(dāng)前命令下輸入!$則代表testb.txt。

11.4.7特殊符號(hào);

通常,我們都是在一行中輸入一個(gè)命令,然后回車就運(yùn)行了。如果想在一行中運(yùn)行兩個(gè)或兩個(gè)以上的命令,需要在命令之間加符號(hào);。示例命令如下:

# mkdir testdir ; touch
test1.txt ; touch test2.txt; ls -d test*
test1.txt test2.txt 
testb.txt  testdir

11.4.8特殊符號(hào)~

符號(hào)~表示用戶的家目錄,root用戶的家目錄是/root ,普通用戶則是/home/username。示例命令如下:

#cd~
#pwd
/root
#suaming
$cd~
$pwd
/home/aming

11.4.9特殊符號(hào)&

如果想把一條命令放到后臺(tái)執(zhí)行,則需要加上符號(hào)&,它通常用于命令運(yùn)行時(shí)間較長(zhǎng)的情況。比如,可以用在sleep后,如下所示:

#sleep30&
[1]
3808
#jobs
[1]+ 運(yùn)行中               sleep 30 &

11.4.10重定向符號(hào)>、>>、2>和2>>

前面講過重定向符號(hào)>和>>,它們分別表示取代和追加的意思。當(dāng)我們運(yùn)行一個(gè)命令報(bào)錯(cuò)時(shí),報(bào)錯(cuò)信息會(huì)輸出到當(dāng)前屏幕。

如果想重定向到一個(gè)文本,則要用重定向符號(hào)2>或者2>>,它們分別表示錯(cuò)誤重定向和錯(cuò)誤追加重定向。示例命令如下:

#lsaaaa
ls:
cannot access 'aaaa': No such file or directory
#lsaaaa2>/tmp/error
#cat/tmp/error
ls:
cannot access 'aaaa': No such file or directory
#lsaaaa2>>/tmp/error
#cat/tmp/error
ls:
cannot access 'aaaa': No such file or directory
ls:
cannot access 'aaaa': No such file or directory

11.4.11中括號(hào)[]

中括號(hào)內(nèi)為字符組合,代表字符組合中的任意一個(gè),可以是一個(gè)范圍(1-3,a-z),用法如下:

#cd/tmp/10
#ls-dtest*
test1.txt test2.txt 
testb.txt  testdir
#ls-dtest[1-3].txt
test1.txt test2.txt
#ls-dtest[12b].txt
test1.txt test2.txt 
testb.txt
#ls-dtest[1-9].txt
test1.txt test2.txt
#ls-dtest[1-9a-z].txt
test1.txt test2.txt 
testb.txt

11.4.12特殊符號(hào)&&和||

前面提到了分號(hào)可作為多條命令間的分隔符,其實(shí)還有兩個(gè)可以用于多條命令中間的特殊符號(hào),那就是&&和||。下面阿銘列出以下幾種情況:

command1 ; command2

command1 && command2

command1 || command2

使用;時(shí),不管command1是否執(zhí)行成功,都會(huì)執(zhí)行command2。

使用&&時(shí),只有command1執(zhí)行成功后,command2才會(huì)執(zhí)行,否則command2不執(zhí)行。

使用||時(shí),command1執(zhí)行成功后則command2不執(zhí)行,否則執(zhí)行command2,即command1和command2中總有一條命令會(huì)執(zhí)行。接下來,阿銘要通過做試驗(yàn)來說明&&與||這兩個(gè)特殊符號(hào)的作用:

#rm-rftest*
#touchtest1test3
#lstest2&&touchtest2
ls:
cannot access 'test2': No such file or directory
#lstest2
ls:
cannot access 'test2': No such file or directory

本例中,只有當(dāng)ls test2成功執(zhí)行后,才會(huì)執(zhí)行touch test2。因?yàn)閠est2不存在, ls test2沒有執(zhí)行成功,所以&&后面的touch test2并沒有執(zhí)行。

#lstest2||touchtest2
ls:
cannot access 'test2': No such file or directory
#lstest*
test1 test2 
test3

本例中,若ls test2執(zhí)行不成功,則會(huì)執(zhí)行touch test2。因?yàn)閠est2不存在,所以ls test2沒有執(zhí)行成功,轉(zhuǎn)而執(zhí)行||后面的touch test2,所以增加了test2這個(gè)文件。







審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Linux系統(tǒng)
    +關(guān)注

    關(guān)注

    4

    文章

    605

    瀏覽量

    28452
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    372

    瀏覽量

    24127

原文標(biāo)題:我猜你這些shell基礎(chǔ)知識(shí)很多都不知道

文章出處:【微信號(hào):aming_linux,微信公眾號(hào):阿銘linux】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Linux系統(tǒng)中線程同步方式的條件變量方法

    今天主要和大家聊一聊,如何使用Linux中線程同步方式的條件變量
    發(fā)表于 11-08 09:16 ?640次閱讀

    我猜你這些shell基礎(chǔ)知識(shí)很多都不知道

    上面講了很多系統(tǒng)變量,那么Linux系統(tǒng),這些變量
    發(fā)表于 11-16 09:41 ?346次閱讀

    Linux實(shí)時(shí)方面存在哪些不足? 如何去改進(jìn)Linux內(nèi)核的實(shí)時(shí)性?

    實(shí)時(shí)系統(tǒng)分為哪幾類?Linux實(shí)時(shí)方面存在哪些不足?如何去改進(jìn)Linux內(nèi)核的實(shí)時(shí)性?怎樣去設(shè)計(jì)搶占式內(nèi)核體系結(jié)構(gòu)?
    發(fā)表于 04-26 06:36

    嵌入式為什么要用到Linux系統(tǒng)

    串行外設(shè)接口SPI是什么?嵌入式為什么要用到Linux系統(tǒng)?Cache常見的替換算法有哪幾種
    發(fā)表于 11-02 08:09

    嵌入式Linux系統(tǒng)的組成包括哪些

    。③ Linux內(nèi)核Linux內(nèi)核的最主要目的是去啟動(dòng)APP,APP保存在哪里?保存在“根文件系統(tǒng)”里?!案募?/div>
    發(fā)表于 12-17 08:13

    請(qǐng)問OK3399-c Linux系統(tǒng)在哪里可以設(shè)置開機(jī)不進(jìn)入界面?

    OK3399-c 開發(fā)板Linux系統(tǒng)啟動(dòng)后默認(rèn)顯示桌面,請(qǐng)問在哪里可以設(shè)置開機(jī)不進(jìn)入界面。
    發(fā)表于 12-30 06:55

    可以了解的Linux 文件系統(tǒng)結(jié)構(gòu)

    Linux的文件是什么?它的文件系統(tǒng)又是什么?那些配置文件又在哪里?我下載好的程序保存在哪里了?
    發(fā)表于 04-27 14:06 ?828次閱讀
    可以了解的<b class='flag-5'>Linux</b> 文件<b class='flag-5'>系統(tǒng)</b>結(jié)構(gòu)

    鴻蒙系統(tǒng)優(yōu)勢(shì)在哪里?

    自從華為公布首批搭載鴻蒙學(xué)堂的消息之后,不少華為手機(jī)用戶接到了鴻蒙操作系統(tǒng)的更新推送。鴻蒙系統(tǒng)到底能不能成?鴻蒙系統(tǒng)優(yōu)勢(shì)在哪里? 鴻蒙系統(tǒng)優(yōu)
    的頭像 發(fā)表于 06-21 16:42 ?1.2w次閱讀
    鴻蒙<b class='flag-5'>系統(tǒng)</b>優(yōu)勢(shì)<b class='flag-5'>在哪里</b>?

    鴻蒙系統(tǒng)在哪里可以下載 華為p20支持鴻蒙系統(tǒng)

    鴻蒙系統(tǒng)在哪里可以下載?下面就由小編為大家來簡(jiǎn)單介紹一下!
    的頭像 發(fā)表于 07-05 09:52 ?3983次閱讀

    鴻蒙系統(tǒng)在哪里 華為鴻蒙官網(wǎng)報(bào)名

    鴻蒙系統(tǒng)在哪里?有哪些優(yōu)勢(shì)?下面就由小編來為大家簡(jiǎn)單介紹一下!
    的頭像 發(fā)表于 07-07 09:09 ?2537次閱讀

    鴻蒙系統(tǒng)截屏功能在哪里

    華為鴻蒙系統(tǒng)發(fā)布后,目前為止很多小伙伴都升級(jí)了鴻蒙系統(tǒng),截屏是手機(jī)使用過程中一個(gè)很基礎(chǔ)的功能,那么鴻蒙系統(tǒng)截屏功能在哪里?下面小編就為大家
    的頭像 發(fā)表于 07-09 15:44 ?1.2w次閱讀

    通過env命令來查看Linux系統(tǒng)當(dāng)前的環(huán)境變量

    Linux 系統(tǒng),環(huán)境變量是用來定義系統(tǒng)運(yùn)行環(huán)境的一些參數(shù),常見的環(huán)境
    的頭像 發(fā)表于 01-18 16:10 ?2782次閱讀

    VESD靜電監(jiān)控系統(tǒng)優(yōu)勢(shì)在哪里

    VESD靜電監(jiān)控系統(tǒng)優(yōu)勢(shì)在哪里?今天我們就從各個(gè)方面為您介紹。
    的頭像 發(fā)表于 04-26 14:52 ?821次閱讀
    VESD靜電監(jiān)控<b class='flag-5'>系統(tǒng)</b>優(yōu)勢(shì)<b class='flag-5'>在哪里</b>

    0歐姆電阻神奇在哪里?電路0歐姆電阻的12點(diǎn)妙用總結(jié)

    電路設(shè)計(jì),電阻是至關(guān)重要的,它能有效地實(shí)現(xiàn)電路的限流、分流、分壓。0歐姆電阻是電阻中一個(gè)很神奇的存在。神奇在哪里
    的頭像 發(fā)表于 08-22 11:36 ?1576次閱讀

    Linux系統(tǒng)設(shè)置環(huán)境變量的方法和技巧

    Linux中環(huán)境變量是一種保存有關(guān)系統(tǒng)環(huán)境配置的信息的對(duì)象。它們被廣泛用于存儲(chǔ)有關(guān)系統(tǒng)操作的信息比如路徑、文件名等。通過合理配置環(huán)境
    的頭像 發(fā)表于 02-01 11:09 ?2048次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>系統(tǒng)</b><b class='flag-5'>中</b>設(shè)置環(huán)境<b class='flag-5'>變量</b>的方法和技巧