當前位置:首頁 » 操作系統 » linux命令變數

linux命令變數

發布時間: 2022-05-15 23:47:13

linux顯示變數命令

env --- 顯示/設置當前用戶變數
用戶變數存在於所有的shell中,與用什麼shell無關,比如:HOME,SHELL等
export --- 設置當前終端有效的臨時變數
顯示/設置當前導出成用戶變數的shell變數。《Linux就該這么學》 一起學習。
終端關閉的同時,export的變數也失效。

⑵ linux命令和環境變數的關系

所謂環境變數就是linux的命令文件路徑。系統默認是 .、 /bin、/sbin、/usr/bin、/usr/local/bin、/usr/share/bin。

這個環境變數在視窗系統中也存在,不過沒人關心罷了。

例如:你輸入一個ls命令,那麼shell就會在上述的幾個目錄中找ls這個命令,直到找到這個命令為止,如果找到了這個命令,它就不再去找下一個ls命令了,如果沒找到它就會報一個錯誤消息告訴你沒有這個命令。

現階段很多系統都是用的樹狀目錄結構(因為磁帶備份系統不是樹狀目錄),也包括win系統。所謂環境變數就是從根目錄到文件頁所在的一條路線,環境變數的用途就是告訴系統從那幾條路徑里可以找到所需的文件。

⑶ linux如何添加自定義變數

1.Linux的變數種類
按變數的生存周期來劃分,Linux變數可分為兩類:
1. 永久的:需要修改配置文件,變數永久生效。
2. 臨時的:使用export命令聲明即可,變數在關閉shell時失效。
2.設置變數的三種方法
1. 在/etc/profile文件中添加變數【對所有用戶生效(永久的)】
用VI在文件/etc/profile文件中增加變數,該變數將會對Linux下所有用戶有效,並且是「永久的」。
例如:編輯/etc/profile文件,添加CLASSPATH變數
# vi /etc/profile
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
註:修改文件後要想馬上生效還要運行# source /etc/profile不然只能在下次重進此用戶時生效。
2. 在用戶目錄下的.bash_profile文件中增加變數【對單一用戶生效(永久的)】
用VI在用戶目錄下的.bash_profile文件中增加變數,改變數僅會對當前用戶有效,並且是「永久的」。
例如:編輯guok用戶目錄(/home/guok)下的.bash_profile
$ vi /home/guok/.bash.profile
添加如下內容:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
註:修改文件後要想馬上生效還要運行$ source /home/guok/.bash_profile不然只能在下次重進此用戶時生效。
3. 直接運行export命令定義變數【只對當前shell(BASH)有效(臨時的)】
在shell的命令行下直接使用[export 變數名=變數值]
定義變數,該變數只在當前的shell(BASH)或其子shell(BASH)下是有效的,shell關閉了,變數也就失效了,再打開新shell時就沒有這個變數,需要使用的話還需要重新定義。

⑷ linux怎麼通過setenv命令修改環境變數

按變數的生存周期來劃分,Linux變數可分為兩類,它們的修改方法如下:
(1)永久的:需要修改配置文件,變數永久生效。
常見的配置文件包括:
(1-1)/etc/profile:對所有用戶生效;此文件為系統的每個用戶設置環境信息,當用戶第一次登錄時,該文件被執行;並從/etc/profile.d目錄的配置文件中搜集shell的設置
例如:編輯/etc/profile文件,添加CLASSPATH變數
# vi /etc/profile
添加一行:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
修改後需要執行重新登錄才能生效,也可以執行命令source /etc/profile來生效

(1-2)/etc/bashrc:對所有用戶生效;為每一個運行bash shell的用戶執行此文件.當bash shell被打開時,該文件被讀取
編輯方法如上,不再贅述

(1-3)~/.bash_profile:僅會對當前用戶有效;每個用戶都可使用該文件輸入專用於自己使用的shell信息,當用戶登錄時,該文件僅僅執行一次
例如:編輯guok用戶目錄(/home/guok)下的.bash_profile
$ vi /home/guok/.bash.profile
添加如下內容:
export CLASSPATH=./JAVA_HOME/lib;$JAVA_HOME/jre/lib
修改後需要執行重新登錄才能生效,也可以執行命令source /etc/profile來生效

