无网不进  
软硬件开发

 

 

一:find快速检索文件内容

    功能描述:从当前目录里面找到 youdutech相关信息
    第一种实现方法:find + exec +grep
     find . -type f -exec  grep -Hn --color=auto "youdutech" {} \;
    第二种实现方法 find+xargs +grep
    find . -type f | xargs  grep -Hn --color=auto "CUDA_VERSION"
    提升搜索速度的常用方式 —加上文件名过滤
    find . -type f -name "*.py" | xargs  grep -Hn --color=auto "CUDA_VERSION"
    参数解释
    find . “.” 表示当前目录
    -type f 表示普通文件类型,因为find还可以查找块文件,套接字文件等类型。
    -name "*.py"过滤搜索的文件名字特征。
    -exec [xx] {} \; 针对发现的内容执行XX命令。其中{}表示find的内容,注意 {} 和\之间有空格,\;表示分割不同的find内容。
    | xargs [xx] 把前一个命令的输出当做是xx 命令的输入。其中 ”|“表示通道。
    -Hn H表示显示文件名称, n表示显示行号。
    --color=auto 表示高亮显示输出。
     

二:Linux解包、压缩文件文件夹

    .tar
      解包:tar xvf FileName.tar
      打包:tar cvf FileName.tar DirName
      (注:tar是打包,不是压缩!)
      ———————————————
      .gz
      解压1:gunzip FileName.gz
      解压2:gzip -d FileName.gz
      压缩:gzip FileName
      .tar.gz 和 .tgz
      解压:tar zxvf FileName.tar.gz
      压缩:tar zcvf FileName.tar.gz DirName
      ———————————————

三:Linux静态IP配置

    vim /etc/sysconfig/network-scripts/[网卡名]

    TYPE=Ethernet
    DEVICE=enp0s3               #绑定的网卡名称
    ONBOOT=yes                  #开机启用(重要)
    BOOTPROTO=static            #使用静态IP
    IPADDR=192.168.1.203        #IP地址
    NETMASK=255.255.255.0       #子网掩码
    GATEWAY=192.168.1.1         #网关
    DNS1=192.168.1.1            #DNS
    DEFROUTE=yes
    PEERDNS=yes
    PEERROUTES=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_PEERDNS=yes
    IPV6_PEERROUTES=yes
    IPV6_FAILURE_FATAL=no
    NAME=enp0s3
    UUID=8eeba138-67e9-4532-b5da-a25c596a4354
     

四:Android 系统编译 增加效率命令

    1 开始编译[根目录]

    (1) 在 .bashrc文件末尾添加:export USE_CCACHE = 1

          echo export USE_CCACHE=1 >> ~/.bashrc

    (2) 为了提高编译效率,设置编译器高速缓存:

    prebuilts/misc/linux-x86/ccache/ccache -M 50G

四:Python安装&覆盖老版本

    1:可利用linux自带下载工具wget下载 :

    wget http://www.python.org/ftp/python/3.3.0/Python-3.3.0.tgz

    2:下载完成后到下载目录下,解压

    tar -xzvf Python-3.3.0.tgz

    3、进入解压缩后的文件夹

    cd Python-3.3.0

    在编译前先在/usr/local建一个文件夹python3(作为python的安装路径,以免覆盖老的版本)

    ./configure --prefix=/usr/local/python3 (生成Makefile)

    make && make install

    6、此时没有覆盖老版本,再将原来/usr/bin/python链接改为别的名字(笔者保留了两个版本的,一个python,一个python3,所以第6步笔者略过,把第7步的链接后名字改为python3,读者可按正常步骤,实现的效果相同)

    mv /usr/bin/python /usr/bin/python_old2

    7、再建立新版本python的链接

    ln -s /usr/local/python3/bin/python3  /usr/bin/python

    8、这个时候输入

    python -V

 五:git 当前分支 master 没有对应的上游分支

    1: git init  后为一个空的仓库

    2:git clone  url   path

    3:克隆后 此时无分支,加入修改后 git add -> gitcommit ->   git push --set-upstream origin master (或者其他分支)

    fatal: 当前分支 master 没有对应的上游分支。
    为推送当前分支并建立与远程上游的跟踪,使用

        git push --set-upstream origin master

