Ubuntu(14.04LTS)學習札記

来源:http://www.cnblogs.com/hippieZhou/archive/2016/03/16/5256235.html
-Advertisement-
Play Games

這篇博文是我在基於Ubuntu學習一些知識的札記,方便日後進行不斷回顧,這裡進行統一記錄,當然當學到新的東西也會陸續更新!!!還請各位博主不要見笑,小弟在此謝過~\(≧▽≦)/~啦啦啦!!!! 由於個人原因,我並不喜歡在桌面上放一些很花哨的東西,追求簡約一直是我個人所推崇的。所以,我的Ubuntu系


  這篇博文是我在基於Ubuntu學習一些知識的札記,方便日後進行不斷回顧,這裡進行統一記錄,當然當學到新的東西也會陸續更新!!!還請各位博主不要見笑,小弟在此謝過~\(≧▽≦)/~啦啦啦!!!!

1、Ubuntu的簡單配置:

  由於個人原因,我並不喜歡在桌面上放一些很花哨的東西,追求簡約一直是我個人所推崇的。所以,我的Ubuntu系統配置也不例外,先上一張桌面的諜照:

 

   1.1 安裝Numix主題:

  樓主我安裝的是Numix Circle系列的主題,個人覺得還不錯。依據個人愛好,主題嘛,看著酸爽就Okay!

sudo add-apt-repository ppa:numix/ppa
sudo apt-get update
sudo apt-get install numix-icon-theme-circle

  1.2 常用軟體的安裝:

  Unity Tweak Tool、新立得軟體包、搜狗輸入法,這三個軟體都可以在Ubuntu軟體中心和搜狗輸入法官網下載到,這裡不再贅述了,至於其他軟體我就不介紹了,因為我並沒有裝,需求不大。

  Conky的安裝及配置:如果你想讓你的桌面能實時顯示一些信息,Conky或許能夠幫到你。方便美觀便捷,你值得擁有。

//安裝:
sudo apt-get install conky

//配置:
//安裝好後Conky預設是不會為你創建對應的.conkyrc文件,因此我們需要在當前的用戶目錄(我的是/home/hippiezhou)下創建一個對應的文件。然後添加我們的配置代碼。
//我的配置代碼如下所示:
use_spacer right use_xft yes font Microsoft YaHei:size=8 xftfont Microsoft YaHei:size=8 #xftfont WenQuanYi Zen Hei:pixelsize=12 override_utf8_locale yes update_interval 1.0 own_window yes own_window_type normal own_window_transparent yes own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager double_buffer yes minimum_size 206 5 maximum_width 400 draw_shades yes draw_outline no draw_borders no draw_graph_borders no default_color ffffff default_shade_color 000000 default_outline_color 000000 alignment top_right gap_x 10 gap_y 30 cpu_avg_samples 2 uppercase no # set to yes if you want all text to be in uppercase TEXT ${font Microsoft YaHei:style=Bold:pixelsize=30}${alignc}${time %H:%M:%S} ${font Microsoft YaHei:pixelsize=18}${alignc}${time %b%d日 星期%a}${font Microsoft YaHei:pixelsize=12} ${color #ffd700}${hr 1}$color ${color #98c2c7}主機名:${color #db7093} $alignr$nodename ${color #98c2c7}內核: ${color #db7093}$alignr$kernel ${color #98c2c7}已開機: ${color #db7093}$alignr$uptime ${color #98c2c7}IP地址: ${color #db7093} ${alignr} ${addr wlp1s0} ${color #98c2c7}CPU使用率: ${color #db7093} $alignr$cpu% ${color #78af78}$cpubar ${color #ddaa00} ${top name 1}$alignr ${top cpu 1} ${color lightgrey} ${top name 2}$alignr ${top cpu 2} ${color lightgrey} ${top name 3} $alignr${top cpu 3} ${color #98c2c7}物理記憶體:${color #4169e1}$alignr ${color}$mem ${color #98c2c7}/${color}$memmax${color #4169e1}${color #db7093}$memperc% ${color #78af78}${membar} ${color #98c2c7}根分區: ${color}${alignr}${fs_free /} / ${fs_size /} ${color #78af78}${fs_bar 4 /} ${color #98c2c7}Home分區: ${color}${alignr}${fs_free /home} / ${fs_size /home} ${color #78af78}${fs_bar 4 /home} ${color #98c2c7}下載速度:${color} ${downspeed wlp1s0} k/s ${color #98c2c7}上傳速度:${color} ${upspeed wlp1s0} k/s ${color #ffd700}${hr 1}$color

