Linux基礎-2、基本命令

Linux基礎-2、基本命令

瞭解完Linux的相關的基礎知識之後,我們來了解了解Linux的基本命令吧!

1、目錄管理

首先我們先回顧下相對路徑和絕對路徑的一些知識:

絕對路徑是啥啊,就是我們平常計算機上那些能表示一個文件位置,唯一的一個路徑。

比如說D:\WeChat\wechat.exe 就是個絕對路徑。

相對路徑就是相對我們當前所處目錄,那個文件的具體位置。

其中…代表上一級目錄。

比如說我們現在在D:\WeChat\locales裏,想去訪問D:\WeChat\zjj這裏。

需要通過cd…\zjj這個命令來。

image-20200627144047037

我們先來看看一些常用命令!

  • ls: 列出目錄
  • cd:切換目錄
  • pwd:顯示目前的目錄
  • mkdir:創建一個新的目錄
  • rmdir:刪除一個空的目錄
  • cp: 複製文件或目錄
  • rm: 移除文件或目錄
  • mv: 移動文件與目錄,或修改文件與目錄的名稱

我們分別來試試。

ls

ls可以列出目錄中的東西,就有點像我們的眼睛一樣,想看啥看啥。後面跟上需要看的目錄即可,下面是根目錄下的文件夾。

image-20200627150351883

其中後面還可以跟兩個參數。

  • -a :全部的文件,連同隱藏文件( 開頭爲 . 的文件) 一起列出來(常用)

  • -l :長數據串列出,包含文件的屬性與權限等等數據;(常用)

    -  ls -al /      #列出根目錄下所有文件(包括隱藏文件的具體信息)
    

    image-20200627150507263

cd

cd一般用於切換目錄,這個命令與我們在windows cmd中的操作基本一致。

 cd home                #進入home目錄
 cd ../media            #從home目錄中進入media目錄
 cd /                   #回根目錄

在這裏插入圖片描述

pwd

pwd 是 Print Working Directory 的縮寫,也就是顯示目前所在目錄的命令。

在這裏插入圖片描述

我們這是在根目錄。

mkdir

想創建目錄就用mkdir

image-20200627153318764

mkdir 後面添加目錄名即可創建!如圖可以發現我們在home目錄中創建了zjj目錄。

這裏還有兩個可選參數

  • -m :配置文件的權限喔!直接配置,不需要看默認權限 (umask) 的臉色~
  • -p :幫助你直接將所需要的目錄(包含上一級目錄)遞歸創建起來!

我們創建多層級文件夾試試。

在這裏插入圖片描述

我們發現壓根就不能創建,這是因爲平常的mkdir只能創建單級目錄,要想創建多級目錄需要遞歸創建,在mkdir後面要加-p.

在這裏插入圖片描述

加了-p之後,創建成功!

rmdir

刪除目錄咋辦啊?這時我們使用rmdir,不過他只能刪除空的目錄。

比如說我們想刪除slsl目錄

 rmdir slsl             

這樣就刪除了,與mkdir同樣,如果想遞歸刪除的話需要在後面加上-p

比如說我們想刪除下zjj目錄,我們就需要再後面加-p(因爲裏頭有個smlm目錄。)

image-20200627154151495

rmdir -p zjj/smlm            #將zjj/smlm一併刪除

cp

複製東西就用cp嘞。

其中還包含以下參數:

  • **-a:**相當於 -pdr 的意思,至於 pdr 請參考下列說明;(常用)
  • **-p:**連同文件的屬性一起復制過去,而非使用默認屬性(備份常用);
  • **-d:**若來源檔爲連結檔的屬性(link file),則複製連結檔屬性而非文件本身;
  • **-r:**遞歸持續複製,用於目錄的複製行爲;(常用)
  • **-f:**爲強制(force)的意思,若目標文件已經存在且無法開啓,則移除後再嘗試一次;
  • **-i:**若目標檔(destination)已經存在時,在覆蓋時會先詢問動作的進行(常用)
  • **-l:**進行硬式連結(hard link)的連結檔創建,而非複製文件本身。
  • **-s:**複製成爲符號連結檔 (symbolic link),亦即『捷徑』文件;
  • **-u:**若 destination 比 source 舊才升級 destination !

我們來試試

cp /root/install.sh /home          #拷貝/root下的install.sh到 home裏

最後發現確實有的!

image-20200627154643755

