1. 程式人生 > >Linux介紹與基本必知命令

Linux介紹與基本必知命令

1.系統結構介紹

linux的由來

Linux作業系統是基於UNIX作業系統的, 其核心主要是由C程式編寫。Linux是自由和開放的,任何組織和個人只要遵循GNU通用公共許可證協議都可以自由免費地使用Linux的所有底層原始碼,並可以自由地修改和分發。

2.linux的目錄結構

Linux和Windows最大的不同之處在於Linux的目錄結構的設計,在Linux中,任何檔案,目錄和裝置都在根目錄“/”之下。Linux把所有檔案和裝置都當作檔案來管理,這些檔案都在根目錄下,同時Linux中的檔名區分大小寫。

3.命令提示符

[[email protected] ~]#

[

[email protected] ~]$

格式:[使用者@主機名 當前目錄]#

rootLinux管理員,也稱為超級使用者

pyvipLinux普通使用者,在Ubuntu中,root使用者被鎖定,當需要是使用的時候可以使用sudo來提權,詳情請見:https://help.ubuntu.com/community/RootSudo

這裡的Vip是主機名,相當於Windows上的計算機名。

 ~ 是當前使用者的家目錄,家目錄就相當於我們window系統盤中的使用者目錄

 # 是超級使用者的提示符, 是普通使用者的提示符。

命令:pwd 當前目錄 、hostname 主機名、whoami 當前使用者

1 [[email protected] ~]# pwd
2 /root
3 [[email protected] ~]# hostname
4 budong
5 [[email protected] ~]# whoami
6 root

4.Linux的使用者

在Linux中root使用者具有超級許可權,可以操作任何檔案,日常使用中應該避免使用它。這就需要我們在平常使用的過程中使用普通使用者。

在Linux中有三種使用者,超級使用者、系統使用者和普通使用者,超級使用者就是root使用者;系統使用者是系統正常使用時使用的賬戶,如bin、mail等,但是系統使用者不能夠登入;普通使用者是普通使用者,能夠使用Linux大部分資源,但是一些特定的許可權受到控制。

在Linux中可以使用cat /etc/passwd檢視當前的使用者

1 root:x:0:0:root:/root:/bin/bash
2 #使用者名稱稱:使用者密碼:使用者標記號:組標記號:相關注釋:主目錄:使用的Shell
3 #root使用者可以使用 cat /etc/shadow 檢視加密後的使用者密碼

5.Linux的使用者管理

​ 5.1新增使用者

1 #在Ubuntu則需要執行下面的操作
2 [email protected]:~$ sudo useradd -m budong
3 #修改使用者 budong 的密碼
4 [email protected]:~$ sudo passwd budong

​ 5.2為普通使用者新增sudo許可權

1 [email protected]:~$ sudo visudo
2 #在root ALL=(ALL)       ALL  #這行下面新增如下
3 budong  ALL=(ALL)       ALL

visudo 開啟檔案後,將username ALL=(ALL) ALL加入到檔案中。具體步驟:

​ 1.visudo進入檔案。

​ 2.按上下鍵找到 root ALL=(ALL) ALL 這一行內容。

​ 3.按 i 鍵進入插入模式,然後輸入 username ALL=(ALL) ALL 。

​ 4.輸入完成後,按Esc,然後shift+; ,末行出現冒號後輸入wq回車來儲存退出。

在完成上面的步驟之後我們就可以使用普通使用者登陸,xshell這裡也是,可以是用普通使用者,不用擔心root許可權過大造成關係檔案的誤操作。

5.3.使用者操作
1 [email protected]:/home$ sudo usermod -l budong1 budong  #更改使用者名稱
2 [email protected]:/home$ sudo userdel budong1  #刪除使用者
3 [email protected]:/home$ sudo userdel -r budong1 #刪除使用者,以及主目錄和目錄中的所有檔案

5.4.使用者組

Linux中除啦使用者之外還有使用者組的概念,使用者組就是具有相同特徵的使用者的使用者集合。每個使用者都有對應的使用者組。通過對/etc/group檔案的操作,實現對使用者組的新增、修改和刪除。有使用者組之後,系統可以方便的對使用者組進行操作,如賦予檔案許可權等。

Linux中使用groupaddgroupdelgroupmod來實現對使用者組的新增、刪除和修改

2.必知命令

1.目錄跳轉cd

語法:cd (選項) (引數)

常見用法:

1 cd path # path 是路徑
2 cd .    # 當前目錄
3 cd ..   # 回到上一級目錄
4 cd /    # 跳到根目錄
5 cd ~    # 回到家目錄
6 cd      # 回到家目錄
7 cd -    # 回到上一次目錄

檢視目錄內容的命令配合著cd命令一起學習

1 ls 檢視當前目錄中的內容
2 ll 詳細列出當前目錄中的內容

