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