(1-4)~/.bashrc:僅會對當前用戶有效;該文件包含專用於你的bash shell的bash信息,當登錄時以及每次打開新的shell時,該該文件被讀取
編輯方法如上,不再贅述

另外,~/.bashrc等中設定的變數(局部)只能繼承/etc/profile中的變數,他們是"父子"關系

綜述,對上述文件修改,添加你需要的變數,在啟動一個shell(終端,terminal)時,你所定義的變數均會生效的。

(2)臨時的:使用export命令聲明即可,變數只在當前的shell(BASH)或其子shell(BASH)下是有效的,在關閉shell後失效,再打開新shell時就沒有這個變數,需要使用的話還需要重新定義
在shell的命令行下直接使用[export 變數名=變數值] 定義變數

環境變數的查看
(1)使用echo命令查看單個環境變數。例如:
echo $PATH
(2)使用env查看所有環境變數。例如:
env
(3)使用set查看所有本地定義的環境變數。例如:
set
另外,unset可以刪除指定的環境變數。

常用的環境變數
PATH 決定了shell將到哪些目錄中尋找命令或程序
HOME 當前用戶主目錄
HISTSIZE歷史記錄數
LOGNAME 當前用戶的登錄名
HOSTNAME指主機的名稱
SHELL 當前用戶Shell類型
LANGUGE 語言相關的環境變數,多語言可以修改此環境變數
MAIL當前用戶的郵件存放目錄
PS1基本提示符,對於root用戶是#,對於普通用戶是$

⑸ linux定義一個普通變數使用命令是

你說的是shell腳本中的變數吧。
一般直接賦值,類似:
DIR=/opt/xxx
這樣就可以了

⑹ linux下各種變數的理解

在技術上,變數可分成兩類:環境變數與shell變數。

1。環境變數可視為全局變數,與具體shell無關,是系統中固定存在的變數(值不一定都一樣)。env命令可查看所有的環境變數,export命令可修改已經存在的環境變數,也可以將一個shell變數導出為環境變數,但是export的效力僅限於此次該登陸操作,也就是說下次登錄就失效了。
另外,環境變數和內部變數應該是一回事。

2。shell變數可視為局部變數,只對當前shell有效,子進程不會繼承它們。

用戶變數,我的理解是用戶自定義的變數,當然屬於shell變數。舉例,命令行輸入:
$ a=123
$ echo $a
123
第一行產生一個用戶變數a,並賦值為123,第二行顯示變數a的值,第三行是執行結果。

本地變數,我的理解就是當前shell的所有變數,包括環境變數和shell變數(包括shell本身提供的變數和用戶變數)。set命令可查看所有的本地變數。

參數變數應該就是位置變數,這個很容易理解,給個例子就明白了。新建一腳本test,內容如下:
#!/bin/bash
echo "$1"
然後執行此腳本(之前要修改test的許可權為可執行):
$ ./test helloworld
helloworld
第一行的helloworld給出了腳本中$1的值,第二行的helloworld是執行結果。

在向腳本傳遞參數時,可以用此位置變數來獲取參數。
他們分別是:
$0:腳本名字。此變數包含地址,可以使用basename $0獲得腳本名稱。
$1:第一個參數。
$2,$3,$4,$5,...依次類推。

⑺ linux用什麼命令把變數變為全局變數

在shell腳本中,變數默認就是全局的。
如果要在不同的腳本中使用,可以用 export 命令將變數導出為環境變數。
直接: export 變數名

⑻ linux:在變數值引用命令過程中,如果想要獲取命令的結果,則需要如何操作

將一條命令的執行結果取得命令執行結果的值有:


1、使用反引號`` (數字鍵1左邊的鍵,tab鍵上面,英文方式輸入) 如:a=`echo "hello world"`;即將命令 echo "hello world"的輸出賦給變數a2、可以使用 $(()),如:a=$(echo "hello world"),即將命令echo "hello world"的輸出賦給變數a。


