本篇文章主要持續記錄和總結
ubuntu
的必備基礎和使用過程當中遇到的各類問題
寫入硬盤鏡像
/home
用戶的主目錄/boot
啓動目錄,啓動相關文件/sbin
超級用戶才能使用的目錄/root
超級用戶的主目錄/proc
系統內存的映射/dev
設備文件保存目錄/etc
配置文件保存目錄/lib
系統庫保存目錄/usr
系統軟件資源目錄/var
常常變化目錄,常常放日誌文件/tmp
臨時目錄# 新窗口打開終端 $ ctrl + alt + t $ ctrl + shift + n # 新標籤頁打開終端 $ ctrl + shift + t # 全屏 $ ctrl + m
$ 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 // 清理因依賴而安裝但如今再也不須要的包
$ sudo update-grub
$ sudo gedit /etc/hosts
最新 hostshtml
下載 -> 系統設置 -> 語言支持 -> 鍵盤輸入法系統 => fcitx
$ lsof -i:8000 // 查看 8000 端口 $ kill 對應的 pid // 中止使用這個端口的程序
# 對全部用戶生效 - /etc/profile:爲系統的每一個用戶設置環境信息 - /etc/bashrc:每次新打開一個終端 shell,該文件被讀取 # 對單個用戶生效 - /.bash_profile:當用戶登陸時該文件僅執行一次 - /.bashrc:當登陸以及每次打開新的 shell 時,該文件被讀取
使用 source /etc/environment
可使變量設置在當前窗口當即生效,需 註銷/重啓
以後,才能對每一個新終端窗口都生效java
$ 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 Downloadsnode
$ sudo apt install linux-generic-hwe-16.04 // LTSEnablementStack
$ sudo apt install vim
如何讓 vim 成爲咱們的神器linux
$ pwd // 輸出當前工做目錄的絕對路徑 $ rmdir // 移除空文件 $ rm -rf // 刪除目錄包含子目錄和文件 $ mv // 重命名/移動文件/目錄 $ cp // 複製文件 $ cp -r // 複製目錄 $ ls -l // 顯示文件詳細信息 $ chmod -/+ // 修改文件權限 # 壓縮和解壓文件 // .zip:支持不一樣操做系統 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
git
Flatabulous Ubuntu Tweak: # GTK 主題:Flatabulous # 圖表主題:Ultra-Flat # 光標主題:DMZ-Black # 窗口主題:Flatabulous
Flatabulousgithub
f.lux
f.luxshell
一個利用 URL
語法在 命令行
下工做的 文件傳輸工具
json
# 執行下載 // 抓取頁面內容到一個文件中 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/ # 發送請求 // 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
# 錯誤提示 校驗數字簽名時出錯。此倉庫未被更新,因此仍然使用此前的索引文件。GPG 錯誤:https://dl.yarnpkg.com/debian stable InRelease: 因爲沒有公鑰,沒法驗證下列簽名: NO_PUBKEY # 錯誤緣由 - 人爲形成,更新系統或添加 PPA - 平白無故出現,如軟件源服務器被黑形成了簽名被篡改、文件被替換或與服務器的中間傳輸被某些人重置(如DNS被污染) - 儲存 APT 數據和 GPG 簽名的目錄 /var/lib/apt/ 損壞(這種狀況通常會同時伴有其餘嚴重問題) # 解決方案 # 從新加入以上出現問題的apt-key sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com PGP簽名
# byzanz byzanz 能製做文件小,清晰的 GIF 動態效果圖,不足就是,目前只能經過輸入命令方式來錄製 ## 安裝 sudo apt-get install byzanz ## 主要參數 -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 系統引入了兩種連接:硬連接
(hard link) 與軟連接
(又稱 符號連接
,即 soft link 或 symbolic link)ubuntu
# 硬連接 ln 源文件 目標文件 - 文件有相同的 inode 及數據塊 - 只能對已存在的文件進行建立 - 不能交叉文件系統進行硬連接的建立 - 不能對目錄進行建立,只可對文件建立 - 刪除一個硬連接文件並不影響其餘有相同 inode 號的文件 # 軟連接 ln -s 源文件或目錄 目標文件或目錄 - 軟連接有本身的文件屬性及權限等 - 可對不存在的文件或目錄建立軟連接 - 軟連接可交叉文件系統 - 軟連接可對文件或目錄建立 - 建立軟連接時,連接計數 i_nlink 不會增長 - 刪除軟連接並不影響被指向的文件,但若被指向的原文件被刪除,則相關軟鏈接被稱爲死連接(即 dangling link,若被指向路徑文件被從新建立,死連接可恢復爲正常的軟連接)
PS1
是 Linux
終端用戶的一個 環境變量
,用來定義命令行提示符的參數
# 查看默認設置 echo $PS1 # 經常使用參數及其含義 \H 完整的主機名 \h 主機中的第一個名字 \u 當前用戶的帳號名稱 \w 完整的工做目錄名稱 \$ 提示字符,若是是root用戶,提示爲#,普通用戶則爲$ # 臨時修改 $ export PS1='[\u@\h\w]\$' # 永久修改 $ vim /.bashrc 編輯 PS1
Tmux
是 Linux 的 終端利器
,不只能夠拆分窗口,還能夠在在 SSH
環境下,避免網絡不穩定,致使工做現場的丟失
# 幾個重要的概念 - session:會話,一個服務器能夠包含多個會話 - window:窗口,一個會話能夠包含多個窗口 - pane:面板,一個窗口能夠包含多個面板 # 經常使用快捷鍵 ## session - 建立會話 tmux new -s - 從新開啓會話 tmux a -t - 查看全部會話 tmux ls - 刪除某個會話 tmux kill-session -t - 刪除全部會話 tmux kill-server $ 重命名會話 s 切換會話 d 退出會話 D 選擇要退出的會話 ## window - 查看全部窗口 tmux lsw - 交換窗口順序 swap-window -s 3 -t 1 c 建立新窗口 w 列出全部窗口 n 後一個窗口 p 前一個窗口 f 查找窗口 , 重命名當前窗口 & 關閉當前窗口 窗口號 切換窗口到指定窗口號 ## pane % 垂直分割 " 水平分割 o 切換窗格 x 關閉窗格 q 查看窗格編號 z 窗格最大化 { 與上一個窗格交換位置 } 與下一個窗格交換位置 space 切換窗格佈局 ## 其餘 t 顯示時鐘 ? 列出全部快捷鍵 : 命令提示符
個性化定製:gpakosz/.tmux
關於 Ubuntu
,若是還有 更有意思的內容或問題
,歡迎在評論中交流