Rust 配置中科大的下载源

在~/.cargo下创建文件config(注没有后缀)并添下如下内容:

[registry]
index = "https://mirrors.ustc.edu.cn/crates.io-index/"
[source.crates-io]
replace-with = "ustc"
[source.ustc]
registry = "https://mirrors.ustc.edu.cn/crates.io-index/"

DOS命令之 attrib命令的使用

attrib指令用于修改文件的属性.文件的常见属性有:只读.存档.隐藏和系统.
只读属性是指文件只可以做读的操作.不能对文件进行写的操作.就是文件的写保护.
存档属性是用来标记文件改动的.即在上一次备份后文件有所改动.一些备份软件在备份的时候会只去备份带有存档属性的文件.
隐藏属性顾名思义即为隐藏文件.在通常情况下.在资源管理器中不显示带有隐藏属性的文件.
系统属性是指标注文件为系统文件.是系统需要调用的文件.
attrib指令的格式和常用参数为
ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [[drive:] [path] filename] [/S [/D]]
+ 设置属性。
- 清除属性。
R 只读文件属性。
A 存档文件属性。
S 系统文件属性。
H 隐藏文件属性。
[drive:][path][filename]
指定要处理的文件属性。
/S 处理当前文件夹及其子文件夹中的匹配文件。
/D 也处理文件夹。
attrib的用途不是很广泛.不过有的时候可以利用它来做一些方便的文件处理.比如U盘中感染了病毒.会在U盘的驱动器里建立多个隐藏的文件.其中会有一个名为autorun.inf的文件.这个文件会为U盘添加一个自动运行的菜单.如果把默认打开操作改成关联病毒程序.那么在你双击U盘的时候.就会感染U盘所带的病毒.通常情况下无法看到这些文件就没办法删除.可以用下面的步骤来清除.
 
 以下假设我的U盘驱动器的盘符是L:."/*"与"*/"之间的内容为注释.在运行中敲入CMD确定便可以快速打开系统的命令提示符.运行的快捷键为"WIN"+"R".
C:\Documents and Settings\Administrator> L: /*进入L盘目录*/
L:\ > dir/a /*这个指令是查看当前目录全部的文件.包括有隐藏属性的.可以用来查看是否有autorun.inf等文件.*/
L:\ > attrib autorun.inf -a -s -r -h /*去掉autorun.inf的四种属性*/
L:\ > del autorun.inf /*删除autorun.inf*/
然后拔掉U盘.再一次连接的时候U盘的自动运行菜单就没有了.当然.其他的病毒程序也可以如此操作.如果把autorun.inf换成*.*就可以一次对当前目录下全部文件进行操作了.如:
L:\ > attrib *.* -a -s -r –h

文件夹 attrib +s +a +h +r path

Homestead 在 Windows 下软链接报错的解决办法

在Windows下的homestead中运行 php artisan storage:link 命令时会报错

解决方法:只需要编辑一下组策略中【创建链接】的用户权限即可

win+R 打开运行,输入组策略命令gpedit.msc

找到【创建符号链接】这条,双击打开,为其添加一个Everyone的用户,保存后重启电脑。

保存并重启电脑后再次进入vagrant ssh即可成功执行

完美解决Github速度慢的问题

方法就是强制让它走代理,做开发的一般都有ss。。

设置:

git config --global http.https://github.com.proxy socks5://127.0.0.1:1080
git config --global https.https://github.com.proxy socks5://127.0.0.1:1080

取消设置:

git config --global --unset http.https://github.com.proxy
git config --global --unset https.https://github.com.proxy

特别注意,对使用git@协议的要单独设置:

在~/.ssh/config 文件后面添加如下内容,没有可以新建

windows:

Host github.com
ProxyCommand connect -S 127.0.0.1:1080 %h %p

Linux/Mac

Host github.com
ProxyCommand nc -X 5 -x 127.0.0.1:1080 %h %p

git中的格式化与空白配置问题

格式化与空白是许多开发人员在协作时,特别是在跨平台情况下,遇到的令人头疼的细小问题。由于编辑器的不同或者Windows程序员在跨平台项目中的文件行尾加入了回车换行符,一些细微的空格变化会不经意地进入大家合作的工作或提交的补丁中。不用怕,Git 的一些配置选项会帮助你解决这些问题。