//為了保證Conky能在每次系統啟動的時候也啟動,我們需要為Conky添加系統啟動項。
//在你的Dash中搜索“啟動應用程式”,然後把我們的Conky作為啟動項添加進去。
名稱:conky
命令:/usr/bin/conky -p 10
註釋:Load the conky

//註:如果你想手動啟動conky的話,只需要按住Ctrl+Alt+T然後輸入命令conky即可

  1.3 禁用來賓模式:

vim  /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf

//在最後一行添加一句代碼:
allow-guest=false

//然後 ESC->:wq 進行保存即可(可能需要sudo進行提權)

  1.4 其他相關配置:

  語言包缺失:language-selector-gnome

  flash安裝:sudo apt-get install flashplugin-installer(說實話,我安裝這個東西真的安裝很長時間,奇慢無比!)

 

2、Ubuntu命令:

sudo apt-get autoclean    //清理舊版本的軟體緩存
sudo apt-get clean  //清理所有軟體緩存
sudo apt-get autoremove  //刪除系統不再使用的孤立軟體
uname -a  //查看內核
sudo lshw  //顯示當前硬體信息
pstree  //查看當前進程樹

//多線程下載
sudo apt-get install axel
axel -n 5 http://xxx.xxx.xxx.xxx/xxx.zip
或者
lftp -c "pget -n 5 http://xxx.xxx.xxx.xxx/xxx.zip“

//如何切換到 root 帳號
sudo -s
sudo -i
sudo su

cat 文件名  
//一屏查看文件內容
cat /etc/vsftpd.conf |grep -v ^#  //
不顯示以#開頭的行
more 文件名  //分頁查看文件內容
less 文件名  //可控分頁查看文件內容
nl 文件名 或者 cat -n 文件名  //帶行號顯示文件的內容
cut -c 5- a.py  //去除文件中的行號
cat file.txt |sort -u  //刪除文件中的重覆行
touch filename  //創建1個空文件
rm -fr 文件夾  //遞歸刪除嵌套目錄
file filename  //查看文件類型
stat filename  //查看文件的時間
diff file1 file2  //查看兩個文件的區別

tar -zxvf xxx.tar.gz  //解壓縮 xxx.tar.gz
tar -jxvf xxx.tar.bz2  //解壓縮 xxx.tar.bz2
tar -zcvf xxx.tar.gz aaa bbb  //壓縮 aaa bbb 目錄為 xxx.tar.gz
tar -jcvf xxx.tar.bz2 aaa bbb  //壓縮 aaa bbb 目錄為 xxx.tar.bz2

命令關機
sudo halt
sudo shutdown -h now  //現在關機
定時關機
sudo shutdown -h 23:00  //晚上11點自動關機
sudo shutdown -h +60  //60分鐘後自動關機
命令重啟電腦
sudo reboot
sudo shutdown -r now

 

3、Git:

  

  這一部分我不打算進行詳細的介紹,我覺得能滿足我基本的需求(clone、pull、push、merge)即可,至於一些高大上的操作各位還是參考園子的其他大牛吧。我這裡只列舉我常用到的幾個命令,方便我的溫故知新。

 

