當(dāng)決定使用 Ubuntu 來開發(fā)時(shí)

本篇文章主要持續(xù)記錄和總結(jié) ubuntu 的必備基礎(chǔ)和使用過程中遇到的各種問題

安裝

下載 Ubuntu Kylin

最新 ubuntu-kylin

使用 UltraISO 制作 U 盤啟動(dòng)盤

寫入硬盤鏡像

入門

了解目錄

  • /home 用戶的主目錄
  • /boot 啟動(dòng)目錄,啟動(dòng)相關(guān)文件
  • /sbin 超級(jí)用戶才能使用的目錄
  • /root 超級(jí)用戶的主目錄
  • /proc 系統(tǒng)內(nèi)存的映射
  • /dev 設(shè)備文件保存目錄
  • /etc 配置文件保存目錄
  • /lib 系統(tǒng)庫(kù)保存目錄
  • /usr 系統(tǒng)軟件資源目錄
  • /var 經(jīng)常變化目錄,經(jīng)常放日志文件
  • /tmp 臨時(shí)目錄

終端

# 新窗口打開終端
$ ctrl + alt + t
$ ctrl + shift + n
# 新標(biāo)簽頁(yè)打開終端
$ ctrl + shift + t
# 全屏
$ ctrl + m

獲取 root 權(quán)限

$ sudo passwd root      // 激活賬號(hào),設(shè)置密碼
$ sudo passwd -l root   // 再次禁用 root 帳號(hào)

安裝

$ sudo apt-get install package    // 安裝包
$ sudo dpkg -i package_file.deb   // 安裝 .deb 文件

刪除

$ sudo apt-get remove package           // 刪除包
$ sudo apt-get remove --purge package   // 刪除包和配置文件
$ sudo dpkg -r package_name             // 卸載 .deb 文件
$ sudo dpkg -P package                  // 刪除包和配置文件

更新

$ sudo apt-get update   // 更新源
$ sudo apt-get upgrade  // 更新已安裝的包

清理

$ sudo apt-get autoclean  // 清理已經(jīng)卸載的包
$ sudo apt-get clean      // 清理所有的安裝包
$ sudo apt-get autoremove // 清理因依賴而安裝但現(xiàn)在不再需要的包

極有可能遇到的一些問題

開機(jī)啟動(dòng)項(xiàng)沒有 windows

$ sudo update-grub

更改 hosts

$ sudo gedit /etc/hosts

最新 hosts

安裝搜狗輸入法

下載 -> 系統(tǒng)設(shè)置 -> 語言支持 -> 鍵盤輸入法系統(tǒng) => fcitx

解決端口沖突

$ lsof -i:8000      // 查看 8000 端口
$ kill 對(duì)應(yīng)的 pid     // 停止使用這個(gè)端口的程序

通過文件設(shè)置環(huán)境變量

# 對(duì)所有用戶生效
- /etc/profile:為系統(tǒng)的每個(gè)用戶設(shè)置環(huán)境信息
- /etc/bashrc:每次新打開一個(gè)終端 shell,該文件被讀取

# 對(duì)單個(gè)用戶生效
- /.bash_profile:當(dāng)用戶登錄時(shí)該文件僅執(zhí)行一次
- /.bashrc:當(dāng)?shù)卿浺约懊看未蜷_新的 shell 時(shí),該文件被讀取

使用 source /etc/environment 可以使變量設(shè)置在當(dāng)前窗口立即生效,需 注銷/重啟 之后,才能對(duì)每個(gè)新終端窗口都生效

設(shè)置 JAVA 環(huán)境變量

$ sudo gedit /etc/profile  // 更改配置文件

# set java environment
export JAVA_HOME=/home/feng/download/jdk1.8.0_131
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

$ source /etc/profile  // 使其生效

Java SE Development Kit 8 Downloads

沒有 WIFI 選項(xiàng)

$ sudo apt install linux-generic-hwe-16.04  // LTSEnablementStack

使用 vim

$ sudo apt install vim

如何讓 vim 成為我們的神器

對(duì)文件的操作

$ pwd         // 輸出當(dāng)前工作目錄的絕對(duì)路徑
$ rmdir       // 移除空文件
$ rm -rf      // 刪除目錄包含子目錄和文件
$ mv          // 重命名/移動(dòng)文件/目錄
$ cp          // 復(fù)制文件
$ cp -r       // 復(fù)制目錄
$ ls -l       // 顯示文件詳細(xì)信息
$ chmod -/+   // 修改文件權(quán)限

