[Note] 有關作業系統:Operating Systems – Navigating the System

此篇主要是紀錄 Coursera 平台上的課程 Google IT Support Professional Certificate 中 Operating Systems and You: Becoming a Power User 的第一個星期的上課筆記,大致上是一些作業系統基礎概念和指令的介紹。其他的預期要寫的筆記也一併附上,未來整理好之後下方文字可以直接連結到該筆記:


目錄


Basic Commands

查看說明

Windows:
Get-Help [指令]
Get-Help [指令] -Full:如果想看更細節的,可以加上參數 Full

Linux:
man [指令]man 是 manual page,可以閱讀線上手冊查看該指令的用法。例如 man ls
[指令] --help :也是察看指令說明。

取得當前資料夾與檔案名稱 (Windows)

ls:取得當前資料夾與檔案名稱。
ls -l:取得當前資料夾與檔案名稱,並列出檔案名、類型、權限等等內容。
ls -Force:將會顯示隱藏文件或系統文件,這些檔案單純用 ls 不會出現。

取得當前資料夾與檔案名稱 (Linux)

根目錄是 Linux 系統的主要目錄,我們會使用斜線(slash)/ 表示。

ls:取得當前資料夾內檔案名稱。
ls -l:取得當前資料夾內檔案名稱,並列出檔案名、類型、權限等等內容。
ls -la:等於 ls -l -a,只是把他們寫在一起。顯示隱藏文件或系統文件。

更換路徑(Windows、Linux)

pwd:print working directory,顯示目前的所在位置。
cd :change directory,更換工作路徑。
cd ~:移至目前用戶的主目錄。
cd ..:移至上一層。

相對路徑:是以目前所在位置為參考,而建立出的目錄路徑。例如 .. 代表目前目錄的上一層。
絕對路徑:檔案或資料夾的確切位置。

建立資料夾(Windows、Linux)

mkdir :make directory,新建資料夾。

若建立 alex yang 資料夾有空白字元,則需要用其他方式包住:
Windows: mkdir alex` yang 或是 mkdir 'alex yang'
Linux: mkdir alex\ yang 或是 mkdir 'alex yang'

指令歷史紀錄(Windows、Linux)

history:列出所有使用過的指令。
ctrl + R:直接搜尋指令的歷史紀錄。

複製檔案和資料夾(Windows、Linux)

cp [檔案] [目的地]:複製檔案到指定的目錄中。
ex: cp "test.txt" C:\\Users\\alex\\Desktop\\

cp *.jpg C:\\Users\\alex\\Desktop\\
複製檔案類型為 .jpg 至指定資料夾。

Windows 複製整個資料夾內容:
cp "Dog Pictures" C:\\Users\\alex\\Desktop\\ -Recurse -Verbose
-Recurse 參數將會列出目錄內的內容,如果有子目錄的話他會遞迴一併處理。而 copy 使用時 CLI 不會出現任何內容,我們需要 -Verbose 輸出目前發生的情況。

Linux 複製整個資料夾內容:
cp -r "Dog Pictures" C:\\Users\\alex\\Desktop\\

移動檔案和資料夾(Windows、Linux)

mv [檔案] [目的地]:move files (directories),移動檔案到目指定目錄內容。

刪除檔案和資料夾(Windows、Linux)

rm:remove,刪除指定檔案。
rm [檔案] -Force:強制刪除(必須謹慎使用)。

Windows 刪除整個資料夾內容:
rm [路徑] -Recurse:刪除資料夾和資料夾底下所有檔案。

Linux 刪除整個資料夾內容:
rm -r [路徑]:刪除資料夾和資料夾底下所有檔案。

一些延伸閱讀


File and Text Manipulation

顯示檔案內容(Windows)

cat:顯示檔案內容。
more:顯示檔案內容,一頁一頁顯示方便閱讀。看完檔案後按 q 離開。
cat file.txt -Head 10:顯示前 10 列檔案內容。
cat file.txt -Tail 10:顯示尾端 10 列檔案內容。

顯示檔案內容(Linux)

cat:顯示檔案內容。
less:剛好和 Windows 相反,一頁一頁顯示方便閱讀。看完檔案後按 q 離開。(老師提到 less is more…?!)
/[word]:在文件內搜尋,例如 /the,會搜尋文件中有 the 的部份並且標示。
head file.txt:顯示前 10 列檔案內容。
tail file.txt:顯示尾端 10 列檔案內容。

變更檔案內容(Windows)

在 Windows 上使用 Notepad++ 變更檔案內容。

start notepad++ file.txt

變更檔案內容(Linux)

在 Linux 上使用 Nano 變更檔案內容。(也有 Vim 和 Emacs 等編輯器可選擇)

nano file

Windows Powershell

Get-Alias [指令]:查看實際執行的 PowerShell 指令是什麼(或是別名)。

例如使用 Get-Alias ls 會看到 lsGet-ChildItem 實際上是一樣的意思。

在檔案內搜尋(Windows)

Select-String [字串] [檔案]:搜尋檔案內相符字串。

例如 Select-String hahaha file.txt 將會顯示有 hahaha 字串的部分。
甚至可以使用 Select-String hahaha *.txt 去搜尋所有 .txt 檔有相符字串。

在資料夾內搜尋(Linux)

ls [路徑] -Recurse -Filter [檔案]:搜尋資料夾內相符合檔案。

例如 ls 'D:\Program Files' -Recurse -Filter *.exe 將會顯示所有在該資料夾內的 .exe 檔。

在檔案內搜尋(Linux

grep [字串] [檔案]:搜尋檔案內相符字串。

Windows: Input, Output, and the Pipeline

echo blabla > file.txt:將 blabla 字串寫入 file.txt

cat file.txt | Select-String bbb:查看 file.txt 內容並且搜尋有 bbb 字串的內容。

cat file.txt | Select-String bbb > otherfile.txt:功用和上方指令一樣,並且把搜尋到的相符合內容寫進 otherfile.txt 內。

rm file.txt 2> errors.txt:錯誤訊息寫進去 error.txt 內。

rm file.txt 2> $null:啥都沒有,啥都不要輸出。

1: stdout – the output
2: stderr – the error

Linux: Input, Output and Pipeline

和 Windows 差不多。

echo blabla >> file.txt:追加 blabla 到檔案尾端。

cat < file.txt

ls -la /etc | grep bluetooth

一些延伸閱讀

讓我知道你在想什麼!

Picture of ALEX

ALEX

藍白拖愛好者,一事無成話偏多

Recent Posts

C++

NLP