天天看點

Linux的一些操作tips(逐漸補充)

一、***何幹掉不認識的ssh連結

伺服器是對外開放的,當我們使用xshell或者puffy等軟體進行遠距離管理的時候,肯定也會有其他我們不認識的IP也在蠢蠢欲動,ssh連接配接我們的伺服器。遇到這樣的IP,我們要及時的幹掉他們,步驟一共是兩步:

1)使用who指令,檢視目前連接配接伺服器的IP,使用後的效果***圖所示

Alex :0           2016-2-16 07:23 (:0)

Curry pts/0        2016-2-18 08:12 (:0)

Curry pts/1        2016-2-26 14:35 (:0)

James pts/4        2016-3-17 08:02 (:0)

Messi pts/5         2016-3-16 09:10(:0)

2)假***想要幹掉 James,那麼隻需要輸入 #fuser -k /dev/pts/4即可,或者#pkill -KILL -t pts/4。

當userdel某個使用者出現失敗的情況,也要這樣,如圖:

<a href="http://s3.51cto.com/wyfs02/M00/89/62/wKioL1gRrM2Qi1YPAACjn2LSQcc202.png" target="_blank"></a>

二、Linux×××

Linux×××比較簡單,直接在.bashrc後面加上***下内容:

export http_proxy=http://abc:3128/

export ftp_proxy=ftp://abc:3128/

export all_proxy=socks://abc:3128/

export https_proxy=https://abc:3128/

export FTP_PROXY=ftp://abc:3128/

export ALL_PROXY=socks://abc:3128/

export HTTPS_PROXY=https://abc:3128/

export HTTP_PROXY=http://abc:3128/

下次就生效了。

三、bind快速檢查配置檔案的文法問題

bind自帶檢查配置檔案的文法指令,named-checkconf,用法就是#named-checkconf 要named.conf的檔案路徑。預設情況下是目前檔案夾裡的named.conf檔案。

這個指令隻能檢查文法,不能檢查邏輯。

檢查區域檔案指令是這麼用的:#named-checkzone "區域名字" "區域對應的檔案",比***#named-checkzone "localhost" /var/named/localhost.zone。回車之後,顯示OK就代表OK。

四、從另一個伺服器裡得到檔案

從另一台伺服器裡得到檔案的方法有很多,但是最常用的就是scp,格式就是#scp IP1:/檔案路徑/{檔案1,檔案2,檔案3} 本機路徑,比***本IP是203.16.55.22,處于/data/mysql檔案夾内,目标IP是172.16.100.55。需要拷貝他們/data/mysql目錄下的1.log和2.log到目前目錄。那麼寫法就是

#scp 172.16.100.55:/data/mysql/{1.log,2.log} ./

***果連接配接成功的話,就需要輸入172.16.100.55機器的root使用者名和密碼。

但是***果出現“拉”檔案反應很慢的話,那麼不妨登陸到目标機器上去“推”檔案。還是上面那個例子,在172.16.100.5機器上先登陸到/data/mysql,推檔案的寫法:#scp 1.log 2.log 203.16.55.22:/data/mysql。然後選擇YES即可。

五、檢視IP_forward情況

<a href="http://s5.51cto.com/wyfs02/M02/7D/DF/wKiom1bxW3CTrGdFAAAqSrFOdBo275.png" target="_blank"></a>

六、Linux顯示消耗記憶體/CPU最多的10個程序的腳本

七、vim裡多開檔案及互相***面切換

在已經打開的vim裡,:sp 檔案的絕對路徑  然後回車,就看到兩個檔案呈上下文的出現了。需要切換檔案就ctrl+w+w,兩下w。

八、ipconfig裡的eth0消失了怎麼辦?

linux裡一切皆檔案,有時候可能戰友的誤操作,導緻eth0檔案被移動甚至删除,這樣的後果自然就是伺服器斷網,那麼既然#ifconfig eth0指令裡的eth0被删除,那麼去×××?

網卡配置目錄就是/etc/sysconfig/network-scripts,ifcfg-eth0檔案被删除,是以eth0就完蛋了,是以平時要養成備份ifcfg-eth0的習慣。

九、不願意使用ps -aux怎麼辦?

#ps -aux是一個很常見的指令,我們經常需要使用這個指令來檢視目前伺服器運作着具體什麼程式,而且這些程式那些是正常的、那些是睡眠的、那些是僵屍的。但是ps -aux的結果雖然很豐富,但是看起來亂亂的,而且對于僅僅需要知道目前都運作什麼程式而且程式之間那些為父子的情況而言,用#pstree -a 即可。

