1. 目的
環(huán)境: Ubuntu16.04
梳理
2. 系統(tǒng)相關(guān)
2.1 設(shè)置root用戶密碼
1. 開(kāi)機(jī)進(jìn)入桌面,ctrl+alt+T打開(kāi)終端
2. 在此處輸入:sudo passwd root
3. 設(shè)置root密碼
4. 進(jìn)入root賬號(hào): 終端上輸入:su 回車鍵 , 然后輸入設(shè)置的新密碼,即可
2.2 重新添加系統(tǒng)睡眠選項(xiàng)
1. 先檢查是否有交換分區(qū)(swap),如果有確認(rèn)交換分區(qū)至少和實(shí)際可用內(nèi)存一樣大。
2. 按Ctrl+Alt+T開(kāi)啟終端或者Dash搜索開(kāi)啟終端
3. 運(yùn)行sudo pm-hibernate,輸入密碼后回車。
4. 如果休眠測(cè)試無(wú)法正常工作,就說(shuō)明你的計(jì)算機(jī)無(wú)法進(jìn)行休眠。
5. 如果休眠測(cè)試可以正常工作,進(jìn)入root權(quán)限,新建文件/etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla添加以下內(nèi)容后保存
[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
ResultActive=yes
6、關(guān)閉所有程序,重啟計(jì)算機(jī)。
7、重啟后,菜單中就有休眠選項(xiàng)了。
3. 編碼
3.1 base64
場(chǎng)景1: 把字符按照base64編碼
echo -n 哈哈 | base64
# 結(jié)果如下:
5ZOI5ZOI
場(chǎng)景2: 把字符按照base64解碼
echo -n 5ZOI5ZOI | base64 -d
# 結(jié)果如下:
哈哈
4. alias與export
盡量使用export
alias , 使用which 命令找不到, 但是export可以
5. 空間大小
- df -h //查看磁盤(pán)各分區(qū)大小、已用空間等信息
- du -sh filename //查看文件夾大小
- du -sh 查看當(dāng)前目錄以下搜索文件和子目錄大小
6. 后臺(tái)運(yùn)行
- 場(chǎng)景: 比如啟動(dòng)ipython notebook等,不希望打印log, 希望啟動(dòng)完后退出log輸出;
# 命令后面加&
ipython notebook &
7. watch
- 場(chǎng)景: 可以檢查, watch是一個(gè)非常實(shí)用的命令,可以幫你監(jiān)測(cè)一個(gè)命令的運(yùn)行結(jié)果,省得你一遍遍的手動(dòng)運(yùn)行。在Linux下,watch是周期性的執(zhí)行下個(gè)程序,并全屏顯示執(zhí)行結(jié)果。你可以拿他來(lái)監(jiān)測(cè)你想要的一切命令的結(jié)果變化,比如 tail 一個(gè) log 文件,ls 監(jiān)測(cè)某個(gè)文件的大小變化,看你的想象力了
- watch命令
8. rsync | scp
- 兩個(gè) 命令都是傳送文件, 但前者可以只傳增量變化的文件, 跳過(guò)兩次不變的文件, 更強(qiáng)大
- rsync -av yourname@IP:sourcePath DesPath
9. diff
- 場(chǎng)景: 比較兩個(gè)文件不同地方
diff file1 file2
# 如果想看的更清楚, 共同和不同的都打印
vimdiff file1 file2
9.1 meld
- 場(chǎng)景: 找出兩個(gè)文件不同的地方, 可視化的界面, 非常類型git compare.
meld file1 file2
10.vim: 大小寫(xiě)替換
vim中大小寫(xiě)轉(zhuǎn)化的命令是
gu或者gU
形象一點(diǎn)的解釋就是小u意味著轉(zhuǎn)為小寫(xiě);大U意味著轉(zhuǎn)為大寫(xiě).
# 1、整篇文章大寫(xiě)轉(zhuǎn)化為小寫(xiě)
打開(kāi)文件后,無(wú)須進(jìn)入命令行模式。鍵入:ggguG
解釋一下:ggguG分作三段gg gu G
gg=光標(biāo)到文件第一個(gè)字符
gu=把選定范圍全部小寫(xiě)
G=到文件結(jié)束
# 2、整篇文章小寫(xiě)轉(zhuǎn)化為大寫(xiě)
打開(kāi)文件后,無(wú)須進(jìn)入命令行模式。鍵入:gggUG
解釋一下:gggUG分作三段gg gU G
gg=光標(biāo)到文件第一個(gè)字符
gU=把選定范圍全部大寫(xiě)
G=到文件結(jié)束
# 3、只轉(zhuǎn)化某個(gè)單詞
guw 、gue
gUw、gUe
這樣,光標(biāo)后面的單詞便會(huì)進(jìn)行大小寫(xiě)轉(zhuǎn)換
想轉(zhuǎn)換5個(gè)單詞的命令如下:
gu5w、gu5e
gU5w、gU5e
# 4、轉(zhuǎn)換幾行的大小寫(xiě)
將光標(biāo)定位到想轉(zhuǎn)換的行上,鍵入:1gU 從光標(biāo)所在行 往下一行都進(jìn)行小寫(xiě)到大寫(xiě)的轉(zhuǎn)換
10gU,則進(jìn)行11行小寫(xiě)到大寫(xiě)的轉(zhuǎn)換
以此類推,就出現(xiàn)其他的大小寫(xiě)轉(zhuǎn)換命令
gU0 :從光標(biāo)所在位置到行首,都變?yōu)榇髮?xiě)
gU$ :從光標(biāo)所在位置到行尾,都變?yōu)榇髮?xiě)
gUG :從光標(biāo)所在位置到文章最后一個(gè)字符,都變?yōu)榇髮?xiě)
gU1G :從光標(biāo)所在位置到文章第一個(gè)字符,都變?yōu)榇髮?xiě)
11. linux權(quán)限管理
12. date
# 給定日期字符串, 轉(zhuǎn)換顯示格式, 包括可轉(zhuǎn)為時(shí)間戳
date -d "dateString" +"formatString"
$ date -d "19700101 08:00:00" +%s
0
# 給定時(shí)間戳, 轉(zhuǎn)換對(duì)應(yīng)日期字符串
date -d @timestamp +"formatString"
$ date -d @0 +"%Y%m%d %H:%M:%S"
19700101 08:00:00
# 給定日期進(jìn)行加減
date -d -ndays +"formatString"
$ date -d -4days +"%Y-%m-%d"
2018-02-01
13. dirname
使用dirname在shell腳本中獲取當(dāng)前腳本文件所在的絕對(duì)路徑.
# 比如: 找出python對(duì)應(yīng)的文件絕對(duì)路徑
dirname $(which python)
# 找出本地安裝sbt的路徑
echo $(dirname $(dirname $(readlink -f $(which sbt))))
14. xargs
# 針對(duì)id_file, 每行在file1中做grep操作
cat id_file
123
233
245
cat id_file | xargs -n1 -I {} grep {} file1
# 批量轉(zhuǎn)化時(shí)間戳為日期
# 比如, 文件file每行存放時(shí)間戳, 如下:
1539912736
1538992708
1538992479
# 使用如下命令, 批量轉(zhuǎn)化:
cat file | xargs -n1 -I {} date -d @{}