本篇文章主要持續(xù)記錄和總結
ubuntu
的必備基礎和使用過程中遇到的各種問題
安裝
下載 Ubuntu Kylin
使用 UltraISO 制作 U 盤啟動盤
寫入硬盤鏡像
入門
了解目錄
-
/home
用戶的主目錄 -
/boot
啟動目錄,啟動相關文件 -
/sbin
超級用戶才能使用的目錄 -
/root
超級用戶的主目錄 -
/proc
系統(tǒng)內存的映射 -
/dev
設備文件保存目錄 -
/etc
配置文件保存目錄 -
/lib
系統(tǒng)庫保存目錄 -
/usr
系統(tǒng)軟件資源目錄 -
/var
經常變化目錄,經常放日志文件 -
/tmp
臨時目錄
終端
# 新窗口打開終端
$ ctrl + alt + t
$ ctrl + shift + n
# 新標簽頁打開終端
$ ctrl + shift + t
# 全屏
$ ctrl + m
獲取 root 權限
$ sudo passwd root // 激活賬號码俩,設置密碼
$ sudo passwd -l root // 再次禁用 root 帳號
安裝
$ 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 // 清理已經卸載的包
$ sudo apt-get clean // 清理所有的安裝包
$ sudo apt-get autoremove // 清理因依賴而安裝但現(xiàn)在不再需要的包
極有可能遇到的一些問題
開機啟動項沒有 windows
$ sudo update-grub
更改 hosts
$ sudo gedit /etc/hosts
安裝搜狗輸入法
下載 -> 系統(tǒng)設置 -> 語言支持 -> 鍵盤輸入法系統(tǒng) => fcitx
解決端口沖突
$ lsof -i:8000 // 查看 8000 端口
$ kill 對應的 pid // 停止使用這個端口的程序
通過文件設置環(huán)境變量
# 對所有用戶生效
- /etc/profile:為系統(tǒng)的每個用戶設置環(huán)境信息
- /etc/bashrc:每次新打開一個終端 shell蝶押,該文件被讀取
# 對單個用戶生效
- /.bash_profile:當用戶登錄時該文件僅執(zhí)行一次
- /.bashrc:當?shù)卿浺约懊看未蜷_新的 shell 時塑陵,該文件被讀取
使用 source /etc/environment
可以使變量設置在當前窗口立即生效本慕,需 注銷/重啟
之后秕岛,才能對每個新終端窗口都生效
設置 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 選項
$ sudo apt install linux-generic-hwe-16.04 // LTSEnablementStack
使用 vim
$ sudo apt install vim
對文件的操作
$ pwd // 輸出當前工作目錄的絕對路徑
$ rmdir // 移除空文件
$ rm -rf // 刪除目錄包含子目錄和文件
$ mv // 重命名/移動文件/目錄
$ cp // 復制文件
$ cp -r // 復制目錄
$ ls -l // 顯示文件詳細信息
$ chmod -/+ // 修改文件權限
# 壓縮和解壓文件
// .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:壓縮效果最佳,相對速率較慢
tar zcvf XX.tar.bz2 XX # 壓縮
tar zxvf XX.tar.bz2 XX # 解壓
截屏
gnome-screenshot
編輯圖片
sudo apt-get install gimp
gimp
類似 PS
饲齐,功能十分強大钉凌,若只是裁剪圖片,可以使用自帶的截屏軟件 gnome-screenshot
扁平化主題
Flatabulous
Ubuntu Tweak:
# GTK 主題:Flatabulous
# 圖表主題:Ultra-Flat
# 光標主題:DMZ-Black
# 窗口主題:Flatabulous
護眼應用
f.lux
使用 curl
一個利用 URL
語法在 命令行
下工作的 文件傳輸工具
# 執(zhí)行下載
// 抓取頁面內容到一個文件中
curl -o index.html https://www.baidu.com/
// 后面的 url 具體到某個文件
curl -O https://github.com/FengShangWuQi/to-vim/blob/master/images/vim.png
// 只打印頭部信息
curl -I https://www.baidu.com/
// 顯示抓取錯誤
curl -f https://segmentfault.com/n/1330000011469701
// 不顯示進度信息
curl -s -o vim.png https://github.com/FengShangWuQi/to-vim/blob/master/images/vim.png
// 顯示下載進度條
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ā)送請求
// 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
更新源失敗
# 錯誤提示
校驗數(shù)字簽名時出錯捂人。此倉庫未被更新御雕,所以仍然使用此前的索引文件。GPG 錯誤:https://dl.yarnpkg.com/debian stable InRelease: 由于沒有公鑰滥搭,無法驗證下列簽名: NO_PUBKEY
# 錯誤原因
- 人為造成酸纲,更新系統(tǒng)或添加 PPA
- 無緣無故出現(xiàn),如軟件源服務器被黑造成了簽名被篡改瑟匆、文件被替換或與服務器的中間傳輸被某些人重置(如DNS被污染)
- 儲存 APT 數(shù)據(jù)和 GPG 簽名的目錄 /var/lib/apt/ 損壞(這種情況一般會同時伴有其他嚴重問題)
# 解決方案
# 重新加入以上出現(xiàn)問題的apt-key
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com PGP簽名
錄制 GIF
# byzanz
byzanz 能制作文件小闽坡,清晰的 GIF 動態(tài)效果圖,不足就是愁溜,目前只能通過輸入命令方式來錄制
## 安裝
sudo apt-get install byzanz
## 主要參數(shù)
-d, --duration=SECS 動畫的時間 (默認:10 秒)
-e, --exec=COMMAND Command to execute and time
--delay=SECS 開始之前的延時(默認:1 秒)
-c, --cursor 錄制鼠標光標
-a, --audio 錄音
-x, --x=像素 要錄制矩形的 X 坐標
-y, --y=像素 要錄制矩形的 Y 坐標
-w, --width=像素 錄制矩形的寬度
-h, --height=像素 錄制矩形的高度
-v, --verbose 詳細
--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) 與軟鏈接
(又稱 符號鏈接
冕象,即 soft link 或 symbolic link)
# 硬鏈接
ln 源文件 目標文件
- 文件有相同的 inode 及數(shù)據(jù)塊
- 只能對已存在的文件進行創(chuàng)建
- 不能交叉文件系統(tǒng)進行硬鏈接的創(chuàng)建
- 不能對目錄進行創(chuàng)建代承,只可對文件創(chuàng)建
- 刪除一個硬鏈接文件并不影響其他有相同 inode 號的文件
# 軟鏈接
ln -s 源文件或目錄 目標文件或目錄
- 軟鏈接有自己的文件屬性及權限等
- 可對不存在的文件或目錄創(chuàng)建軟鏈接
- 軟鏈接可交叉文件系統(tǒng)
- 軟鏈接可對文件或目錄創(chuàng)建
- 創(chuàng)建軟鏈接時,鏈接計數(shù) i_nlink 不會增加
- 刪除軟鏈接并不影響被指向的文件渐扮,但若被指向的原文件被刪除次泽,則相關軟連接被稱為死鏈接(即 dangling link穿仪,若被指向路徑文件被重新創(chuàng)建,死鏈接可恢復為正常的軟鏈接)
修改終端提示符
PS1
是 Linux
終端用戶的一個 環(huán)境變量
意荤,用來定義命令行提示符的參數(shù)
# 查看默認設置
echo $PS1
# 常用參數(shù)及其含義
\H 完整的主機名
\h 主機中的第一個名字
\u 當前用戶的賬號名稱
\w 完整的工作目錄名稱
\$ 提示字符啊片,如果是root用戶,提示為#玖像,普通用戶則為$
# 臨時修改
$ export PS1='[\u@\h\w]\$'
# 永久修改
$ vim /.bashrc
編輯 PS1
總結
關于 Ubuntu
紫谷,如果還有 更有意思的內容或問題
,歡迎在評論中交流