--- tags: linux, server --- # LINUX >[name=佳佑] > [time=Wed, Mar 22, 2018 ][color=#2498a0] ___ ### 連線學校伺服器(SSH): ssh:學號@www1.pu.edu.tw kitty:kitty.cs.pu.edu.tw ___ ### [linux 外部登入方法](https://www.pcsetting.com/devtools/77?page=0%2C0) ___ ## 常用熱鍵 * 註解 ^ = Ctrl 例如:^C = Ctrl+C ```shell ^+c 結束程式 ^+d 結束鍵盤輸入 ``` ## ``` man 指令(用男人問指令) ``` ```shell whoami (就是Who Am I 查看當前使用者身份) useradd -m -d home/87 87(創建使用者87在87資料夾下) passwd 更改密碼 sudo passwd mary (更改mary的密碼) su username (su就是Switch User的意濕,默認為最高管理者root) ``` ```shell ps 行程 ps -aux | grep cron 查詢所有程序,grep cron(比對cron字眼) top 檢視CPU ``` ```shell echo 呼叫/寫入 echo 文字>檔案名字 (寫入文字到該檔案) echo 文字>>檔案名字 (寫入文字到該檔案內容的尾端) ``` ```shell cd 切換資料夾 cd .. 移動到上一層 cd ~ 移動到家目錄 ``` ```shell ls 顯示所在資料夾檔案 ls -l 顯示檔案所有資訊 ls -al 顯示所有檔案所有資訊 ls *.副檔名 (顯示副檔名類型檔案) find 檔案名稱(或目錄) -mtime -時間(查詢時間以內更動過的檔案) find 檔案名稱(或目錄) -mtime +時間(查詢時間以前更動過的檔案) find /home 使用者 dmtsai(將屬於某個使用者的所有檔案找出來) find / -nouser 這個指令,可以找出不太正常的檔案。 ``` ```shell rm 刪除 rm -r 強制刪除 rm -rf (recursive force 遞迴 強迫) 也可刪除目錄請謹慎使用 rm abc** 刪除含有abc名稱的檔案 ``` ```shell pwd 顯示當前目錄 ``` ```shell mv 移動,或改名 cp 複製 ``` ```shell mkdir 創建資料夾 mkdir -p 路徑 (建立多層目錄) rmdir 刪除資料夾 ln /絕對位置 建立目錄捷徑 ``` ```shell more 查看檔案內容(半開) cat 查看檔案內容(全開) cal 2000(西元) 查看日歷 ``` ```shell umask * umask xxx * 算法: * 目錄:umask和777做XOR後再做AND後,即可得到其權限 * 檔案:umask和666做XOR後再做AND後,即可得到其權限 ``` ```shell sudo apt-get install gcc(安裝雞吸吸) sudo apt-get update (更新套件資料庫) sudo apt-get upgrade(更新現有的所有套件) ``` ```shell wall 廣播 ``` ```shell exit 離開 ``` ```shell shutdown 關機 shutdown -h 立即關機 shutdown -r 重新開機 ``` ```shell reboot 重新開機 ``` ```shell alias abc='ls -l' 別名,建立abc指令實現ls -l 之功能 ``` ``` kill 62379(PID)關閉62379 kill -9 62379(PID)強制關閉62379 pkill abc 關閉名稱含有abc程式 killall abc 只關閉名稱少於15個字元的程式,若名稱超過15字, 要加「-e」要求 killall 指令做完整比對,否則, 還是會讓 killall 指令關錯 ``` ``` at 執行一次就結束的排程 -m :排程結束後,即使沒有輸出訊息,以email通知使用者該工作已完成。 -l :相當於 atq,列出目前系統上面的所有該使用者的 at 排程; -d :相當於 atrm ,可以取消一個在 at 排程中的工作; -v :可以使用較明顯的時間格式列出 at 排程中的工作列表; -c :可以列出後面接的該項工作的實際指令內容 atq 查詢排程 atrm 取消一個在 at 排程中的工作 ```` ```shell crontab 無限循環排程(最小單位到分鐘,關機後無法執行) -e 編輯排程 -l 查閱排程 -r 移除排程 代表意義 分鐘 小時 日期 月份 週 指令 數字範圍 0-59 0-23 1-31 1-12 0-7 就指令啊 *(星號)|代表任何時刻都接受! ,(逗號)|代表分隔時段。(可接受多個時段) -(減號)|代表一段時間範圍內, /n(斜線)|n 代表數字,亦即是『每隔 n 單位間隔』的意思, ``` ___ ## 權限 <img src="https://i.imgur.com/nLkseze.png" width="400" height="350"> ```shell chmod u/g/o +/- r/w/x 檔案名稱(增加或減少權限) chmod 777 檔案名稱(更改權限) chmod u=rwx,g=rwx,o=rwx (ugo分別擁有哪種權限) ``` Sticky Bit(其他人可觀看但不可刪除) ```shell chmod 1777 abc(更改abc權限為sticky bit) chmod o+t abc(增加abc權限為sticky bit) ``` Umask(預設權限) ```shell umask xxx * 算法: * 目錄:umask和777做XOR後再做AND後,即可得到其權限 * 檔案:umask和666做XOR後再做AND後,即可得到其權限 ``` ___ ## 程式編譯 * C語言in Linux ```shell abc.c ("文件"名稱) gcc -o hello abc.c (將abc.c編譯成hello.exe) ./hello.exe (執行hello.exe) #不須空格 ``` ## Ubuntu ```shell **安裝輕量版Ubuntu(LUbutu)** * 網址:https://lubuntu.net/downloads/ * 建議安裝穩定版本(版本後綴為LTS) ``` ```shell **安裝虛擬機器Virtual Box** * 網址:https://www.virtualbox.org * 也可以用VMware 看個人~# ``` 都下載/安裝完之後,我也不知道要尬麻了 ==2018/3/22 AC== ___ ## VI ```shell * VI有分為兩種基本操作模式: * 指令模式 * 按「a、e、i、o、u」任意字可進入編輯模式 * 編輯模式 * 左下方會出現 INSERT 字樣 * 按「ESC」鍵,可退出至指令模式 * 在編輯模式下的上下左右鍵,功能不是你想像中的那樣XD * 建議要跨行更改文字時,跳出至指令模式用「上下左右」鍵選字 * 指令: * :q 離開vi * :x 離開vi並儲存當前文件 * 4yy 複製當前游標下四行內容 * p 貼上複製內容 * J(大寫哦) 將下行文字移到上面 類似backspace * $ 可以移動游標至該行最後一個字元 * / 搜尋特定字串(往下找) * 按n可以跳到下一個符合搜尋結果 * 如要搜尋9ab01.1 * 可使用n [0-9]**[0-9][0-9][.][0-9] * 往上找使用 「?」 ```