[](https://)# Week 3 Command line ###### tags: `csst` #### Author : William Mou --- ## What is Command Line? * Mac ![](https://i.imgur.com/4XYKuME.png) ---- ![](https://i.imgur.com/qKg6e6Z.png) ---- ![](https://i.imgur.com/pu5KP3m.png) ---- ![](https://i.imgur.com/lgwGqcS.jpg) --- * Windows ![](https://i.imgur.com/UUCdhsb.png) --- * Ubuntu ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190105192410895.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl8zOTc3NzUwNw==,size_16,color_FFFFFF,t_70) --- ### Let me seeeee... [CLI Wiki](https://zh.wikipedia.org/wiki/命令行界面) > 命令列介面? > 文字介面? 喔,原來是沒有圖的介面(O --- ## So... >命令行介面 v.s. 圖形化介面 CLI v.s. GUI 都是人類與電腦交流、溝通的介面(Interface) --- ## [Shell](https://zh.wikipedia.org/wiki/殼層) Shell本身是一個用C語言編寫的程序, 它是用戶使用Unix/Linux的橋梁 ![](https://upload.wikimedia.org/wikipedia/commons/thumb/b/be/The_general_structure_of_a_Linux_system.jpeg/250px-The_general_structure_of_a_Linux_system.jpeg) ###### [中文介紹](https://man.linuxde.net/linux-shell-完全詳解) --- ## 使用方式 * 交互式(Interactive) * 批處理(batch) ---- ``` D = 單眼相機照片 i = 照片流水號 N = Nikon 拍的照片 C = Canon 拍的照片 ``` ```shell= # 生成照片 for (( i=1; i<=1000; i=i+1 )) do touch D_${i}_N.rwd touch D_${i}_C.rwd done ``` ```shell= # 刪除照片 rm *_C.rwd ``` --- ## 何時用? 1. 簡單性:Shell是一個高級語言;通過它,你可以簡潔地表達復雜的操作。 2. 可移植性:使用POSIX所定義的功能,可以做到腳本無須修改就可在不同的系統上執行。 3. 開發容易:短時間內完成一個功能強大又妤用的腳本。 --- ## 常見的 Shell * Bash: Linux 標準默認 * sh: Unix 標準默認的shell * zsh: 上述多種特點集合,但略慢 --- ## 常見的指令 ``` 小技巧: (tab):自動補齊 (Ctrl+C):取消整句 閱讀文件: []:可有可無的值 沒東西:必要的值 ``` ``` 閱讀範例: 指令 [-參數名稱 [參數值]] 輸入檔案 gcc -g -o a.out input.c ``` --- ## 常見的指令 ``` man 查看指令介紹 whoami 我是誰 pwd 我在哪 ls 列出資料夾下的東西 mkdir 新增資料夾 cd 前往xx資料夾 cp 複製檔案(-f 複製資料夾) mv 移動檔案與資料夾) touch 新增一個檔案 cat 列印一整個檔案內容 ``` --- ## 常見的指令 ``` history 查看過去用了哪些指令 su 切換到不同使用者 sudo 提升使用者權限 chomd 改變資料權限 ip a 顯示網卡 ifconfig (如果你沒有 ip a) traceroute 顯示經過的路由 ping 看看對方電腦網路還活著ㄇ df -h 整台電腦有多少硬碟、空間資料 du -h 當前資料夾下有多少檔案、多大(-d 1 向下一層) ``` --- ## 套件管理 ### What??? ![](https://chusiang.gitbooks.io/working-on-gnu-linux/imgs/2013-09-21-pms.png) --- ## 常見ㄉ套件管理 ``` Mac : brew install tmux Ubuntu : apt-get install tmux CentOS : yum install tmux Arch : pacman -y tmux ``` --- ## 常見的工具 ``` tmux:視窗管理工具。類似 Windows 放大縮小切換等。 htop: CPU 使用量。類似 Windows 工作管理員 vim:編輯器。類似 Windows 記事本、VScode。 nano:同上,較易學。 git:套件管理工具。 Windows 應該沒類似。 tree:樹狀列出資料夾下的東西。類似 Windows 的檔案管理。 gcc(clang):C 語言編譯器。 wget:從網站上下載檔案。類似 Windows 的右鍵下載。 ssh:遠端連線工具,類似文字版的 Teamviwer。 docker:一種容器引擎,暫時可以想想成輕量級的 VM (虛擬機)。 ``` --- ## 更多你想知道ㄉ: Linux 系統介紹:https://chusiang.gitbooks.io/working-on-gnu-linux/ Shell Script介紹:http://linux.vbird.org/linux_basic/0340bashshell-scripts.php#test_2 --- ## VS Code 介紹 ### c/c++ setup
{"metaMigratedAt":"2023-06-15T01:38:32.326Z","metaMigratedFrom":"Content","title":"Week 3 Command line","breaks":true,"contributors":"[{\"id\":\"7852a99d-c463-4348-8b6b-b749d5026301\",\"add\":3416,\"del\":350},{\"id\":\"ae8aa25a-c6b5-4abe-b640-bf6cea63c810\",\"add\":2,\"del\":2},{\"id\":\"159f4b92-ada9-4698-8b5a-7f097d0cb0cd\",\"add\":36,\"del\":0},{\"id\":\"a361b896-dc40-4eef-9088-308a7a08db19\",\"add\":12,\"del\":0,\"latestUpdatedAt\":1762481255920}]"}
    1231 views
   Owned this note