一: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