這是linux中一個非常重要命令,請大家一定要熟悉。它的功能是為某一個文件在另外一個位置建立一個同不的鏈接,這個命令最常用的參數是-s,具體用法是:ln
-s
源文件
目標文件。
當
我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個必須相同的文件,我們只要在某個固定的目錄,放上該文件,然後在其它的
目錄下用ln命令鏈接(link)它就可以,不必重復的佔用磁碟空間。例如:ln
-s
/bin/less
/usr/local/bin/less-s
是代號(symbolic)的意思。
www.shiwu.com
這
里有兩點要注意:第一,ln命令會保持每一處鏈接文件的同步性,也就是說,不論你改動了哪一處,其它的文件都會發生相同的變化;第二,ln的鏈接又軟鏈接
和硬鏈接兩種,軟鏈接就是ln
-s
**
**,它只會在你選定的位置上生成一個文件的鏡像,不會佔用磁碟空間,硬鏈接ln
**
**,沒有參數-s,
它會在你選定的位置上生成一個和源文件大小相同的文件,無論是軟鏈接還是硬鏈接,文件都保持同步變化。
www.shiwu.com
如果你用ls察看一個目錄時,發現有的文件後面有一個@的符號,那就是一個用ln命令生成的文件,用ls
-l命令去察看,就可以看到顯示的link的路徑了。摘自
ComeOnTom的專欄
2. Linux基本命令-2021-0717
[root@localhost ~]# ls -l
總用量 44
-rw------. 1 ---- root ---- root --------1207 1 月14 18:18 anaconda-ks.cfg
許可權--引用計數 所有者 -- 所屬組--- 大小-- 文件修改時間 文件名
ls [選項] [文件名或目錄名]
選項:
-a :顯示所有文件
--color=when:支持顏色輸出
-d :顯示目錄信息,而不是目錄下的文件
-h :人性化顯示﹐按照我們習慣的顯示文件大小
-i :顯示文件的i節點號
-l:長格式顯示
pwd 命令是查詢當前所在的目錄的絕對路徑
選項:
-L (默認值)列印環境變數"$PWD"的值,可能為符號鏈接。
-P 列印當前工作目錄的物理位置。
mkdir 是創建目錄的命令
選項:
-Z:設置安全上下文,當使用SELinux時有效;
-m或--mode:建立目錄的同時設置目錄的許可權;
-p或--parents:若所要建立目錄的上層目錄目前尚未建立,則會一並建立上層目錄;
rmdir 是刪除空目錄的命令
-p: 遞歸刪除目錄
touch 是 創建空文件或修改文件的時間戳
[root@localhost ~]# touch [選項] 文件名
-a:或--time=atime或--time=access或--time=use 只更改存取時間;
-c:或--no-create 不建立任何文件;
-d:<時間日期> 使用指定的日期時間,而非現在的時間;
-f:此參數將忽略不予處理,僅負責解決BSD版本touch指令的兼容性問題;
-m:或--time=mtime或--time=modify 只更該變動時間;
-r:<參考文件或目錄> 把指定文件或目錄的日期時間,統統設成和參考文件或目錄的日期時間相同;
-t:<日期時間> 使用指定的日期時間,而非現在的時間;
--help:在線幫助;
--version:顯示版本信息。
stat 是查看文件詳細信息的命令,而且可以看到文件的這三個時間戳
選項:
-L:支持符號連接;
-f:顯示文件系統狀態而非文件狀態;
-t:以簡潔方式輸出信息;
cat 命令用來查看文件內容
選項:
-A: 相當於-vET 選項的整合,用於列出所有隱藏符號
-E: 列出每行結尾的回車符$
-n: 顯示行號
-T: 把 Tab 鍵用^I顯示出來
-v: 列出特殊字元
more 是分屏顯示文件的命令
less 是分行顯示文件的命令
用less命令顯示文件時,用PageUp鍵向上翻頁,用PageDown鍵向下翻頁。要退出less程序,應按Q鍵。
選項:
-e:文件內容顯示完畢後,自動退出;
-f:強制顯示文件;
-g:不加亮顯示搜索到的所有關鍵詞,僅顯示當前顯示的關鍵字,以提高顯示速度;
-l:搜索時忽略大小寫的差異;
-N:每一行行首顯示行號;
-s:將連續多個空行壓縮成一行顯示;
-S:在單行顯示較長的內容,而不換行顯示;
-x<數字>:將TAB字元顯示為指定個數的空格字元。
head 是用來顯示文件開頭的命令
選項:
-c --bytes=[-]NUM 顯示前NUM位元組;如果NUM前有"-",那麼會列印除了文件末尾的NUM位元組以外的其他內容。
-n, --lines=[-]NUM 顯示前NUM行而不是默認的10行;如果NUM前有"-",那麼會列印除了文件末尾的NUM行以外的其他行。
-q, --quiet, --silent 不列印文件名行。
-v, --verbose 總是列印文件名行。
-z, --zero-terminated 行終止符為NUL而不是換行符。
tail 是用來顯示文件末尾的命令
選項:
-c, --bytes=NUM 輸出文件尾部的NUM(NUM為整數)個位元組內容。
-f, --follow[={name|descript}] 顯示文件最新追加的內容。「name」表示以文件名的方式監視文件的變化。
-F 與 「--follow=name --retry」 功能相同。
-n, --line=NUM 輸出文件的尾部NUM(NUM位數字)行內容。
--pid=<進程號> 與「-f」選項連用,當指定的進程號的進程終止後,自動退出tail命令。
-q, --quiet, --silent 當有多個文件參數時,不輸出各個文件名。
--retry 即是在tail命令啟動時,文件不可訪問或者文件稍後變得不可訪問,都始終嘗試打開文件。使用此選項時需要與選項「--follow=name」連用。
-s, --sleep-interal=<秒數> 與「-f」選項連用,指定監視文件變化時間隔的秒數。
-v, --verbose 當有多個文件參數時,總是輸出各個文件名。
ln 是用來為文件創建鏈接的命令
[root@localhost ~]# ln [選項] 源文件 目標文件
選項:
-s: 建立軟鏈接文件。如果不加「-s」選項,則建立硬鏈接文件
-f: 強制。如果目標文件已經存在,則刪除目標文件後再建立鏈接文件
-d, -F, --directory 創建指向目錄的硬鏈接(只適用於超級用戶)
-f, --force 強行刪除任何已存在的目標文件
-i, --interactive 覆蓋既有文件之前先詢問用戶
-L, --logical 取消引用作為軟鏈接的目標
-n, --no-dereference 把軟鏈接的目的目錄視為一般文件
-P, --physical 直接將硬鏈接到軟鏈接
-r, --relative 創建相對於鏈接位置的軟鏈接
-s, --symbolic 對源文件建立軟鏈接
硬鏈接特徵:
源文件和硬鏈接文件擁有相同的 Inode 和 Block
修改任意一個文件,另一個都改變
刪除任意一個文件,另一個都能使用
硬鏈接標記不清,很難確認硬鏈接文件位置,不建議使用
硬鏈接不能鏈接目錄
硬鏈接不能跨分區
軟鏈接特徵:
軟鏈接和源文件擁有不同的 Inode 和 Block
兩個文件修改任意一個,另一個都改變
刪除軟鏈接,源文件不受影響;刪除源文件,軟鏈接不能使用
軟鏈接沒有實際數據,只保存源文件的 Inode,不論源文件多大,軟鏈接大小不變
軟鏈接的許可權是最大許可權 lrwxrwxrwx.,但是由於沒有實際數據,最終訪問時需要參考源文
件許可權
軟鏈接可以鏈接目錄
軟鏈接可以跨分區
軟鏈接特徵明顯,建議使用軟連接
rm 是強大的刪除命令,不僅可以刪除文件,也可以刪除目錄
[root@localhost ~]# rm [選項] 文件或目錄
選項:
d:直接把欲刪除的目錄的硬連接數據刪除成0,刪除該目錄;
-f:強制刪除文件或目錄;
-i:刪除已有文件或目錄之前先詢問用戶;
-r:遞歸處理,將指定目錄下的所有文件與子目錄一並處理;
--preserve-root:不對根目錄進行遞歸操作;
-v:顯示指令的詳細執行過程。
cp 是文件或目錄用於復制的命令
[root@localhost ~]# cp [選項] 源文件 目標文件
選項:
-a:此參數的效果和同時指定"-dpR"參數相同;
-d:當復制軟鏈接時,把目標文件或目錄也建立為軟鏈接,並指向與源文件或目錄連接的原始文件或目錄;
-f:強行復制文件或目錄,不論目標文件或目錄是否已存在;
-i:覆蓋既有文件之前先詢問用戶;
-l:對源文件建立硬連接,而非復制文件;
-p:保留源文件或目錄的屬性;
-r:遞歸處理,將指定目錄下的所有文件與子目錄一並處理;
-s:對源文件建立軟鏈接,而非復制文件;
-u:使用這項參數後只會在源文件的更改時間較目標文件更新時或是名稱相互對應的目標文件並不存在時,才復制文件;
-S:在備份文件時,用指定的後綴「SUFFIX」代替文件的默認後綴;
-b:覆蓋已存在的文件目標前將目標文件備份;
-v:詳細顯示命令執行的操作。
mv 是用來對文件或目錄重新命名,或者將文件移動至其他目錄
[root@localhost ~]# mv [選項] 源文件 目標文件
選項:
-b:當文件存在時,覆蓋前,為其創建一個備份;
-f:若目標文件或目錄與現有的文件或目錄重復,則直接覆蓋現有的文件或目錄;
-i:互動式操作,覆蓋前先行詢問用戶,如果源文件與目標文件或目標目錄中的文件同名,則詢問用戶是否覆蓋目標文件。用戶輸入」y」,表示將覆蓋目標文件;輸入」n」,表示取消對源文件的移動。這樣可以避免誤將文件覆蓋。
--strip-trailing-slashes:刪除源文件中的斜杠「 / 」;
-S<後綴>:為備份文件指定後綴,而不使用默認的後綴;
--target-directory=<目錄>:指定源文件要移動到目標目錄;
-u:當源文件比目標文件新或者目標文件不存在時,才執行移動操作。
[root@localhost ~]# ls -l install.log
-rw-r--r--. 1 root root 24772 1 月 14 18:17 install.log
第一列的許可權位如果不計算最後的「.」,則共有 10 位。
第 2~4 位代表文件所有者的許可權。
chmod 用來變更文件或目錄的許可權
[root@localhost ~]# chmod [選項] 許可權模式 文件名
選項:
-c, --changes:當文件的許可權更改時輸出操作信息。
--no-preserve-root:不將'/'特殊化處理,默認選項。
--preserve-root:不能在根目錄下遞歸操作。
-f, --silent, --quiet:抑制多數錯誤消息的輸出。
-v, --verbose:無論文件是否更改了許可權,一律輸出操作信息。
--reference=RFILE:使用參考文件或參考目錄RFILE的許可權來設置目標文件或目錄的許可權。
-R, --recursive:對目錄以及目錄下的文件遞歸執行更改許可權操作。
用戶身份
首先,讀、寫、執行許可權對文件和目錄的作用是不同的。
目錄的可用許可權其實只有以下幾個。
chown 是修改文件和目錄的所有者和所屬組的命令
[root@localhost ~]# chown [選項] 所有者:所屬組 文件或目錄
選項:
-c或——changes:效果類似「-v」參數,但僅回報更改的部分;
-f或--quite或——silent:不顯示錯誤信息;
-h或--no-dereference:只對軟鏈接的文件作修改,而不更改其他任何相關文件;
-R或——recursive:遞歸處理,將指定目錄下的所有文件及子目錄一並處理;
-v或——version:顯示指令執行過程;
--reference=<參考文件或目錄>:把指定文件或目錄的擁有者與所屬群組全部設成和參考文件或目錄的擁有者與所屬群組相同;
普通用戶不能修改文件的所有者,哪怕自己是這個文件的所有者也不行
普通用戶可以修改所有者是自己的文件的許可權
chgrp 是修改文件和目錄的所屬組的命令
[root@phato ~]# chgrp [選項] 所屬組 文件或目錄
-R 遞歸式地改變指定目錄及其下的所有子目錄和文件的所屬的組
-c或——changes:效果類似「-v」參數,但僅回報更改的部分;
-f或--quiet或——silent:不顯示錯誤信息;
-h或--no-dereference:只對符號連接的文件作修改,而不是該其他任何相關文件;
-H如果命令行參數是一個通到目錄的軟鏈接,則遍歷軟鏈接
-R或——recursive:遞歸處理,將指令目錄下的所有文件及子目錄一並處理;
-L:遍歷每一個遇到的通到目錄的軟鏈接
-P:不遍歷任何符號鏈接(默認)
-v或——verbose:顯示指令執行過程;
--reference=<參考文件或目錄>:把指定文件或目錄的所屬群組全部設成和參考文件或目錄的所屬群組相同;
umask 是顯示或設置創建文件的許可權掩碼。我們需要先了解一下新建文件和目錄的默認最大許可權。
我們在這里按照許可權字母來講解 umask 許可權的計算方法。我們就按照默認的 umask 值是 022來分別計算一下新建文件和目錄的默認許可權吧。
3. Linux常用命令之鏈接命令和許可權管理命令
例子:
對於上面的語法 chmod 【{ugoa}{+-=}{rwx}】【文件或目錄】,我們要知道ugoa分別是:u:表示所有者,g:表示所屬組,o:表示其他人,a:表示所有人。而rwx表示的意思如下:
對於【mode=421】【文件或目錄】,這是我們將許可權用數字表示,其中 r 表示4,w表示2,x表示1,分別是2的0次方,1次方,2次方。那麼我們可以這樣理解:具有 rwx 許可權的數字就是 7,具有 rw- 許可權的數字是 6,具有 r-- 許可權的數字是 4。
示例1:我們賦予 tmp 目錄下的 tmp.log 所有者 x 的許可權;賦予 所屬組 w 許可權,其他人 w 許可權。
將上面例子改為用 數字來操作,也就是說我們要給 tmp.log賦予的文件許可權是 rwxrw-rw-,用數字表示是766。
我們還可以遞歸賦謹旦罩予許可權,也就是加上 -R 參數給指定目錄下的所有文件或目錄賦予指定許可權。
示例2:給 tmp 目錄下所有文件和目錄賦予 776 的許可權
這里我們通過useradd【用戶名】命令創建用戶,然後通過passwd【用戶名】輸入密碼,這兩個命令後面會將。遲或我們通過這兩個命令創建 vae 用戶
然後我們將tmp.log的所有者更改為 vae 用戶:chown vae tmp.log
其中umask 執行顯示結果是 0022,第一個0表示特殊許可權,後面我們會單獨進行講解有哪幾種特殊許可權。022表示許可權的掩碼值,我們用7 7 7 減去 0 2 2得到755(是每一位相減),表示的就是下面通過加上-S輸出的rwxr-xr-x,這個值用數字表示就是755.
這個意思說明創建一個文件的默認許可權所有者為rwx,所屬組為祥鬧rx,其他人為rx。也就是說創建一個新文件默認許可權為 rwxr-xr-x,我們創建一個文件來驗證一下:
我們發現使用touch命令創建了一個文件a.txt,然後發現許可權並不是rwxr-xr-x,而是rw-r--r--。對比發現少了三個x,也就是少了可執行許可權。這是為什麼呢?
這是因為在Linux系統中,所有新創建的文件都是沒有可執行許可權的。這是出於Linux系統的一種自我保護,因為類似的病毒木馬程序都是具有可執行許可權的。所以在Linux系統中,新創建的文件是沒有可執行許可權的。
那麼我們如何設置默認許可權呢?比如我們想將新創建的文件許可權設置為rwxr-xr--,也就是754。我們用777減去754得到023。也就是通過執行 umask 023 來完成默認許可權設置。
4. linux給文件創建硬鏈接
在了Linux下創建硬連接和軟連接(也就是符號連接)都是用ln命令,當使用ln命令時加上-s選項就表示創建的連接文件是一個軟連接,如果使用ln命令時不帶-s選項就表示創建的是一個硬連接。而ln命令的格式則是:ln 原文件 連接文件
比如如下命令是創建硬連接的,/home/testfile就是創建的硬連接文件,它連接到/root/testfile這個文件:
ln /root/testfile /home/testfile
下面的則是創建軟連接的,這次/home/testfile是一個軟連接文件:
ln -s /root/testfile /home/testfile
5. linux ln 連接命令怎麼用
1、首先有一個目錄dir, 執行ln -s dir dir_link 創建目錄的軟鏈接。
6. 怎麼用linux命令連接racle資料庫(linux如何連接資料庫)
可以通過SSH或者等可以直接連接Linux操作系統的軟體,連接到Linux系統。下面具體介紹一下:
1、登錄到Linux後,就可以在命令窗口直接對Linux進行操作了。先將用戶切換到Oracle。當顯示為[oracle@db~]$時,說明切唯基絕換成功。命令:su-oracle;
2、切換到Oracle用戶之後,我們登錄到到sqlplus,使用dba許可權登錄到sqlplus。在sqlplus中,我們使用conn連接一下我們具體想要操作的資料庫用戶。命令:connusername/password,示connected表示連接成功;
3、在SQL>中輸入想要進行操作的sql語句,這里我們舉個簡單的例子,以一個單表查詢為例進行演示:sql語句:select*fromtablename。
(6)linux鏈接命令擴展閱讀:
Linux是一套免費使用和自由傳播的類Unix操作系統,是一個基於POSIX和UNIX的多用戶、多任務、支持多線程和多CPU的操作系統。它能運行主要的UNIX工具軟體、應用程序和網路協議。它支持32位和64位硬體。Linux繼承了Unix以網路為核心的設計思想,是一個性能穩定的多用戶網路操作系統。
Linux操作系統誕生於1991年10月5日鋒老(這是第一次正式向外公布時間)。Linux存在著許多不同的Linux版本,但它們都使用了Linux內核。Linux可安裝在各種計算機硬體設指姿備中,比如手機、平板電腦、路由器、視頻游戲控制台、台式計算機、大型機和超級計算機。
7. linux怎麼將一個文件夾鏈接到另一個文件夾上
ln -s bbb的文件目錄 ccc的文件目錄
In的功能是為某一個文件在另外一個位置建立一個同步的鏈接,命令最常用的參數是-s,具體用法是:
ln -s 源文件 目標文件
-s 是 symbolic的意思。
ln的鏈接有軟鏈接和硬鏈接兩種。
軟鏈接就是ln -s ** **,只會在選定的位置上生成一個文件的鏡像,不會佔用磁碟空間。
硬鏈接ln
** **,沒有參數-s,在選定的位置上生成一個和源文件大小相同的文件。
無論是軟鏈接還是硬鏈接,文件都保持同步變化。軟鏈接是可以跨分區的,但是硬鏈接只能在同一分區內。
(7)linux鏈接命令擴展閱讀:
1、目錄不能建立硬鏈接,但可以建立軟鏈接。
ln-s
test_chk test_chk_ln
2、正確的刪除方式(刪除軟鏈接,但不刪除實際數據):
rm -rf ./test_chk_ln
3、錯誤的刪除方式:
rm -rf ./test_chk_ln/ (這樣就會把原來test_chk下的內容刪除)
4、用ls查看一個目錄時,發現有的文件後面有一個@的符號,那就是一個用ln命令生成的文件。用ls
-l命令去查看,就可以看到顯示的link的路徑。
8. linux下查看軟鏈接的命令是什麼
用命令:ls -l 查看, 最前面有「l」的就是軟鏈接了,其他類型的文件都可以用這個命令看到。
9. linux 遠程連接命令
Linux最廣泛的遠程連接命令就是ssh。
如果ssh沒有安裝就安裝 RH系列就yum install openssh
ubuntu系列就是apt-get install openssh
安裝完畢後,其他的電腦可以遠程訪問本機,
本機也可以訪問遠程電腦。連接遠程電腦命令:ssh -l 用戶名 主機名
10. linux軟鏈接(符號鏈接)
軟鏈接是linux中一個常用命令,它的功能是為某一個文件在另外一個位置建立一個同不的鏈接。
具體用法是: ln -s 源文件 目標文件
當 我們需要在不同的目錄,用到相同的文件時,我們不需要在每一個需要的目錄下都放一個必須相同的文件,我們只要在其它的 目錄下用ln命令鏈接(link)就可以,不必重復的佔用磁碟空間。
例如:
這樣我們就對/usr/bin目錄下的mysql命令創建了軟連接 。
創建軟連接
ln -s [源文件或目錄] [目標文件或目錄]
例如:當前路徑創建test引向/var/www/test 文件夾
創建/var/test 引向/var/www/test 文件夾
刪除軟連接
和刪除普通的文件是一樣的,刪除都是使用 rm 來進行操作
例:
刪除test
修改軟鏈接
ln –snf [新的源文件或目錄] [目標文件或目錄]
這將會修改原有的鏈接地址為新的地址
例如:
創建一個軟鏈接
修改指向新的路徑
常用參數:
-f : 鏈結時先將與 dist 同檔名的檔案刪除
-d : 允許系統管理者硬鏈結自己的目錄
-i : 在刪除與 dist 同檔名的檔案時先進行詢問
-n : 在進行軟連結時,將 dist 視為一般的檔案
-s : 進行軟鏈結(symbolic link)
-v : 在連結之前顯示其檔名
-b : 將在鏈結時會被覆寫或刪除的檔案進行備份
-S SUFFIX : 將備份的檔案都加上 SUFFIX 的字尾
-V METHOD : 指定備份的方式
--help : 顯示輔助說明
--version : 顯示版本