十、檢視網卡的指令

檢視網卡的指令很多人都會選擇#ifconfig eth0,檢視eth0這塊網卡。除此之外還有一個指令是#ip add。#ip add這個指令一樣可以檢視mtu值,ip位址和mac位址。

而#ethtool eth0,這個檢視eth0網卡的指令不會顯示Ip位址等資訊,但是可以顯示全雙工/半雙工以及百兆網卡還是千兆網卡。

十一、配置完服務,立即生效

比如把selinux關閉掉之後,需要立即生效,那麼就#setenforce 0。

十二、Too many authentication failures for 使用者名

首先要仔細檢查密碼的正确性,很多時候可能密碼裡有空格,導緻這個錯誤。

其次如果密碼正确,那麼就#vim /etc/ssh/sshd_config,把MaxAuthTries=1改成5或者2即可。

十三、mpstat command not found怎麼辦?

mpstat是跟類似top指令一樣,可以動态顯示cpu情況的指令,如果有出現不能執行該指令這種提示的話,#yum -y install sysstat。

十四、登入sqlite3的問題

一般來說,現在linux都自帶sqlite3,直接# sqlite3 就進入了相關界面,如果你要退出,就〉.quit。

十五、如圖的resolve failed的問題

<a href="http://s2.51cto.com/wyfs02/M01/89/08/wKioL1gF11_T1tWZAAEbJj3yvM4452.png" target="_blank"></a>

出現了這個resolve failed(解析失敗),有一個可能的原因就是檔案名稱不規範,裡面涉及到了“\”,這種情況下,現将這個檔案改名,比如改成111.tar.gz,然後解壓這個111.tar.gz。

十六、設定時間的問題

1

2

3

4

<code>#yum install ntp    安裝ntp</code>

<code>#service ntpd start  啟動ntp服務</code>

<code>#service ntpd status  檢查ntp的運作狀态</code>

<code>#ntpdate cn.pool.ntp.org</code>

十七、查詢關鍵字高亮的問題

<code>tail</code> <code>-f filename | </code><code>grep</code> <code>--color </code><code>"keyword"</code>

十八、查詢關鍵字所在行數的問題

<code>grep</code> <code>-n </code><code>"keyword"</code> <code>filename</code>

十九、crontab裡使用date的問題

date 和cut的組合在crontab 裡是有坑的,比如now=$(date |cut -b 12-16)可能會出現bug,這個時候需要改成now=$(date +"%H:%M")

二十、linux裡的passwd的問題

5

6

7

<code>groupadd lechange    </code><code>#建立一個叫lechange的組</code>

<code>useradd</code> <code>-g lechange lechange    </code><code>#在lechange這個組裡面建立一個使用者叫lechange</code>

<code>passwd</code> <code>lechange    </code><code>#給這個lechange使用者建立一個密碼</code>

<code>passwd</code> <code>-l lechange    </code><code>#lechange使用者的密碼不準更改,這個隻能root使用者設定</code>

<code>passwd</code>  <code>-u  lechange        </code><code>#解除lechange使用者的密碼固定</code>

<code>passwd</code> <code>-d lechange     </code><code>#清除lechange使用者的密碼,這個隻能root使用者設定</code>

<code>passwd</code> <code>-S lechange     </code><code>#查詢lechange使用者的密碼狀态,如果是空密碼反應就是Empty password.</code>

二十一、linux關閉外網權限

阿裡雲現在伺服器現在取消立刻關閉外網權限的服務,是以有時候出現意外情況的時候,需要我們自己關閉外網權限,關閉外網權限的方法很簡單:

<code>ifconfig</code> <code>eth1 down</code>

<code>ifdown eth1    </code><code>#這樣也可以</code>

其中eth1就是外網網卡,指令使用之後,直接生效,如果想恢複就是

<code>ifconfig</code> <code>eth1 up</code>

<code>service network restart</code>

<code>ifup eth1    </code><code>#這樣也可以</code>

重新開機網絡服務之後,外網網卡就會重新工作。但是要注意:#ifconfig ethX down 會把這個實體網卡的連接配接斷掉, 但是其上的ip位址還是保留在核心上的。

二十二、删除掉名字為???的檔案

有些檔案可能名字是亂碼或者是特殊符号,這種檔案删除的話直接輸入名字是不好使的,那麼就要通過inode方法去删除。如下圖,就删除了一個叫"/"名的檔案:

<a href="https://s4.51cto.com/wyfs02/M02/8D/D1/wKiom1irpcmTAWE3AAG7yPPkIHM445.png" target="_blank"></a>

删除亂碼檔案:find -inum 編号 -delete

删除亂碼檔案夾:find . -inum 編号 -exec rm {} -rf \;

二十三、想修改vim的配色方案怎麼辦?

vim7.2 預設的顔色方案在:/usr/share/vim/vim72/colors/ 這個檔案夾裡,如圖:

<a href="https://s2.51cto.com/wyfs02/M01/8F/90/wKioL1jlq3bBmf4_AABBx-0vL5Y694.png" target="_blank"></a>

如果要修改為murphy.vim這個配色的話就#vi ~/.vimrc,然後在裡面輸入colorscheme murphy,然後儲存即可。

二十四、磁盤滿的很不正常怎麼辦?

公司有一個公共挂載盤,友善各位開發做檔案共享和檔案複制粘貼,可是突然有一天#df -h的時候發現這個盤已經滿了,導緻往裡面複制檔案的時候失敗。但是使用#du -sh *發現裡面各個檔案夾的大小加起來應該還遠遠不到磁盤的容量值。

遇到這樣的情況,#service rpcbind restart 然後#service nfs restart,重新開機一下挂載盤的服務就好了。

二十五、中文插入字元串的問題

如:“我們是一家人”,我現在需要在“是”後面添加一個“幸福的”,該怎麼辦哪?

<a href="https://s2.51cto.com/wyfs02/M00/99/57/wKiom1lHcbDDiHmeAABWxuhSfMw764.png" target="_blank"></a>

&amp;代表前面正則比對到的内容,這裡就是“是”,

二十六、自定義shell指令

要登陸資料庫伺服器,每一次輸入“ssh [email protected]”很麻煩,那麼這個時候應該怎麼辦呢?

首先#vi ~/.zshrc或#vi ~/.bashrc;

“ssh [email protected]”,那麼手動添加的記錄就是: 

xxx.xxx.xxx.xxx

,就達到輸入“zhuku”連接配接到對應伺服器的效果。

二十七、設定ssh逾時自動斷開連接配接

使用#echo $TMOUT檢視逾時時間,如果是空,那麼就代表這個機器不會因為無操作而自動退出。如圖:

<a href="https://s3.51cto.com/oss/201711/14/7a7783ca753f6c82bc97af60bfc0faaf.png" target="_blank"></a>

然後就#vi /etc/profile,裡面添加一句export TMOUT=600,如果TMOUT = 0就是設定不逾時,最後

#source /etc/profile即可。

二十八、互動式 Bash Shell 擷取程序 pid

在已知程序名(name)的前提下,互動式 Shell 擷取程序 pid 有很多種方法,典型的通過 grep 擷取 pid 的方法為(這裡添加 -v grep是為了避免比對到 grep 程序):#ps -ef | grep "name" | grep -v grep | awk '{print $2}'

或者不使用 grep(這裡名稱首字母加[]的目的是為了避免比對到 awk 自身的程序):#ps -ef | awk '/[n]ame/{print $2}'

如果隻使用 x 參數的話則 pid 應該位于第一位:#ps x | awk '/[n]ame/{print $1}'

最簡單的方法是使用 pgrep:#pgrep -f name

如果需要查找到 pid 之後 kill 掉該程序,還可以使用 pkill:#pkill -f name

如果是可執行程式的話,可以直接使用 pidof:#pidof name

二十九、ping: unknown host怎麼辦?

首先#cat /etc/resolv.conf,改成與其他機器一緻的,然後再#grep hosts /etc/nsswitch.conf,檢視是否與其他機器一緻,最後#service network restart。

三十、上傳資料到阿裡雲OSS,不要下載下傳而是直接在H5網頁裡播放如何配置?

修改http頭,改成“video/mp4”

三十一、已知程序号如何獲得這個程序的端口号?

<code>ps</code> <code>-ef|</code><code>grep</code> <code>程序         </code><code>#擷取PID</code>

<code>netstat</code> <code>-nap|</code><code>grep</code> <code>PID号碼        </code><code>#即可以檢視</code>

<code></code>

 本文轉自 蘇幕遮618 51CTO部落格,原文連結:http://blog.51cto.com/chenx1242/1752138

繼續閱讀