rm

刪除文件一般我們使用rm命令

選項與參數:

  • -f :就是 force 的意思,忽略不存在的文件,不會出現警告信息;
  • -i :互動模式,在刪除前會詢問使用者是否動作
  • -r :遞歸刪除啊!最常用在目錄的刪除了!這是非常危險的選項!!!

這裏我們還是試一下

 rm -i install.sh     #刪除install.sh 再刪除前進行確認

image-20200627154927297

這裏還有一個梗,大家老能在網上調侃程序員說要刪庫跑路,其實常用的就是這條指令

 rm -rf /           #遞歸刪除根目錄下所有文件,並且不會提示任何警告信息

千萬別瞎嘗試hhhh

mv

如果我們想移動文件或者修改文件的名稱,我們常用mv命令

其中還是包含以下參數:

  • -f :force 強制的意思,如果目標文件已經存在,不會詢問而直接覆蓋;
  • -i :若目標文件 (destination) 已經存在時,就會詢問是否覆蓋!
  • -u :若目標文件已經存在,且 source 比較新,纔會升級 (update)

試試!

我們試試把當前目錄下的install.sh移動到根目錄下

mv install.sh /     #把當前目錄下的install.sh移動到根目錄下

還真有!

在這裏插入圖片描述

想給他改個名字咋辦

mv第二個參數不寫目錄,直接寫要改的名字就行啦!

  mv install.sh  test         #把install.sh重命名爲test

改完了!

image-20200627155733945

2、文件管理

(1)文件屬性

我們在使用ls -l查看文件的時候可以看到這麼一組東西,

在這裏插入圖片描述

這到底是幹啥的?

其實這正好對應着我們文件屬性以及類別的內容,各位可以根據這一串東西來判定該文件的類別以及權限屬性,是不是非常神奇?

首先我們這串東西的第一位代表着文件的類別,主要來說分爲以下幾種。

  • 當爲[ d ]則是目錄
  • 當爲[ - ]則是文件;
  • 若是[ l ]則表示爲鏈接文檔(link file);(指向另一個東西的文件,就有點像快捷方式那樣子)
  • 若是[ b ]則表示爲裝置文件裏面的可供儲存的接口設備(可隨機存取裝置);
  • 若是[ c ]則表示爲裝置文件裏面的串行端口設備,例如鍵盤、鼠標(一次性讀取裝置)。

再之後的9位代表文件的權限,按每三位爲一組,分別代表屬主,屬組以及其他用戶的權限。其中r代表讀,w代表寫、x代表執行,如果沒有相關權限就會用-表示,下面的圖可以使大家更好理解。

363003_1227493859FdXT

上面這個文件的類型是目錄文件,屬主擁有全部讀寫執行的權限,屬組和其他用戶沒有寫的權限。

更改文件屬性

有文件屬性這麼個東西,我們當然是可以根據自己的需要進行修改,主要要使用以下幾個命令。

1、chgrp:更改文件屬組(不常用)

語法:

以下的-R都是遞歸操作的意思

chgrp [-R] 屬組名 文件名

2、chown:更改文件屬主,也可以同時更改下文件屬組

chown [–R] 屬主名 文件名
chown [-R] 屬主名:屬組名 文件名

我們來試一下這個命令,改一下文件的屬主以及屬組。下面是文件最開始的信息。

在這裏插入圖片描述

執行下

chown xjj:xjj install.sh                       #將屬主和屬組改爲xjj

3、chmod:更改文件9個權限屬性

在chmod指令中,我們不使用傳統的rwx來表示權限,而是使用阿拉伯數字對權限進行表示,r爲4,w爲2,x爲1,將每一個用戶類別的權限相加,得到唯一一位不大於7的阿拉伯數字就是其擁有的權限。

-rwxrwxrwx

比如說它的權限就是777,

rwxrwx–

它的權限是770

chmod的具體語法如下:

 chmod [-R] xyz 文件或目錄

我們來試着改一下!

在這裏插入圖片描述

發現權限更改成功!

文件查看

最重要的看文件怎麼能少不了呢?看文件主要使用以下命令:

1、cat

由第一行開始顯示文件內容

