shell常用命令

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 @{} 
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Shell常用命令 工欲善其事,必先利其器。無(wú)論是做哪一方面開(kāi)發(fā)的程序員,都免不了和shell打交道,不管是基于L...
    擦柱而出閱讀 1,026評(píng)論 0 16
  • 常用命令 想看看你的Shell是哪一種,執(zhí)行命令: echo $SHELL在Linux中,$符號(hào)代表一個(gè)shell...
    蒲公英少年帶我飛閱讀 3,861評(píng)論 1 17
  • 獲取編譯時(shí)間cat /proc/version 內(nèi)核崩潰cat /proc/last_kmsg 獲取硬件信息adb...
    慢牛策略閱讀 9,493評(píng)論 0 14
  • 最近在梳理知識(shí),整理一下shell。 一、 基本語(yǔ)法 1.1 注釋 輸出幫助性文字 (EOF為邊界區(qū)分字符串隨意定...
    草中人閱讀 464評(píng)論 0 0
  • linux資料總章2.1 1.0寫(xiě)的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無(wú)法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 13,243評(píng)論 2 33

友情鏈接更多精彩內(nèi)容