❶ 路徑里的正斜杠和反斜杠一樣嗎
路徑里的正斜杠和反斜杠不一樣的,區別有:
1、適用的系統不同:
在windows系統中, 用來表示目錄。而在unix系統中,/ 表示目錄。
2、web路徑使用條件不同:
由於web遵循unix命名,所以在網址(URL)中,/ 表示目錄。例如:出現在html url() 屬性中的路徑,指定的路徑是網路路徑,所以必須用 斜桿/。
<div style="background-image:url(/Image/Control/title.jpg); background-repeat:repeat-x; padding:10px 10px 10px 10px"></div>如果url後面用反斜杠,就不會顯示任何背景。
3、代表的路徑不同:
出現在普通字元串中的路徑,如果代表的是windows文件路徑,則使用 斜桿/ 和 反斜杠 是一樣的;如果代表的是網路文件路徑,則必須使用 斜桿/ 。「./SRC/」表示,當前目錄中的SRC文件夾;「../SRC/」表示,當前目錄的上一層目錄中SRC文件夾;
❷ linux的命令帶的選項,有些是一個杠-,有些是兩個杠--,這些有沒有什麼規律的
一、find 命令格式
1、find命令的一般形式為;
find pathname -options [-print -exec -ok ...]
2、find命令的參數;
pathname: find命令所查找的目錄路徑。例如用.來表示當前目錄,用/來表示系統根目錄。
-print: find命令將匹配的文件輸出到標准輸出。
-exec: find命令對匹配的文件執行該參數所給出的shell命令。相應命令的形式為'command' { } \;,注意{ }和\;之間的空格。
-ok: 和-exec的作用相同,只不過以一種更為安全的模式來執行該參數所給出的shell命令,在執行每一個命令之前,都會給出提示,讓用戶來確定是否執行。
3、find命令選項
-name
按照文件名查找文件。
-perm
按照文件許可權來查找文件。
-prune
使用這一選項可以使find命令不在當前指定的目錄中查找,如果同時使用-depth選項,那麼-prune將被find命令忽略。
-user
按照文件屬主來查找文件。
-group
按照文件所屬的組來查找文件。
-mtime -n n
按照文件的更改時間來查找文件, - n表示文件更改時間距現在n天以內, n表示文件更改時間距現在n天以前。find命令還有-atime和-ctime 選項,但它們都和-m time選項。
-nogroup
查找無有效所屬組的文件,即該文件所屬的組在/etc/groups中不存在。
-nouser
查找無有效屬主的文件,即該文件的屬主在/etc/passwd中不存在。
-newer file1 ! file2
查找更改時間比文件file1新但比文件file2舊的文件。
-type
查找某一類型的文件,諸如:
b - 塊設備文件。
d - 目錄。
c - 字元設備文件。
p - 管道文件。
l - 符號鏈接文件。
f - 普通文件。
-size n:[c] 查找文件長度為n塊的文件,帶有c時表示文件長度以位元組計。
-depth:在查找文件時,首先查找當前目錄中的文件,然後再在其子目錄中查找。
-fstype:查找位於某一類型文件系統中的文件,這些文件系統類型通常可以在配置文件/etc/fstab中找到,該配置文件中包含了本系統中有關文件系統的信息。
-mount:在查找文件時不跨越文件系統mount點。
-follow:如果find命令遇到符號鏈接文件,就跟蹤至鏈接所指向的文件。
-cpio:對匹配的文件使用cpio命令,將這些文件備份到磁帶設備中。
另外,下面三個的區別:
-amin n
查找系統中最後N分鍾訪問的文件
-atime n
查找系統中最後n*24小時訪問的文件
-cmin n
查找系統中最後N分鍾被改變文件狀態的文件
-ctime n
查找系統中最後n*24小時被改變文件狀態的文件
-mmin n
查找系統中最後N分鍾被改變文件數據的文件
-mtime n
查找系統中最後n*24小時被改變文件數據的文件
4、使用exec或ok來執行shell命令
使用find時,只要把想要的操作寫在一個文件里,就可以用exec來配合find查找,很方便的
在有些操作系統中只允許-exec選項執行諸如l s或ls -l這樣的命令。大多數用戶使用這一選項是為了查找舊文件並刪除它們。建議在真正執行rm命令刪除文件之前,最好先用ls命令看一下,確認它們是所要刪除的文件。
exec選項後面跟隨著所要執行的命令或腳本,然後是一對兒{ },一個空格和一個\,最後是一個分號。為了使用exec選項,必須要同時使用print選項。如果驗證一下find命令,會發現該命令只輸出從當前路徑起的相對路徑及文件名。
例如:為了用ls -l命令列出所匹配到的文件,可以把ls -l命令放在find命令的-exec選項中
# find . -type f -exec ls -l { } \;
-rw-r--r-- 1 root root 34928 2003-02-25 ./conf/httpd.conf
-rw-r--r-- 1 root root 12959 2003-02-25 ./conf/magic
-rw-r--r-- 1 root root 180 2003-02-25 ./conf.d/README
上面的例子中,find命令匹配到了當前目錄下的所有普通文件,並在-exec選項中使用ls -l命令將它們列出。
在/logs目錄中查找更改時間在5日以前的文件並刪除它們:
$ find logs -type f -mtime 5 -exec rm { } \;
記住:在shell中用任何方式刪除文件之前,應當先查看相應的文件,一定要小心!當使用諸如mv或rm命令時,可以使用-exec選項的安全模式。它將在對每個匹配到的文件進行操作之前提示你。
在下面的例子中, find命令在當前目錄中查找所有文件名以.LOG結尾、更改時間在5日以上的文件,並刪除它們,只不過在刪除之前先給出提示。
$ find . -name "*.conf" -mtime 5 -ok rm { } \;
❸ 路徑 //什麼意思
C程序文件路徑用雙斜杠//
因為反單斜杠在C/C++/C# 中是轉義前導字元,例如 代表換行。為了避免歧義,路徑中的必須用//。
1、C程序釋義
(C程序相關書籍)
C語言是目前世界上最流行、使用最廣泛的面向過程的高級程序設計語言。 C語言對操作系統和系統使用程序以及需要對硬體進行操作的場合,用C語言明顯優於其它高級語言,許多大型應用軟體都是用C語言編寫的。
2、關於C語言中的轉義字元
所有的ASCII碼都可以使用轉義字元來表示,其中包括了常用的列印字元和一些具有特殊功能的非列印字元。
在C語言中,列印字元,如字母、數字、空格等字元,可以直接使用引號包含這些字元即可構成字元或字元串數據。
對於非列印字元,在引號中則必須使用轉移字元來進行表示。
3、基本形式
首先轉義字元和普通字元數據一樣,只能夠出現在單引號或者雙引號中。並且轉義字元都以開頭。
轉義字元有三種表示方式,分別是
1. 8進制加8進制數字
2. 16進制x加16進制數字
3. 特殊轉義字元加有特殊意義的符號
注意:轉義字元不存在10進制的書寫形式。
4、數字轉義
數字轉義字元只能使用8進制和16進制。
每個字元的轉義數值分別對應了其ASCII碼的值。
例如:
字元
轉義字元(8進制)
轉義字元(16進制)
『a』 『141』 『x61』
『+』 『53』 『x』
『0』 『60』 『x30』
所有的ASCII字元都可以使用這種方式進行表示。
在C語言中,如果想用ASCII碼值的10進制方式輸入字元。可以使用10進制整數直接給字元變數賦值,例如char a=97;同樣這種方式能夠輸入所有的ASCII字元,但是這種方式只能對單個字元變數進行賦值,並不能夠對整個字元串進行一次性賦值。
5、符號轉義
列印字元,可以使用字元本身和數字轉義兩種方式表示。
非列印字元,除了使用數字轉義的方式表示外,也有另一種表示方式,特殊符號轉義。
這種轉義方式由反斜杠和一個列印字元組成,用來表示一個非列印字元,常用相關的字元如下。
a 響鈴(BEL) 007 Alert
退格(BS) ,將當前位置移到前一列 008 Backspace
f 換頁(FF),將當前位置移到下頁開頭 012 form feed
換行(LF) ,將當前位置移到下一行開頭 010 line feed
回車(CR) ,將當前位置移到本行開頭 013 return
水平製表(HT) (跳到下一個TAB位置) 009 Tab
v 垂直製表(VT) 011 vertical tab
上面的字元中,需要特別注意三個字元。
v垂直製表符
在Windows控制台中,垂直製表符並不能夠在控制台中直接列印想要的製表效果,而是以一個特殊的字元來表示。
在Linux環境下,垂直製表符能夠正常的實現垂直製表的效果。
和
換行和回車
在日常的使用中,我們經常習慣性的將換行和回車等同起來。換行就是回車,回車就是換行。或者說,回車用來換行,這里的回車更多的是指鍵盤上的Enter鍵。
實際上,回車和換行是兩個不同的概念。
這個字元的產生和這個東西有關Teletype_Model_33
它們的由來網上是這么流傳的:
在計算機還沒有出現之前,有一種叫做電傳打字機(Teletype Model 33)的玩意,每秒鍾可以打10個字元。但是它有一個問題,就是打完一行換行的時候,要用去0.2秒,正好可以打兩個字元。要是在這0.2秒裡面,又有新的字元傳過來,那麼這個字元將丟失。
於是,研製人員想了個辦法解決這個問題,就是在每行後面加兩個表示結束的字元。一個叫做「回車」,告訴打字機把列印頭定位在左邊界;另一個叫做「換行」,告訴打字機把紙向下移一行。
這就是「換行」和「回車」的來歷,從它們的英語名字上也可以看出一二。
後來,計算機發明了,這兩個概念也就被般到了計算機上。那時,存儲器很貴,一些科學家認為在每行結尾加兩個字元太浪費了,加一個就可以。於是,就出現了分歧。
- Unix系統里,每行結尾只有「<換行>」,即「
」;
- Windows系統裡面,每行結尾是「<換行><回車>」,即「
」;
- Mac系統里,每行結尾是「<回車>」。
一個直接後果是,Unix/Mac系統下的文件在Windows里打開的話,所有文字會變成一行;而Windows里的文件在Unix/Mac下打開的話,在每行的結尾可能會多出一個^M符號。
從上面的文字中可以看出,實際上換行的功能本應該是由
共同來完成的,後來在計算機中不同的系統出現了不同的規定。
但是我們知道在C語言中,換行的操作使用的是
,但是上面的文字說在Windows下換行使用的是
。這是不是有矛盾呢。
實際上並沒有。
在Windows控制台下運行C語言,我們知道要換行時使用
便能完成操作。但是當要向文件輸出數據時,如果我們要實現換行,在代碼中我們仍然可以使用
來進行換行的操作。但是在文件實際的存儲數據中,換行使用的是
。
簡單說一下,在C語言中,如果
後輸出其他字元的話,之前在本行開頭輸出的字元將會被覆蓋。
另外,從理論上講,在Linux環境下v
組合也能夠用於換行,但是在實際應用中並不會這樣使用。
6、總結
所有轉義字元和意義總結如下表:
a 響鈴(BEL) 007
退格(BS) ,將當前位置移到前一列 008
f 換頁(FF),將當前位置移到下頁開頭 012
換行(LF) ,將當前位置移到下一行開頭 010
回車(CR) ,將當前位置移到本行開頭 013
水平製表(HT) (跳到下一個TAB位置) 009
v 垂直製表(VT) 011
代表一個反斜線字元』』 092
』 代表一個單引號(撇號)字元 039
」 代表一個雙引號字元 034
? 代表一個問號 063