本篇文章主要持續(xù)記錄和總結(jié)
ubuntu的必備基礎(chǔ)和使用過程中遇到的各種問題
安裝
下載 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
安裝搜狗輸入法
下載 -> 系統(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
對(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
護(hù)眼應(yīng)用
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ù)為正常的軟鏈接)
修改終端提示符

PS1 是 Linux 終端用戶的一個(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)論中交流