Alias
linux系統(tǒng)允許我們給command起別名,我們可以給常用的命令寫別名,方便以后的操作。
為了讓系統(tǒng)識別alias,我們要在 ~ 目錄下新建 .alias 文件,在文件每一行寫一個命令的別名,如:
alias newname="command"
注:'='兩邊不能有空格
然后在 ~/.zshrc (或者 ~/.bashrc )最后添加一行:
source ~/.alias
每次更改了 .alias 文件之后都要運行:
source ~/.zshrc
其實zsh中已經(jīng)有相當(dāng)一部分的alias了,有興趣可以查一查,我用的它的alias并不多,就不列舉了,下面列舉一下我自己的alias吧:
alias vi="vim"
alias sv="sudo vim"
alias df="df -h"
alias du="du -h"
alias p="ps -f"
alias grep="grep --color"
alias h="history"
alias zshrc="vim ~/.zshrc && source ~/.zshrc"
alias p2="python2"
alias p3="python3"
alias ip2="ipython2"
alias ip3="ipython3"
另外git也可以設(shè)置alias,不過是直接在git里設(shè)置就行了,常見的如下:
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit
git config --global alias.st status
git config --global alias.unstage 'reset HEAD --'
git config --global alias.last 'log -1 HEAD'
Arch 開機啟動服務(wù)
Ubuntu下有 /etc/rc.d 目錄,其中的shell腳本會在開機時運行,這是一個簡單的方法,但是缺點在于系統(tǒng)只是簡單地執(zhí)行該腳本,而不關(guān)心能否成功運行,也不關(guān)系執(zhí)行結(jié)果。Ubuntu中還有另一種方法,就是將要執(zhí)行的腳本封裝成 服務(wù)(service) ,系統(tǒng)會自動監(jiān)控所有的服務(wù)狀態(tài),我們也能隨時獲取它們的執(zhí)行信息。這也是Arch中唯一來實現(xiàn)開機啟動程序的方式。
首先在 /etc/systemd/system/ 目錄下創(chuàng)建一個名為 myscript.service 的文件,文件內(nèi)容如下:
[Unit]
Description=My script
[Service]
ExecStart=/usr/bin/my-script
[Install]
WantedBy=multi-user.target
然后運行命令:
#enable start
systemctl enable myscript.service
#disable start
systemctl disable myscript.service
注:my-script 文件是一個shell文件,要有可執(zhí)行權(quán)限,而且開頭必須是:
!/bin/bash
Linux Desktop Entry
有了可執(zhí)行的二進(jìn)制程序和一個圖標(biāo),可以制作桌面快捷方式,以haroopad為例,需要在目錄 /usr/share/applications/ 中新建一個文件,命名為 haroopad.desktop ,文件寫法:
[Desktop Entry]
Name=Haroopad
Comment=A Markdown Editor
GenericName=Text Editor
Exec=/path/to/haroopad
Icon=/path/to/icons/haroopad.png
Type=Application
StartupNotify=true
StartupWMClass=Haroopad
Categories=GNOME;GTK;Utility;TextEditor;Development;
MimeType=text/plain;
Others
sudo 不輸入密碼
使用sudo權(quán)限編輯 /etc/sudoers 文件或者執(zhí)行 sudo visudo 命令,添加一行
username ALL=(ALL) NOPASSWD: ALL
可以讓特定用戶不用輸入密碼進(jìn)行sudo操作
或者將該文件中的這一行取消注釋
# %wheel ALL=(ALL) NOPASSWD: ALL
這樣讓所有wheel組內(nèi)的用戶均不用輸密碼
注:wheel組就是管理員組,user在wheel組里說明該user是可以su來獲得root權(quán)限,但非wheel組用戶不行
git push需要輸入密碼問題
git可以使用https方式或者ssh方式訪問,其中https方式每次都需要輸入密碼,ssh方式不用,因為ssh采用的密鑰驗證,私鑰本地保存,公鑰在服務(wù)端。解決方法就是:
git remote add origin 'repo的ssh地址'
修改已有項目 .git/config 文件中的url,改成ssh地址
清除linux boot中無用的啟動項
這是Ubuntu這個坑系統(tǒng)才有的問題,而我已經(jīng)入了Arch神教啦,哈哈。因為Ubuntu更新了之后,舊的linux-image還會存在于 /boot 分區(qū)中,所以 /boot 的空間會越來越小。之前Ubuntu的 /boot 分區(qū)有200M空間,有一次更新出來的linux-image超過了100M,結(jié)果下一次更新的linux-image也大于100M,導(dǎo)致我從此告別了內(nèi)核更新。。。
首先查看已安裝的linux-image的各個版本:
dpkg --get-selections | grep linux-image
確認(rèn)當(dāng)前使用的是哪一個:
uname -a
刪除某個版本的linux-image,這里為了徹底刪除用purge而不是remove,比如:
sudo apt-get purge linux-image-3.5.0-27-generic
卸載完可再查看所有的linux-image