实践如下:
\cp -r * ../gpac/extra_lib
查找下原因:
实际上cp默认是会覆盖的,出现你这种情况是因为cp被alias成cp -i了,可以通过alias命令查看。
\cp则是告诉shell不要去查alias,直接执行原本的cp

目前,我得知有四种方法:
1.在调用cp的时候加入绝对路径(可通过whereis cp命令得到),如
/bin/cp -f file dir
2.通过直接执行下面的语句调用系统原始的命令:
\cp -f file dir
3.在~/.bashrc里面注释掉 Alias cp='cp -i'
4.unalias cp ,然后再使用cp,但使用后还原alias cp='cp -i'

来自:http://www.oschina.net/question/1588291_166511
Mplayer Error: yasm not found, use --yasm='' if you really want to compile without
背景:就是想把博文里的一些链接给批量替换一下,如:justwinit.cn 替换为jackxiang.com, 这样式的。

遇到这么个情况:
比如:
Msql里面的某个表的某个字段里面存储的是一个人的地址,有一天这个地址的里面的某个地

名变了,那么他的地址也就要变:

比如:

原来是:


现在这个成都市变为了 “天府”市···
所以,addr字段里面的所有的值,都要把成都市改为  天府市


解决方法:

sql语句:

[sql] view plain copy
update 表名 set 字段名=REPLACE (字段名,'原来的值','要修改的值')  

当然,也可以添加条件:



最后的效果:

[sql] view plain copy
number             addr  
01             四川省天府市XXXXXX街道05号  
02             四川省天府市XXXXXX街道07号  
03             四川省天府市XXXXXX街道09号  
04             四川省天府市XXXXXX街道04号  

来自:http://blog.csdn.net/yuekunge/article/details/14170055
[root@zhang ~]# cd my document
cd 一个含空格的目录,会被视为俩个目录,而有优先进入第一个目录(如果两个目录都存在的话):

使用单引号

[root@zhang ]# cd 'my document'
对空格转义

[root@zhang ~]# cd my\ document
在第一个单词之后按下 tab 键也是一样的处理方法,即对空格进行转义;

使用 * 进行匹配

[root@zhang ~]# cd my*document
对于文件夹名开头为(的情况

同样,要么使用单引号,要么使用\,进行转义;

来自:http://blog.csdn.net/lanchunhui/article/details/51211165
参考:http://www.cnblogs.com/wjyHIT2011/p/6801727.html
说明:linux系统下会有一个hash表,当你刚开机时这个hash表为空,每当你执行过一条命令时,hash表会记录下这条命令的路径,就相当于缓存一样。第一次执行命令shell解释器默认的会从PATH路径下寻找该命令的路径,当你第二次使用该命令时,shell解释器首先会查看hash表,没有该命令才会去PATH路径下寻找。

hash表的作用:大大提高命令的调用速率。

hash的参数:
[root@redhat ~]# hash  //输入hash或hash -l 可以查看hash表的内容,我刚开机所以为空
hash: hash table empty
[root@redhat ~]# hash -l
hash: hash table empty

当我执行过2条命令后再看:

[root@redhat ~]# hash  //hash表会记录下执行该命令的次数,以及命令的绝对路径
hits command
   1 /bin/cat
   1 /bin/ls
[root@redhat ~]# hash -l  //加参数-l既可以看到hash表命令的路径,也可以看到它的名字,说不定会有别名哦
builtin hash -p /bin/cat cat
builtin hash -p /bin/ls ls

[root@redhat ~]# hash -p /bin/ls bb  //添加hash表,可以看到我把ls命令重新写了一遍,改名为bb

[root@redhat ~]# bb    //当我执行bb时就是执行ls命令
anaconda-ks.cfg        icmp_echo_ignore_aly~  pub.key
dead.letter        icmp_echo_ignore_alz~  rpmbuild
icmp_echo_ignore_all~  install.log       RPM-GPG-KEY-useradd
icmp_echo_ignore_alw~  install.log.syslog     RPM-GPG-KEY-westos
icmp_echo_ignore_alx~  passwd


[root@redhat ~]# hash -t ls  //-t参数可以查看hash表中命令的路径,要是hash表中没有怎么办?
/bin/ls

[root@redhat ~]# hash -t df  //我没使用过df,执行hash,就会提示找不到该命令
-bash: hash: df: not found

[root@redhat ~]# hash -r  //清楚hash表,清楚的是全部的
[root@redhat ~]# hash -l
hash: hash table empty

[root@redhat ~]# hash -l
builtin hash -p /bin/cat cat
builtin hash -p /bin/ls ls
[root@redhat ~]# hash -d cat   //清楚其中的某一条
[root@redhat ~]# hash -l
builtin hash -p /bin/ls ls

From:http://www.cnblogs.com/linux-super-meng/p/3788739.html
securecrt 在vt100/ANSI模式下会delete键和backspace键功能一样,都是删除前面的内容,要调整向后删除需要设置下:会话选项--终端--仿真--终端里选择linux模式或xterm即可。

From:http://soige.blog.51cto.com/512568/1323479/

相关之在secureCRT使用vim,alt键映射(alt+b,alt+f在shell里是前后一个单词)都被secureCRT占用了,能屏蔽吗?
http://jackxiang.com/post/9354/
FN+找到笔记本的Insert/Numlk键,按一下(在笔记本键盘的右上角一侧)

https://jingyan.baidu.com/article/ca00d56c981cc0e99eebcf92.html
在 Linux 上进行开发和运营维护的时候,免不了要查看某一个程序所占用内存的情况。有很多个命令都可以达到我们的需求,这里给大家列举几个:
一)直接看某个进程的内存情况:




看下Nginx:
cat /proc/2821/status|grep VmRSS
VmRSS:      8776 kB

来自:http://www.jb51.net/LINUXjishu/66604.html



二)整体从系统层面看内存和cpu占用:
查看某个进程占用内存和cpu的多少:
找出消耗内存最多的前10名进程

# ps -auxf | sort -nr -k 4 | head -10

找出使用CPU最多的前10名进程
# ps -auxf | sort -nr -k 3 | head -10



来自:http://blog.chinaunix.net/uid-20492804-id-265809.html
goto 性能好,但编译时间长。
技术一定要伴随需求的,有一个场景的。
工程师的社会责任。
做技术还是要懂业务。
Opcache回收问题:负载高的问题。影响稳定性。
Kafka
PHP-FPM能否解决数据库连接池的问题:
1)定时重启的机制。
2)Php-FPM重启一下。
3)要规避一下。(业务时间点)
粗放、性能高,内存搞得很精细,也很耗时。

Mysql的连接池,Kafka~
返回值在后面:Grep。(指函数返回值和C不一样)

autoconf版本太底~
makefile也是为了提高效率。
掌握知识不同,用的方法不同,本质是一样的。
关注生成这个扩展能否写出来,再看Autoconf,再看编译系统。
学一个语言成了研究这个编辑器的问题,要Forcus在那个点上。
做一件事表非常难非常难的时候,你得怀疑这样做对不对?

脖子肌肉不够强。
高性能PHP7~

终端用户的真实体验,才是应用性能是否良好的最终标准。
要查找一个指定后缀文件里有没有一些指定字符串,显示出文件和行号等,还是用 xargs方便,如下:

上面一句顶exec两句,如下:



零.批量替换文件:
find . -type f -exec sed -n 's#S:"Username"=#S:"Username"=xiangdong#p' {} \;

一.
find /var/www/ -name file -exec cp {}{,.bak} \; 递归备份文件

1).
cp filename{,.bak}
quickly backup or copy a file with bash

2).
目录会自动omit删除掉; 目录不会复制;

来自:https://www.douban.com/note/422847745/

二.
cp filename{,.bak}
这个命令是用来把filename备份成filename.bak的
等同于命令
cp filename filename.bak
这里利用的是bash的brace expansion(大括号扩展)功能
按照bash手册(man bash)所述
bash支持{a,b,c}这样的扩展
比如a{d,c,b}e会被扩展成ade ace abe
所以
filename{,.bak}被扩展成filename filename.bak也就好理解了

同理可得:
tar cvfz leo{-20170202.tgz,}=tar cvfz leo-20170202.tgz leo

来自:http://leomars.blog.51cto.com/683246/1894566

三.
cp filename{,.bak} //注意花括号边并没有空格,否则就不 是扩展了,变成拷贝为{,.bak}文件了。
这个命令是用来把filename备份成filename.bak,等同于命令
cp filename filename.bak

这里利用的是bash的brace expansion(大括号扩展)功能,
按照bash手册(man bash)所述:
bash支持{a,b,c}这样的扩展,比如a{d,c,b}e 会被扩展成ade ace abe
所以
filename{,.bak}被扩展成filename filename.bak也就好理解了
原文http://www.haw-haw.org/node/1507

https://linux.cn/article-8310-1.html#3_2458

====================================
[root@iz2ze0upl89i15wngnott5z tmp]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
[root@iz2ze0upl89i15wngnott5z tmp]# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noar
ch.rpm
Retrieving http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
Preparing...                          ################################# [100%]
Updating / installing...
   1:elrepo-release-7.0-2.el7.elrepo  ################################# [100%]
[root@iz2ze0upl89i15wngnott5z tmp]# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
Loaded plugins: fastestmirror
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
elrepo-kernel                                                                    | 2.9 kB  00:00:00    
elrepo-kernel/primary_db                                                         | 1.7 MB  00:00:25    
Loading mirror speeds from cached hostfile
* elrepo-kernel: ftp.ne.jp
Available Packages
kernel-lt.x86_64                                    4.4.75-1.el7.elrepo                    elrepo-kernel
kernel-lt-devel.x86_64                              4.4.75-1.el7.elrepo                    elrepo-kernel
kernel-lt-doc.noarch                                4.4.75-1.el7.elrepo                    elrepo-kernel
kernel-lt-headers.x86_64                            4.4.75-1.el7.elrepo                    elrepo-kernel
kernel-lt-tools.x86_64                              4.4.75-1.el7.elrepo                    elrepo-kernel
kernel-lt-tools-libs.x86_64                         4.4.75-1.el7.elrepo                    elrepo-kernel
kernel-lt-tools-libs-devel.x86_64                   4.4.75-1.el7.elrepo                    elrepo-kernel
kernel-ml.x86_64                                    4.11.8-1.el7.elrepo                    elrepo-kernel
kernel-ml-devel.x86_64                              4.11.8-1.el7.elrepo                    elrepo-kernel
kernel-ml-doc.noarch                                4.11.8-1.el7.elrepo                    elrepo-kernel
kernel-ml-headers.x86_64                            4.11.8-1.el7.elrepo                    elrepo-kernel
kernel-ml-tools.x86_64                              4.11.8-1.el7.elrepo                    elrepo-kernel
kernel-ml-tools-libs.x86_64                         4.11.8-1.el7.elrepo                    elrepo-kernel
kernel-ml-tools-libs-devel.x86_64                   4.11.8-1.el7.elrepo                    elrepo-kernel
perf.x86_64                                         4.11.8-1.el7.elrepo                    elrepo-kernel
python-perf.x86_64                                  4.11.8-1.el7.elrepo                    elrepo-kernel
[root@iz2ze0upl89i15wngnott5z tmp]# yum --disablerepo="*" --enablerepo="elrepo-kernel" list available
[root@iz2ze0upl89i15wngnott5z tmp]# yum --enablerepo=elrepo-kernel install kernel-ml
Loaded plugins: fastestmirror
Repository base is listed more than once in the configuration
Repository updates is listed more than once in the configuration
Repository extras is listed more than once in the configuration
elrepo                                                                           | 2.9 kB  00:00:00    
elrepo/primary_db                                                                | 427 kB  00:00:04    
Loading mirror speeds from cached hostfile
* elrepo: ftp.ne.jp
* elrepo-kernel: ftp.ne.jp
Resolving Dependencies
--> Running transaction check
---> Package kernel-ml.x86_64 0:4.11.8-1.el7.elrepo will be installed
--> Finished Dependency Resolution

Dependencies Resolved

========================================================================================================
Package              Arch              Version                          Repository                Size
========================================================================================================
Installing:
kernel-ml            x86_64            4.11.8-1.el7.elrepo              elrepo-kernel             41 M

Transaction Summary
========================================================================================================
Install  1 Package

