linux學習筆記---一些命令學習

Nan,氣沖天.發表於2020-11-30

linux 命令學習

1 使用者和使用者組管理

1.1 使用者管理

1、新增新的使用者賬號

useradd 選項 使用者名稱

引數說明:

  • 選項:

    • -c comment 指定一段註釋性描述。
    • -d 目錄 指定使用者主目錄,如果此目錄不存在,則同時使用-m選項,可以建立主目錄。
    • -g 使用者組 指定使用者所屬的使用者組。
    • -G 使用者組,使用者組 指定使用者所屬的附加組。
    • -s Shell檔案 指定使用者的登入Shell。
    • -u 使用者號 指定使用者的使用者號,如果同時有-o選項,則可以重複使用其他使用者的標識號。
  • 使用者名稱:

    指定新賬號的登入名

例項

useradd –d  /home/sam -m sam

此命令建立了一個使用者sam,其中-d和-m選項用來為登入名sam產生一個主目錄 /home/sam(/home為預設的使用者主目錄所在的父目錄)。

2、刪除賬號

userdel 選項 使用者名稱

常用的選項是 -r,它的作用是把使用者的主目錄一起刪除。

userdel -r sam

此命令刪除使用者sam在系統檔案中(主要是/etc/passwd, /etc/shadow, /etc/group等)的記錄,同時刪除使用者的主目錄。

3、修改賬號

修改使用者賬號就是根據實際情況更改使用者的有關屬性,如使用者號、主目錄、使用者組、登入Shell等。

修改已有使用者的資訊使用usermod命令,其格式如下:

usermod 選項 使用者名稱

常用的選項包括-c, -d, -m, -g, -G, -s, -u以及-o等,這些選項的意義與useradd命令中的選項一樣,可以為使用者指定新的資源值。

另外,有些系統可以使用選項:-l 新使用者名稱

這個選項指定一個新的賬號,即將原來的使用者名稱改為新的使用者名稱。

 usermod -s /bin/ksh -d /home/z –g developer sam

此命令將使用者sam的登入Shell修改為ksh,主目錄改為/home/z,使用者組改為developer。

4、使用者口令的管理

passwd 選項 使用者名稱

可使用的選項:

  • -l 鎖定口令,即禁用賬號。
  • -u 口令解鎖。
  • -d 使賬號無口令。
  • -f 強迫使用者下次登入時修改口令。

如果預設使用者名稱,則修改當前使用者的口令。

# 修改密碼
passwd sam

1.2 使用者組管理

1、增加一個新的使用者組

groupadd 選項 使用者組

可以使用的選項有:

  • -g GID 指定新使用者組的組標識號(GID)。
  • -o 一般與-g選項同時使用,表示新使用者組的GID可以與系統已有使用者組的GID相同。

例項

 groupadd group1

2、存在使用者username 新增到group1

usermod -a -G group1 username

3、刪除使用者組

groupdel 使用者組

2 檔案基本屬性與目錄管理

2.1 檔案基本屬性

1、檔案與目錄許可權

在 Linux 中我們通常使用以下兩個命令來修改檔案或目錄的所屬使用者與許可權:

  • chown (change ownerp) : 修改所屬使用者與組。
  • chmod (change mode) : 修改使用者的許可權。
codelnn@codelnn-ubuntu:~$ ls -l
總用量 52
-rw-r--rw- 1 root    root      12 11月 29 12:52 1.txt
-rw-r--r-- 1 codelnn codelnn 8980 11月 22 22:08 examples.desktop

例項中,1.txt 檔案的第一個屬性用 d 表示。d 在 Linux 中代表該檔案是一個目錄檔案。

在 Linux 中第一個字元代表這個檔案是目錄、檔案或連結檔案等等。

  • 當為 d 則是目錄
  • 當為 - 則是檔案;
  • 若是 l 則表示為連結文件(link file);
  • 若是 b 則表示為裝置檔案裡面的可供儲存的介面裝置(可隨機存取裝置);
  • 若是 c 則表示為裝置檔案裡面的串列埠裝置,例如鍵盤、滑鼠(一次性讀取裝置)。

接下來的字元中,以三個為一組,且均為 rwx 的三個引數的組合。其中, r 代表可讀(read)、 w 代表可寫(write)、 x 代表可執行(execute)。 要注意的是,這三個許可權的位置不會改變,如果沒有許可權,就會出現減號 - 而已。

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-ARcsTUNi-1606732882429)(/home/codelnn/文件/image/file-llls22.jpg)]