一、新建代碼庫
# 在當前目錄新建一個Git代碼庫
$ git init
# 新建一個目錄,將其初始化為Git代碼庫
$ git init [project-name]
# 下載一個項目和它的整個代碼歷史
$ git clone [project-path]
二、配置
Git的設置文件為.gitconfig,它可以在用戶主目錄下(全局配置),也可以在項目目錄下(項目配置)。
# 顯示當前的Git配置
$ git config --list
# 編輯Git配置文件
$ git config -e [--global]
# 設置提交代碼時的用戶信息
$ git config [--global] user.name "[name]"
$ git config [--global] user.email "[email address]"
三、增加/刪除文件
# 添加指定文件到暫存區
$ git add [file1] [file2] ...
# 添加指定目錄到暫存區,包括子目錄
$ git add [dir]
# 添加當前目錄的所有文件到暫存區
$ git add .
# 刪除工作區文件,並且將這次刪除放入暫存區
$ git rm [file1] [file2] ...
# 停止追蹤指定文件,但該文件會保留在工作區
$ git rm --cached [file]
# 改名文件,並且將這個改名放入暫存區
$ git mv [file-original] [file-renamed]
四、代碼提交
# 提交暫存區到倉庫區
$ git commit -m [message]
# 提交暫存區的指定文件到倉庫區
$ git commit [file1] [file2] ... -m [message]
# 提交工作區自上次commit之後的變化,直接到倉庫區
$ git commit -a
# 提交時顯示所有diff信息[Ctrl+X 然後Y退出]
$ git commit -v
# 使用一次新的commit,替代上一次提交
# 如果代碼沒有任何新變化,則用來改寫上一次commit的提交信息
$ git commit --amend -m [message]
# 重做上一次commit,並包括指定文件的新變化
$ git commit --amend   ...
五、分支
# 列出所有本地分支
$ git branch
# 列出所有遠程分支
$ git branch -r
# 列出所有本地分支和遠程分支
$ git branch -a
# 新建一個分支,但依然停留在當前分支
$ git branch [branch-name]
# 新建一個分支,並切換到該分支
$ git checkout -b [branch]
# 新建一個分支,指向指定commit
$ git branch [branch] [commit]
# 新建一個分支,與指定的遠程分支建立追蹤關係
$ git branch --track [branch] [remote-branch]
# 切換到指定分支,並更新工作區
$ git checkout [branch-name]
# 建立追蹤關係,在現有分支與指定的遠程分支之間
$ git branch --set-upstream [branch] [remote-branch]
# 合併指定分支到當前分支
$ git merge [branch]
# 選擇一個commit,合併進當前分支
$ git cherry-pick [commit]
# 刪除分支
$ git branch -d [branch-name]
# 刪除遠程分支
$ git push origin --delete 
$ git branch -dr
六、標簽
# 列出所有tag
$ git tag
# 新建一個tag在當前commit
$ git tag [tag]
# 新建一個tag在指定commit
$ git tag [tag] [commit]
# 查看tag信息
$ git show [tag]
# 提交指定tag
$ git push [remote] [tag]
# 提交所有tag
$ git push [remote] --tags
# 新建一個分支,指向某個tag
$ git checkout -b [branch] [tag]
七、查看信息
# 顯示有變更的文件
$ git status
# 顯示當前分支的版本歷史
$ git log
# 顯示commit歷史,以及每次commit發生變更的文件
$ git log --stat
# 顯示某個文件的版本歷史,包括文件改名
$ git log --follow [file]
$ git whatchanged [file]
# 顯示指定文件相關的每一次diff
$ git log -p [file]
# 顯示指定文件是什麼人在什麼時間修改過
$ git blame [file]
# 顯示暫存區和工作區的差異
$ git diff
# 顯示暫存區和上一個commit的差異
$ git diff --cached []
# 顯示工作區與當前分支最新commit之間的差異
$ git diff HEAD
# 顯示兩次提交之間的差異
$ git diff [first-branch]...[second-branch]
# 顯示某次提交的元數據和內容變化
$ git show [commit]
# 顯示某次提交發生變化的文件
$ git show --name-only [commit]
# 顯示某次提交時,某個文件的內容
$ git show [commit]:[filename]
# 顯示當前分支的最近幾次提交
$ git reflog
八、遠程同步
# 下載遠程倉庫的所有變動
$ git fetch [remote]
# 顯示所有遠程倉庫
$ git remote -v
# 顯示某個遠程倉庫的信息
$ git remote show [remote]
# 增加一個新的遠程倉庫,並命名
$ git remote add [shortname] [url]
# 取回遠程倉庫的變化,並與本地分支合併
$ git pull [remote] [branch]
# 上傳本地指定分支到遠程倉庫
$ git push [remote] [branch]
# 強行推送當前分支到遠程倉庫,即使有衝突
$ git push [remote] --force
# 推送所有分支到遠程倉庫
$ git push [remote] --all
九、撤銷
# 恢復暫存區的指定文件到工作區
$ git checkout [file]
# 恢復某個commit的指定文件到工作區
$ git checkout [commit] [file]
# 恢覆上一個commit的所有文件到工作區
$ git checkout .
# 重置暫存區的指定文件,與上一次commit保持一致,但工作區不變
$ git reset [file]
# 重置暫存區與工作區,與上一次commit保持一致
$ git reset --hard
# 重置當前分支的指針為指定commit,同時重置暫存區,但工作區不變
$ git reset [commit]
# 重置當前分支的HEAD為指定commit,同時重置暫存區和工作區,與指定commit一致
$ git reset --hard [commit]
# 重置當前HEAD為指定commit,但保持暫存區和工作區不變
$ git reset --keep [commit]
# 新建一個commit,用來撤銷指定commit
# 後者的所有變化都將被前者抵消,並且應用到當前分支
$ git revert [commit]
十、其他
# 生成一個可供發佈的壓縮包
$ git archive

 

4、Vim:

  其實,Ubuntu系統已經內置了一個學習Vim的知道教程,你只需要在命令行中輸入vimtutor就可以。上面有非常詳細的教程,只要你肯耐心。這一部分我不打算進行詳細記錄,熟能生巧,經常練習,忘記的時候查看幫助文檔多看看敲敲就差不多可以記住了。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...