1. root下進入其他使用者主目錄
cd ~username
2. touch的另外的一種作用
常用的是touch建立乙個不存在的檔案
而touch乙個存在的檔案時候,touch會修改檔案的三個時間(使用stat可以檢視),其中access表示最後乙個訪問時間,modify表示最後一次修改檔案的時間,change表示最後修改檔案屬性的時間
3. file檢視檔案型別
映象檔案(iso)的檔案型別為iso9660
4./etc/passwd中各欄位對應解釋
1 使用者名稱:2密碼:3uid:4gid:5備註:6home目錄:7登入shell
該檔案的內容是通過useradd命令生成,每使用useradd一次,在/etc/passwd追加一行
需要注意的是rhcl6版本中0-500表示系統賬戶,而rhcl7版本依賴0-1000表示系統賬戶
useradd:
-u uid #指定uid,不使用該選項,則預設為普通賬戶即uid>=1000,且不與現存uid衝突
-g 已存在gid/組名 #指定所屬使用者組,不選用該選項,同時預設在/etc/group檔案中追加一行資訊,其中組名預設與使用者名稱一致。
-g 指定附加組 #
-m 強制不建立home目錄
-s 指定登入shell #/sbin/nologin為不可登入shell
相關命令還有userdel(刪除使用者)、usermod(修改使用者)、groupadd(增加使用者組)、groupdel(刪除使用者組)
userdel -r username #刪除使用者的同時刪除home目錄下所有資訊
usermod -ag username #追加附加組
/etc/passwd中的密碼不再直接顯示,用x代替。密碼儲存在/etc/shadow(無任何可讀寫執行許可權)中,修改密碼使用passwd命令(互動式)實現。
非互動式修改密碼:echo "newpasswd"|passwd --stdin username
5. ls -l 命令顯示的資訊詳釋
第一行中total表示當前目錄下所有內容總共所佔大小,預設單位為kb
餘下行中的最後乙個欄位為為檔名,第6,7,8欄位表示檔案(目錄)最近訪問(修改)時間
第5個字段表示檔案所佔空間,預設單位為byte,可使用ls -lh以kb顯示
第3,4個字段分別描述檔案所屬的使用者名稱及屬主組
可使用chown 使用者名稱:組名 檔名/chown -r 使用者名稱:組名
目錄名 修改其屬主及屬主組
第2個字段表示該檔案的硬鏈結數
第1個字段共10個字母。
第乙個字母表示檔案型別
-:普通檔案 d:目錄檔案 c:位元組檔案 b:塊檔案 p:管道檔案 s:socket檔案 等等
後9個字母,每三個為一組。第一組為當前使用者關於此檔案的操作許可權,第二組為屬主組內其他使用者的操作許可權,第三組為其他屬主組內使用者對此檔案的操作許可權
非目錄檔案: r(4)表示可讀,w(2)表示可寫,x(1)表示可執行
目錄:r表示可以檢視目錄下的內容 w表示可以向目錄裡寫內容 x表示可進入這個目錄 (只有wx同時存在才能真正在該目錄內操作)
建立乙個檔案或目錄預設的許可權通過如下獲取:
檔案:0666-umask(若umask的存在某位為奇數,計算之後必須在對應奇數字加1)
目錄:0777-umask
還有三種比較特殊的許可權:
分別是suid(4)、sgid(2)、sbit(1),這三種許可權分別顯示在三組字母的第三位。若分別為小寫的s,s,t,則表示擁有x許可權。對應為s,s,t,表示無對應的x許可權。
擁有suid許可權時,其他使用者執行這條命令,將會獲取該命令的擁有人許可權,可以訪問一些自身並沒有訪問許可權的檔案。
我們修改目錄的屬主組時,希望該目錄下所有檔案繼承該屬主組
從上圖可以看出,並沒有達到效果,我們增加sgid許可權,可以達到如期效果
使用者對擁有sbit許可權的目錄具有wx許可權時,使用者在該目錄下建立的檔案及目錄,只有自身與root才可以刪除。
6. 登入shell與非登入shell中一些知識
登入shell往往是通過使用者名稱及密碼登入系統時所用shell。
非登入shell則往往不需要使用者名稱及密碼
su - username屬於登入shell。而su username與非登入shell
非登入shell狀態通過exit退出,而登入shell狀態主要使用logout退出(exit也可以)
登入shell與非登入shell最主要的區別是讀取的配置檔案不同。這裡涉及四個配置檔案1:/etc/bashrc,2:/etc/profile,3:~/.bashrc,4:~/.bash_profile。
其中1,2為全域性層面,3,4是區域性層面;通常我們在1,3裡定義別名alias,在2,4定義變數。
非登入shell不會讀取2,4中的內容。通常編寫的shell指令碼出現定義的環境變數不存在,往往需要手動讓其生效(source或者.)。同時對1,2,3,4修改,必須通過source(.)讓其生效。
source(.) 、bash 及 (chmod u+x ; ./)執行指令碼的主要不同。
後兩者主要通過開啟乙個子程序去執行指令碼,執行結果返回給父程序。
而source(.)是在當前程序直接執行指令碼。下圖給出了乙個簡單的對比情況,source之後,當前shell程序直接結束。
還有一些關於變數的命令:
set:顯示及設定私有變數以及使用者變數
env:顯示及設定使用者變數變數
export:將本地變數上公升到乙個環境變數。不export,則定義的變數不會被其他非登入shell繼承。而即使export,登入到其他shell,也不會繼承該變數。同時定義的本地變數重啟失效,所以建議自選擇地加入上述四個配置檔案中。
CentOS 7常用命令
在開發中常用的一些命令。1 目錄切換 2 對目錄的操作 3 對檔案的操作 4 檔案的壓縮 解壓 5 許可權的操作 6 防火牆及埠管理 7 網路配置 8 系統資訊檢視 9 一些其他的命令 執行以下命令時需要注意自己對應系統的版本,不同的版本會稍有差別。cd 切換到根目錄 cd 切換到使用者跟目錄 cd...
CentOS 7常用命令
在開發中常用的一些命令。1 目錄切換 2 對目錄 資料夾 的操作 3 對檔案的操作 4 檔案的壓縮 解壓 5 軟體的安裝 6 許可權的操作 7 防火牆埠的開啟 8 一些其他的命令 執行以下命令時需要注意自己對應系統的版本,不同的版本會稍有差別。cd 切換到根目錄 cd 切換到使用者跟目錄 cd 切換...
Centos7常用命令
檢視服務狀態 systemctl status networkmanager network 停止服務 systemctl stop networkmanager 啟動服務 systemctl start networkmanager 禁止服務開機啟動 systemctl disable netwo...