命令提示符
創(chuàng)新互聯(lián)一直在為企業(yè)提供服務(wù),多年的磨煉,使我們在創(chuàng)意設(shè)計,網(wǎng)絡(luò)營銷推廣到技術(shù)研發(fā)擁有了開發(fā)經(jīng)驗。我們擅長傾聽企業(yè)需求,挖掘用戶對產(chǎn)品需求服務(wù)價值,為企業(yè)制作有用的創(chuàng)意設(shè)計體驗。核心團隊擁有超過10多年以上行業(yè)經(jīng)驗,涵蓋創(chuàng)意,策化,開發(fā)等專業(yè)領(lǐng)域,公司涉及領(lǐng)域有基礎(chǔ)互聯(lián)網(wǎng)服務(wù)遂寧托管服務(wù)器、重慶APP開發(fā)公司、手機移動建站、網(wǎng)頁設(shè)計、網(wǎng)絡(luò)整合營銷。
“$在linux里是命令提示符的意思。 對于Linux系統(tǒng)來說,無論是中央處理器、內(nèi)存、磁盤驅(qū)動器、鍵盤、鼠標,還是用戶等都是文件,Linux系統(tǒng)管理的命令是正常運行的核心,與之前的DOS命令類似。linux命令在系統(tǒng)中有兩種類型:內(nèi)置Shell(外殼)命令和Linux命令
在 Linux 系統(tǒng)中, $ 符號表示當前用戶的命令行提示符。它通常出現(xiàn)在命令的開頭,表示這是一條需要在命令行中運行的命令。
如果你在命令行中看到 $- 意味著這是一條終端命令,且$ 是特殊字符,表示當前用戶。而- 是參數(shù),具體取決于后面的命令。
例如: $ ls -al 這里ls是命令, -al 是參數(shù),代表顯示所有文件(包括隱藏文件)并且以詳細格式顯示文件信息。
.表示執(zhí)行的意思,就是執(zhí)行這個文件。
./呢就表示執(zhí)行當前目錄下的某個文件,就比如當前目錄有一個腳本a.sh,那么./a.sh就表示執(zhí)行它。
不加參數(shù)時,默認切換到用戶主目錄,即環(huán)境變量HOME指定的目錄,如root用戶的HOME變量為/root,那么cd命令不帶參數(shù)時便切換到/root目錄下。
絕對路徑是從跟目錄開始的,如/root或/home/sgl,相對路徑是相對于當前路徑來說的。
假如當前目錄在/home/guo下面,那么前面的/home/sgl的相對路徑就是../sgl,即當前目錄的上級目錄下的sgl目錄。
擴展資料:
參數(shù)r是指連同源文件中的子目錄一同拷貝。熟悉dos的讀者用起這個命令來會覺得更方便,畢竟比在dos下面要少敲兩下鍵盤。
../ 和 ./ 代表的 是上級目錄以及當前目錄。
處在當前目錄復(fù)制當前目錄下文件到別的目錄。
cp_文件名稱_別的文件目錄路徑。"_"是空格
舉個例子:在orz文件夾下有兩個子文件夾a和b,a中有文件x.c,b中無文件。
參考資料來源:百度百科-linux命令
如果一個名稱用%括起來,那么就是用的它的賦值,而不是本身的字母
比如
echo time echo %time%
以上兩個前者顯示time這個字母,后者顯示系統(tǒng)時間 19:42:12:02
還有%diskdiver%=系統(tǒng)盤等。
可以用set自己設(shè)定,有一些是系統(tǒng)默認的比容上面說的time;diskdiver
----------------------------------------------------------------------
FOR這條命令基本上都被用來處理文本,我們這次除了要說他處理文本的作用外還要講他的其他一些好用的功能!
看看他的基本格式(這里我引用的是批處理中的格式,直接在命令行只需要一個%號)
FOR 參數(shù) %%變量名 IN (相關(guān)文件或命令) DO 執(zhí)行的命令
參數(shù):FOR有4個參數(shù) /d /l /r /f 他們的作用我在下面用例子解釋
%%變量名 :這個變量名可以是小寫a-z或者大寫A-Z,他們區(qū)分大小寫哦~
FOR會把每個讀取到的值給他!
IN:命令的格式,照寫就是了!
(相關(guān)文件或命令) :FOR要把什么東西讀取然后賦值給變量,不懂的話看下面的例子
do:命令的格式,照寫就是了!
執(zhí)行的命令:對每個變量的值要執(zhí)行什么操作就寫在這.
看不懂我的這些說明,可以在CMD輸入for /?看系統(tǒng)提供的幫助!我這里也給出來吧,大家對照
FOR %%variable IN (set) DO command [command-parameters]
%%variable 指定一個單一字母可替換的參數(shù)。
(set) 指定一個或一組文件。可以使用通配符。
command 指定對每個文件執(zhí)行的命令。
command-parameters
為特定命令指定參數(shù)或命令行開關(guān)。
現(xiàn)在開始講每個參數(shù)的意思
/d
僅為目錄
如果 Set (也就是我上面寫的 "相關(guān)文件或命令") 包含通配符(* 和 ?),將對與 Set 相匹配的每個目錄(而不是指定目錄中的文件組)執(zhí)行指定的 Command。
這個參數(shù)其實我也沒弄太懂...有錯誤希望各位糾正!
系統(tǒng)幫助的格式:FOR /D %%variable IN (set) DO command
他主要用于目錄搜索,不會搜索文件,看這樣的例子
@echo off
for /d %%i in (*) do @echo %%i
pause
把他保存放在C盤根目錄執(zhí)行,就會把C盤目錄下的全部目錄名字打印出來,而文件名字一個也不顯示!
在來一個,比如我們要把當前路徑下文件夾的名字只有1-3個字母的打出來
@echo off
for /d %%i in (???) do @echo %%i
pause
這樣的話如果你當前目錄下有目錄名字只有1-3個字母的,就會顯示出來,沒有就不顯示了
這里解釋下*號和?號的作用,*號表示任意N個字符,而?號只表示任意一個字符
知道作用了,給大家個思考題目!
@echo off
for /d %%i in (window?) do @echo %%i
pause
保存到C盤下執(zhí)行,會顯示什么呢?自己看吧!
/D參數(shù)只能顯示當前目錄下的目錄名字,這個大家要注意!
/R
遞歸
進入根目錄樹 [Drive:]Path,在樹的每個目錄中執(zhí)行 for 語句。如果在 /R 后沒有指定目錄,則認為是當前目錄。如果 Set 只是一個句點 (.),則只枚舉目錄樹。
系統(tǒng)幫助的格式:FOR /R [[drive:]path] %%variable IN (set) DO command
上面我們知道,/D只能顯示當前路徑下的目錄名字,那么現(xiàn)在這個/R也是和目錄有關(guān),他能干嘛呢?放心他比/D強大多了!
他可以把當前或者你指定路徑下的文件名字全部讀取,注意是文件名字,有什么用看例子!
@echo off
for /r c:\ %%i in (*.exe) do @echo %%i
pause
咋們把這個BAT保存到D盤隨便哪里然后執(zhí)行,我會就會看到,他把C盤根目錄,和每個目錄的子目錄下面全部的EXE文件都列出來了!!!!
再來一個
@echo off
for /r %%i in (*.exe) do @echo %%i
pause
參數(shù)不一樣了吧!這個命令前面沒加那個C:\也就是搜索路徑,這樣他就會以當前目錄為搜索路徑,比如你這個BAT你把他防災(zāi)d:\test目錄下執(zhí)行,那么他就會把D:\test目錄和他下面的子目錄的全部EXE文件列出來!!!
這個參數(shù)大家因該理解了吧!還是滿好玩的命令!
/L
迭代數(shù)值范圍
使用迭代變量設(shè)置起始值 (Start#),然后逐步執(zhí)行一組范圍的值,直到該值超過所設(shè)置的終止值 (End#)。/L 將通過對 Start# 與 End# 進行比較來執(zhí)行迭代變量。如果 Start# 小于 End#,就會執(zhí)行該命令。如果迭代變量超過 End#,則命令解釋程序退出此循環(huán)。還可以使用負的 Step# 以遞減數(shù)值的方式逐步執(zhí)行此范圍內(nèi)的值。例如,(1,1,5) 生成序列 1 2 3 4 5,而 (5,-1,1) 則生成序列 (5 4 3 2 1)。語法是:
系統(tǒng)幫助的格式:for /L %% Variable in (Start#,Step#,End#) do Command
看著這說明有點暈吧!咋們看例子就不暈了!
@echo off
for /l %%i in (1,1,5) do @echo %%i
pause
保存執(zhí)行看效果,他會打印從1 2 3 4 5 這樣5個數(shù)字
(1,1,5)這個參數(shù)也就是表示從1開始每次加1直到5終止!
大會暈,就打印個數(shù)字有P用...好的滿足大家,看這個例子
@echo off
for /l %%i in (1,1,5) do start cmd
pause
執(zhí)行后是不是嚇了一跳,怎么多了5個CMD窗口,呵呵!如果把那個 (1,1,5)改成 (1,1,65535)會有什么結(jié)果,我先告訴大家,會打開65535個CMD窗口....這么多你不死機算你強!
當然我們也可以把那個start cmd改成md %%i 這樣就會建立指定個目錄了!!!名字為1-65535
看完這個被我賦予破壞性質(zhì)的參數(shù)后,我們來看最后一個參數(shù)
/f
\迭代及文件解析
使用文件解析來處理命令輸出、字符串及文件內(nèi)容。使用迭代變量定義要檢查的內(nèi)容或字符串,并使用各種 ParsingKeywords 選項進一步修改解析方式。使用 ParsingKeywords 令牌選項指定哪些令牌應(yīng)該作為迭代變量傳遞。請注意:在沒有使用令牌選項時,/F 將只檢查第一個令牌。
文件解析過程包括讀取輸出、字符串或文件內(nèi)容,將其分成獨立的文本行以及再將每行解析成零個或更多個令牌。然后通過設(shè)置為令牌的迭代變量值,調(diào)用 for 循環(huán)。默認情況下,/F 傳遞每個文件每一行的第一個空白分隔符號。跳過空行。
系統(tǒng)幫助的格式:
for /F "ParsingKeywords" %% Variable in (FileNameSet) do Command
有沒有發(fā)現(xiàn)這個參數(shù)說明比上面幾個都多...沒辦法,人們用FOR命令主要也就是用/f參數(shù),FOR的主場啊!大家得好好看!
先來解釋下那個多出來的"ParsingKeywords"
他表示4個參數(shù)
eol=c - 指一個行注釋字符的結(jié)尾(就一個)
skip=n - 指在文件開始時忽略的行數(shù)。
delims=xxx - 指分隔符集。這個替換了空格和跳格鍵的
默認分隔符集。
tokens=x,y,m-n - 指每行的哪一個符號被傳遞到每個迭代
的 for 本身。這會導(dǎo)致額外變量名稱的分配。m-n
格式為一個范圍。通過 nth 符號指定 mth。如果
符號字符串中的最后一個字符星號,
那么額外的變量將在最后一個符號解析之后
分配并接受行的保留文本。
usebackq - 指定新語法已在下類情況中使用:
在作為命令執(zhí)行一個后引號的字符串并且一個單
引號字符為文字字符串命令并允許在 filenameset
中使用雙引號擴起文件名稱。
先別暈了!我這就舉個例子幫助大家來理解這些參數(shù)!
usebackq這個參數(shù)不用理解了,系統(tǒng)默認會給我們加上!
為了能使用這個例子,我們先新建一個文本文件,在里面打上這些內(nèi)容保存為test.txt:
;郁悶啊!
您好! 歡迎來到, 非常批處理
我們的網(wǎng)站 bbs.verybat.org
完畢!
@echo off
FOR /F "eol=; tokens=1 delims= " %%i in (test.txt) do @echo %%i
pause
我們把這個BAT保存到和你的test.txt相同的目錄下面然后執(zhí)行
我們會看到屏幕上會顯示
您好!
我們的網(wǎng)站
完畢!
為什么會這樣?我來解釋
這個命令會讀取在當前目錄下名為test.txt文件中的內(nèi)容,將每一行的內(nèi)容賦值給變量%%i,忽略掉以;號開頭的行,并且以空格做為分隔符號,打印每行以空格做分隔符號的第一列
結(jié)果就是這樣了!!
如果改成
當然我們想要把全部文件內(nèi)容直接打印出來就可以這樣
@echo off
FOR /F "delims=" %%i in (test.txt) do @echo %%i
pause
另外/F參數(shù)還可以以輸出命令的結(jié)果看這個例子
@echo off
FOR /F "delims=" %%i in ('net user') do @echo %%i
pause
這樣你本機全部帳號名字就出來了把擴號內(nèi)的內(nèi)容用兩個單引號引起來就表示那個當命令執(zhí)行,FOR會返回命令的每行結(jié)果,加那個"delims=" 是為了讓我空格的行能整行顯示出來,不加就只顯示空格左邊一列!
基本上講完了FOR的基本用法了...如果你看過FOR的系統(tǒng)幫助,你會發(fā)現(xiàn)他下面還有一些特定義的變量,這些我先不講.大家因該都累了吧!你不累我累啊....
本文名稱:linux命令號意思是 linux命令含義
URL標題:http://vcdvsql.cn/article24/ddihjce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計公司、做網(wǎng)站、服務(wù)器托管、網(wǎng)站改版、網(wǎng)站排名、網(wǎng)站維護
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)