2、檔案屬主和屬組

  • chgrp : 更改檔案屬組

    語法:

    chgrp [-R] 屬組名 檔名
    

    -R:遞迴更改檔案屬組,就是在更改某個目錄檔案的屬組時,如果加上-R的引數,那麼該目錄下的所有檔案的屬組都會更改。

  • chown:更改檔案屬主,也可以同時更改檔案屬組

    語法

    chown [–R] 屬主名 檔名
    chown [-R] 屬主名:屬組名 檔名
    
  • chmod : 更改檔案9個屬性

    Linux檔案屬性有兩種設定方法,一種是數字,一種是符號。

    Linux 檔案的基本許可權就有九個,分別是 owner/group/others(擁有者/組/其他) 三種身份各有自己的 read/write/execute 許可權。

    使用數字型別改變檔案許可權

    • r:4
    • w:2
    • x:1
    • -:0
       chmod [-R] xyz 檔案或目錄
    

    選項與引數:

    • xyz : 就是剛剛提到的數字型別的許可權屬性,為 rwx 屬性數值的相加。
    • -R : 進行遞迴(recursive)的持續變更,亦即連同次目錄下的所有檔案都會變更

    使用符號型別改變檔案許可權

    • user:使用者
    • group:組
    • others:其他

    那麼我們就可以使用 u, g, o 來代表三種身份的許可權。

    此外, a 則代表 all,即全部的身份。讀寫的許可權可以寫成 r, w, x,也就是可以使用下表的方式來看:

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-UsGL7S4G-1606732882432)(/home/codelnn/文件/image/符號修改檔案許可權.png)]

2.2 檔案目錄管理

常見的出來目錄的命令

  • ls(英文全拼:list files): 列出目錄及檔名
  • cd(英文全拼:change directory):切換目錄
  • pwd(英文全拼:print work directory):顯示目前的目錄
  • mkdir(英文全拼:make directory):建立一個新的目錄
  • rmdir(英文全拼:remove directory):刪除一個空的目錄
  • cp(英文全拼:copy file): 複製檔案或目錄
  • rm(英文全拼:remove): 移除檔案或目錄
  • mv(英文全拼:move file): 移動檔案與目錄,或修改檔案與目錄的名稱

你可以使用 man [命令] 來檢視各個命令的使用文件,如 :man cp。

移動檔案

1、ls(列出目錄)

語法

ls [-options]

選項與引數:

  • -a :全部的檔案,連同隱藏檔案**( 開頭為 . 的檔案)** 一起列出來(常用)
  • -d :僅列出目錄本身,而不是列出目錄內的檔案資料(常用)
  • -l :長資料串列出,包含檔案的屬性與許可權等等資料;(常用)

2、cd(切換目錄)

語法

cd [相對路徑或絕對路徑]
#使用 mkdir 命令建立 runoob 目錄
[root@www ~]# mkdir runoob

#使用絕對路徑切換到 runoob 目錄
[root@www ~]# cd /root/runoob/

#使用相對路徑切換到 runoob 目錄
[root@www ~]# cd ./runoob/

# 表示回到自己的家目錄,亦即是 /root 這個目錄
[root@www runoob]# cd ~

# 表示去到目前的上一級目錄,亦即是 /root 的上一級目錄的意思;
[root@www ~]# cd ..

3、pwd(顯示目前所在的目錄)

語法

pwd [-P]

選項與引數:

  • -P :顯示出確實的路徑,而非使用連結 (link) 路徑。

4、mkdir(建立新目錄)

語法

mkdir [-mp] 目錄名稱

選項與引數:

  • -m :配置檔案的許可權喔!直接配置,不需要看預設許可權 (umask) 的臉色~
  • -p :幫助你直接將所需要的目錄(包含上一級目錄)遞迴建立起來!

例項

codelnn@codelnn-ubuntu:~$ mkdir test
codelnn@codelnn-ubuntu:~$ mkdir test1/test2
mkdir: 無法建立目錄"test1/test2": 沒有那個檔案或目錄
codelnn@codelnn-ubuntu:~$ mkdir -p test1/test2 #加了這個 -p 的選項,可以自行幫你建立多層目錄!

5、rmdir(刪除空的目錄)

語法

rmdir [-p] 目錄名稱

選項與引數:

  • **-p :**連同上一級『空的』目錄也一起刪除

例項

rmdir test
rmdir -p test1/test2 # 刪除上面建立的空目錄

6、cp(複製檔案或目錄)

語法

cp [-adfilprsu] 來源檔(source) 目標檔(destination)
cp [options] source1 source2 source3 .... directory

選項與引數:

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

7、rm(移除檔案或目錄)

語法

