Linux 簡介
Linux 內核最初只是由芬蘭人李納斯·託瓦茲(Linus Torvalds)在赫爾辛基大學上學時出於個人愛好而編寫的。
Linux 是一套免費使用和自由傳播的類 Unix 操作系統,是一個基於 POSIX 和 UNIX 的多用戶、多任務、支持多線程和多 CPU 的操作系統。
Linux 能運行主要的 UNIX 工具軟件、應用程序和網絡協議。它支持 32 位和 64 位硬件。Linux 繼承了 Unix 以網絡爲核心的設計思想,是一個性能穩定的多用戶網絡操作系統。
Linux 的發行版
Linux 的發行版說簡單點就是將 Linux 內核與應用軟件做一個打包。
目前市面上較知名的發行版有: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 。
-
首先退出剛纔的 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 強迫用戶下次登錄時修改口令。
如果默認用戶名,則修改當前用戶的口令。
其它
- df: 檢查文件系統的磁盤空間佔用情況
- du:查看文件和目錄磁盤使用的空間
- ps: 查看進程的佔用情況