Total download size: 41 M
Installed size: 185 M
Is this ok [y/d/N]: y
Downloading packages:
kernel-ml-4.11.8-1.el7.elrepo.x86_64. 16% [====                       ]  67 kB/s | 6.6 MB  00:08:46

vi /etc/default/grub
GRUB_TIMEOUT=5
GRUB_DEFAULT=0
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet net.ifnames=0"
GRUB_DISABLE_RECOVERY="true"

[root@iz2ze0upl89i15wngnott5z tmp]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.11.8-1.el7.elrepo.x86_64
Found initrd image: /boot/initramfs-4.11.8-1.el7.elrepo.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-514.26.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-514.26.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-514.6.2.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-514.6.2.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-3c6ff97c6fbe4598b53fd04e08937468
Found initrd image: /boot/initramfs-0-rescue-3c6ff97c6fbe4598b53fd04e08937468.img
done
基于Red Hat Enterprise Linux 7的自由发布源,CentOS 7分支继承了始终能获得最新内核安全更新的特性。今天,系统团队发布了一个非常重要的补丁,对近期发现的4个漏洞进行了及时修复,并推荐用户尽快安装补丁,升级至kernel-3.10.0-514.10.2.el7。

From:http://www.cnbeta.com/articles/soft/590259.htm


升级步骤:jackxiang.com/post/9319/
安装成功:
http://blog.csdn.net/ch593030323/article/details/53571807
默认的ls是由"ls --color=auto"组成的,假如某个目录中的文件特别多,我不希望显示颜色(可以加快显示),那就需要指定单独的参数。

[root@localhost ~]# ls --color=never
[root@localhost ~]# ls --color=any
[root@localhost ~]# ls --color=always

来自:http://www.cnblogs.com/t-road/p/6830037.html
实践如下:



在Linux下给grep命令添加颜色

Java代码 复制代码 收藏代码
grep --color "test" test.json  
[java] view plain copy print?
grep --color "test" test.json  

自动给grep加颜色

Java代码 复制代码 收藏代码
vim ~/.bashrc  
alias grep='grep --color'  
source ~/.bashrc  
[java] view plain copy print?
vim ~/.bashrc  
alias grep='grep --color'  
source ~/.bashrc  

在管道中的其他程序也可以有颜色

