Linux基礎

Linux 簡介

Linux 內核最初只是由芬蘭人李納斯·託瓦茲(Linus Torvalds)在赫爾辛基大學上學時出於個人愛好而編寫的。

Linux 是一套免費使用和自由傳播的類 Unix 操作系統,是一個基於 POSIX 和 UNIX 的多用戶、多任務、支持多線程和多 CPU 的操作系統。

Linux 能運行主要的 UNIX 工具軟件、應用程序和網絡協議。它支持 32 位和 64 位硬件。Linux 繼承了 Unix 以網絡爲核心的設計思想,是一個性能穩定的多用戶網絡操作系統。

Linux 的發行版

Linux 的發行版說簡單點就是將 Linux 內核與應用軟件做一個打包。

img

目前市面上較知名的發行版有:Ubuntu、RedHat、CentOS、Debian、Fedora、SuSE、OpenSUSE、Arch Linux、SolusOS 等。

Linux 關機

shutdown –h now 立馬關機
shutdown –h 20:25 系統會在今天20:25關機
shutdown –h +10 十分鐘後關機
shutdown –r now 系統立馬重啓
shutdown –r +10 系統十分鐘後重啓
reboot 就是重啓,等同於 shutdown –r now
halt 關閉系統,等同於shutdown –h now 和 poweroff

安裝SSH、配置SSH無密碼登陸

  • 先安裝 openssh-server

    sudo apt-get install openssh-server

  • 安裝後,可以使用如下命令登陸本機

    ssh localhost

  • 此時會有如下提示(SSH首次登陸提示),輸入 yes 。

    img

  • 首先退出剛纔的 ssh,就回到了我們原先的終端窗口,然後利用 ssh-keygen 生成密鑰,並將密鑰加入到授權中:

    exit                           # 退出剛纔的 ssh localhost
    cd ~/.ssh/                     # 若沒有該目錄,請先執行一次ssh localhost
    ssh-keygen -t rsa              # 會有提示,都按回車就可以
    cat ./id_rsa.pub >> ./authorized_keys  # 加入授權
    
  • 此時再用 ssh localhost 命令,無需輸入密碼就可以直接登陸了。

  • 如果用 Xshell 無密碼登陸該主機,只需要將 authorized_keys 導出至 Xshell 即可。

Linux 文件基本屬性

在Linux中我們可以使用ll或者ls –l命令來顯示一個文件的屬性以及文件所屬的用戶和組,如:

[root@www /]# ls -l
total 64
dr-xr-xr-x   2 root root 4096 Dec 14  2012 bin
dr-xr-xr-x   4 root root 4096 Apr 19  2012 boot
……
  • 當爲[ d ]則是目錄
  • 當爲[ - ]則是文件;
  • 若是[ l ]則表示爲鏈接文檔(link file);
  • 若是[ b ]則表示爲裝置文件裏面的可供儲存的接口設備(可隨機存取裝置);
  • 若是[ c ]則表示爲裝置文件裏面的串行端口設備,例如鍵盤、鼠標(一次性讀取裝置)。

更改文件屬性


1、chgrp:更改文件屬組

語法:

chgrp [-R] 屬組名 文件名

參數選項

  • -R:遞歸更改文件屬組,就是在更改某個目錄文件的屬組時,如果加上-R的參數,那麼該目錄下的所有文件的屬組都會更改。

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

語法:

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

將install.log的擁有者與羣組改回爲root:

[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r--  1 root root 68495 Jun 25 08:53 install.log

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

變更權限的指令chmod的語法是這樣的:

 chmod [-R] xyz 文件或目錄

選項與參數:

  • xyz : 就是剛剛提到的數字類型的權限屬性,爲 rwx 屬性數值的相加。
  • -R : 進行遞歸(recursive)的持續變更,亦即連同次目錄下的所有文件都會變更

舉例來說,如果要將.bashrc這個文件所有的權限都設定啓用,那麼命令如下:

[root@www ~]# ls -al .bashrc
-rw-r--r--  1 root root 395 Jul  4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx  1 root root 395 Jul  4 11:45 .bashrc

那如果要將權限變成 -rwxr-xr– 呢?那麼權限的分數就成爲 [4+2+1][4+0+1][4+0+0]=754。

還有一個改變權限的方法,從之前的介紹中我們可以發現,基本上就九個權限分別是:

  • (1)user
  • (2)group
  • (3)others

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

如果我們需要將文件權限設置爲 -rwxr-xr– ,可以使用 chmod u=rwx,g=rx,o=r 文件名 來設定:

#  touch test1    // 創建 test1 文件
# ls -al test1    // 查看 test1 默認權限
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1
# chmod u=rwx,g=rx,o=r  test1    // 修改 test1 權限
# ls -al test1
-rwxr-xr-- 1 root root 0 Nov 15 10:32 test1

而如果是要將權限去掉而不改變其他已存在的權限呢?例如要拿掉全部人的可執行權限,則:

#  chmod  a-x test1
# ls -al test1
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1

inux 文件與目錄管理

ls (列出目錄)

在Linux系統當中, ls 命令可能是最常被運行的。

語法:

[root@www ~]# ls [-aAdfFhilnrRSt] 目錄名稱
[root@www ~]# ls [--color={never,auto,always}] 目錄名稱
[root@www ~]# ls [--full-time] 目錄名稱

選項與參數:

  • -a :全部的文件,連同隱藏檔( 開頭爲 . 的文件) 一起列出來(常用)
  • -d :僅列出目錄本身,而不是列出目錄內的文件數據(常用)
  • -l :長數據串列出,包含文件的屬性與權限等等數據;(常用)

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

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

[root@www ~]# pwd [-P]

選項與參數:

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

mkdir (創建新目錄)

如果想要創建新的目錄的話,那麼就使用mkdir (make directory)吧。

語法:

mkdir [-mp] 目錄名稱

選項與參數:

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

rmdir (刪除空的目錄)

語法:

 rmdir [-p] 目錄名稱

選項與參數:

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

刪除 runoob 目錄

cp (複製文件或目錄)

cp 即拷貝文件和目錄。

語法:

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

選項與參數:

  • **-a:**相當於 -pdr 的意思,至於 pdr 請參考下列說明;(常用)
  • **-d:**若來源檔爲連結檔的屬性(link file),則複製連結檔屬性而非文件本身;
  • **-f:**爲強制(force)的意思,若目標文件已經存在且無法開啓,則移除後再嘗試一次;
  • **-i:**若目標檔(destination)已經存在時,在覆蓋時會先詢問動作的進行(常用)
  • **-p:**連同文件的屬性一起復制過去,而非使用默認屬性(備份常用);
  • **-r:**遞歸持續複製,用於目錄的複製行爲;(常用)

rm (移除文件或目錄)

語法:

 rm [-fir] 文件或目錄

選項與參數:

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

mv (移動文件與目錄,或修改名稱)

語法:

[root@www ~]# mv [-fiu] source destination
[root@www ~]# mv [options] source1 source2 source3 .... directory

選項與參數:

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

Linux 文件內容查看

Linux系統中使用以下命令來查看文件的內容:

  • cat 由第一行開始顯示文件內容
  • tac 從最後一行開始顯示,可以看出 tac 是 cat 的倒著寫!
  • nl 顯示的時候,順道輸出行號!
  • more 一頁一頁的顯示文件內容
  • less 與 more 類似,但是比 more 更好的是,他可以往前翻頁!
  • head 只看頭幾行
  • tail 只看尾巴幾行

你可以使用 *man [命令]*來查看各個命令的使用文檔,如 :man cp。

Linux 鏈接概念

Linux 鏈接分兩種,一種被稱爲硬鏈接(Hard Link),另一種被稱爲符號鏈接(Symbolic Link)。默認情況下,ln命令產生硬鏈接。

[oracle@Linux]$ touch f1          #創建一個測試文件f1
[oracle@Linux]$ ln f1 f2          #創建f1的一個硬連接文件f2
[oracle@Linux]$ ln -s f1 f3       #創建f1的一個符號連接文件f3
[oracle@Linux]$ ls -li            # -i參數顯示文件的inode節點信息
total 0
9797648 -rw-r--r--  2 oracle oinstall 0 Apr 21 08:11 f1
9797648 -rw-r--r--  2 oracle oinstall 0 Apr 21 08:11 f2
9797649 lrwxrwxrwx  1 oracle oinstall 2 Apr 21 08:11 f3 -> f1

做一些相關的測試,可以得到以下全部結論:

  • 1).刪除符號連接f3,對f1,f2無影響;
  • 2).刪除硬連接f2,對f1,f3也無影響;
  • 3).刪除原文件f1,對硬連接f2沒有影響,導致符號連接f3失效;
  • 4).同時刪除原文件f1,硬連接f2,整個文件會真正的被刪除。

Linux 用戶和用戶組管理

1、添加新的用戶賬號使用useradd命令,其語法如下:

useradd 選項 用戶名

參數說明:

  • 選項:

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

    指定新賬號的登錄名。

2、刪除帳號

如果一個用戶的賬號不再使用,可以從系統中刪除。刪除用戶賬號就是要將/etc/passwd等系統文件中的該用戶記錄刪除,必要時還刪除用戶的主目錄。

刪除一個已有的用戶賬號使用userdel命令,其格式如下:

userdel 選項 用戶名

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

3、修改帳號

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

修改已有用戶的信息使用usermod命令,其格式如下:

usermod 選項 用戶名

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

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

4、用戶口令的管理

用戶管理的一項重要內容是用戶口令的管理。用戶賬號剛創建時沒有口令,但是被系統鎖定,無法使用,必須爲其指定口令後纔可以使用,即使是指定空口令。

指定和修改用戶口令的Shell命令是passwd。超級用戶可以爲自己和其他用戶指定口令,普通用戶只能用它修改自己的口令。命令的格式爲:

passwd 選項 用戶名

可使用的選項:

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

如果默認用戶名,則修改當前用戶的口令。

其它

  1. df: 檢查文件系統的磁盤空間佔用情況
  2. du:查看文件和目錄磁盤使用的空間
  3. ps: 查看進程的佔用情況
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章