<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                ## 13.6 Linux 主機上的使用者訊息傳遞 談了這么多的帳號問題,總是該要談一談,那么如何針對系統上面的使用者進行查詢吧? 想幾個狀態,如果你在 Linux 上面操作時,剛好有其他的使用者也登陸主機,你想要跟他對談,該如何是好? 你想要知道某個帳號的相關信息,該如何查閱?呼呼!下面我們就來聊一聊~ ### 13.6.1 查詢使用者: w, who, last, lastlog 如何查詢一個使用者的相關數據呢?這還不簡單,我們之前就提過了 [id](../Text/index.html#id), [finger](../Text/index.html#finger) 等指令了,都可以讓您了解到一個使用者的相關信息啦!那么想要知道使用者到底啥時候登陸呢? 最簡單可以使用 last 檢查啊!這個玩意兒我們也在 [第十章 bash](../Text/index.html#last) 提過了, 您可以自行前往參考啊!簡單的很。 ![鳥哥的圖示](https://box.kancloud.cn/2016-05-13_5735736501917.gif "鳥哥的圖示") **Tips** 早期的 Red Hat 系統的版本中, last 僅會列出當月的登陸者信息,不過在我們的 CentOS 5.x 版以后, last 可以列出從系統創建之后到目前為止的所有登陸者信息!這是因為登錄文件輪替的設置不同所致。 詳細的說明可以參考后續的[第十八章登錄文件簡介](../Text/index.html)。 那如果你想要知道目前已登陸在系統上面的使用者呢?可以通過 w 或 who 來查詢喔!如下范例所示: ``` [root@study ~]# w 01:49:18 up 25 days, 3:34, 3 users, load average: 0.00, 0.01, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT dmtsai tty2 07Jul15 12days 0.03s 0.03s -bash dmtsai pts/0 172.16.200.254 00:18 6.00s 0.31s 0.11s sshd: dmtsai [priv] # 第一行顯示目前的時間、開機 (up) 多久,幾個使用者在系統上平均負載等; # 第二行只是各個項目的說明, # 第三行以后,每行代表一個使用者。如上所示,dmtsai 登陸并取得終端機名 tty2 之意。 [root@study ~]# who dmtsai tty2 2015-07-07 23:07 dmtsai pts/0 2015-07-22 00:18 (192.168.1.100) ``` 另外,如果您想要知道每個帳號的最近登陸的時間,則可以使用 lastlog 這個指令喔! lastlog 會去讀取 /var/log/lastlog 文件,結果將數據輸出如下表: ``` [root@study ~]# lastlog Username Port From Latest root pts/0 Wed Jul 22 00:26:08 +0800 2015 bin **Never logged in** ....(中間省略).... dmtsai pts/1 192.168.1.100 Wed Jul 22 01:08:07 +0800 2015 vbird1 pts/0 Wed Jul 22 01:32:17 +0800 2015 pro3 **Never logged in** ....(以下省略).... ``` 這樣就能夠知道每個帳號的最近登陸的時間啰~ ^_^ ### 13.6.2 使用者對談: write, mesg, wall 那么我是否可以跟系統上面的使用者談天說地呢?當然可以啦!利用 write 這個指令即可。 write 可以直接將訊息傳給接收者啰!舉例來說,我們的 Linux 目前有 vbird1 與 root 兩個人在線上, 我的 root 要跟 vbird1 講話,可以這樣做: ``` [root@study ~]# write 使用者帳號 [使用者所在終端接口] [root@study ~]# who vbird1 tty3 2015-07-22 01:55 &lt;==有看到 vbird1 在線上 root tty4 2015-07-22 01:56 [root@study ~]# write vbird1 pts/2 Hello, there: Please don't do anything wrong... &lt;==這兩行是 root 寫的信息! # 結束時,請按下 [crtl]-d 來結束輸入。此時在 vbird1 的畫面中,會出現: Message from root@study.centos.vbird on tty4 at 01:57 ... Hello, there: Please don't do anything wrong... EOF ``` 怪怪~立刻會有訊息回應給 vbird1 !不過......當時 vbird1 正在查數據,哇! 這些訊息會立刻打斷 vbird1 原本的工作喔!所以,如果 vbird1 這個人不想要接受任何訊息,直接下達這個動作: ``` [vbird1@study ~]$ mesg n [vbird1@study ~]$ mesg is n ``` 不過,這個 mesg 的功能對 root 傳送來的訊息沒有抵擋的能力!所以如果是 root 傳送訊息, vbird1 還是得要收下。 但是如果 root 的 mesg 是 n 的,那么 vbird1 寫給 root 的信息會變這樣: ``` [vbird1@study ~]$ write root write: root has messages disabled ``` 了解乎?如果想要解開的話,再次下達“ mesg y ”就好啦!想要知道目前的 mesg 狀態,直接下達“ mesg ”即可!瞭呼? 相對于 write 是僅針對一個使用者來傳“簡訊”,我們還可以“對所有系統上面的使用者傳送簡訊 (廣播)”哩~ 如何下達?用 wall 即可啊!他的語法也是很簡單的喔! ``` [root@study ~]# wall "I will shutdown my linux server..." ``` 然后你就會發現所有的人都會收到這個簡訊呢!連發送者自己也會收到耶! ### 13.6.3 使用者郵件信箱: mail 使用 wall, write 畢竟要等到使用者在線上才能夠進行,有沒有其他方式來聯絡啊? 不是說每個 Linux 主機上面的使用者都具有一個 mailbox 嗎? 我們可否寄信給使用者啊!呵呵!當然可以啊!我們可以寄、收 mailbox 內的信件呢! 一般來說, mailbox 都會放置在 /var/spool/mail 里面,一個帳號一個 mailbox (文件)。 舉例來說,我的 vbird1 就具有 /var/spool/mail/vbird1 這個 mailbox 喔! 那么我該如何寄出信件呢?就直接使用 mail 這個指令即可!這個指令的用法很簡單的,直接這樣下達:“ mail -s "郵件標題" username@localhost ”即可! 一般來說,如果是寄給本機上的使用者,基本上,連“ @localhost ”都不用寫啦! 舉例來說,我以 root 寄信給 vbird1 ,信件標題是“ nice to meet you ”,則: ``` [root@study ~]# mail -s "nice to meet you" vbird1 Hello, D.M. Tsai Nice to meet you in the network. You are so nice. byebye! . &lt;==這里很重要喔,結束時,最后一行輸入小數點 . 即可! EOT [root@study ~]# &lt;==出現提示字符,表示輸入完畢了! ``` 如此一來,你就已經寄出一封信給 vbird1 這位使用者啰,而且,該信件標題為: nice to meet you,信件內容就如同上面提到的。不過,你或許會覺得 mail 這個程序不好用~ 因為在信件編寫的過程中,如果寫錯字而按下 Enter 進入次行,前一行的數據很難刪除ㄟ! 那怎么辦?沒關系啦!我們使用數據流重導向啊!呵呵!利用那個小于的符號 ( &lt; ) 就可以達到取代鍵盤輸入的要求了。也就是說,你可以先用 vi 將信件內容編好, 然后再以 mail -s "nice to meet you" vbird1 &lt; filename 來將文件內容傳輸即可。 例題:請將你的主文件夾下的環境變量文件 (~/.bashrc) 寄給自己!答:mail -s "bashrc file content" dmtsai &lt; ~/.bashrc例題:通過管線命令直接將 ls -al ~ 的內容傳給 root 自己!答:ls -al ~ &#124; mail -s "myfile" root 剛剛上面提到的是關于“寄信”的問題,那么如果是要收信呢?呵呵!同樣的使用 mail 啊! 假設我以 vbird1 的身份登陸主機,然后輸入 mail 后,會得到什么? ``` [vbird1@study ~]$ mail Heirloom Mail version 12.5 7/5/10\. Type ? for help. "/var/spool/mail/vbird1": 1 message 1 new &gt;N 1 root Wed Jul 22 02:09 20/671 "nice to meet you" & &lt;==這里可以輸入很多的指令,如果要查閱,輸入 ? 即可! ``` 在 mail 當中的提示字符是 & 符號喔,別搞錯了~輸入 mail 之后,我可以看到我有一封信件, 這封信件的前面那個 &gt; 代表目前處理的信件,而在大于符號的右邊那個 N 代表該封信件尚未讀過, 如果我想要知道這個 mail 內部的指令有哪些,可以在 & 之后輸入“ ? ”,就可以看到如下的畫面: ``` & ? mail commands type &lt;message list&gt; type messages next goto and type next message from &lt;message list&gt; give head lines of messages headers print out active message headers delete &lt;message list&gt; delete messages undelete &lt;message list&gt; undelete messages save &lt;message list&gt; folder append messages to folder and mark as saved copy &lt;message list&gt; folder append messages to folder without marking them write &lt;message list&gt; file append message texts to file, save attachments preserve &lt;message list&gt; keep incoming messages in mailbox even if saved Reply &lt;message list&gt; reply to message senders reply &lt;message list&gt; reply to message senders and all recipients mail addresses mail to specific recipients file folder change to another folder quit quit and apply changes to folder xit quit and discard changes made to folder ! shell escape cd &lt;directory&gt; chdir to directory or home if none given list list names of all available commands ``` &lt;message list&gt; 指的是每封郵件的左邊那個數字啦!而幾個比較常見的指令是: | 指令 | 意義 | | --- | --- | | h | 列出信件標頭;如果要查閱 40 封信件左右的信件標頭,可以輸入“ h 40 ” | | d | 刪除后續接的信件號碼,刪除單封是“ d10 ”,刪除 20~40 封則為“ d20-40 ”。 不過,這個動作要生效的話,必須要配合 q 這個指令才行(參考下面說明)! | | s | 將信件儲存成文件。例如我要將第 5 封信件的內容存成 ~/mail.file:“s 5 ~/mail.file” | | x | 或者輸入 exit 都可以。這個是“不作任何動作離開 mail 程序”的意思。 不論你剛剛刪除了什么信件,或者讀過什么,使用 exit 都會直接離開 mail,所以剛剛進行的刪除與閱讀工作都會無效。 如果您只是查閱一下郵件而已的話,一般來說,建議使用這個離開啦!除非你真的要刪除某些信件。 | | q | 相對于 exit 是不動作離開, q 則會實際進行你剛剛所執行的任何動作 (尤其是刪除!) | 舊版的 CentOS 在使用 mail 讀信后,通過 q 離開始,會將已讀信件移動到 ~/mbox 中,不過目前 CentOS 7 已經不這么做了! 所以離開 mail 可以輕松愉快的使用 q 了呢!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看