1. 程式人生 > >linux常見基本命令

linux常見基本命令

就是 使用 add inf 刪掉 負責 shell 子目錄 liunx

目錄

  • 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常見基本命令