准备工作

两个账户:tengyunlong tes如果没有账户使用 adduser进行创建
$ adduser test$ usermod -a -G test test # 将test用户加入到test用户组$ groups test #查看test的所有分组$ test : test
使用test用户在/home/test/路径下新建test.txt使此文件允许test分组和test用户读写
total 36drwxr-xr-x 2 test test 4096 Jun  1 15:51 ./drwxr-xr-x 4 root root 4096 Jun  1 15:49 ../-rw-r--r-- 1 test test  220 Jun  1 15:49 .bash_logout-rw-r--r-- 1 test test 3637 Jun  1 15:49 .bashrc-rw-r--r-- 1 test test 8980 Jun  1 15:49 examples.desktop-rw-r--r-- 1 test test  675 Jun  1 15:49 .profile-rw-rw-r-- 1 test test    8 Jun  1 15:53 test.txt

添加分组

使用root账户将 tengyunlong加到test分组
$ usermod -a -G test tengyunlong$ groups tengyunlongtengyunlong : tengyunlong adm cdrom sudo dip plugdev lpadmin sambashare test #可以看到tengyunlong加到test分组了
####运行测试切换tengyunlong账户,进入/home/test目录下
$ lltotal 36drwxr-xr-x 2 test test 4096 Jun  1 15:51 ./drwxr-xr-x 4 root root 4096 Jun  1 15:49 ../-rw-r--r-- 1 test test  220 Jun  1 15:49 .bash_logout-rw-r--r-- 1 test test 3637 Jun  1 15:49 .bashrc-rw-r--r-- 1 test test 8980 Jun  1 15:49 examples.desktop-rw-r--r-- 1 test test  675 Jun  1 15:49 .profile-rw-rw-r-- 1 test test    8 Jun  1 15:53 test.txt$  echo 'sssssssssss'> test.txt$ cat test.txtsssssssssss #可以看到内容被写入了
查看全文

这几次一直使用git push出现如下错误,百度一直没有找到好的解决办法

remote: error: insufficient permission for adding an object to repository database ./objectsremote: fatal: failed to write objecterror: unpack failed: unpack-objects abnormal exitTo git@GIT-ADDRESS! [remote rejected] develop -> develop (unpacker error)error: failed to push some refs to 'git@GIT-ADDRESS'

基本上每次都是绕开

$ git remote set-url origin HTTPS#HTTPS 为https的项目地址$ git push#输入用户名#输入密码

今天终于找到了解决办法

#切换为ssh$ git config --global push.default matching$ git push

拓展

$ git push origin master
上面命令表示,将本地的master分支推送到origin主机的master分支。如果后者不存在,则会被新建。
$ git push origin# git push
上面命令表示,将当前分支推送到origin主机的对应分支。不带任何参数的git push,默认只推送当前分支,这叫做simple方式。此外,还有一种matching方式,会推送所有有对应的远程分支的本地分支。Git 2.0版本之前,默认采用matching方法,现在改为默认采用simple方式。如果要修改这个设置,可以采用git config命令。
$ git config --global push.default matching# 或者$ git config --global push.default simple
$ git push --force origin
上面命令使用–force选项,结果导致在远程主机产生一个”非直进式”的合并(non-fast-forward merge)。除非你很确定要这样做,否则应该尽量避免使用–force选项。查看全文

平时git branch用的比较少,大多数用的git add/commit/pull/push用的比较多,不过也特意找了一些资料完整资料请点击这里或者这里每次提交版本的时候,git会形成一个时间线,上面会有各种操作,git管这个“时间线”叫做分支,也就是我们常见的master,我们也可以根据需要创建各种分支,但是git只是识别master分支,所以每次创建分支后,需要合并才行。

1)我们在github创建一个test的项目,创建过程自行...

查看全文

Bash 中处理特殊字符

#符号

注释

行号以#开头是注释,bash脚本的第一行通常是#!/bin/bash,意思是这个文件是bash脚本#!用于当前脚本的解释器当然,在echo中转义的#是不能做转义的:
$ vim test.sh
输入如下代码,并保存
#!/bin/bashecho "The # here does not begin a comment."echo 'The # here does not begin a comment.'echo The \# here does not begin a comment.echo The # 这里开始一个注释echo ${PATH#*:}         # 参数替换,不是一个注释echo $(( 2#101011 ))   # 数制转换(使用二进制表示),32+8+2+1
执行结果
$ bash test.sh
运行效果
The # here does not begin a comment.The # here does not begin a comment.The # here does not begin a comment.The/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games43

分号

命令分隔符

使用分号可以分割在同一行的两个或两个以上的命令
$ vim test2.sh
输入如下代码,并保存
#!/bin/bashecho hello; echo therefilename=ttt.shif [ -r "$filename" ]; then    # 注意: "if"和"then"需要分隔echo "File $filename exists."; cp $filename $filename.bakelseecho "File $filename not found."; touch $filenamefi; echo "File test complete."
运行脚本
$ bash test2.sh
运行结果
hellothereFile ttt.sh not foundFilename test complete.

终止case选项(双;分号

使用双分号用于终止case选项
$ vim test.bash
输入如下代码,并保存
#!/bin/bashvarname=bcase $varname in[a-z]) echo "abc";;[0-9]) echo "123";;esac    #case终止符号
执行脚本,查看输出
$ bash test.shabc
解释说明,上面的代码,首先赋值给变量varname的值是b,然后使用case进行判断。case的格式
case $ in条件1) command;;条件2) command;;...*) command;; ##匹配所有esac

点号(....

查看全文

我个人觉得,一个人想要成长,自我反思是必不可少的事情。说句实话,做了这么长时间的开发了,做过很多坑别人的事情,也被别人坑过不少,总结一句话来讲“思考不足”

怎么来理解这四个字呢?用一个简单的小事情举个例子吧。

假如...

查看全文

应用场景

异步处理

消息队列的一的特点之一就是异步处理,这就决定了对于实时返回的信息就没办法使用消息队列。经常使用的消息队列比如发送邮箱验证、短信验证。因为一般的逻辑是串行方式,消息队列采用的是并行的模式...查看全文

从字符串中删除特定字符本段代码实现删除字符串中除所有大小写字母及数字以外的字符
<?php$value = "wWw.UncleToo.Com - 【UncleToo中文网】 - 12345";$value = preg_replace("/[^A-Za-z0-9]/","",$value);echo $value;//输出:wWwUncleTooComUncleToo12345?>
验证用户名以下代码验证用户名是否由字母、数字及下划线组成。
<?php$username = "uncletoo_COM123";if (preg_match('/^[a-z\d_]{5,20}$/i', $username)) {echo "用户名可用";} else {echo "用户名存在特殊字符";}?>
添加信息到图片alt属性使用下面函数,可以实现将文章标题添加到图片的alt属性中。...
查看全文