linux操做小技巧錦集

0、經常使用Linux命令html

查看端口被佔用狀況:
一、netstat -tunlp|grep 端口號
二、lsof -i:端口號

tar 壓縮文件命令:apache

-c:創建一個壓縮文件的參數指令(create 的意思);  
-x:解開一個壓縮文件的參數指令!  
-t:查看 tarfile 裏面的文件!  
-r:向壓縮歸檔文件末尾追加文件  
-u:更新原壓縮包中的文件 
tar –xvf file.tar         // 解壓 tar包  
tar -zxvf file.tar.gz     // 解壓tar.gz  
tar -jxvf file.tar.bz2    // 解壓 tar.bz2  
tar –Zxvf file.tar.Z      // 解壓tar.Z 
tar –cvf jpg.tar *.jpg     // 將目錄裏全部jpg文件打包成tar.jpg  
tar –czf jpg.tar.gz *.jpg  // 將目錄裏全部jpg文件打包成jpg.tar後,而且將其用gzip壓縮,生成一個gzip壓縮過的包,命名爲jpg.tar.gz  
tar –cjf jpg.tar.bz2 *.jpg // 將目錄裏全部jpg文件打包成jpg.tar後,而且將其用bzip2壓縮,生成一個bzip2壓縮過的包,命名爲jpg.tar.bz2  
tar –cZf jpg.tar.Z *.jpg   // 將目錄裏全部jpg文件打包成jpg.tar後,而且將其用compress壓縮,生成一個umcompress壓縮過的包,命名爲jpg.tar.Z 

 

1、用戶及用戶組相關:安全

cat /etc/group    #查看用戶組,第3列就是組的一個ID的概念
cat /etc/shadow    #查看用戶,
cat /etc/passwd    #查看用戶,第4列,就是用戶所屬的組的ID

2、VI:bash

VI太強大了,用熟練了會以爲很好用。ssh

