Linux容易忘記或忽略的基礎細節(二)

密碼管理 :
shell

       passwd : 修改本身的密碼;安全

       passwd USERNAME : 修改指定用戶的密碼bash

       passwd ide

               -l : 鎖定用戶帳戶命令行

               -u : 解鎖用戶日誌

               --stdin : Standard Input 標準輸入,避免用戶交互方便寫腳本 。排序

例 :echo pass123| passwd --stdin USERNAME  :意思是直接把USERNAME的密碼修改成pass123遞歸

       密碼安全策略:進程

               足夠複雜:ip

                       一、密碼長度至少5位;

                       二、包含大寫字母、小寫字母、數字和特殊字符至少三類;

                       三、按期更換 ;不要重複使用此前用過的密碼;


改變文件權限 (mode):

       chmod : change mode

               chmod [選項] 權限  文件

                       權限定義方式:

                           同時修改三類用戶的權限 r讀權限 w寫權限 x執行權限 :

                               一、8進制數字方式:

                               r=4 w=2 x=1 -=0  rwxr-xr-x=755 r--r--r--=444 rw-r--r--=644

                               例:chmod test.sh 755

                               二、修改某一類或某些類用戶的權限 : u,g,o,a  u:屬主 g:屬組 o:其它 a:所有

                                       u=rw

                                       u=rw,g=r

                                       ug=rw

例:chmod ug=rwx test.sh

                               三、只操做某類用戶的某位或某些位權限 :u,g,o,a

                                       +/-

                                       u+w

                                       +x

                                       -x

                                       g-rw

                                       例:chmod u+w test.sh  : 給

                       選項:

                               -R :遞歸修改權限;

                               --refernce=/path/to/somefile FILE

修改文件的屬主和屬組:

       chown [選項] 用戶 文件

       chgrp [選項] 組 文件

       選項 :

                -R :遞歸修改權限;

               --refernce=/path/to/somefile FILE

       chown 用戶:組 文件

       chown 用戶.組  文件


管理員和普通用戶建立文件或目錄的默認權限;

umask : 遮罩碼

默認狀況下的root用戶umask值是022(umask命令查看),普通用戶umask值是002

[root@localhost ~]# umask
0022

文件用666減umash值 目錄用777減umash值

666-022=644

777-022=755

這時創建的文件默認權限是644(6-0,6-2,6-2),創建的目錄的默認權限是755(7-0,7-2,7-2)

# umask :不輸入參數顯示當前值

# umask [mode] :設定umask,例:umask 022;生效範圍爲當前shell,若是想全局生效則把命令寫入/etc/bashrc 或當前用戶家目錄的~/.bashrc


bash命令行中的快捷鍵

      tab    : 自動補全

       Ctrl+a : 跳到命令行首

       Ctrl+e : 跳到命令行尾

       Ctrl+u : 刪除命令行首至當前光標所在首的內容

       Ctrl+k : 刪除當前光標所在外至命令行尾的內容

       Ctrl+l : 清屏,至關於clear命令

       Ctrl+c : 取消或終止 ;

       Ctrl+z : 將當前命令掛起送至後臺,在命令輸入fg恢復;

       例:當你vi一個文件是,若是須要用shell執行別的操做,可是你又不打算關閉vi,由於你得
存盤推出,你能夠簡單的按下CTRL-Z,shell會將vi進程掛起~,當你結束了那個shell操做以後,你能夠用fg命令繼續vi你的文件。


sort : 排序

       -f : 忽略字符大小寫;

       -n : 按數值大小進行排序;

       -r : 降序;

       -u : 移除重複行,具備相同內容的行只保留一個;

       -t : 指定分隔符;

           -k : 指定按第幾項排序;

       -R : 隨機排序;

uniq :

       -c : 統計每行重複的次數

       -u : 只顯示沒有重複的行

       -d : 只顯示重複過的行;


Linux I/O重定向,管道

標準輸入 : 0

標準輸出 : 1

錯誤輸出 : 2

將默認數據流爲其它設備,就稱做IO重定向;

輸出重定向:

       > :    覆蓋重定向

               set -C : 避免覆蓋已經存在的文件中的內容

                       強制覆蓋: >|

               set+C: 關閉上述功能

       >> :追加劇定向:

       /dev/null : 數據黑洞,bit bucket

錯誤輸出重定向:

       2> : 覆蓋重定向;

       2>> : 追加劇定向;

同時重定標準輸出和錯誤 輸出:

       COMMAND > /path/to/stdout 2> /path/to/error

       COMMAND 1> /path/to/stdout 2> /path/to/error

標準輸出和錯誤輸出定向至同一個文件:

       &>

       &>>

       COMMAND &> /path/to/stdout

       COMMAND > /path/to/somewhere 2>&1

輸入重定向:

       <

               COMMAND < /from/somewhere


       <<: Here Document,此建立文檔

           cat > /path/to/somefile << EOF

           abc

           hello

           EOF

           一般用於腳本中生成文檔

           cat << EOF

           abc

           hello

           EOF

           一般用於腳本 中向用戶輸出大段信息;


管道:

COMMAND1 | COMMAND2 | COMMAND3 | ...

管道的最後一個命令是在當前shell的子shell中執行;

多道輸出:

       tee : 顯示器和文件同時輸出,既顯示的顯示,又保留一份到日誌供後期查看。

       COMMAND | tee /path/to/somewhere

   例如過濾IP:

[root@localhost ~]# ifconfig | grep "inet addr:" | grep -v 」127.0.0.1「 | cut -d: -f2 | cut -d' ' -f1 | tee ip.txt
192.168.1.202
192.168.0.202
127.0.0.1
[root@localhost ~]# cat ip.txt
192.168.1.202
192.168.0.202
127.0.0.1
相關文章
相關標籤/搜索