# 壓縮和解壓文件
// .zip:支持不同操作系統(tǒng)
zip -r XX.zip XX    # 壓縮
unzip XX.zip        # 解壓

// .tar:僅打包,沒有壓縮
tar cvf XX.tar XX            # 壓縮
tar xvf XX.tar -C /XX/XX     # 解壓

// .tar.gz:使用廣泛,快速壓縮和提取
tar zcvf XX.tar.gz XX        # 壓縮
tar zxvf XX.tar.gz XX        # 解壓

// .tar.bz2:壓縮效果最佳,相對(duì)速率較慢
tar zcvf XX.tar.bz2 XX        # 壓縮
tar zxvf XX.tar.bz2 XX        # 解壓

截屏

gnome-screenshot

編輯圖片

sudo apt-get install gimp

gimp 類似 PS,功能十分強(qiáng)大,若只是裁剪圖片,可以使用自帶的截屏軟件 gnome-screenshot

扁平化主題

Flatabulous

Ubuntu Tweak:
# GTK 主題:Flatabulous
# 圖表主題:Ultra-Flat
# 光標(biāo)主題:DMZ-Black
# 窗口主題:Flatabulous

Flatabulous

護(hù)眼應(yīng)用

f.lux

f.lux

使用 curl

一個(gè)利用 URL 語法在 命令行 下工作的 文件傳輸工具

# 執(zhí)行下載
// 抓取頁(yè)面內(nèi)容到一個(gè)文件中
curl -o index.html https://www.baidu.com/

// 后面的 url 具體到某個(gè)文件
curl -O https://github.com/FengShangWuQi/to-vim/blob/master/images/vim.png

// 只打印頭部信息
curl -I https://www.baidu.com/

// 顯示抓取錯(cuò)誤
curl -f https://segmentfault.com/n/1330000011469701

// 不顯示進(jìn)度信息
curl -s -o vim.png https://github.com/FengShangWuQi/to-vim/blob/master/images/vim.png

// 顯示下載進(jìn)度條
curl -# -o vim.png https://github.com/FengShangWuQi/to-vim/blob/master/images/vim.png

// 通過 ftp 下載文件
curl -O -u 用戶名:密碼 ftp://@ip:port/static/style.css
curl -O ftp://用戶名:密碼@ip:port/static/style.css

// 通過 ftp 上傳
curl -T style.css ftp://用戶名:密碼@ip:port/static/css/

# 發(fā)送請(qǐng)求
// GET
curl -i -H "Accept: application/json" -H "Content-Type: application/json" http://hostname/resource

// POST
curl -i -H "Content-Type: application/json" -X POST -d '{"username":"xyz","password":"xyz"}' http://hostname/resource

更新源失敗

# 錯(cuò)誤提示
校驗(yàn)數(shù)字簽名時(shí)出錯(cuò)。此倉(cāng)庫(kù)未被更新,所以仍然使用此前的索引文件。GPG 錯(cuò)誤:https://dl.yarnpkg.com/debian stable InRelease: 由于沒有公鑰,無法驗(yàn)證下列簽名: NO_PUBKEY

# 錯(cuò)誤原因
- 人為造成,更新系統(tǒng)或添加 PPA
- 無緣無故出現(xiàn),如軟件源服務(wù)器被黑造成了簽名被篡改、文件被替換或與服務(wù)器的中間傳輸被某些人重置(如DNS被污染)
- 儲(chǔ)存 APT 數(shù)據(jù)和 GPG 簽名的目錄 /var/lib/apt/ 損壞(這種情況一般會(huì)同時(shí)伴有其他嚴(yán)重問題)

# 解決方案
# 重新加入以上出現(xiàn)問題的apt-key
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com PGP簽名

錄制 GIF

# byzanz
byzanz 能制作文件小,清晰的 GIF 動(dòng)態(tài)效果圖,不足就是,目前只能通過輸入命令方式來錄制

## 安裝
sudo apt-get install byzanz