2.檢視目錄下的檔案ls

語法:ls(選項)(引數)

選項

 1 -a:顯示所有檔案及目錄(ls內定將檔案名或目錄名稱為“.”的視為影藏,不會列出)
 2 -C:多列顯示輸出結果。這是預設選項;
 3 -l:與“-C”選項功能相反,所有輸出資訊用單列格式輸出,不輸出為多列;
 4 -F:在每個輸出項後追加檔案的型別識別符號,具體含義:“*”表示具有可執行許可權的普通檔案,“/”表示目錄,
“@”表示符號連結,“|”表示命令管道FIFO,“=”表示sockets套接字。當檔案為普通檔案時,不輸出任何識別符號; 5 -b:將檔案中的不可輸出的字元以反斜線“”加字元編碼的方式輸出; 6 -c:與“-lt”選項連用時,按照檔案狀態時間排序輸出目錄內容,排序的依據是檔案的索引節點中的ctime欄位。
與“-l”選項連用時,則排序的一句是檔案的狀態改變時間; 7 -d:僅顯示目錄名,而不顯示目錄下的內容列表。顯示符號連結檔案本身,而不顯示其所指向的目錄列表; 8 -f:此引數的效果和同時指定“aU”引數相同,並關閉“lst”引數的效果; 9 -k:以KB(千位元組)為單位顯示檔案大小; 10 -r:以檔名反序排列並輸出目錄內容列表; 11 -s:顯示檔案和目錄的大小,以區塊為單位; 12 -t:用檔案和目錄的更改時間排序; 13 -L:如果遇到性質為符號連結的檔案或目錄,直接列出該連結所指向的原始檔案或目錄; 14 -R:遞迴處理,將指定目錄下的所有檔案及子目錄一併處理;

常見用法

1 [email protected]:~$ ls
2 [email protected]:~$ ll       # 在Ubuntu中其實是 ls -alF 的別名
3 [email protected]:~$ ls -lrt  # 最新更改的檔案在最下面
3.建立/刪除目錄mkdir rmdir

語法:mkdir (選項)(引數) rmdir(選項)(引數)

 1 [email protected]ip:~$ mkdir test  #建立資料夾 test
 2 [email protected]:~$ ls
 3 [email protected]:~$ cd test/  #進入資料夾
 4 [email protected]:~/test$  mkdir a  #建立資料夾  a
 5 [email protected]:~/test$  ls
 6 [email protected]:~/test$  mkdir b
 7 [email protected]:~/test$  rmdir b  #刪除資料夾
 8 [email protected]:~/test$  ls
 9 [email protected]:~/test$  cd ..
10 [email protected]:~$ rmdir test
11 rmdir: 刪除 "test" 失敗: 目錄非空   # test資料夾下有a資料夾,所以不能直接刪除

4.建立/刪除檔案touch rm

語法:touch(選項)(引數)

touch命令有兩個功能:一是用於把已存在檔案的時間標籤更新為系統當前的時間(預設方式),它們的資料將原封不動地保留下來;二是用來建立新的空檔案

常見用法:

1 [email protected]:~$ touch test.py

語法:rm (選項)(引數)

rm 刪除檔案或目錄

選項

1 -d:直接把欲刪除的目錄的硬連線資料刪除成0,刪除該目錄
2 -f:強制刪除檔案或目錄
3 -i:刪除已有檔案或目錄之前先詢問使用者
4 -r或-R:遞迴處理,將指定目錄下的所有檔案與子目錄一併處理

常用例項:

1 [email protected]:~$ rm -rf test  # 操作需謹慎,一旦刪除就找不回了

5.複製/移動檔案cp mv

cp 複製檔案或目錄,預設情況下,cp命令不能複製目錄,如果要複製目錄,則必須使用-r選項

1 [email protected]:~$ cp a.txt test/b.txt  # 複製 a.txt 的內容到 test/b.txt 檔案內

mv 對檔案/目錄重新命名或移動檔案

1 [email protected]:~$ mv a.txt  test/      # 移動 a.txt 到test 檔案下

cat獲取檔案內容

1 [email protected]:~$ cat test.py          # 可以直接在終端把檔案內容打印出來

6.檢視幫助

help 簡單幫助

command(out) --help 外部命令

help command(build_in) 內部命令

安裝man命令: sudo yum install man

man 命令,檢視幫助資訊時和less命令 檢視文件一樣

 1 less 命令使用技巧:
 2 直接上下鍵到跳行
 3 下一行: e
 4 上一行: y
 5 下一頁: 空格鍵 或 f 或 z
 6 上一頁: b 或 w
 7 /string : 向下搜尋string這個字串
 8 ?string : 向上搜尋string這個字串
 9 n,N  :n 繼續下一個搜尋,N進行反向搜尋
10 幫助資訊:h
11 退出 : q