rm [-fir] 檔案或目錄

選項與引數:

  • -f :就是 force 的意思,忽略不存在的檔案,不會出現警告資訊;

  • -i :互動模式,在刪除前會詢問使用者是否動作

  • -r :遞迴刪除啊!最常用在目錄的刪除了!這是非常危險的選項!!!

  • rm -rf /* #你懂得!!!!
    

8、mv(移動檔案與目錄,或修改名稱)

語法

mv [-fiu] source destination
mv [options] source1 source2 source3 .... directory

選項與引數:

  • -f :force 強制的意思,如果目標檔案已經存在,不會詢問而直接覆蓋;
  • -i :若目標檔案 (destination) 已經存在時,就會詢問是否覆蓋!
  • -u :若目標檔案已經存在,且 source 比較新,才會升級 (update)
mv 1.txt 2.txt # 修改名稱

9、Linux檔案內容檢視

  • cat 由第一行開始顯示檔案內容

  • tac 從最後一行開始顯示,可以看出 tac 是 cat 的倒著寫!

  • nl 顯示的時候,順道輸出行號!

    nl [-bnw] 檔案
    
  • more 一頁一頁的顯示檔案內容

  • less 與 more 類似,但是比 more 更好的是,他可以往前翻頁!

  • head 只看頭幾行 head [-n number] 檔案

  • tail 只看尾巴幾行 tail [-n number] 檔案

10、tar檔案解壓和壓縮

語法

tar [-options] filename
tar zxvf filename.tar.gz   // 解壓檔案 
tar zcvf filename.tar.gz filename  // 壓縮檔案

選項與引數:

-c 建立新的壓縮檔案
-f 指定壓縮檔案
-r 新增檔案到已經壓縮檔案包中
-u 新增改了和現有的檔案到壓縮包中
-x 從壓縮包中抽取檔案
-t 顯示壓縮檔案中的內容
-z 支援gzip壓縮
-j 支援bzip2壓縮
-Z 支援compress解壓檔案
-v 顯示操作過程

3 軟體包管理

3.1 yum

1、yum 語法

yum [options] [command] [package ...]
  • **options:**可選,選項包括-h(幫助),-y(當安裝過程提示選擇全部為 “yes”),-q(不顯示安裝的過程)等等。
  • **command:**要進行的操作。
  • **package:**安裝的包名。

2、yum常用命令

  • 列出所有可更新的軟體清單命令:yum check-update
  • 更新所有軟體命令:yum update
  • 僅安裝指定的軟體命令:yum install <package_name>
  • 僅更新指定的軟體命令:yum update <package_name>
  • 列出所有可安裝的軟體清單命令:yum list
  • 刪除軟體包命令:yum remove <package_name>
  • 查詢軟體包命令:yum search
  • 清除快取命令:
    • yum clean packages: 清除快取目錄下的軟體包
    • yum clean headers: 清除快取目錄下的 headers
    • yum clean oldheaders: 清除快取目錄下舊的 headers
    • yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除快取目錄下的軟體包及舊的 headers

3.2 apt

1、apt語法

  apt [options] [command] [package ...]
  • **options:**可選,選項包括 -h(幫助),-y(當安裝過程提示選擇全部為"yes"),-q(不顯示安裝的過程)等等。
  • **command:**要進行的操作。
  • package:安裝的包名。

2、apt常用命令

  • 列出所有可更新的軟體清單命令:sudo apt update

  • 升級軟體包:sudo apt upgrade

    列出可更新的軟體包及版本資訊:apt list --upgradeable

    升級軟體包,升級前先刪除需要更新軟體包:sudo apt full-upgrade

  • 安裝指定的軟體命令:sudo apt install <package_name>

    安裝多個軟體包:sudo apt install <package_1> <package_2> <package_3>

  • 更新指定的軟體命令:sudo apt update <package_name>

  • 顯示軟體包具體資訊,例如:版本號,安裝大小,依賴關係等等:sudo apt show <package_name>

  • 刪除軟體包命令:sudo apt remove <package_name>

  • 清理不再使用的依賴和庫檔案: sudo apt autoremove

  • 移除軟體包及配置檔案: sudo apt purge <package_name>

  • 查詢軟體包命令: sudo apt search

  • 列出所有已安裝的包:apt list --installed

  • 列出所有已安裝的包的版本資訊:apt list --all-versions

4 其他命令

投影螢幕

 # HDMI-1 第二個螢幕埠 DP-1 是主顯示螢幕的埠, --auto 是自動設定最佳解析度
 xrand --output HDMI-1 --same-as DP-1 --auto 

相關文章