core.autocrlf

假如你正在Windows上写程序,又或者你正在和其他人合作,他们在Windows上编程,而你却在其他系统上,在这些情况下,你可能会遇到行尾结束符问题。这是因为Windows使用回车和换行两个字符来结束一行,而Mac和Linux只使用换行一个字符。虽然这是小问题,但它会极大地扰乱跨平台协作。

Git可以在你提交时自动地把行结束符CRLF转换成LF,而在签出代码时把LF转换成CRLF。用core.autocrlf来打开此项功能,如果是在Windows系统上,把它设置成true,这样当签出代码时,LF会被转换成CRLF:

$ git config --global core.autocrlf true

Linux或Mac系统使用LF作为行结束符,因此你不想 Git 在签出文件时进行自动的转换;当一个以CRLF为行结束符的文件不小心被引入时你肯定想进行修正,把core.autocrlf设置成input来告诉 Git 在提交时把CRLF转换成LF,签出时不转换:

$ git config --global core.autocrlf input

这样会在Windows系统上的签出文件中保留CRLF,会在Mac和Linux系统上,包括仓库中保留LF。

如果你是Windows程序员,且正在开发仅运行在Windows上的项目,可以设置false取消此功能,把回车符记录在库中:

$ git config --global core.autocrlf false

core.whitespace

Git预先设置了一些选项来探测和修正空白问题,其4种主要选项中的2个默认被打开,另2个被关闭,你可以自由地打开或关闭它们。

默认被打开的2个选项是trailing-spacespace-before-tabtrailing-space会查找每行结尾的空格,space-before-tab会查找每行开头的制表符前的空格。

默认被关闭的2个选项是indent-with-non-tabcr-at-eolindent-with-non-tab会查找8个以上空格(非制表符)开头的行,cr-at-eol让 Git 知道行尾回车符是合法的。

设置core.whitespace,按照你的意图来打开或关闭选项,选项以逗号分割。通过逗号分割的链中去掉选项或在选项前加-来关闭,例如,如果你想要打开除了cr-at-eol之外的所有选项:

$ git config --global core.whitespace \
    trailing-space,space-before-tab,indent-with-non-tab

当你运行git diff命令且为输出着色时,Git 探测到这些问题,因此你也许在提交前能修复它们,当你用git apply打补丁时同样也会从中受益。如果正准备运用的补丁有特别的空白问题,你可以让 Git 发警告:

$ git apply --whitespace=warn <patch>

或者让 Git 在打上补丁前自动修正此问题:

$ git apply --whitespace=fix <patch>

这些选项也能运用于衍合。如果提交了有空白问题的文件但还没推送到上游,你可以运行带有--whitespace=fix选项的rebase来让Git在重写补丁时自动修正它们。

ubuntu 18.10 更换国内源

1、备份原文件

sudo cp /etc/apt/sources.list  /etc/apt/sources.list_bak

2、更换中科大源

sudo vi /etc/apt/sources.list
deb https://mirrors.ustc.edu.cn/ubuntu/ cosmic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ cosmic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ cosmic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ cosmic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ cosmic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ cosmic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ cosmic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ cosmic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ cosmic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ cosmic-proposed main restricted universe multiverse

3、更新

sudo apt-get update
sudo apt-get upgrade

git文件内容没变但status显示不同的解决方法

问题描述:文件并没有改动过,但git status显示该文件有更改

原因一:文件权限变化

使用 git diff filename 命令查看具体的差异,结果显示权限不一致

解决方法:禁止GIT检测文件权限的变化

git config core.filemode false

原因二:不同操作系统的换行符不一样,CR回车 LF换行  Windows/Dos 是 CRLF \r\n  ,Linux/Unix 是LF \n   MacOS是 CR \r

可以设置忽略换行符的差异:

git config --global core.whitespace cr-at-eol

配置autocrlf和safecrlf:

git config --global core.autocrlf false
git config --global core.safecrlf true

查看详细的格式化与空白设置