.表示執行的意思,就是執行這個文件。
./呢就表示執行當前目錄下的某個文件,就比如當前目錄有一個腳本a.sh,那麼./a.sh就表示執行它。
不加參數時,默認切換到用戶主目錄,即環境變數HOME指定的目錄,如root用戶的HOME變數為/root,那麼cd命令不帶參數時便切換到/root目錄下。
絕對路徑是從跟目錄開始的,如/root或/home/sgl,相對路徑是相對於當前路徑來說的。
假如當前目錄在/home/guo下面,那麼前面的/home/sgl的相對路徑就是../sgl,即當前目錄的上級目錄下的sgl目錄。
(1)linux中的擴展閱讀:
參數r是指連同源文件中的子目錄一同拷貝。熟悉dos的讀者用起這個命令來會覺得更方便,畢竟比在dos下面要少敲兩下鍵盤。
../ 和 ./ 代表的 是上級目錄以及當前目錄。
處在當前目錄復制當前目錄下文件到別的目錄。
cp_文件名稱_別的文件目錄路徑。"_"是空格
舉個例子:在orz文件夾下有兩個子文件夾a和b,a中有文件x.c,b中無文件。
B. linux中的.*代表什麼意思
*(星號)是linux中的通配符,代表一個或一個以上的所有字元。linux的隱藏文件和隱藏文件夾都是以.(點號)開頭,所以.*應該是代表當前目錄下的所有隱藏目錄和隱藏文件夾。
如果是./*則表示當前目錄下的所有文件和所有目錄,因為.(點號)還有代表當前目錄的意思。
C. linux中有哪些命令是經常用的
常用命令——
1、date :列印或者設置系統的日期和時間
2、 stty -a:可以查看或者列印控制字元(Ctrl-C、Ctrl-D、 Ctrl-Z等)
3、 passwd:用passwd -h查看
4、logout,login: 登錄shell的登錄和注銷命令
5、 more, less, head tail: 顯示或部分顯示文件內容
6、 lp/lpstat/cancel, lpr/lpq/lprm: 列印文件
7、 chmod u+x:更改文件許可權
8、 rm -fr dir:刪除非空目錄
9、cp -R dir:拷貝目錄
10、 fg jobid :可以將一個後台進程放到前台
11、 kill 的作用: send a signal to a process、 eg: kill -9 發送的是SIG_KILL信號,具體發送什麼信號 可以通過 man kill 查看。
12、 ps 的用法: ps -e 或 ps -o pid,ppid,session,tpgid, comm (其中session顯示的sessionid, tpgid顯示前台進程組id, comm顯示命令名稱)
(3)linux中的擴展閱讀:
linux系統特點——
1、基本思想
Linux的基本思想有兩點:第一,一切都是文件;第二,每個軟體都有確定的用途。其中第一條詳細來講就是系統中的所有都歸結為一個文件,包括命令、硬體和軟體設備、操作系統、進程等等對於操作系統內核而言,都被視為擁有各自特性或類型的文件。至於說Linux是基於Unix的,很大程度上也是因為這兩者的基本思想十分相近。
2、完全免費
Linux是一款免費的操作系統,用戶可以通過網路或其他途徑免費獲得,並可以任意修改其源代碼。這是其他的操作系統所做不到的。正是由於這一點,來自全世界的無數程序員參與了Linux的修改、編寫工作,程序員可以根據自己的興趣和靈感對其進行改變,這讓Linux吸收了無數程序員的精華,不斷壯大。
3、完全兼容POSIX1.0標准
這使得可以在Linux下通過相應的模擬器運行常見的DOS、Windows的程序。這為用戶從Windows轉到Linux奠定了基礎。許多用戶在考慮使用Linux時,就想到以前在Windows下常見的程序是否能正常運行,這一點就消除了他們的疑慮。
4、多用戶、多任務
Linux支持多用戶,各個用戶對於自己的文件設備有自己特殊的權力,保證了各用戶之間互不影響。多任務則是現在電腦最主要的一個特點,Linux可以使多個程序同時並獨立地運行。
5、良好的界面
Linux同時具有字元界面和圖形界面。在字元界面用戶可以通過鍵盤輸入相應的指令來進行操作。它同時也提供了類似Windows圖形界面的X-Window系統,用戶可以使用滑鼠對其進行操作。在X-Window環境中就和在Windows中相似,可以說是一個Linux版的Windows。
6、支持多種平台
Linux可以運行在多種硬體平台上,如具有x86、680x0、SPARC、Alpha等處理器的平台。此外Linux還是一種嵌入式操作系統,可以運行在掌上電腦、機頂盒或游戲機上。2001年1月份發布的Linux 2.4版內核已經能夠完全支持Intel64位晶元架構。同時Linux也支持多處理器技術。多個處理器同時工作,使系統性能大大提高。
D. linux 中 『|』的作用是什麼
利用Linux所提供的管道符「|」將兩個命令隔開,管道符左邊命令的輸出就會作為管道符右邊命令的輸入。連續使用管道意味著第一個命令的輸出會作為 第二個命令的輸入,第二個命令的輸出又會作為第三個命令的輸入,依此類推。下面來看看管道是如何在構造一條Linux命令中得到應用的。
1.利用一個管道
# rpm -qa|grep licq
這條命令使用一個管道符「|」建立了一個管道。管道將rpm -qa命令的輸出(包括系統中所有安裝的RPM包)作為grep命令的輸入,從而列出帶有licq字元的RPM包來。
4.利用多個管道
# cat /etc/passwd | grep /bin/bash | wc -l
這條命令使用了兩個管道,利用第一個管道將cat命令(顯示passwd文件的內容)的輸出送給grep命令,grep命令找出含有「/bin /bash」的所有行;第二個管道將grep的輸出送給wc命令,wc命令統計出輸入中的行數。這個命令的功能在於找出系統中有多少個用戶使用bash。
E. Linux中的./是什麼意思
Linux中「./」在系統文件中表示絕對路徑的意思。
linux系統中,所有的文件與目錄都是由根目錄/開始,不是以/開頭的就是相對路徑;
1、「.」表示當前目錄,也可以用「./」表示;
2、「..」表示上一級目錄,也可以用「../」表示;
3、「~」 代表用戶自己的宿主目錄;
4、「/」處於Linux文件系統樹形結構的最頂端,我們稱它為Linux文件系統的root,它是Linux文件系統的入口。
所有的目錄、文件、設備都在/之下,它是Linux文件系統最頂層的唯一的目錄;
一般建議在根目錄下面只有目錄,不要直接存放文件;根目錄是linux系統啟動時系統第一個載入的分區,所以啟動過程中用到的文件應該都放在這個分區中。
其中/etc、/bin、/dev、/lib、/sbin這5個子目錄都應該要與根目錄連在一起,不可獨立成為某個分區。
(5)linux中的擴展閱讀:
linux有四種基本文件系統類型:
1、普通文件:如文本文件、c語言源代碼、shell腳本等,可以用cat、less、more、vi等來察看內容,用mv來改名;
2、目錄文件:包括文件名、子目錄名及其指針,可以用ls列出目錄文件;
3、鏈接文件:是指向一索引節點的那些目錄條目,用ls來查看時,鏈接文件的標志用l開頭,而文件後以"->"指向所鏈接的文件;
4、特殊文件:如磁碟、終端、列印機等都在文件系統中表示出來,常放在/dev目錄內;
可以用file命令來識別。
F. linux中的"~"是什麼意思
~代表用戶的/home/用戶明目錄。
假設你的用戶名是x,那麼~/就是/home/x/
.是代表此目錄本身,但是一般可以不寫;所以cd ~/. 和cd ~ 和cd ~/效果是一樣的。但是.後面有東西又是另外一個問題,點在文件名頭部,代表一個隱藏文件。
~/.local是你的主目錄下一個.local的文件夾的路徑,並且從.可以看出,這是一個飲藏文件,如果不用ls -a的話,一般ls是無法看到的。
~ 是一個代位符,表明的是個人目錄的地址,因為每個用戶都有自己的個人目錄地址,所以用 ~ 作為統一替代這個根據用戶不同而不同但有規可循的地址,來保證某些情況下的兼容問題。
(6)linux中的擴展閱讀
在Linux中,所有的東西都是以文件的形式存儲在計算機中,所以要找到Linux裡面的文件,就需要用到路徑。路徑又分為絕對路徑和相對路徑。
絕對路徑就是文件在計算機中所處的完整位置,如"passwd"配置文件的絕對路徑就是"/etc/passwd",相對路徑就是文件相對與當前所在位置的一個名字的簡寫,這個名字不會以/開頭,而且名字會自動添加pwd顯示的值。
Linux常用命令:
1、新建文件【增】touch
命令:touch 文件名
示例:在當前目錄創建一個名為aa.txt的文件 touch aa.txt
2、刪除文件 【刪】 rm
命令:rm -rf 文件名
3、打開文件
命令:vi 文件名
示例:打開當前目錄下的aa.txt文件 vi aa.txt 或者 vim aa.txt
注意:使用vi編輯器打開文件後,並不能編輯,因為此時處於命令模式,點擊鍵盤i/a/o進入編輯模式。
G. linux中的 代表什麼許可權
Linux的用戶在登錄(login)之後,就帶有一個用戶身份(user ID, UID)和一個組身份(group ID, GID)。在Linux文件管理背景知識中,我們又看到,每個文件又有九位的許可權說明,用來指明該文件允許哪些用戶執行哪些操作(讀、寫或者執行)。
(參考Linux文件管理背景知識)
一般來說,Linux的用戶信息保存在/etc/passwd中,組信息保存在/etc/group中,文件的每一行代表一個用戶/組。早期的Linux將密碼以名碼的形式保存在/etc/passwd中,而現在則多以暗碼(也就是加密之後的形式)的形式保存在/etc/shadow中。將密碼存儲在/etc/shadow中提高了密碼的安全性,因為/etc/passwd允許所有人查看,而/etc/shadow只允許root用戶查看。
進程許可權
但是,在Linux中,用戶的指令是在進程的范圍內進行的。當我們向對某個文件進行操作的時候,我們需要在進程中運行一個程序,在進程中對文件打開,並進行讀、寫或者執行的操作。因此,我們需要將用戶的許可權傳遞給進程,以便進程真正去執行操作。例如我們有一個文件a.txt, 文件中為一個字元串:
Hello world!
我以用戶Vamei的身份登錄,並在shell中運行如下命令:
$cat a.txt
整個運行過程以及文件讀取如下:
我們可以看到,整個過程中我們會有兩個進程,一個是shell本身(2256),一個是shell復制自身,再運行/bin/cat (9913)。圖中的fork, exec, PID可參看Linux進程基礎。第二個進程總共對文件系統進行了兩次操作,一次是執行(x)文件/bin/cat,另外一次是讀取(r)文件a.txt。使用$ls -l 查看這兩個文件的許可權:
$ls -l /bin/cat
-rwxr-xr-x 1 root root 46764 Apr 1 2012 /bin/cat
$ls -l a.txt
-rw-rw-r-- 1 Vamei Vamei 14 Oct 7 09:14 a.txt
從上面可以看到(參考Linux文件管理背景知識),/bin/cat讓所有用戶都享有執行的權利,而Vamei作為a.txt的擁有者,對a.txt享有讀取的權利。
讓我們進入更多的細節 (The devil is in the details)。在進行這兩次操作的時候,盡管用戶Vamei擁有相應的許可權,但我們發現,真正做工作的是進程9913。我們要讓這個進程得到相應的許可權。實際上,每個進程會維護有如下6個ID:
真實身份: real UID, real GID
有效身份: effective UID, effective GID
存儲身份:saved UID, saved GID
其中,真實身份是我們登錄使用的身份,有效身份是當該進程真正去操作文件時所檢查的身份,存儲身份較為特殊,我們等一下再深入。當進程fork的時候,真實身份和有效身份都會復制給子進程。大部分情況下,真實身份和有效身份都相同。當Linux完成開機啟動之後,init進程會執行一個login的子進程。我們將用戶名和密碼傳遞給login子進程。login在查詢了/etc/passwd和/etc/shadow,並確定了其合法性之後,運行(利用exec)一個shell進程,shell進程真實身份被設置成為該用戶的身份。由於此後fork此shell進程的子進程都會繼承真實身份,所以該真實身份會持續下去,直到我們登出並以其他身份再次登錄(當我們使用su成為root的時候,實際上就是以root身份再次登錄,此後真實身份成為root)。
最小許可權原則
每個進程為什麼不簡單地只維護真實身份,卻選擇費盡麻煩地去維護有效身份和存儲身份呢?這牽涉到Linux的「最小特權」(least priviledge)的原則。Linux通常希望進程只擁有足夠完成其工作的特權,而不希望賦予更多的特權給它。從設計上來說,最簡單的是賦予每個進程以super user的特權,這樣進程就可以想做什麼做什麼。然而,這對於系統來說是一個巨大的安全漏洞,特別是在多用戶環境下,如果每個用戶都享有無限制的特權,就很容易破壞其他用戶的文件或者系統本身。「最小特權」就是收縮進程所享有的特權,以防進程濫用特權。
然而,進程的不同階段可能需要不同的特權。比如一個進程最開始的有效身份是真實身份,但運行到中間的時候,需要以其他的用戶身份讀入某些配置文件,然後再進行其他的操作。為了防止其他的用戶身份被濫用,我們需要在操作之前,讓進程的有效身份變更回來成為真實身份。這樣,進程需要在兩個身份之間變化。
存儲身份就是真實身份之外的另一個身份。當我們將一個程序文件執行成為進程的時候,該程序文件的擁有者(owner)和擁有組(owner group)可以被,存儲成為進程的存儲身份。在隨後進程的運行過程中,進程就將可以選擇將真實身份或者存儲身份復制到有效身份,以擁有真實身份或者存儲身份的許可權。並不是所有的程序文件在執行的過程都設置存儲身份的。需要這么做的程序文件會在其九位(bit)許可權的執行位的x改為s。這時,這一位(bit)叫做set UID bit或者set GID bit。
$ls -l /usr/bin/uuidd
-rwsr-sr-x 1 libuuid libuuid 17976 Mar 30 2012 /usr/sbin/uuidd
當我以root(UID), root(GID)的真實身份運行這個程序的時候,由於擁有者(owner)有s位的設定,所以saved UID被設置成為libuuid,saved GID被設置成為libuuid。這樣,uuidd的進程就可以在兩個身份之間切換。
我們通常使用chmod來修改set-UID bit和set-GID bit:
$chmod 4700 file
我們看到,這里的chmod後面不再只是三位的數字。最前面一位用於處理set-UID bit/set-GID bit,它可以被設置成為4/2/1以及或者上面數字的和。4表示為set UID bit, 2表示為set GID bit,1表示為sticky bit (暫時不介紹)。必須要先有x位的基礎上,才能設置s位。
H. linux命令中的「<」和「|」是什麼意思
」<」 表示的是輸入重定向的意思,就是把<後面跟的文件取代鍵盤作為新的輸入設備。
」| 」則表示一個管道的意思,可以理解為東西從管道的一邊流向另外一邊。
I. linux中的^符號代表什麼意思
在不同的場景中代表不同的意義
^代錶行首$代錶行尾
但是在正則表達式中[^f]表示反選就是除了f以外匹配到的!詳細介紹的話看下 Linux就該這么學 吧
J. Linux中的 /#和#的區別
Linux中的 /#和#的區別為:執行路徑不同、使用用戶不同、切換不同。
一、執行路徑不同
1、/#:/#的路徑目錄是根目錄,在絕對路徑根目錄下執行操作。
2、#:#的路徑目錄是家目錄,在相對路徑家目錄下執行操作。
二、使用用戶不同
1、/#:/#針對的使用用戶為系統默認創建的用戶,即root用戶。
2、#:#針對的使用用戶為於非系統默認創建的該用戶。
三、切換不同
1、/#:/#可以直接切換到其他路徑目錄下,不需要退回到上級路徑目錄。
2、#:#不可以直接切換到其他路徑目錄下,需要退回到上級路徑目錄。