i    #從光標處開始編輯
s    #從光標以後開始編輯,並且會刪掉一個字符
a    #從光標以後開始編輯,可是不會刪掉字符
u #回退
/    #斜槓進入搜索模式,輸入要搜索的字符串回車便可
n    #向後查看搜索結果
N    #向前查看搜索結果
set number    #顯示行號,有時候頗有用
set nonumber    ¥取消顯示行號
gg 這裏是跳至文件首行
dG 清空文件
:s/vivian/sky/ 替換當前行第一個 vivian 爲 sky
:s/vivian/sky/g 替換當前行全部 vivian 爲 sky
:n,$s/vivian/sky/ 替換第 n 行開始到最後一行中每一行的第一個 vivian 爲 sky
:n,$s/vivian/sky/g 替換第 n 行開始到最後一行中每一行全部 vivian 爲 sky
n 爲數字,若 n 爲 .,表示從當前行開始到最後一行
:%s/vivian/sky/(等同於:g/vivian/s//sky/)替換每一行的第一個 vivian 爲 sky
:%s/vivian/sky/g(等同於:g/vivian/s//sky/g)替換每一行中全部 vivian 爲 sky

可使用 # 做爲分隔符,此時中間出現的 / 不會做爲分隔符
:s#vivian/#sky/# 替換當前行第一個 vivian/ 爲 sky/
:%s+/oradata/apras/+/user01/apras1+ (使用+ 來 替換 /):/oradata/apras/替換成/user01/apras1/ 

 

3、SSH:ui

配置SSH,請查看 http://www.cnblogs.com/whatmiss/p/7068772.htmlthis

設置超時時間 ,參考http://blog.chinaunix.net/uid-10697776-id-3341317.htmlspa

1.修改server端的 etc/ssh/sshd_config
ClientAliveInterval 60    #server每隔60秒發送一次請求給client,而後client響應,從而保持鏈接
ClientAliveCountMax 3    #server發出請求後,客戶端沒有響應得次數達到3,就自動斷開鏈接,正常狀況下,client不會不響應

4、服務自啓動相關配置:.net

這裏用的是chkconfig命令來實現。主要思路就是:unix

一、給要配置的軟件的啓動腳本cp到/etc/init.d/下面

二、設置一下腳本的權限,設置爲能執行 chmod 755 /etc/init.d/serverssh

三、而後chkconfig --add servername

四、最後開啓,chkconfig servername on

例子,apache:

[root@leheledu ~]# whereis apachectl    #找到啓動腳本在哪兒
apachectl: /usr/sbin/apachectl /usr/share/man/man8/apachectl.8.gz
[root@leheledu ~]# cp /usr/sbin/apachectl /etc/init.d/httpd    #cp
[root@leheledu ~]# chmod 755 /etc/init.d/httpd    #設置權限
[root@leheledu ~]#chkconfig --add httpd    #增長服務
[root@leheledu ~]#chkconfig httpd on    #開啓
[root@leheledu ~]#chkconfig httpd --list httpd    #查看服務確認一下

#這裏在增長服務可能會有點問題,解決辦法:
添加支持: vi /etc/init.d/httpd 在 #!/bin/sh 下添加這兩句:
#chkconfig:345 85 15 
#description:Start and stop the Apache HTTP Server 

 

5、從新rm命令,更安全:

編輯 /etc/bashrc一共加了幾個命令:rm、ur、rmt、rmh、rl,編輯後從新連接ssh命令生效。以下:

vi /etc/bashrc 

而後到最後面,增長(注意給代碼裏的漢字刪掉,不然可能影響正常):

#make rm safer by ztg 20170630
 
if [ ! -d ~/.trash ]; then
    mkdir -p ~/.trash
fi

alias rm=trash #rename rm
alias ur=unrm    #恢復文件到當前目錄
alias rmt=cleartrash #清空回收站(真正的刪除了)
alias rmh=rmhp #顯示幫助信息
alias rl='ls ~/.trash' #顯示已刪的文件
alias rmtest=rmtests

rmtests()
{
    echo 'test:'
    echo $@
    if [ -z $1 ]; then
    echo "get null"
    fi
}
rmhp()
{
    echo "all deleted files are there : ~/.trash"
    echo "rm    --    mv file to ~/.trash"
    echo "rl    --    list deleted files"
    echo "ur    --    unrm, mv file from ~/.trash to this dir, now: " $PWD
    echo "rmt --    cleartrash, real delete files"
}

unrm()
{
    if [ -z "$1" ]; then
    echo "must gave a file name"
    return
    fi
    mv -i ~/.trash/$1 ./
}
trash()
{
    if [ -z $1 ]; then
        echo "must gave a file name"
        return
    fi
    if [ $1 == 't' ] || [ $1 == '/' ]; then
        echo "can not delete dir '/'"
        return
    fi
    #echo ${#@}
    #echo $@
    char='00'
    for i in $@
        do
            #echo ${i}
            #echo ${char}
            if [ ${#char} == 1 ] && [ ${char} != ${i:0:1} ]; then
                echo 'can not delete *'
                return
            fi
            char=${i:0:1}
            #echo ${char}
            #echo '================'
        done
    #return
    mv -b $@ ~/.trash/
}



cleartrash()
{
    read -p "clear sure?[n]" confirm
    [ $confirm == 'y' ] || [ $confirm == 'Y' ]    && /usr/bin/rm -rf ~/.trash/*
}

 

6、MySQL經常使用命令:

SELECT VERSION();    #查看版本號
SHOW STATUS LIKE '%connect%';    #查看連接信息
SHOW PROCESSLIST;    #查看用戶連接狀態
UPDATE user SET password=PASSWORD('123456') WHERE user='root';    #改密碼
FLUSH PRIVILEGES;    #刷新權限

MySQL主從配置:http://www.cnblogs.com/skey_chen/p/5750574.html

7、文件搜索:

(1)grep 'test' d*    #顯示全部以d開頭的文件中包含 test的行
(2)grep 'test' aa bb cc    #顯示在aa,bb,cc文件中包含test的行
(3)grep '[a-z]\{5\}' aa    #顯示全部包含每行字符串至少有5個連續小寫字符的字符串的行
(4)grep magic /usr/src    #顯示/usr/src目錄下的文件(不含子目錄)包含magic的行
(5)grep -r magic /usr/src    #顯示/usr/src目錄下的文件(包含子目錄)包含magic的行 
(6)grep -w pattern files    #只匹配整個單詞,而不是字符串的一部分(如匹配'magic',而不是'magical'),

 

8、遠程拷貝文件

從本地複製到遠程 :

scp 1.txt user@192.168.1.1:/path/ #複製文件 
scp -r /data/ user@192.168.1.1:/path/ #複製文件夾

從遠程複製到本地  :

scp user@192.168.1.1:/path/1.txt /data/    #複製文件 
scp -P 20000 user@192.168.1.1:/path/*.txt /data/    #複製文件 
scp -r user@192.168.1.1:/path/ /data/    #複製文件夾
相關文章
相關標籤/搜索