對《Linux的常用命令和基本操作》http://www.linuxidc.com/Linux/2011-08/40075.htm的補充:
查看文件內容類型:
[[email protected] ~]# file /etc/inittab
/etc/inittab: ASCII English text
查看系統時間並進行修改:
[[email protected] ~]# date
Tue Jul 19 10:49:49 CST 2011
[[email protected] ~]#date MMDDhhmm[[CC]YY][.ss]
顯示指定時間:
[[email protected] ~]# date +"%y%m%d%H%M%S" 其中年月日均是小寫,時分秒為大寫;D顯示當前日期,s顯示當前從1975.1.1到現在的秒數。
110719105123
建立以當前系統時間為文件名的文件:
[[email protected] ~]# touch a-`date +"%y-%m-%d-%H-%M-%S"`
[[email protected] ~]# ls
a a-11-07-19-10-54-45 Desktop install.log install.log.syslog
其中 ` ` 為命令替換符,起作用是將 ` …` 中的指令執行,並返回結果。
顯示當前的硬件時間:
[[email protected] ~]# clock
Tue 19 Jul 2011 01:01:39 PM CST -0.612533 seconds
修改硬件時間:hardwareclock
[[email protected] ~]# hwclock –s 當前系統與硬件時間同步sync;
[[email protected] ~]# hwclock –w 當前系統時間寫入硬件write。
查看命令的類型:
[[email protected] ~]# type cd 此命令為內部命令,為shell自身所帶,沒有二進制文件目錄。
cd is a shell builtin
[[email protected] ~]# type mount 此命令是外部命令,在路徑內會有一個可執行的實體。
mount is /bin/mount
命令 --help
[[email protected] ~]# touch –help 對絕大部分的外部命令有效。
help 命令
eg:
[[email protected] ~]# help cd 對絕大部分內部命令有效。
但是,由help提供的大多數是簡略信息。
詳細的說明手冊查看man(manual):
[[email protected] ~]#man 章節號 查詢的指令
-f 相當於 whatis
章節號的獲取:
[[email protected] ~]# whatis mount
mount (2) - mount and unmount filesystems
mount (8) - mount a file system
mount.cifs [mount] (8) - mount using the Common Internet File System (CIFS)
mount.nfs4 [mount] (8) - mount a Network File System
mount.nfs [mount] (8) - mount a Network File System
其中()內的數字代表所該命令在哪些章節有內容。
注:在第一次使用whatis命令時,有時可能無法使用,則需要使用makewhatis來生成whatis數據庫。
[[email protected] ~]# ls /usr/share/man/man 1~8 中存在說明內容。
man章節的說明:
1. 普通用戶命令;
2. 系統調用;
3. 庫調用;
4. 特殊文件;
5. 文件格式,配置文件的語法說明;
6. 游戲說明;
7. 雜項說明;
8. 只有root才能使用的命令的說明。
Ps:如使用xshell終端訪問man的說明文檔,經常會出現亂碼的情況。此時輸入命令
[[email protected] ~]# export LANG=c即可修正。
在man顯示的文檔中:
q 退出;
/+字符 自上向下的查找;
?+字符 自下向上的查找;
查找出的內容以反白顯示,n和shift+n來回切換光標在反白字體上的位置。
cat查看其具有concatenate(聯接)和dump(傾倒式顯示)
[[email protected] ~]# cat 文件1,文件2,文件3,……
可以次聯接顯示多個文檔
-n 查看文檔時加上行號;
-e 查看時行結尾顯示結束符(^$)
less查看工具:
[[email protected] ~]# less 文本文檔
man顯示說明內容的就是less查看工具
q 退出;
/+字符 自上向下的查找;
?+字符 自下向上的查找;
查找出的內容以反白顯示,n和shift+n來回切換光標在反白字體上的位置。
head查看工具:
[email protected] ~]# head -15 /etc/inittab
-n 數字,-數字 顯示文檔開頭的第n行。
tail查看工具:
[email protected] ~]# tail -15 /etc/inittab
-n 數字,-數字 從下向上顯示n行文檔。
-f 顯示後不退出保持顯示界面(多用於監視日志文檔)
顯示文本文件的內容信息:
[[email protected] ~]# wc /etc/inittab
53 229 1666 /etc/inittab
行數 詞數 字節大小
-l 行數
-w 單詞數
-c 文檔的字節數
-L 最長行的長度
用戶user:獲取系統資源的憑證
群組group:某個權限的集合,任何加入該組的人都自動獲得相同權限
加入群組:鍵入密碼;root指派用戶加入
用戶名和群組名在系統中是以UID和GID的形式被系統讀取的
UID范圍0~65535;
root用戶uid=0;
系統用戶 1~499;
普通用戶 500~65535;
nobody(guest來賓賬號)-1;
GID同上。
群組又分為私有組和公共組:
私有組(基本組):用戶名與組名相同,該組為用戶的私有組;對其他用戶來說是基本組。
公共組:沒有用戶名與之相同的組,即大家都能加入的組。
權限:
文件的權限應注意:文件的w權限指是否能對其內容進行修改;目錄則是能否在其下新建刪除等操作;x權限對於文件是是否能夠執行;對於目錄文件則是能否進入該目錄。
文件類型
當為[ d ]則是目錄。
當為[ - ]則是檔案。
若是[ l ]則表示為連結檔(link file);
若是[ b ]則表示為裝置文件裡面的可供儲存的接口設備(可隨機存取裝置);
若是[ c ]則表示為裝置文件裡面的串行端口設備,例如鍵盤、鼠標(一次性讀取裝置)。
新建用戶和群組:
[[email protected] ~]#useradd 選項 用戶名
-u 自定義新用戶的uid,不加此選項則是系統默認
-g 指定私有組的gid或groupname
-G指定附加組的gid或groupname (可跟多個組 grp1,grp2,grp3…)
注意:無論是-g還是-G都只能加入已經存在的組。
-c 指定詳細信息
-d 指定新用戶的家目錄
-s 指定新用戶的shell
[[email protected] ~]#groupadd 選項 群組名
-g 自定義新群組的gid,不加此選項則是系統默認
用戶密碼的添加和修改:
[[email protected] ~]#passwd 選項 用戶名
-l 上鎖用戶
-u 解鎖用戶
-x 修改最長使用期限
-n 修改最短使用期限
--stdin將標准輸入更改為別的輸入
修改用戶屬性和組屬性:
用戶屬性修改usermodify
[[email protected] ~]#usermod 選項 選項對應的屬性
-u 修改uid
-g修改私有組(可gid或者grpname)
-G修改公共組(此選項為覆蓋原有)
-aG修改公共組-append 向原有添加
-d 修改家目錄
-c 修改詳細信息
-s 修改用戶shell
-l修改登錄賬號名稱(等同於重新創建用戶)
群組屬性修改groupmod
[[email protected] ~]#groupmod 選項 選項對應的屬性
-g 修改gid數值
-n 修改組名
刪除用戶和群組
[[email protected] ~]#userdel 選項 用戶名
-r 刪除用戶時同時刪除家目錄
[[email protected] ~]#groupdel 群組名
用戶相關信息的查看
[[email protected] ~]#id 用戶名 查看用戶的uid gid等信息
[[email protected] ~]#finger 用戶名 查看用戶的詳細信息以及家目錄
[[email protected] ~]#who 查看當前系統有哪些用戶登錄
與用戶和群組有關的文件夾:
用戶賬號:/etc/passwd
用戶密碼:/etc/shadow
群組賬號:/etc/group
群組密碼:/etc/gshadow
新建用戶:
[[email protected] ~]#useradd 用戶名
此時可查看/etc/passwd
eg:
[[email protected] ~]#useradd hu
[[email protected] ~]#tail -5 /etc/passwd 從下向上查看5行
hu:x:503:503: :/home/hu:/bin/bash
用戶名:密碼:uid:gid:詳細信息:家目錄:用戶使用的shell
添加密碼:
[[email protected] ~]#passwd hu
[[email protected] ~]#tail -5 /etc/shadow 在/etc/shadow文件中找到新用戶hu的密碼信息
hu : ! ! : 15174 : 0 : 99999 : 7 : : :
① ② ③ ④ ⑤ ⑥ ⑦ ⑧
①用戶名
②MD5加密後的密碼(!!說明還未設定密碼,此時該用戶未鎖定狀態)
③密碼最後一次被修改的時間(從1970.1.1開始以秒計算,date +”%s”/86400)
④密碼最短使用期限(防止用戶頻繁修改)
⑤密碼最常使用期限(到期提示修改密碼)
⑥密碼將過期時,提前通知的天數
⑦密碼過期後多少天被禁用
⑧賬號最大使用期限(空置即為無限制)
MD5加密後的密碼:
以提取原始密碼特征值的方法生成新密碼,以防止被逆推出來;
具有雪崩效應,即原始密碼發生極微小的變化加密後就會變化很大;
加密後的密碼定長輸出;
hu : $1$salt$xxxxxxx: 15174 : 0 : 99999 : 7 : : :
加密後密碼的格式為$1$salt$xxxxxx
1代表MD5加密;
salt代表系統隨機加入的數值,防止A與B密碼相同A由相同的MD5值來獲知B的密碼,系統隨機加入數據片段後,使得即使原始密碼相同最後的MD5值也不可能相同。
xxxxxx代表與salt一起經過MD5加密後的原始密碼部分。