選項與參數:

  • -A :相當於 -vET 的整合選項,可列出一些特殊字符而不是空白而已;
  • -b :列出行號,僅針對非空白行做行號顯示,空白行不標行號!
  • -E :將結尾的斷行字節 $ 顯示出來;
  • -n :列印出行號,連同空白行也會有行號,與 -b 的選項不同;
  • -T :將 [tab] 按鍵以 ^I 顯示出來;
  • -v :列出一些看不出來的特殊字符

我們來試一下:

image-20200628132141275

2、tac

如果我們想倒着讀,用tac就可。

在這裏插入圖片描述

3、nl

大傢伙到這會不會有些問題,如果我們想讓這文件顯示行號咋整?除了在cat和tac後面加參數,linux還爲我們提供了一個命令,那就是nl命令。

選項與參數:(不常用)

  • -b :指定行號指定的方式,主要有兩種:
    -b a :表示不論是否爲空行,也同樣列出行號(類似 cat -n);
    -b t :如果有空行,空的那一行不要列出行號(默認值);
  • -n :列出行號表示的方法,主要有三種:
    -n ln :行號在熒幕的最左方顯示;
    -n rn :行號在自己欄位的最右方顯示,且不加 0 ;

試一下:

在這裏插入圖片描述

發現確實在前面增加了行號嘞。

4、more

當我們的文件太長,需要一頁一頁的翻動時,我們一般會使用more命令,在more命令執行中也可以按這幾個鍵。

  • 空白鍵 (space):代表向下翻一頁;
  • Enter :代表向下翻『一行』;
  • /字串 :代表在這個顯示的內容當中,向下搜尋『字串』這個關鍵字;
  • :f :立刻顯示出檔名以及目前顯示的行數;
  • q :代表立刻離開 more ,不再顯示該文件內容。
  • b 或 [ctrl]-b :代表往回翻頁,不過這動作只對文件有用,對管線無用。

我們快來試試:

在這裏插入圖片描述

5、less

less是加強版的more,可以往上翻頁。

在操作時可以有以下的命令

  • 空白鍵 :向下翻動一頁;
  • [pagedown]:向下翻動一頁;
  • [pageup] :向上翻動一頁;
  • /字串 :向下搜尋『字串』的功能;
  • ?字串 :向上搜尋『字串』的功能;
  • n :重複前一個搜尋 (與 / 或 ? 有關!)
  • N :反向的重複前一個搜尋 (與 / 或 ? 有關!)
  • q :離開 less 這個程序;

我們來試一試
在這裏插入圖片描述

發現顯示照常!並且還可以通過上下鍵進行翻頁

6、head、tail

取出文件的前幾行用head,反之取出文件的後幾行可以用tail。在指令後面添加-n 行數即可。

如下就是顯示前20行的命令。

在這裏插入圖片描述

7、硬鏈接、軟鏈接

硬鏈接:兩個文件名指向同一個文件,A 和 B 對文件系統來說是完全平等的。刪除其中任何一個都不會影響另外一個的訪問。硬連接的作用是允許一個文件擁有多個有效路徑名,這樣用戶就可以建立硬連接到重要文件,以防止“誤刪”的功能。(就有點像你拷貝出來備份了一個,刪了一個不影響另一個的使用)

軟鏈接:相反,軟鏈接就有點像我們平常所說的快捷方式,如果源文件刪了,他就沒啥用了。

下面我們來測試下吧!

[root@s6 home]# touch jj             #在這裏我們使用touch命令創建一個jj文件
[root@s6 home]# ls                   
jj  www  xjj
[root@s6 home]# ln jj jj1            #使用ln命令爲jj創造jj1的硬鏈接
[root@s6 home]# ln -s jj jj2         #添加-s爲jj創造jj2軟鏈接	
[root@s6 home]# ls
jj  jj1  jj2  www  xjj
[root@s6 home]# echo "jj handsome" >>jj    #往jj裏寫入一段話

這裏我們用到了touch命令以及echo命令

touch主要就是用於創建一個文件

echo是用來往文件中寫入東西的

輸出一下

[root@s6 home]# cat jj
jj handsome
[root@s6 home]# cat jj1
jj handsome
[root@s6 home]# cat jj2
jj handsome

不出所料,可以顯示的!

這時我們將jj刪除,看看會發生啥情況。

我們發現jj2變紅了,這裏變紅說明他的源文件已經丟失了。
在這裏插入圖片描述

輸出一下:

[root@s6 home]# cat jj1
jj handsome
[root@s6 home]# cat jj2                 
cat: jj2: No such file or directory             #已經找不到了。。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章