## 主要參數(shù)
-d, --duration=SECS     動(dòng)畫的時(shí)間 (默認(rèn):10 秒)
-e, --exec=COMMAND      Command to execute and time
--delay=SECS            開始之前的延時(shí)(默認(rèn):1 秒)
-c, --cursor            錄制鼠標(biāo)光標(biāo)
-a, --audio             錄音
-x, --x=像素            要錄制矩形的 X 坐標(biāo)
-y, --y=像素            要錄制矩形的 Y 坐標(biāo)
-w, --width=像素        錄制矩形的寬度
-h, --height=像素       錄制矩形的高度
-v, --verbose           詳細(xì)
--display=顯示          要使用的 X 顯示

# xwininfo
查詢要錄制的窗口位置、寬度和高度

# 示例
byzanz-record -x 0 -y 24 -w 1920 -h 1056 -c -d 10 --delay=3 -v app.gif

硬鏈接與軟鏈接

為解決 文件的共享 使用,Linux 系統(tǒng)引入了兩種鏈接:硬鏈接(hard link) 與軟鏈接(又稱 符號(hào)鏈接,即 soft link 或 symbolic link)

# 硬鏈接
ln 源文件 目標(biāo)文件
- 文件有相同的 inode 及數(shù)據(jù)塊
- 只能對(duì)已存在的文件進(jìn)行創(chuàng)建
- 不能交叉文件系統(tǒng)進(jìn)行硬鏈接的創(chuàng)建
- 不能對(duì)目錄進(jìn)行創(chuàng)建,只可對(duì)文件創(chuàng)建
- 刪除一個(gè)硬鏈接文件并不影響其他有相同 inode 號(hào)的文件

# 軟鏈接
ln -s 源文件或目錄 目標(biāo)文件或目錄
- 軟鏈接有自己的文件屬性及權(quán)限等
- 可對(duì)不存在的文件或目錄創(chuàng)建軟鏈接
- 軟鏈接可交叉文件系統(tǒng)
- 軟鏈接可對(duì)文件或目錄創(chuàng)建
- 創(chuàng)建軟鏈接時(shí),鏈接計(jì)數(shù) i_nlink 不會(huì)增加
- 刪除軟鏈接并不影響被指向的文件,但若被指向的原文件被刪除,則相關(guān)軟連接被稱為死鏈接(即 dangling link,若被指向路徑文件被重新創(chuàng)建,死鏈接可恢復(fù)為正常的軟鏈接)

修改終端提示符

PS1Linux 終端用戶的一個(gè) 環(huán)境變量,用來定義命令行提示符的參數(shù)

# 查看默認(rèn)設(shè)置
echo $PS1

# 常用參數(shù)及其含義
\H    完整的主機(jī)名
\h    主機(jī)中的第一個(gè)名字
\u    當(dāng)前用戶的賬號(hào)名稱
\w    完整的工作目錄名稱
\$    提示字符,如果是root用戶,提示為#,普通用戶則為$

# 臨時(shí)修改
$ export PS1='[\u@\h\w]\$'

# 永久修改
$ vim /.bashrc
編輯 PS1

總結(jié)

關(guān)于 Ubuntu,如果還有 更有意思的內(nèi)容或問題,歡迎在評(píng)論中交流

最后編輯于
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢(mèng)閱讀 100,585評(píng)論 9 468
  • 最近在學(xué)習(xí)大數(shù)據(jù)技術(shù),朋友叫我直接學(xué)習(xí)Spark,英雄不問出處,菜鳥不問對(duì)錯(cuò),于是我就開始了Spark學(xué)習(xí)。 為什...
    Plokmijn閱讀 26,838評(píng)論 6 26
  • 一、文件/文件夾管理 ls 列出當(dāng)前目錄文件(不包括隱含文件) ls -a 列出當(dāng)前目錄文件(包括隱含文件) ls...
    會(huì)飛的魚Coo閱讀 4,691評(píng)論 1 23
  • Ubuntu 常用命令大全 查看軟件 xxx 安裝內(nèi)容 #dpkg -L xxx 查找軟件 #apt-cache ...
    guiwuzhe閱讀 2,711評(píng)論 0 14
  • 一、文件/文件夾管理 ls 列出當(dāng)前目錄文件(不包括隱含文件)ls -a 列出當(dāng)前目錄文件(包括隱含文件)l...
    路癡千行閱讀 2,618評(píng)論 0 5

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