以下為具體語句:

⑼ 基本linux命令

基本linux命令有哪些呢?

1、ls命令
就是 list 的縮寫,通過 ls 命令不僅可以查看 linux 文件夾包含的文件,而且可以查看文件許可權(包括目錄、文件夾、文件許可權)查看目錄信息等等。
常用參數搭配:
ls -a 列出目錄所有文件,包含以.開始的隱藏文件
ls -A 列出除.及..的其它文件
ls -r 反序排列
ls -t 以文件修改時間排序
ls -S 以文件大小排序
ls -h 以易讀大小顯示
ls -l 除了文件名之外,還將文件的許可權、所有者、文件大小等信息詳細列出來
實例:
(1) 按易讀方式按時間反序排序,並顯示文件詳細信息
ls -lhrt
(2) 按大小反序顯示文件詳細信息
ls -lrS
(3)列出當前目錄中所有以"t"開頭的目錄的詳細內容
ls -l t*
(4) 列出文件絕對路徑(不包含隱藏文件)
ls | sed "s:^:`pwd`/:"
(5) 列出文件絕對路徑(包含隱藏文件)
find $pwd -maxdepth 1 | xargs ls -ld
2、cd 命令
cd(changeDirectory) 命令語法:
cd [目錄名]
說明:切換當前目錄至 dirName。
實例:
(1)進入要目錄
cd /
(2)進入 "home" 目錄
cd ~
(3)進入上一次工作路徑
cd -
(4)把上個命令的參數作為cd參數使用。
cd !$
3、pwd 命令
pwd 命令用於查看當前工作目錄路徑。
實例:
(1)查看當前路徑
pwd
(2)查看軟鏈接的實際路徑
pwd -P
4、mkdir 命令
mkdir 命令用於創建文件夾。
可用選項:
-m: 對新建目錄設置存取許可權,也可以用 chmod 命令設置;
-p: 可以是一個路徑名稱。此時若路徑中的某些目錄尚不存在,加上此選項後,系統將自動建立好那些尚不在的目錄,即一次可以建立多個目錄。
實例:
(1)當前工作目錄下創建名為 t的文件夾
mkdir t
(2)在 tmp 目錄下創建路徑為 test/t1/t 的目錄,若不存在,則創建:
mkdir -p /tmp/test/t1/t
5、rm 命令
刪除一個目錄中的一個或多個文件或目錄,如果沒有使用 -r 選項,則 rm 不會刪除目錄。如果使用 rm 來刪除文件,通常仍可以將該文件恢復原狀。
rm [選項] 文件…
實例:
(1)刪除任何 .log 文件,刪除前逐一詢問確認:
rm -i *.log
(2)刪除 test 子目錄及子目錄中所有檔案刪除,並且不用一一確認:
rm -rf test
(3)刪除以 -f 開頭的文件
rm -- -f*
6、rmdir 命令
從一個目錄中刪除一個或多個子目錄項,刪除某目錄時也必須具有對其父目錄的寫許可權。
注意:不能刪除非空目錄
實例:
(1)當 parent 子目錄被刪除後使它也成為空目錄的話,則順便一並刪除:
rmdir -p parent/child/child11
7、mv 命令
移動文件或修改文件名,根據第二參數類型(如目錄,則移動文件;如為文件則重命令該文件)。
當第二個參數為目錄時,第一個參數可以是多個以空格分隔的文件或目錄,然後移動第一個參數指定的多個文件到第二個參數指定的目錄中。
實例:
(1)將文件 test.log 重命名為 test1.txt
mv test.log test1.txt
(2)將文件 log1.txt,log2.txt,log3.txt 移動到根的 test3 目錄中
mv llog1.txt log2.txt log3.txt /test3
(3)將文件 file1 改名為 file2,如果 file2 已經存在,則詢問是否覆蓋
mv -i log1.txt log2.txt
(4)移動當前文件夾下的所有文件到上一級目錄
mv * ../
8、cp 命令
將源文件復制至目標文件,或將多個源文件復制至目標目錄。
注意:命令行復制,如果目標文件已經存在會提示是否覆蓋,而在 shell 腳本中,如果不加 -i 參數,則不會提示,而是直接覆蓋!
-i 提示
-r 復制目錄及目錄內所有項目
-a 復制的文件與原文件時間一樣
實例:
(1)復制 a.txt 到 test 目錄下,保持原文件時間,如果原文件存在提示是否覆蓋。
cp -ai a.txt test
(2)為 a.txt 建議一個鏈接(快捷方式)
cp -s a.txt link_a.txt
9、cat 命令
cat 主要有三大功能:
1.一次顯示整個文件:
cat filename
2.從鍵盤創建一個文件:
cat > filename
只能創建新文件,不能編輯已有文件。
3.將幾個文件合並為一個文件:
cat file1 file2 > file
-b 對非空輸出行號
-n 輸出所有行號
實例:
(1)把 log2012.log 的文件內容加上行號後輸入 log2013.log 這個文件里
cat -n log2012.log log2013.log
(2)把 log2012.log 和 log2013.log 的文件內容加上行號(空白行不加)之後將內容附加到 log.log 里
cat -b log2012.log log2013.log log.log
(3)使用 here doc 生成新文件
cat >log.txt <<EOF
>Hello
>World
>PWD=$(pwd)
>EOF
ls -l log.txt
cat log.txt
Hello
World
PWD=/opt/soft/test
(4)反向列示
tac log.txt
PWD=/opt/soft/test
World
Hello
10、more 命令
功能類似於 cat, more 會以一頁一頁的顯示方便使用者逐頁閱讀,而最基本的指令就是按空白鍵(space)就往下一頁顯示,按 b 鍵就會往回(back)一頁顯示。
命令參數:
+n 從笫 n 行開始顯示
-n 定義屏幕大小為n行
+/pattern 在每個檔案顯示前搜尋該字串(pattern),然後從該字串前兩行之後開始顯示
-c 從頂部清屏,然後顯示
-d 提示「Press space to continue,』q』 to quit(按空格鍵繼續,按q鍵退出)」,禁用響鈴功能
-l 忽略Ctrl+l(換頁)字元
-p 通過清除窗口而不是滾屏來對文件進行換頁,與-c選項相似
-s 把連續的多個空行顯示為一行
-u 把文件內容中的下畫線去掉
常用操作命令:
Enter 向下 n 行,需要定義。默認為 1 行
Ctrl+F 向下滾動一屏
空格鍵 向下滾動一屏
Ctrl+B 返回上一屏
= 輸出當前行的行號
:f 輸出文件名和當前行的行號
V 調用vi編輯器
!命令 調用Shell,並執行命令
q 退出more
實例:
(1)顯示文件中從第3行起的內容
more +3 text.txt
(2)在所列出文件目錄詳細信息,藉助管道使每次顯示 5 行
ls -l | more -5
按空格顯示下 5 行。
11、less 命令
less 與 more 類似,但使用 less 可以隨意瀏覽文件,而 more 僅能向前移動,卻不能向後移動,而且 less 在查看之前不會載入整個文件。
常用命令參數:
-i 忽略搜索時的大小寫
-N 顯示每行的行號
-o <文件名> 將less 輸出的內容在指定文件中保存起來
-s 顯示連續空行為一行
/字元串:向下搜索「字元串」的功能
?字元串:向上搜索「字元串」的功能
n:重復前一個搜索(與 / 或 ? 有關)
N:反向重復前一個搜索(與 / 或 ? 有關)
-x <數字> 將「tab」鍵顯示為規定的數字空格
b 向後翻一頁
d 向後翻半頁
h 顯示幫助界面
Q 退出less 命令
u 向前滾動半頁
y 向前滾動一行
空格鍵 滾動一行
回車鍵 滾動一頁
[pagedown]: 向下翻動一頁
[pageup]: 向上翻動一頁
實例:
(1)ps 查看進程信息並通過 less 分頁顯示
ps -aux | less -N
(2)查看多個文件
less 1.log 2.log
可以使用 n 查看下一個,使用 p 查看前一個。
12、head 命令
head 用來顯示檔案的開頭至標准輸出中,默認 head 命令列印其相應文件的開頭 10 行。
常用參數:
-n<行數> 顯示的行數(行數為復數表示從最後向前數)
實例:
(1)顯示 1.log 文件中前 20 行
head 1.log -n 20
(2)顯示 1.log 文件前 20 位元組
head -c 20 log2014.log
(3)顯示 t.log最後 10 行
head -n -10 t.log
13、tail 命令
用於顯示指定文件末尾內容,不指定文件時,作為輸入信息進行處理。常用查看日誌文件。
常用參數:
-f 循環讀取(常用於查看遞增的日誌文件)
-n<行數> 顯示行數(從後向前)
(1)循環讀取逐漸增加的文件內容
ping 127.0.0.1 > ping.log &
後台運行:可使用 jobs -l 查看,也可使用 fg 將其移到前台運行。
tail -f ping.log
(查看日誌)
14、which 命令
在 linux 要查找某個文件,但不知道放在哪裡了,可以使用下面的一些命令來搜索:
which 查看可執行文件的位置。
whereis 查看文件的位置。
locate 配合資料庫查看文件位置。
find 實際搜尋硬碟查詢文件名稱。
which 是在 PATH 就是指定的路徑中,搜索某個系統命令的位置,並返回第一個搜索結果。使用 which 命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令。
常用參數:
-n 指定文件名長度,指定的長度必須大於或等於所有文件中最長的文件名。
實例:
(1)查看 ls 命令是否存在,執行哪個
which ls
(2)查看 which
which which
(3)查看 cd
which cd(顯示不存在,因為 cd 是內建命令,而 which 查找顯示是 PATH 中的命令)
查看當前 PATH 配置:
echo $PATH
或使用 env 查看所有環境變數及對應值
15、whereis 命令
whereis 命令只能用於程序名的搜索,而且只搜索二進制文件(參數-b)、man說明文件(參數-m)和源代碼文件(參數-s)。如果省略參數,則返回所有信息。whereis 及 locate 都是基於系統內建的資料庫進行搜索,因此效率很高,而find則是遍歷硬碟查找文件。
常用參數:
-b 定位可執行文件。
-m 定位幫助文件。
-s 定位源代碼文件。
-u 搜索默認路徑下除可執行文件、源代碼文件、幫助文件以外的其它文件。
實例:
(1)查找 locate 程序相關文件
whereis locate
(2)查找 locate 的源碼文件
whereis -s locate
(3)查找 lcoate 的幫助文件
whereis -m locate

⑽ linux中,如何將一條命令的執行結果返回到一個變數之中

假設,你說的命令是ficonfig eth0,變數是ip,可以這樣寫:

#!/bin/bash

ip=`ifconfig eth0`

echo $ip

這樣就把命令生成的字元串賦值給ip了,echo $ip,看到的就是命令執行的結果。

熱點內容
微信平台無法上傳圖片 發布:2024-10-11 00:55:59 瀏覽:139
加密鎖折斷 發布:2024-10-10 23:57:30 瀏覽:146
上傳活動成果 發布:2024-10-10 23:48:27 瀏覽:186
2345解壓慢 發布:2024-10-10 23:48:26 瀏覽:199
php中文空格 發布:2024-10-10 23:36:26 瀏覽:757
cli編譯器 發布:2024-10-10 23:31:12 瀏覽:120
電腦網路配置怎麼調最好 發布:2024-10-10 23:31:01 瀏覽:833
甘肅機架式存儲伺服器機箱廠 發布:2024-10-10 23:25:26 瀏覽:348
油泵房配置哪些消防系統 發布:2024-10-10 23:23:59 瀏覽:953
pcl如何創造有mods伺服器 發布:2024-10-10 23:16:18 瀏覽:855