六:阿里云ECS Linux解决SSH会话连接超时问题

    用SSH客户端连接linux服务器时,经常会出现与服务器会话连接中断现象,造成这个问题的原因便是SSH服务有自己独特的会话连接机制。

    解决方案:

    1、设置服务器向SSH客户端连接会话发送频率和时间
    #vi /etc/ssh/sshd_config,添加如下两行
    ClientAliveInterval 60
    ClientAliveCountMax 86400

    注:ClientAliveInterval选项定义了每隔多少秒给SSH客户端发送一次信号;ClientAliveCountMax选项定义了超过多少秒后断开与ssh客户端连接

    2、重新启动系统SSH服务
    #service sshd restart

 七:一键解压当前目录下所有的 tar.gz(或其他格式)

     在tar.gz文件所在的目录下建立run.sh 内容为:

        #!/bin/bash
        for wav in ./*.tar.gz; do
            echo "Extracting wav from $wav"
            tar -zxf $wav && rm $wav
        done

    添加执行权限

    chmod +x run.sh
    执行

    ./run.sh
    1

    这段代码是从kaldi脚本里面抽出来的,所以不难解释为什么用的是wav变量  

    wav 表示 xxx.tar的

    如果解压的为其他格式,则稍微修改代码即可。

七:GIT错误:master -> master (branch is currently checked out)

    1.错误信息  

    Could not chdir to home directory /var/services/homes/gaofei: No such file or directory
    对象计数中: 3, 完成.
    写入对象中: 100% (3/3), 202 bytes | 0 bytes/s, 完成.
    Total 3 (delta 0), reused 0 (delta 0)
    remote: error: refusing to update checked out branch: refs/heads/master
    remote: error: By default, updating the current branch in a non-bare repository
    remote: is denied, because it will make the index and work tree inconsistent
    remote: with what you pushed, and will require 'git reset --hard' to match
    remote: the work tree to HEAD.
    remote:
    remote: You can set 'receive.denyCurrentBranch' configuration variable to
    remote: 'ignore' or 'warn' in the remote repository to allow pushing into
    remote: its current branch; however, this is not recommended unless you
    remote: arranged to update its work tree to match what you pushed in some
    remote: other way.
    remote:
    remote: To squelch this message and still keep the default behaviour, set
    remote: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
    To ssh://gaofei@192.168.0.11//volume1/git_prj/ecc
     ! [remote rejected] master -> master (branch is currently checked out)
    error: 无法推送一些引用到 'ssh://gaofei@192.168.0.11//volume1/git_prj/ecc':错误
     2.错误原因

    其实出错信息中有提示“remote: ‘receive.denyCurrentBranch’ configuration variable to ‘refuse’.”,即使远程git拒绝了push操作
    3.解决办法

    修改git服务端的.git/config文件,增加push的设置,添加如下代码:

        [receive]
         denyCurrentBranch = ignore

     

八:Linux合并文件

    cat file1 file2 > file   

    注: 一般合并的文件基本名称都差不多  比如 xxx.tar.0   xxx.tar.1

    此时 执行命令  cat xxx.tar.*  > (输出的文件名.tar)

 九:Linux下 打包压缩、解包解压缩

    打包压缩:

    tar -cvf   log.tar log2012.log    仅打包,不压缩!
    tar -zcvf log.tar.gz log2012.log   打包后,以 gzip 压缩
    tar -jcvf  log.tar.bz2 log2012.log  打包后,以 bzip2 压缩
    在选项f之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。
    如果加z选项,则以.tar.gz或.tgz来代表gzip压缩过的tar包;
    如果加j选项,则以.tar.bz2来作为tar包名。

      -j, --bzip2
      -z, --gzip, --gunzip --ungzip
      -v, --verbose
           verbosely list files processed
           详细列出处理过的文件
      -f, --file ARCHIVE
           use archive file or device ARCHIVE
           使用存档文件或设备存档(指定存档文件)
           切记,这个参数是最后一个参数,后面只能接档案名。
           tar 命令 必须和-f命令连用
           在选项f之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。 如果加z选项,则以.tar.gz或.tgz来代表gzip压缩过的tar包;如果加j选项,则以.tar.bz2来作为tar包名。
     

    解包解压缩:

    tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下 jz选项依据压缩属性需要加上 -C, --directory DIR change to directory DIR

    tar -zxf    XXX.tar.gz   解压tar.gz

    解压.tgz:

         

    然后首先:打开终端

    1,进入下载路径下,比如我的就是进入Downloads下。

    输入命令: cd Downloads

    2,解压到当前文件夹

    输入:tar zxvf  文件名.tgz -C ./     比如我的是:tar zxvf simple-examples.tgz -C ./

    3,解压到指定文件夹下

    输入:tar  zxvf  文件名.tgz  -C /指定路径

    比如我想解压到Home下:则变成tar zxvf simple-examples.tgz -C /Home

 
十:Linux中执行命令 老师 ls -l  后,显示的各属性含义图解

 
十一: Ubuntu 修改或创建交换分区的大小

    第一:查看当前空间大小:
    #free -m
                     total       used       free     shared    buffers     cached
    Mem:          1002        977         24          0         25        638
    -/+ buffers/cache:        313        688
    Swap:         991          0       991

    创建交换分区:
    第二:进入root用户 输入 sudo -i 然后输入密码,就可以了。
    第三:用户在根目录下创建一个目录
            mkdir /swap
    第四:进入swap目录;
            cd /swap
    第五:输入要创建交换分区命令然后回车;
           dd if=/dev/zero of=swapfile bs=1024 count=1029000
           可以看到如下内容:

           记录了1029000+0 的读入
           记录了1029000+0 的写出
           1053696000字节(1.1 GB)已复制,69.0168 秒,15.3 MB/秒

           可以用ls -lh 可以看到一个文件。
           -rw-r--r-- 1 root root 1005M 2010-01-02 14:35 swapfile

    第六:输入命令       mkswap swapfile 可以看到下面内容:
            mkswap: swapfile: warning: don't erase bootbits sectors
            on whole disk. Use -f to force.
            Setting up swapspace version 1, size = 1028996 KiB
            no label, UUID=82eda1f8-f20a-4ca0-ba21-a4bdce5b765a
    第七:挂载交换分区:swapon swapfile
    如 果想卸载的话输入:swapoff swapfile
    第八:再查看空间大小:free -m
                 total       used       free     shared    buffers     cached
    Mem:          1002        980         21          0         13        738
    -/+ buffers/cache:        229        773
    Swap:         1899          0       1899
     

十二 ImportError: No module named PIL

    Ubuntu 执行:

    apt-get install python-pip

    ~# sudo -H pip  install pillow

    install的时候可能会出错:

        SSLError: The read operation timed out

    解决办法:

        增加--default-timeout=100,加大超时时间。如:  sudo -H pip --default-timeout=100   install pillow

    依赖:

        centos:

    sudo yum install python-devel

    sudo yum install zlib-devel

    sudo yum install libjpeg-turbo-devel

      ubuntu

    sudo apt install python-dev

    sudo apt install libjpeg-dev

十三 git 对比版本间的差异以及输出差异的文件

    git diff 63af9cc0e8070a58a61642c1cf514c47f371b160    1141d56c04b11c3bdfa51e948ced5099c4f9d4eb  --name-only | xargs -i cp --parents {}  ../work

    将新提交所做的修改,把所有涉及的文件带路径复制到需要备份的文件夹
    git diff commit_ID1^..commid_ID2 --name-only | xargs -i cp --parents {} new_folder
    git diff commit_ID1^..commid_ID2 --name-only 显示两个提交修改的文件
    cp --parents {} new_folder 将文件带路径复制
     | xargs -i 这是管道,将前面的指令的输出作为参数,后面的{} 代表前面的输出

十四 ubuntu中文版man手册配置方法

     man默认是英文的,但ubuntu的源里也有中文版的。以下是配置方法:

    1)  终端输入sudo apt-get install manpages-zh

    2)  安装后修改配置文件sudo gedit /etc/manpath.config

    3)  将所有的/usr/share/man替换为/usr/share/man/zh_CN

    4)  保存即可。

十五 ubuntu:14.04内mkisofs: command not found

     Notice file: system/extras/ext4_utils/NOTICE -- out-E8909/target/product/msm8909/obj/NOTICE_FILES/src//system/lib/libext4_utils_static.a.txt
    /bin/bash: mkisofs: command not found

        $ sudo apt-get update
        $ sudo apt-get install genisoimage

十六:Ubuntu gcc5.0升级到gcc7.0

    为了使用C++14/17的新特性,我们难免要升级下自己的GCC版本,同时还要保证自己新安装的GCC生效,并且和原GCC共存。
    安装GCC-5.0

    sudo add-apt-repository ppa:ubuntu-toolchain-r/test
    sudo apt-get update
    sudo apt-get install gcc-5 g++-5
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 60 --slave /usr/bin/g++ g++ /usr/bin/g++-5
     

    其中最后一句会把当前的默认GCC版本设置为gcc-5。
    安装GCC-7.0

    sudo add-apt-repository ppa:jonathonf/gcc-7.1
    sudo apt-get update
    sudo apt-get install gcc-7 g++-7
    sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-7 60 --slave /usr/bin/g++ g++ /usr/bin/g++-7
     

十七:Ubuntu18.04更换国内源和apt常用的命令

    sudo apt-get update  更新源
    sudo apt-get install package 安装包
    sudo apt-get remove package 删除包
    sudo apt-cache search package 搜索软件包
    sudo apt-cache show package  获取包的相关信息,如说明、大小、版本等
    sudo apt-get install package --reinstall  重新安装包
    sudo apt-get -f install  修复安装
    sudo apt-get remove package --purge 删除包,包括配置文件等
    sudo apt-get build-dep package 安装相关的编译环境
    sudo apt-get upgrade 更新已安装的包
    sudo apt-get dist-upgrade 升级系统
    sudo apt-cache depends package 了解使用该包依赖那些包
    sudo apt-cache rdepends package 查看该包被哪些包依赖
    sudo apt-get source package  下载该包的源代码
    sudo apt-get clean && sudo apt-get autoclean 清理无用的包
    sudo apt-get check 检查是否有损坏的依赖

    ---------------------------------------------------------------------------------

    安装php-curl
    sudo apt-get install php7.0-curl
    //要选择自己已安装的php准确版本,如7.0, 5.6
    执行这条命令后报错了 unable to locate package php7.0-curl
    后来发现是这个源没有该curl模块,所以我们采用以下方法

    sudo apt-add-repository ppa:ondrej/php
    //更添加这个源
    sudo apt-get update
    sudo apt-get install php7.0-curl
    //这时成功安装php7.0-curl

     

十八:git错误 remote:error:refusing to update checked out branch:refs/heads/master

    错误原型:

        remote: error: refusing to update checked out branch: refs/heads/master
         

        remote: error: By default, updating the current branch in a non-bare repository
         

        remote: error: is denied, because it will make the index and work tree inconsistent
         

        remote: error: with what you pushed, and will require 'git reset --hard' to match
         

        remote: error: the work tree to HEAD.
         

        remote: error:
         

        remote: error: You can set 'receive.denyCurrentBranch' configuration variable to
         

        remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into
         

        remote: error: its current branch; however, this is not recommended unless you
         

        remote: error: arranged to update its work tree to match what you pushed in some
         

        remote: error: other way.
         

        remote: error:
         

        remote: error: To squelch this message and still keep the default behaviour, set
         

        remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
         

        To git@192.168.1.X:/var/git.server/.../web
         

        ! [remote rejected] master -> master (branch is currently checked out)
         

        error: failed to push some refs to 'git@192.168.1.X:/var/git.server/.../web'

    解决办法:

    这是由于git默认拒绝了push操作,需要进行设置,修改.git/config文件后面添加如下代码:

        [receive]

        denyCurrentBranch = ignore

 十九:JDK1.7下载

You asked for an OpenJDK 7 build but your version is

    1: oracle : 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u80-oth-JPR

        You asked for an OpenJDK 7 build but your version is
        java version "1.7.0_79" Java(TM) SE Runtime Environment (build 1.7.0_79-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode).

    2:openjdk

         需要 apt-get update

    apt-get install openjdk-7-jdk

 二十:git 打patch 并生成修改过的源文件

    1: git diff id1:id2 --name-only | xargs -i cp --parents {} ../../patch/

    2:git diff id(此commit id之前的所有提交生成)  --name-only | xargs -i cp --parents {} ../../patch/(生成源文件的路径)

二十一:ar 分包压缩与合并

    假设要将下面这个文件压缩并分割成多个1.4M的文件
    -r-xr-xr-x 1 root root 4.4M 2004-08-27 01:50 a.chm
    可以用下面的命令:
    tar -jcf - a.chm | split -b 1400k - a.chm.tar.bz2.
    完成后会生产下面的文件:
    -rw-r--r-- 1 root root 1433600 2004-08-27 01:55 a.chm.tar.bz2.aa
    -rw-r--r-- 1 root root 1433600 2004-08-27 01:56 a.chm.tar.bz2.ab
    -rw-r--r-- 1 root root 1433600 2004-08-27 01:56 a.chm.tar.bz2.ac
    -rw-r--r-- 1 root root 225280 2004-08-27 01:56 a.chm.tar.bz2.ad

    还原文件用下面的命令:
    cat a.chm.tar.bz2.a* | tar -jx

二十二:gitignore文件不生效

    gitignore文件里面明明写好了.idea文件的忽略规则,理论上不会提交,但是每次改完代码要提交之前查看status,都会提示.idea里的某个文件有改动,需要提交,这就很烦心了,搜了下其他人的博客,解决方法如下:
    原因
    .gitignore只能忽略之前没有被staged(缓存)的文件,如果已经staged纳入了版本管理中,在修改.gitignore是无效的,查看了下远程的代码,确实存在.idea文件,说明它之前被提交过,已经staged过了;
    下面这段话来自github: .gitignore文件不工作 因此,要想用gitignore忽略文件,必须先把它们从staged中移除

    解决方法

        git rm -r --cached xxx.xml(要忽略的文件名)(最好别用git rm -r --cached . 效果有点吓人)
        git add .
        git commit -m ‘update .gitignore’

    上面的三行代码,就清除了这个文件的本地缓存,从staged中移除了,这样.idea文件就会按照修改之后的gitignore规则来执行了,不会在提交了;

二十三:tar (child): lbzip2: Cannot exec: No such file or directory 解决方法

    ar (child): lbzip2: Cannot exec: No such file or directory 解决方法
    今天用tar命令解压文件的时候出错了,信息如下:

    tar (child): lbzip2: Cannot exec: No such file or directory
    tar (child): Error is not recoverable: exiting now
    tar: Child returned status 2
    tar: Error is not recoverable: exiting now

    解决方法很简单,只要安装bzip2就行了,yum安装的命令如下:

    yum -y install bzip2

    如果虚拟机无法联网,也可以源码安装,下载:bzip2-1.0.6.tar,安装过程如下:

    tar zxvf bzip2-1.0.6.tar.gz
    cd bzip2-1.0.6/
    #为编译做准备,创建libbz2.so动态链接库(这一步很重要,安装python的时候如果没有这一步,python安装不上bz2模块):
    make -f Makefile-libbz2_so
    make && make install

二十四:ubuntu下载速度慢的解决办法--修改下载源

    安装的Ubuntu源   通过IP地址可知都在国外,下载速度一些文件或者apt  install 相当的慢。
    解决方法:

    sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup #备份当前也就是默认官方的源列表

    sudo gedit /etc/apt/sources.list #修改sources.list文件中源的列表,删除全部内容,替换为国内源地址。 保存编辑好的文件。

    sudo apt-get update #更新源列表,换源后必须执行

    提示可能的原因是dns解析的问题。需要修改nameserver,于是执行sudo vi /etc/resolv.conf进行设置。

    将nameserver设置为8.8.8.8
    国内源列表:

    deb http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe
    deb http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe
    deb http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe
    deb http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe
    deb http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty main multiverse restricted universe
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-backports main multiverse restricted universe
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-proposed main multiverse restricted universe
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-security main multiverse restricted universe
    deb-src http://mirrors.aliyun.com/ubuntu/ trusty-updates main multiverse restricted universe

         
    2其他源
    18.04

    # 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

    # 预发布软件源,不建议启用
    # deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
    # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

二十五:Ubuntu16.04 安装 卸载 pip

    问题描述

    在虚拟机上安装好Ubuntu16.04, 一段时间之后重新打开准备编译python程序,在安装所需包时发现,pip pip3,指向的都是python2.7;

    root@ubuntu:~$ pip3.5 -V
    pip 19.1.1 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)
    root@ubuntu:~$ pip -V
    pip 19.1.1 from /usr/local/lib/python2.7/dist-packages/pip (python 2.7)
     

    传统安装卸载PIP:

        安装pip
        sudo apt-get install python3-pip

        升级 pip
        sudo pip3 install --upgrade pip

        卸载
        sudo apt-get remove python3-pip

    2
    真正解决我的问题的办法:

    安装pip3
    使用下面的语句安装,若你是想为系统自带的python3.5 配置pip3,只需执行 curl https://bootstrap.pypa.io/get-pip.py | sudo python3.6。执行后若是pip指向python3.5;我们只需再次执行 curl https://bootstrap.pypa.io/get-pip.py | sudo python2.7即可。
    # 检查并安装python3.6

    sudo apt-get update

    sudo apt-get install python3.6 curl https://bootstrap.pypa.io/get-pip.py | sudo python3.6

二十六:Ubuntu 切换python版本

    1.查看你系统中有哪些Python的二进制文件可供使用,

    ls /usr/bin/python*

    2.查看python替换版本信息:

    update-alternatives --list python

    会输出以下结果:

    如果出现   update-alternatives:error:no alternatives for python

    则表示Python 的替换版本尚未被update-alternatives 命令识别。想解决这个问题,我们需要更新一下替换版本,将Python2.7和python3.5放入其中。执行以下命令:

        sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
        sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.5 2

    3.现在进入root身份,使用以下命令随时在列出的python替换版本中任意切换。

        sudo su
        update-alternatives --config python

    输出结果如下:

    输入“1”,就切换到2.7版本了,相反如果之前默认版本为2.7的输入“2”则切换到3.5版本了。

    现在再查一下默认Python版本:

    python --version

    已经成功切换到2.7版本了。

二十七:Ubuntu 配置固定IP地址

    我这里网卡名为:enp2s0,同时记录下掩码地址,下面会用到这两个参数。

      终端输入vi /etc/network/interfaces命令编辑配置文件,增加如下内容:     
        auto enp2s0
        iface enp2s0 inet static
        address 192.168.1.211
        netmask 255.255.255.0
        gateway 192.168.1.1
        iface enp2s0 inet6 auto

    配置完成后需要重启相应网卡,使用 ifdown enp2s0 关闭网卡,使用 ifup enp2s0 启动网卡,完成网卡重启,通过 ifconfig 命令查看IP地址,此时发现IP地址已经是设定的IP地址。

       xxx@root#  ifdown enp2s0 &&  ifup enp2s0

       重启网卡后正常使用IP

 二十八:Linux下全局搜索文件内容并替换内容

    root@youdo:#   sed -i "s/test1./android./g" `grep  test1   -rl  packages/apps..`

    1:蓝色 代表路径

    2:红色代表要搜索的内容

    3:绿色代表要替换的内容

     

 二十九: 阿里云运行正常,安全组配置正常,外网突然无法访问端口

    情况:突然无法访问内部使用的端口,系统运行均为正常

    目前看系统日志提示table full, dropping packet.
    ip_conntrack 模块会使用一个哈希表记录 TCP 协议 established connection 记录,当这个哈希表满了的时候,便会导致 nf_conntrack: table full, dropping packet 错误。

    解决方案就是按照如下步骤操作。
    执行命令 # vi /etc/sysctl.conf 编辑系统内核配置。
    修改哈希表项最大值参数:net.netfilter.nf_conntrack_max = 655350。
    修改超时参数:net.netfilter.nf_conntrack_tcp_timeout_established = 1200,默认情况下 timeout 是 432000(秒)。
    执行命令 # sysctl -p 使配置生效。
     
————————————————
版权声明:本文为CSDN博主「Guo_IT」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/gjy_it/article/details/86352775

posted on 2022-06-09 22:28  无网不进  阅读(307)  评论(0编辑  收藏  举报