Try   HackMD

Linux Ubuntu入門使用筆記

版本查看

查看作業系統
lsb_release -a
查看顯卡型號
nvidia-smi -L
CUDA toolkit版本
nvcc -V

文件操作

複製檔案或資料夾,-r來源是資料夾,-p保持原有使用者及群組
cp -rp {來源} {目的}
移除檔案,-r移除資料夾類型路徑,-f強制刪除
rm {file_path}
改變權限
chmod 666 {文件或資料夾路徑}

使用者

新增使用者,-m代表建立空的家目錄,-s設定預設shell
sudo useradd {用戶名稱}
sudo useradd -m {用戶名稱} -s /bin/false
新增使用者後請設定密碼
sudo passwd {用戶名稱}
移除使用者,-r連同家目錄一併移除
sudo userdel -r {用戶名稱}

還有adduser指令,是包裝useradd後的指令,目的是為了讓使用更人性化,因此還會額外建立使用者資訊,個人偏好原汁原味的useradd系列,較輕量化

群組管理

將使用者添加到sudo群組
sudo usermod -aG sudo
改變檔案擁有者或群組,空白代表不更改,-R資料夾內所有文件一起更改
sudo chown {使用者}:{群組} {檔案}

SSH連線

登入遠端主機,請將名稱與IP位址替換成目標主機
ssh -p {port號碼} {username}@{xxx.xxx.xxx.xxx}
傳輸檔案
scp -P {port} /path/to/local/file.txt username@remote_host:/remote/path/
傳輸folder
scp -P {port} -r /path/to/local/dir username@remote_host:/remote/path/

HARDWARD

掛載USB隨身碟

  1. 查看主機上有哪些硬體連接
lsblk

觀察到這顆disk沒有掛載(mount)

2. 使用mount指令掛載到指定路徑

路徑可以依照個人使用習慣設定,下面示範創建一個資料夾作為掛載對象

sudo mkdir /mnt/mount_dir
sudo mount /dev/sdc1 /mnt/mount_dir

注意是使用partsdc1而不是disksdc

3. 可以順利從掛載的路徑存取到USB內容

4. 使用完畢我想要安全退出USB隨身碟

對指定掛載的路徑做unmount就可以安全退出

sudo unmount /mnt/mount_dir

5. 其他問題排除

unmount過程出現錯誤時可以,強制unmount

umount -l /PATH/OF/BUSY-DEVICE
umount -f /PATH/OF/BUSY-NFS (NETWORK-FILE-SYSTEM)

掛載新硬碟

這邊是有一系列的步驟要執行,根本值得另外寫一篇吧!

1. 列出可用硬體,透過觀察有無分割區可以得知尚未掛載的對象

lsblk

下圖sda這顆硬碟只有disk沒有像nvme0n1下方有兩個part分區,得知這顆硬碟沒有規劃空間

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

2. 規劃硬碟空間

這個步驟只是先將硬碟分區規劃而已,並沒有執行格式化的動作

sudo fdisk /dev/sda
(格式化的對象要前面要加上/dev)

/dev是什麼?
linux系統設計,希望讓硬體都是一個路徑,方便使用者存取、使用,/dev就是紀錄這些硬體的路徑上層資料夾

接著會有一系列的使用選項,m列出可以使用的指令

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

使用n分割磁碟區,如果沒有要分割成多塊其實一直按enter就可以了,進階的使用請各位自行研究囉

n

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

規劃完成,w寫入剛剛設定的規劃

w

lsblk可以看到剛規劃的新part出現了

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

3. 格式化硬碟選項

對新的partition格式化

sudo mkfs -t ext4 /dev/sda1

注意: 是對part不是disk喔,所以是sda1

執行訊息大致如下

(base) user@hostserver:~$ sudo mkfs -t ext4 /dev/sda1

mke2fs 1.46.5 (30-Dec-2021)
Creating filesystem with 976754385 4k blocks and 244195328 inodes
Filesystem UUID: 478a228f-06e7-48fc-a895-807f8643dd27
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848, 512000000, 550731776, 644972544

Allocating group tables: done
Writing inode tables: done
Creating journal (262144 blocks): done
Writing superblocks and filesystem accounting information: done

4. 掛載硬碟

一切準備就緒,最後就是將規劃好的硬碟掛載到系統上才能存取內容,有兩種做法

  • 一次性掛載: 跟掛載USB一樣,作法直接參考那個章節就行,缺點是下次重新開機,系統可能就找不到了,必須再手動掛載一次
  • 自動掛載: 告訴系統硬碟的識別ID,重新開機系統還是能找到

下面介紹自動掛載流程

列出所有可用硬碟的UUID,找到新分區,並記下UUID

sudo blkid

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

創建要掛載的路徑

mkdir {要掛載的路徑}

修改/etc/fstab檔案,這個檔案紀錄了硬碟資訊

sudo vim /etc/fstab

在文件中加上這一行,空白對齊其他行即可
UUID={紀錄的UUID} {要掛載的路徑} ext4 defaults 0 0

重新掛載,讓新設定生效,-a代表所有硬碟

sudo mount -a

列出硬碟使用狀況,順利的話可以看到新的分區瞜

df -h

如果還是不靈,可以試著重啟電腦,不然就是fstab檔案格式有問題囉