这里用到grep的一个参数--color,color有三个值供选择:never、always、auto。always和auto的区别就是,always会在任何情况下都给匹配字段加上颜色标记,当通过管道或重定向时就会多出一些控制字符,结果会变成
export ^[[1;32m^[[KGREP^[[m^[[K_OPTIONS='--color=always'
export ^[[1;32m^[[KGREP^[[m^[[K_COLOR='1;32'
而auto则只在输出到终端时才加上颜色。
可以在.bashrc里加上
export GREP_OPTIONS='--color=auto'
来实现高亮匹配,具体用什么颜色,可以通过
export GREP_COLOR='a;b' #默认是1;31,即高亮的红色
来设置,其中:
a可以选择:【0,1,4,5,7,8】
0 关闭所有属性
1 设置高亮度
4 下划线
5 闪烁
7 反显
8 消隐

Java代码 复制代码 收藏代码
vim ~/.bashrc  
export GREP_OPTTIONS='--color=always'  
source ~/.bashrc  

来自:http://blog.csdn.net/diy534/article/details/7025640
monaco字体是苹果系统下的字体,非常的好看,是我最喜欢的字体没有之一。现在我们就来在ubuntu下安装这个漂亮的字体
第一步:
             进入github下载这个字体,github地址是https://github.com/cstrap/monaco-font。我们选择download zip的压缩包就可以。
第二步:
             进入本地下载目录,解压刚刚下载的压缩包,进入解压后的文件夹,我们会看到这几个文件
             install-font-archlinux.sh
             install-font-centos.sh
             install-font-gentoo.sh
             install-font-ubuntu.sh
             README.md
             接下来我们打开README.md文件,里面写的很详细,如何安装,ttf文件的下载链接都有
第三步:
             在README.md中有一行这样的命令./install-font-ubuntu.sh http://usystem.googlecode.com/files/MONACO.TTF,但是googlecode已经关闭了,所以我们要在README.md中另外找个下载链接。我用的是https://github.com/todylu/monaco.ttf/blob/master/monaco.ttf?raw=true这个链接。
第四步:
             打开终端进入解压后的目录执行sudo ./install-font-ubuntu.sh https://github.com/todylu/monaco.ttf/blob/master/monaco.ttf?raw=true这个命令,OK安装完成。这样我们就可以把终端和文本编辑器的字体设置成monaco了,你所用的开发工具也一样可以使用这个字体了。完美。



./install-font-ubuntu.sh http://usystem.googlecode.com/files/MONACO.TTF
来自:http://blog.csdn.net/qq_26990831/article/details/51847416
字体下载:http://vdisk.weibo.com/s/IYNWXYSqrtI
Git的克隆,默认是直接拉取整个远程仓库,如果项目比较大,大量和自己无关的内容也会拉到本地,占用很多硬盘空间。

在网上搜了一下,Git在1.7版本后,已经支持只Checkout部分内容,这个功能叫做 sparse checkout(稀疏检出)。
打开 sparse checkout 功能
如果本地还没有建版本库,要用这个功能,先进入要放版本库的目录,在命令行执行几条命令:


实践一下:


实践发现也就只有这一个目录了,添加2个目录到checkout的列表。路径是版本库下的相对路径,也可以用文本编辑器编辑这个文件。
$git pull origin master
From gitlab.jackxiang.com:irdcops/spec
* branch            master     -> FETCH_HEAD
$ls      #也就只Checkout这个目录,要多条就多加几个即可。
centos6

参考来源:https://zhgcao.github.io/2016/05/11/git-sparse-checkout/
http://www.tuicool.com/articles/QjEvQvr
详细点的参考:
https://my.oschina.net/u/183217/blog/185289?p=%7B%7BcurrentPage+1%7D%7D

发现对于目录有点的这种情况,好像实践发现不行如:jackxiang.com 这样的目录。
背景:用了SVN的同志老想着把Git当SVN用(如新加了几个文件,就从SVN里找出来,再拷贝到测试环境,这种事情,Git直接以灵活的版本机制想去哪个版本就去哪个版本。),但也提供了查看某个版本到哪个版本修改了哪些文件的一个命令行。
在测试环境想切换到某个版本就直接用命令就能过去了,什么,测试不会用Git.....。



From:https://segmentfault.com/q/1010000000133613
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Git 的每个提交都有一个 SHA1 散列值(Hash 值)作为 ID。我们可以在 checkout 命令中使用这些 ID 作为起点。比如:
git checkout -b name-of-new-branch 169d2dc
这样,Git 的活动分支会切换到 name-of-new-branch 这个分支上,而它的内容与 169d2dc 这个分支一致。
注意:SHA1 的散列值有 40 个字母,相当长。所以 Git 允许我们在不引起歧义的情况下,使用散列值的前几位作为缩写。


一、查看某个提交到某个提交之前的文件名:
git diff --name-status HEAD~2 HEAD~3
git diff hash1 hash1 --stat
如果是branch的话
git diff branch1 branch2 --stat
加上 --stat 是显示文件列表, 否则是文件内容diff
git diff <commit> <commit>
上面的 <commit> 表示提交生成的 hash 串, 例如:
git diff b45ba47d1b297217e3ec6a3ab0f61716a8d6ecbc c244d0bf06d56ec86aaedeefa5dcd84dd9febc60
一般来说,通过 hash 串的前 4~6 位就可以区分,所示可以简写为:
git diff b45b 355e



第二步就是对上面的文件列表,进行按自己修改了哪些文件进行修改Checkout出来可上到测试环境:

二、提交的某个版本给Checkout出来:
大多数时候,我们可能只需要对某一个文件做细小的修补,因此只 checkout 该文件就行了,并不需要操作整个 commit 或分支。
上一节我们介绍了如何将某个历史版本完整地 checkout 到工作区。实际上,我们只需要在上一节的命令之后加上需要 checkout 的文件即可。
git checkout <sha1-of-a-commit> </path/to/your/file>
当然,有时候你需要将某个文件的历史版本 checkout 出来,并以一个新的名字保存。这时候可以这么做:
git checkout <sha1-of-a-commit>:</path/to/your/file> </new/name/of/the/file>
分页: 13/328 第一页 上页 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 下页 最后页 [ 显示模式: 摘要 | 列表 ]