Linux(Ubantu,Centos) 命令、系统使用、教程汇总[不定期更新]

一: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://[email protected]//volume1/git_prj/ecc
 ! [remote rejected] master -> master (branch is currently checked out)
error: 无法推送一些引用到 'ssh://[email protected]//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 

十: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 执行:

~# sudo -H pip  install pillow

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章