Wiki

记多少命令和快捷键会让脑袋爆炸呢?

Linux

Debian/Ubuntu/Raspbian 时间同步

时区设置:

date -R
dpkg-reconfigure tzdata

时间同步:

apt-get install ntpdate
ntpdate ntp.sjtu.edu.cn
date

安装zsh和oh-my-zsh

安装zsh

apt-get install zsh
chsh -s /bin/zsh

安装Oh My Zsh

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
nano ~/.zshrc
ZSH_THEME="candy"
source ~/.zshrc

其他

Windows

Java

C++

数据库

Python

推荐Python课程:

杂类

Windows下使用ffmpeg批量转换ts格式视频到mp4格式,并在转换完成后删除原视频

$files = Get-ChildItem -Recurse  -Filter *.ts
echo $files
foreach ($f in $files){
    $outfile = $f.FullName.replace(".ts",".mp4") 
    echo $outfile
    ffmpeg -i $f.FullName -c copy $outfile 
    Remove-Item -Path $f.FullName
}

convert flv to mp4:

ffmpeg -i input.flv -codec copy output.mp4

convert mp4 to mp3:

ffmpeg -i input.mp4 output.mp3

git

git强行还原

有时候自己对仓库做了修改,但不需要这些修改,可以强行还原。

git fetch --all && git reset --hard origin/master && git pull

git 配置代理

有时候公司内网不能直连外网,需要配置git的网络代理。

git config --global http.proxy 'socks5://127.0.0.1:10888'
git config --global https.proxy 'socks5://127.0.0.1:10888'

git初始化子模块

git submodule update --init --recursive

git 单仓库配置多个远程仓库

我在GitHub和coding上都建了仓库,想单次push到2个仓库,于是需要设置remote

git remote add all https://xxx.xxxx.git
$ git remote -v
all     https://e.coding.net/xxxx.git (fetch)
all     https://e.coding.net/xxxx.git (push)
origin  https://github.com/xxxx.git (fetch)
origin  https://github.com/xxxx.git (push)
git push all master

git 设置/重置用户名和密码

有时候输入的用户名或者密码错误了,但git已经保存了,无法直接更改。

一种方法是直接删除用户,再输入:

git config --global --unset user.password

如果是Windows用户,可以在如下位置找到保存的密码: Control Panel->All Control Panel Items->Credential Manager->Windows Credentials 或者直接搜索凭据管理器,可以直接修改用户名和密码。

使用ssh连接GitHub上的git服务器

先配置git的用户名和邮箱:

git config --global user.name "your_name"
git config --global user.email "your_email@xxx.com"

先查看本地是否已经配置了公钥和私钥,如果已经存在私钥,无需再次生成。

cd ~/.ssh

生成密钥:

-> % ssh-keygen -t rsa -b 4096 -C your_email@xxx.com
Generating public/private rsa key pair.
Enter file in which to save the key (/home/ubuntu/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /home/ubuntu/.ssh/id_rsa.
Your public key has been saved in /home/ubuntu/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:14HZgHvg4z5qnFwlcrUeZ7AzxOpp+cka9oEMPrr04YQ zhang0peter@gmail.com
The key's randomart image is:
+---[RSA 4096]----+
|         o.      |
|        o ==     |
|       . *o+o    |
|      . B O.o.   |
|      .=SO.*.    |
|     o oBo.      |
|    Eo===o..     |
|   . ==+oo+.     |
|    oo+..o.      |
+----[SHA256]-----+

生成密钥后拷贝公钥id_rsa.pub的内容,到GitHub上新建ssh的key:GitHub SSH and GPG keys

新建完成后就可以登录GitHub了:

-> % ssh -T git@github.com
The authenticity of host 'github.com (13.229.188.59)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,13.229.188.59' (RSA) to the list of known hosts.
Hi zhang0peter! You've successfully authenticated, but GitHub does not provide shell access.

git 常用操作

Git操作参考:Git的奇技淫巧

有一篇好文章:一篇文章,教你学会Git

在这里插入图片描述

每次commit,git存储的是全新的文件快照而不是文件的变更部分。这是做了一个取舍,这样每次在切换分支的时候,读取文件是O(1)的时间复杂度,而不是O(N)的时间复杂度。

git误操作如何恢复

使用git reflog,修改HEAD的指针

在这里插入图片描述

在这里插入图片描述


参考: