magedu_20160729

              重定向和管道的應用與用戶、組的創建及更改

    

一.輸入、輸出重定向與tr指令的應用

   程序的數據流有三種,分爲標準輸入,標準輸出和錯誤輸出。其中的文件描述符fd(file descripter)分別使用0,1,2表示。數據流的輸入輸出依靠於鼠標鍵盤和顯示器這些終端設備連接。但是當我們想要將這些數據流導向(或被導向)指定的文件或設備時,就需要重定向的概念了。

    1.輸入重定向

  輸入重定向的符號爲:<  將符號後面的設備或文件導入前面的命令中。

舉例:~]#cat < /etc/issue  此命令表示顯示/etc/issue的文件內容


    2.輸出重定向

  輸出重定向的符號位:>  將符號前面的命令輸出導入後面的設備或文件中,其中如果被導入的文件內存在內容,> 默認覆蓋原內容。如果不想將原內容覆蓋,使用 >> 符號(表示追加輸出特性)即可。當輸出流爲錯誤輸出流時,如果想將其重定向至指定文件時,需要使用2>或2>>纔可以。如果想要合併正常輸出流與錯誤輸出流,CentOS6和以前的版本使用2>&1,用法如下:

  COMMAND >(>>) /path/to/somefiles  2>&1

而CentOS7可以使用&>(>>)的形式,用法如下:

  COMMAND &> /path/to/somefiles


    3.tr指令的相關使用方法

  tr:translate or delete characters 轉換或刪除字符命令。

  使用格式:tr [option]...  SET1 [SET2]  把輸入的數據當中的字符,凡是在SET1定義範圍內出現的,

統統對未轉換爲SET2出現的字符,用法如下:

  tr [a-z] [A-Z] < /etc/issue   /etc/issue內容小寫字母全部變爲大寫字母。

  其最常見選項的用法爲-d,表示刪除字符:tr -d SET1 < /path/from/simefile.  當我們更改字符時,tr命令常常與glob通配符一起使用,用以達到更方便的用途。

舉例:~]#tr -d [[:digit:]] < /etc/issue >/testdir/file1 表示刪除/etc/issue內的所有數字字符,將新內容重定向輸出至新文件/testdir/file1中,如果/testdir目錄下不存在名爲file1的文件,就新創建一個。

  tr命令的選項具有多種形式,具體使用方式可以參考man tr在幫助手冊中查詢。


二.管道的使用以及其靈活性

    當系統執行一個命令得出結果顯示在終端設備上後,用戶如果需要這個結果輸出並再次使用就會顯得非常麻煩。爲了解決這一問題,系統定義管道的概念:連接程序,實現將前一個命令的輸出直接向至後一個程序當輸入,符號用 | 來表示。

舉例:~]#echo “dafeigezuishuai”| tr [a-z] [A-Z] 的輸出結果爲:DAFEIGEZUISHUAI


三.用戶、組的創建、修改以及刪除命令

    linux系統衆所周知是一個可以多用戶操作的系統,爲了更好的管理文件的使用權限,系統定義了文件的屬主以及屬組的概念。當用戶使用 ll(ls -l的別名) 指令時,能夠顯示目錄下文件的詳細信息,其中顯示了文件的類型,權限,以及屬主和屬組,大小,創建日期以及名稱。其用戶與所屬組的信息都記錄在/etc/passwd下,使用cat或tail可以快速查看。

    1.用戶添加、修改與刪除

  用戶的創建、修改與刪除的命令分別爲:useradd、usermod、userdel.其命令格式都爲如下:

  useradd [option]... USERNAME

  usermod [option]... USERNAME

  userdel [option]... USERNAME

  其中選項有多種,下面列出常用選項:

  -u:指定(更改)UID;

  -g:指定(更改)基本組(此組必須存在)

  -c:指定(更改)註釋信息

  -d:指定(更改)家目錄

  -s:指定(更改)用戶的默認shell

  -G:指定(更改)用戶所屬的附加組

  useradd -r :創建系統用戶

  usermod -l :修改用戶名 eg:usermod -l mcgeewang mcgee表示將mcgee用戶名改爲mcgeewang,前提時mcgee用戶一定要存在

  usermod -o:忽略重複信息修改

  userdel -r :刪除用戶時一併刪除其家目錄


    2.組的添加修改以及用戶的歸納

  組的創建以及修改刪除與用戶基本相同,其命令爲:groupadd、groupmod、groupdel.其中注意的是修改組名稱選項爲-n而非-l:

  groupmod -n newname oldname

  查看組所包含的用戶信息配置文件位置在/etc/group中,其顯示格式爲:

  admins:123:1003:natasha,harry  表示admins組包含natasha,harry兩個組,組密碼爲123,GID爲1003



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章