Max Coding blog

Linux基礎使用

2021/08/27

Linux

linux基礎用法

第一個輸入大多為命令(command),後面家的通常為跟著這個命令的參數,參數都是用空格分開,不管加多少空格,terminal都會認為只加了一個空格。在最一開此使,@前面是用戶名,在@後面是計算機名 ### @ at在 ### computer:後第一個字元(Home Directory):為所在文件夾的名字 ### computer:後第二個字元(Prompt):提示符 ### uname 1. uname :會印出內核名字。 2. uname -a == uname --all:會印出系統的所有的資訊,會忽略未知的處理器與未知的硬件平台。 3. uname -s == uname --kernel-name:會印出顯示於網路上的主機名稱。 4. uname -r == uname --kernel-release:會印出內核的版本。 5. uname -v == uname --kernel-version:會印出內核運行於哪個linux上,和實際發行的日期。 6. uname -m == uname --machine:會印出電腦類型:x86_64(為64位元架構,如為32位元會如:x86_32) 7. uname -p == uname --processor:會印出處理器類型:x86_64(為64位元架構,如為32位元會如:x86_32) 8. uname -i == uname --hardware-platform:會印出硬件平台類型:x86_64(硬件平台包括如CPU、儲存裝置、主機板等等硬體) 9. uname -o == uname --operating-system:會印出操作系統名稱:GNU/Linux(作業系統,如windows) 10. uname -h == uname --help:會印出這個指令的幫助,與各個參數的功能 11. uname --version :會印出這個指令(uname)的版本與其他訊息(包括聲明、授權等等) ### ctrl+c :強制中斷某一支程式。 ### exit :離開系統。 ### cal :看月曆 。 ### cal :年份 :看某年的年曆。 ### cal :年份 月份 :看某年某月的月曆。 ### bc :計算機(此情況不能用小數)。 #### scale = 小數位數。 #### quit :退出bc。 ### file :查看文件訊息。 ### pwd(Print Working Directory) 取得目前的路徑 ### ls(list) 取得當前資料夾與檔案名稱 #### ls -l: 顯示出的資料的第一個區塊為顯示使用者權限,排除第一個字元(第一個字元如果是dash(-),此檔案即為文件,如果是d,則為目錄),剩下字元為三個三個一組,共三組,第一組是user,第二組是group,第三組是other。順序必為rwx,r(read),w(write),x(execute),若有權限則會顯示出該字元,若沒有權限則會顯示'-'(dash),而這三組的權限分別為第一個是文件所有者的權限、第二個為用戶組的權限,第三組為其他人的權限。 ### chmod(change mode) 如果你想要更換權限,可以使用這個命令,command:chmod u+r t.py,用法是第一個加入chmod指令,第二個是輸入你想更改權限的對象,user是u,group是g,other是o,接著+後面是加上你要給予的權力,注意如果是要刪除某項權力,就加上-減號,接著加上以下就是給予的權力,r(read),w(write),x(execute),最後加上檔案名稱。 ### 直接執行檔案 ./file.py 如果要直接執行某個檔案時可以直接使用這個指令,假設有一個檔案叫做test.py,然後我們想要執行他,所以輸入:./test.py,此時會發現出錯了,原因是你要在test.py的第一行加入一段指令,代表說這份文件要通過什麼來運行,而這邊我輸入#!/usr/bin/python3,之後再輸入:./test.py,即完成。 ### linux有一個特性,就是所有東西都是一個文件。 ### linux大小寫必須區分,在linux中大小寫是不一樣的東西。 ### 在terminal中可使用TAB鍵來補齊一些物件或檔名(善用TAB鍵)。 ### lscpu :查詢 CPU 規格。 ### / :根目錄。 #### bin :放置執行文件。 #### boot :放置開機會運用到的文件。 #### dev :接口設備都會存取在dev中。 #### etc :系統主要配置文件,例如用戶的帳號密碼、服務的起始文件。 #### home :主文件夾的位置。 #### lib :開機時會用到的主函式庫。 #### media :放置可以刪除的設備。 #### opt :第三方程式的放置目錄。 #### root :系統管理員的主文件夾。 #### sbin :放置一些只有系統管理員才可以執行的執行命令。 #### srv :服務取用數據的目錄。 #### tmp :放置一些臨時的文件,需定時清理。 #### usr :unix操作系統的支援(不是user!!!!!),可放置一些系統默認程式。 #### var :放置快取 ### cd(Change Directory) :切換目錄。 #### 絕對路徑 :是由根目錄也就是最前面的那一個目錄開始向下輸入的(要加/),不管在哪裡,只要有絕對路徑都可以去。 #### 相對路徑 :相對於當前工作目錄(pwd),不是從根目錄開始。 #### cd . :當前目錄。 #### cd .. :該目錄的上一層目錄。 ### man(manual page) :指令查詢 ### mkdir :創造路徑 #### 創造多層目錄: ##### -p :可以幫你把上一層目錄也創建好(如果上一層目錄不存在的話)。 ##### -pv :v的功能可以幫你顯示他正在執行甚麼。 ### rmdir :刪除目錄。 #### -p :可一次刪除多個目錄 ### touch :創建空文件,主要功能為修改文件,如果該文件不存在,則會創造一個空文件。 #### -a :修改訪問時間。 #### -c :修改文件時間,若不存在則不創建新文件。 #### -d :使用指定日期,而不是當前日期。 #### -m :僅修改mtime。 #### -t :使用指定的時間而不是當前的時間。 ### cp :複製,用法 cp a b ,將a複製給b。 ### echo發送文字: 用法 echo "word"。而且會換行。 #### 將文字輸入進一個檔案裡: 用法 echo "word" > data.txt。 如果是用 > 寫入的話會將原本的覆蓋,所以要使用 >> 才能延續檔案原本的資料 echo "word" >> data.txt。 ### cat(concatenate)顯示出檔案裡的文字 用法 cat data.txt #### cat 合併資料輸出 用法 cat first.txt second.txt #### 將兩個檔案合併出一個新的檔案 方法 cat first.txt second.txt >> third.txt,要加 >> 。 若要合併更多檔案,就以此類推 ### 用printf輸出 用echo和printf的最大差別是echo會換行而printf不會換行。 也可以使用printf輸入一個檔案,和echo一樣 ### vim文字編輯器 vi和vim.tiny和vim這三個功能極為相似,不同的地方是有些功能比較多,通常在linux中vim要另外裝。 此處使用vim.tiny,要進行文字編輯的方法:vim.tiny data.txt,按enter鍵後再按 i 即可進行編輯,當編輯完之後想要結束編輯,先按Esc,再按 : ,接著如果想要將剛剛編輯的資料寫進去,則按w,如果想直接退出,按q,如果進行編輯後不想儲存,就輸入q!即可強制退出。若想退出又要寫入,就按wq。 ### 下載vim 首先到ubuntu商店下載vim,接著去terminal輸出apt-get,apt-get會去網站上找有關你要下載的套件,但是如果apt-get沒有更新,他上去找的網站還是舊的,此時要把你的apt-get更新,因此輸入apt-get update,但此時又會出現錯誤,因為update此動作為較高階的動作,所以以目前的狀態是沒有權限執行的,所以要在apt-get前加sudo,此時作業系統會嘗試以超級使用者的方式幫你去做執行,所以輸入完sudo apt-get update即可完成網站的更新,更新完之後輸入sudo apt-get install vim,即可進行安裝,如果要移除,就輸入sudo apt-get remove vim ### whereis 查看東西在哪裡,會顯示所有相關的路徑。 whereis name ### which 會明確跟你說東西的實際路徑。 ### 查看物品的實際位置 以vim為例 方法 : ls -al /usr/bin/vim 接著會顯示一個箭頭 ->會指向一個地方,這就是軟連結,會指向更精確的地方,可以再繼續使用那個位置尋找更精確的位置。 ### vim 基本用法和vim.tiny一致,接著為vim的一些基礎指令。 :set nu 在每一行前面加數字編號。 輸入 dd 即可快速刪去該行。 輸入d2d可以快速刪除兩行 在前面加 / 後面加你想搜尋的文字。 按u可以undo 按ctrl+r是redo ## linux ssh 首先要再其中一台linux上獲取ip位置(稍後要給其他電腦做連接),首先先下載net-tools(稍後要使用的ifconfig是其中一部分),接著輸入ifconfig,然後往下滑可以找到你的ip位置,或者輸入ip addr show,也可以看到你的ip位置。接著在另一台電腦輸入:ssh username@ip,username是你linux的名稱,ip是你的ip位置。 mac 用戶: 如果是mac用戶且同時想要利用ssh在自己的mac上看到matplotlib的結果,要先安裝XQuartz,安裝完後在terminal裡輸入的不再是ssh user@ip 了,是要改輸入ssh -X user@ip,這樣才能看到matplotlib的效果。 ### linux查詢gpu型號 輸入 lspci | grep -i nvidia ,會顯示出幾行文字,例如: 01:00.0 VGA compatible controller: NVIDIA Corporation Device 1e84 (rev a1) 01:00.1 Audio device: NVIDIA Corporation Device 10f8 (rev a1) 01:00.2 USB controller: NVIDIA Corporation Device 1ad8 (rev a1) 01:00.3 Serial bus controller [0c80]: NVIDIA Corporation Device 1ad9 (rev a1) 然後看第一行的最後面 1e84 ,這個就是型號,但我們還是看不出來實際的型號,所以去這個網站上輸入你的型號:http://pci-ids.ucw.cz/mods/PC/10de?action=help?help=pci 可以查到這張gpu是GeForce RTX 2070 Super。 ### 查看ubuntu版本 cat /etc/issue ### 更改檔案名稱 mv 原檔案名稱 更改的名稱 ### 查看目錄裡資料的數量 1. ls -l|grep "^-"| wc -l , find ./ -type f | wc -l: 查看當前目錄的所有資料數量(不包括子目錄資料數量)。 2. ls -lR|grep "^-"| wc -l : 查看當前目錄的所有資料數量(包括子目錄資料數量)。 3. ls -l|grep "^d"| wc -l : 查看當前目錄的所有資料夾目錄個數(包括子資料夾目錄個數)。 ## tmux 1. tmux:進入tmux。 2. tmux attach:進入預設第一個Session。 3. tmux new -s "tmp":新增、進入一個名為tmp的Session。 4. tmux ls:列出所有的Session。 5. tmux detach:暫時離開目前的Session。 6. Ctrl+D:關閉/結束目前的Session。 7. tmux kill-session -t "tmp":關閉、結束名稱維tmp的Session。 ### Panes分割視窗 1. Ctrl+b+%:垂直分割視窗。 2. Ctrl+b+":水平分割視窗。 3. Ctrl+b+o:輪流切換pane。 4. Ctrl+b+方向鍵:切換指定方向的pane。 5. Ctrl+b+空白鍵:切換佈局。 6. Ctrl+b+!:將目前的pane抽出來,並獨立建立一個window視窗。 7. Ctrl+b+x:關閉目前的pane。 ### Windows視窗 1. Ctrl+b+c:建立新的window視窗。 2. Ctrl+b+w:以視覺化選單切換window視窗。 3. Ctrl+b+n:切換至下一個window視窗。 4. Ctrl+b+p:切換至上喔個window視窗。 5. Ctrl+b+數字鍵:切換至指定的window視窗。 6. Ctrl+b+&:關閉目前的window視窗。 ### Session 1. Ctrl+b+$:重新命名目前的Session。 2. Ctrl+b+d:離開tmux環境。 3. Ctrl+b+s:視覺化選單切換Session。 4. Ctrl+b+L:切換上一個使用過的Session。 5. Ctrl+b+(:切換上一個Session。 6. Ctrl+b+):切換下一個Session。 7. 想回去特定的Session: tmux attach -t "session name"(請忽略雙引號) 8. 修改Session名稱:tmux rename-session -t "origin seesion name" "new name" (請忽略雙引號) 9. 刪除某一個Session: tmux kill-session -t 0 或是 tmux kill-session -t <session_name> 10. 刪除所有Session: tmux kill-session -a 11. 快捷鍵:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
快捷鍵/視窗管理
C-b ? Help
C-b c 新增視窗
C-b, 視窗命名
C-b w 視窗列表
C-b f 尋找視窗
C-b & 刪除視窗
C-b % 垂直分割區塊
C-b “ 水平分割區塊
C-b <方向鍵>
C-b p 上一個視窗
C-b n 下一個視窗
C-b <number> 依照編號直接切換(編號顯示於狀態列)
C-b d 離開 session
C-b x 關閉 Pane
C-d 關閉 Pane
C-b z 讓一個 Pane 變成全螢幕,在輸入一次則回到剛剛的尺寸

by 中和高中 吳振榮
CATALOG
  1. 1. Linux
    1. 1.1. linux基礎用法
      1. 1.1.0.0.1. by 中和高中 吳振榮