zoukankan      html  css  js  c++  java
  • linux操作小技巧锦集

    0、常用Linux命令

    查看端口被占用情况:
    1、netstat -tunlp|grep 端口号
    2、lsof -i:端口号

    tar 压缩文件命令:

    -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 

    一、用户及用户组相关:

    cat /etc/group    #查看用户组,第3列就是组的一个ID的概念
    cat /etc/shadow    #查看用户,
    cat /etc/passwd    #查看用户,第4列,就是用户所属的组的ID

    二、VI:

    VI太强大了,用熟练了会觉得很好用。

    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/ 

    三、SSH:

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

    设置超时时间 ,参考http://blog.chinaunix.net/uid-10697776-id-3341317.html

    1.修改server端的 etc/ssh/sshd_config
    ClientAliveInterval 60    #server每隔60秒发送一次请求给client,然后client响应,从而保持连接
    ClientAliveCountMax 3    #server发出请求后,客户端没有响应得次数达到3,就自动断开连接,正常情况下,client不会不响应

    四、服务自启动相关配置:

    这里用的是chkconfig命令来实现。主要思路就是:

    1、给要配置的软件的启动脚本cp到/etc/init.d/下面

    2、设置一下脚本的权限,设置为能执行 chmod 755 /etc/init.d/serverssh

    3、然后chkconfig --add servername

    4、最后开启,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 

    五、重新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/*
    }

    六、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

    七、文件搜索:

    (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'),

    八、远程拷贝文件

    从本地复制到远程 :

    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/    #复制文件夹
  • 相关阅读:
    redis 数据迁移
    redis
    Redis集群的三种模式
    Golang 协程 (goroutine) 与通道 (channel)
    Python生成器next方法和send方法区别
    python 文件
    Tornado 异步以及非阻塞的I/O
    python 多进程和多线程3 —— asyncio
    利用CSS改变图片颜色的100种方法!
    jquery获取div的位置
  • 原文地址:https://www.cnblogs.com/whatmiss/p/7098006.html
Copyright © 2011-2022 走看看