linux常見基本命令
目錄
- 1、更改文件基本屬性
- 2、Linux文件與目錄管理
- 3、Linux用戶和用戶組管理
- 4、磁盤管理
- 5、Linux vi/vim
- 6、linux查看防火墻狀態及開啟關閉命令
1、更改文件基本屬性
Linux系統是一種典型的多用戶系統,不同的用戶處於不同的地位,擁有不同的權限。為了保護系統的安全性,Linux系統對不同的用戶訪問同一文件(包括目錄文件)的權限做了不同的規定。
(1)Linux文件屬主和屬組
命令:$ ls -l
(2)更改文件屬性
1、chgrp:更改文件屬組
語法:chgrp [-R] 屬組名 文件名
-R表示遞歸更改文件屬組
2、chown: 更改文件屬主 也可以同時更改文件屬組
語法:
chown [-R] 屬主名 文件名
chown [-R] 屬主名:屬組名 文件名
3、chmod : 更改文件9個屬性
Linux文件屬性有兩種設置方法,一種是數字,一種是符號。
Linux文件的基本權限就有九個,分別是owner/group/others三種身份各有自己的read/write/execute權限。
Linux文件屬性有兩種設置方法,一種是數字,一種是符號。
Linux文件的基本權限就有九個,分別是owner/group/others三種身份各有自己的read/write/execute權限。
r:4(讀權限) w:2(寫權限) x:1(執行權限)
基本上就九個權限分別是(1)user (2)group (3)others三種身份啦! 那麽我們就可以藉由u, g, o來代表三種身份的權限!
此外, a 則代表 all 亦即全部的身份!那麽讀寫的權限就可以寫成r, w, x!也就是可以使用底下的方式來看:
chmod u
g
o
a +(加入)
-(除去)
=(設定) r
w
x 文件或目錄
修改test1權限命令:
$ chmod u=rwx,g=rx,o=r test1 // 修改 test1 權限
2、Linux文件與目錄管理
我們知道Linux的目錄結構為樹狀結構,最頂級的目錄為根目錄 /。
其他目錄通過掛載可以將它們添加到樹中,通過解除掛載可以移除它們。
在開始本教程前我們需要先知道什麽是絕對路徑與相對路徑。
- 絕對路徑:
路徑的寫法,由根目錄 / 寫起,例如: /usr/share/doc 這個目錄。 相對路徑:
路徑的寫法,不是由 / 寫起,例如由 /usr/share/doc 要到 /usr/share/man 底下時,可以寫成: cd ../man 這就是相對路徑的寫法啦!2.1 處理目錄常用的命令
- ls: 列出目錄
- cd:切換目錄
- pwd:顯示目前的目錄
- mkdir:創建一個新的目錄
- rmdir:刪除一個空的目錄
- cp: 復制文件或目錄
rm: 移除文件或目錄
2.2 Linux文件內容查看
Linux系統中使用以下命令來查看文件的內容:
- cat 由第一行開始顯示文件內容
- tac 從最後一行開始顯示,可以看出 tac 是 cat 的倒著寫!
- nl 顯示的時候,順道輸出行號!
- more 一頁一頁的顯示文件內容
- less 與 more 類似,但是比 more 更好的是,他可以往前翻頁!
- head 只看頭幾行
- tail 只看尾巴幾行
3、Linux用戶和用戶組管理
Linux系統是一個多用戶多任務的分時操作系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個賬號,然後以這個賬號的身份進入系統。
用戶的賬號一方面可以幫助系統管理員對使用系統的用戶進行跟蹤,並控制他們對系統資源的訪問;另一方面也可以幫助用戶組織文件,並為用戶提供安全性保護。
每個用戶賬號都擁有一個惟一的用戶名和各自的口令。
用戶在登錄時鍵入正確的用戶名和口令後,就能夠進入系統和自己的主目錄。
實現用戶賬號的管理,要完成的工作主要有如下幾個方面:
- 用戶賬號的添加、刪除與修改。
- 用戶口令的管理。
用戶組的管理。
3.1 Linux系統用戶賬號的管理
1、添加新的用戶賬號,使用useradd命令
語法:useradd 選項 用戶名
參數選項:- -c comment 指定一段註釋性描述。
- -d 目錄 指定用戶主目錄,如果此目錄不存在,則同時使用-m選項,可以創建主目錄。
- -g 用戶組 指定用戶所屬的用戶組。
- -G 用戶組,用戶組 指定用戶所屬的附加組。
- -s Shell文件 指定用戶的登錄Shell。
-u 用戶號 指定用戶的用戶號,如果同時有-o選項,則可以重復使用其他用戶的標識號。
2、刪除賬號,用userdel命令
語法:userdel 選項 用戶名
常用選項:-r
,作用是把用戶的主目錄一起刪除。
3、修改賬號
修改用戶賬號就是根據實際情況更改用戶的有關屬性,如用戶號、主目錄、用戶組、登錄Shell等。
語法:usermod 選項 用戶名
常用的選項包括-c, -d, -m, -g, -G, -s, -u以及-o等,這些選項的意義與useradd命令中的選項一樣,可以為用戶指定新的資源值。
4、用戶口令的管理
用戶管理的一項重要內容是用戶口令的管理。用戶賬號剛創建時沒有口令,但是被系統鎖定,無法使用,必須為其指定口令後才可以使用,即使是指定空口令。
語法:passwd 選項 用戶名
參數選項:
- -l 鎖定口令,即禁用賬號。
- -u 口令解鎖。
- -d 使賬號無口令。
- -f 強迫用戶下次登錄時修改口令。
3.2 Linux系統用戶組的管理
每個用戶都有一個用戶組,系統可以對一個用戶組中的所有用戶進行集中管理。不同Linux 系統對用戶組的規定有所不同,如Linux下的用戶屬於與它同名的用戶組,這個用戶組在創建用戶時同時創建。
用戶組的管理涉及用戶組的添加、刪除和修改。組的增加、刪除和修改實際上就是對/etc/group文件的更新。
1、增加一個新的用戶組使用groupadd命令。
groupadd 選項 用戶組
參數選項:
- -g GID 指定新用戶組的組標識號(GID)。
- -o 一般與-g選項同時使用,表示新用戶組的GID可以與系統已有用戶組的GID相同。
實例:$ groupadd -g 101 group2
2、如果要刪除一個已有的用戶組,使用groupdel命令。
語法:groupdel group1
3、修改用戶組的屬性使用groupmod命令。
語法:groupmod 選項 用戶組
參數選項:
- -g GID 為用戶組指定新的組標識號。
- -o 與-g選項同時使用,用戶組的新GID可以與系統已有用戶組的GID相同。
- -n新用戶組 將用戶組的名字改為新名字
4、如果一個用戶同時屬於多個用戶組,那麽用戶可以在用戶組之間切換,以便具有其他用戶組的權限。
用戶可以在登錄後,使用命令newgrp切換到其他用戶組,這個命令的參數就是目的用戶組。例如:
$ newgrp root
這條命令將當前用戶切換到root用戶組,前提條件是root用戶組確實是該用戶的主組或附加組。類似於用戶賬號的管理,用戶組的管理也可以通過集成的系統管理工具來完成。
3.3 與用戶賬號有關的系統文件
完成用戶管理的工作有許多種方法,但是每一種方法實際上都是對有關的系統文件進行修改。
與用戶和用戶組相關的信息都存放在一些系統文件中,這些文件包括/etc/passwd, /etc/shadow, /etc/group等。
下面分別介紹這些文件的內容。
1、、etc/passwd文件是用戶管理工作涉及的最重要的一個文件。
Linux系統中的每個用戶都在/etc/passwd文件中有一個對應的記錄行,它記錄了這個用戶的一些基本屬性。
# cat /etc/passwd
root:x:0:0:Superuser:/:
daemon:x:1:1:System daemons:/etc:
bin:x:2:2:Owner of system commands:/bin:
sys:x:3:3:Owner of system files:/usr/sys:
adm:x:4:4:System accounting:/usr/adm:
uucp:x:5:5:UUCP administrator:/usr/lib/uucp:
auth:x:7:21:Authentication administrator:/tcb/files/auth:
cron:x:9:16:Cron daemon:/usr/spool/cron:
listen:x:37:4:Network daemon:/usr/net/nls:
lp:x:71:18:Printer administrator:/usr/spool/lp:
sam:x:200:50:Sam san:/usr/sam:/bin/sh
從上面的例子我們可以看到,/etc/passwd中一行記錄對應著一個用戶,每行記錄又被冒號(:)分隔為7個字段,其格式和具體含義如下:
用戶名:口令:用戶標識號:組標識號:註釋性描述:主目錄:登錄Shell
(1)用戶名是代表用戶賬號的字符串;
(2)口令,一些系統中,存放著加密後的用戶口令字;
(3)用戶標識號是一個整數,系統內部用戶用它來標識用戶;
(4)組標識號字段記錄的是用戶所需的用戶組;
(5)註釋性描述字段記錄著用戶的一些個人情況;
(6)“主目錄”,也就是用戶的起始工作目錄;
(7)用戶登錄後,要啟動一個進程,負責將用戶的操作傳給內核,這個進程是用戶登錄都系統後運行的命令解釋器,或某個特定的程序,即shell;
(8)系統中有一類用戶稱為偽用戶(pseudo users)
3.4 添加批量用戶
添加和刪除用戶對每位Linux系統管理員都是輕而易舉的事,比較棘手的是如果要添加幾十個、上百個甚至上千個用戶時,我們不太可能還使用useradd一個一個地添加,必然要找一種簡便的創建大量用戶的方法。Linux系統提供了創建大量用戶的工具,可以讓您立即創建大量用戶,方法如下:
(1)先編輯一個文本用戶文件
每一列按照/etc/passwd密碼文件的格式書寫,要註意每個用戶的用戶名、UID、宿主目錄都不可以相同,其中密碼欄可以留做空白或輸入x號。一個範例文件user.txt內容如下:
user001::600:100:user:/home/user001:/bin/bash
user002::601:100:user:/home/user002:/bin/bash
user003::602:100:user:/home/user003:/bin/bash
user004::603:100:user:/home/user004:/bin/bash
user005::604:100:user:/home/user005:/bin/bash
user006::605:100:user:/home/user006:/bin/bash
(2)以root身份執行命令 /usr/sbin/newusers,從剛創建的用戶文件user.txt中導入數據,創建用戶:
# newusers < user.txt然後可以執行命令 vipw 或 vi /etc/passwd 檢查 /etc/passwd 文件是否已經出現這些用戶的數據,並且用戶的宿主目錄是否已經創建。
(3)執行命令/usr/sbin/pwunconv。
將 /etc/shadow 產生的 shadow 密碼解碼,然後回寫到 /etc/passwd 中,並將/etc/shadow的shadow密碼欄刪掉。這是為了方便下一步的密碼轉換工作,即先取消 shadow password 功能。
# pwunconv
(4)編輯每個用戶的密碼對照文件。
範例文件 passwd.txt 內容如下:
user001:密碼
user002:密碼
user003:密碼
user004:密碼
user005:密碼
user006:密碼
(5)以root身份執行命令 /usr/sbin/chpasswd。
創建用戶密碼,chpasswd 會將經過 /usr/bin/passwd 命令編碼過的密碼寫入 /etc/passwd 的密碼欄。
chpasswd < passwd.txt
(6)確定密碼經編碼寫入/etc/passwd的密碼欄後。
執行命令 /usr/sbin/pwconv 將密碼編碼為 shadow password,並將結果寫入 /etc/shadow。
$ pwconv
這樣就完成了大量用戶的創建了,之後您可以到/home下檢查這些用戶宿主目錄的權限設置是否都正確,並登錄驗證用戶密碼是否正確。
4、磁盤管理
Linux磁盤管理好壞直接關系到整個系統的性能問題。
Linux磁盤管理常用三個命令為df、du和fdisk。
- df:列出文件系統的整體磁盤使用量
- du:檢查磁盤空間使用量
- fdisk:用於磁盤分區
(1)df
df命令參數功能:檢查文件系統的磁盤空間占用情況。可以利用該命令來獲取硬盤被占用了多少空間,目前還剩下多少空間等信息。
語法:df [ahikHTm] [目錄或文件名]
選項參數: - -a :列出所有的文件系統,包括系統特有的 /proc 等文件系統;
- -k :以 KBytes 的容量顯示各文件系統;
- -m :以 MBytes 的容量顯示各文件系統;
- -h :以人們較易閱讀的 GBytes, MBytes, KBytes 等格式自行顯示;
- -H :以 M=1000K 取代 M=1024K 的進位方式;
- -T :顯示文件系統類型, 連同該 partition 的 filesystem 名稱 (例如 ext3) 也列出;
- -i :不用硬盤容量,而以 inode 的數量來顯示
實例:將系統內的所有特殊文件格式及名稱都列出來
[root@www ~]# df -aT
Filesystem Type 1K-blocks Used Available Use% Mounted on
/dev/hdc2 ext3 9920624 3823112 5585444 41% /
proc proc 0 0 0 - /proc
sysfs sysfs 0 0 0 - /sys
devpts devpts 0 0 0 - /dev/pts
/dev/hdc3 ext3 4956316 141376 4559108 4% /home
/dev/hdc1 ext3 101086 11126 84741 12% /boot
tmpfs tmpfs 371332 0 371332 0% /dev/shm
none binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc
sunrpc rpc_pipefs 0 0 0 - /var/lib/nfs/rpc_pipefs
(2)du
Linux du命令也是查看使用空間的,但是與df命令不同的是Linux du命令是對文件和目錄磁盤使用的空間的查看,還是和df命令有一些區別的,這裏介紹Linux du命令。
語法:du [-ahskm] 文件或目錄名稱
參數選項:
- -a :列出所有的文件與目錄容量,因為默認僅統計目錄底下的文件量而已。
- -h :以人們較易讀的容量格式 (G/M) 顯示;
- -s :列出總量而已,而不列出每個各別的目錄占用容量;
- -S :不包括子目錄下的總計,與 -s 有點差別。
- -k :以 KBytes 列出容量顯示;
- -m :以 MBytes 列出容量顯示;
(3)fdisk
fdisk 是 Linux 的磁盤分區表操作工具。
語法:fdisk [0l] 裝置名稱
參數-l:輸出後面接的裝置所有的分區內容。若僅有 fdisk -l 時, 則系統將會把整個系統內能夠搜尋到的裝置的分區均列出來。
(4)磁盤格式化
磁盤分割完畢後自然就是要進行文件系統的格式化,格式化的命令非常的簡單,使用 mkfs(make filesystem) 命令。
語法:mkfs [-t 文件系統格式] 裝置文件名
選項與參數:
- -t :可以接文件系統格式,例如 ext3, ext2, vfat 等(系統有支持才會生效)
(5)磁盤檢驗
fsck(file system check)用來檢查和維護不一致的文件系統。
若系統掉電或磁盤發生問題,可利用fsck命令對文件系統進行檢查。
語法:fsck [-t 文件系統] [-ACay] 裝置名稱
選項與參數:
- -t : 給定檔案系統的型式,若在 /etc/fstab 中已有定義或 kernel 本身已支援的則不需加上此參數
- -s : 依序一個一個地執行 fsck 的指令來檢查
- -A : 對/etc/fstab 中所有列出來的 分區(partition)做檢查
- -C : 顯示完整的檢查進度
- -d : 打印出 e2fsck 的 debug 結果
- -p : 同時有 -A 條件時,同時有多個 fsck 的檢查一起執行
- -R : 同時有 -A 條件時,省略 / 不檢查
- -V : 詳細顯示模式
- -a : 如果檢查有錯則自動修復
- -r : 如果檢查有錯則由使用者回答是否修復
- -y : 選項指定檢測每個文件是自動輸入yes,在不確定那些是不正常的時候,可以執行
# fsck -y
全部檢查修復。
(6)磁盤掛載與卸載
Linux 的磁盤掛載使用 mount 命令,卸載使用 umount 命令。v
磁盤掛載語法:
mount [-t 文件系統] [-L Label名] [-o 額外選項]
舉例:用默認的方式,將剛剛創建的 /dev/hdc6 掛載到 /mnt/hdc6 上面!
[root@www ~]# mkdir /mnt/hdc6
[root@www ~]# mount /dev/hdc6 /mnt/hdc6
[root@www ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
.....中間省略.....
/dev/hdc6 1976312 42072 1833836 3% /mnt/hdc6
磁盤卸載命令umount語法:
umount [-fn] 裝置文件名或掛載點
選項參數:
- -f :強制卸除!可用在類似網絡文件系統 (NFS) 無法讀取到的情況下;
- -n :不升級 /etc/mtab 情況下卸除。
舉例:卸載/dev/hdc6
5、Linux vi/vim
Vim是從 vi 發展出來的一個文本編輯器。代碼補完、編譯及錯誤跳轉等方便編程的功能特別豐富,在程序員中被廣泛使用。
簡單的來說, vi 是老式的字處理器,不過功能已經很齊全了,但是還是有可以進步的地方。 vim 則可以說是程序開發者的一項很好用的工具。
連 vim 的官方網站 (http://www.vim.org) 自己也說 vim 是一個程序開發工具而不是文字處理軟件。
vim鍵盤圖:
基本上 vi/vim 共分為三種模式,分別是命令模式(Command mode),輸入模式(Insert mode)和底線命令模式(Last line mode)。 這三種模式的作用分別是:
- esc:切換到到命令模式
- i : 切換到輸入模式/編輯模式
- : :切換到底線命令模式
q 退出程序 w 保存文件 qi 強制退出
三種模式之間的關系為:
6、linux查看防火墻狀態及開啟關閉命令
6.1 service方式
(1)查看防火墻狀態:
service iptables status
(2)開啟防火墻:
service iptables start
(3)關閉防火墻:
service iptables stop
6.2 iptables方式
(1)查看防火墻狀態:
/etc/init.d/iptables status
(2)暫時關閉防火墻:
/etc/init.d/iptables stop
(3)重啟iptables:
/etc/init.d/iptables restart
linux常見基本命令