VI編輯器、ipython、jupyter及程序知識總結
一、VI編輯器
1、三種模式
一般模式(normal mode 預設)
插入模式(insert mode)
末行模式(last line mode)
2、模式切換
一般模式------------------------------------------->插入模式: i,a,o,O,A,I
i:當前游標處輸入內容
I:在當前游標所在行的行首
a:在當前游標所在處的後面
A:在當前游標所在行的行尾輸入
o:在游標所在行的下方新增一行空白行
O:在游標所在行的上方新增一行空白行
插入模式---------------------------------------------->一般模式: Esc
一般模式---------------------------------------------->末行模式: 輸入冒號:
末行模式---------------------------------------------->一般模式: Esc
3、模式操作
一般模式:
dd刪除: 從當前行一直刪除到行尾: :.,$d 回車
yy複製: 複製15到17行: :15,17y 回車
p/P貼上
r替換:替換游標所在字元
x清除:刪除游標所在字元,後位補齊
G:跳轉至最後一行行首
gg:跳轉至第一行行首 23gg 跳轉到23行
/或?:查詢 /root 查詢root
n/N:查詢到後上下翻
v:視覺化模式
進入視覺化模式後可以,移動游標選擇文字,鍵入y可以把選擇的複製,鍵入d可以刪除選擇的內容,再次鍵入v回到一般模式
u:撤銷上一次操作
ZZ:儲存退出
插入模式:
i:當前游標處輸入內容
I:在當前游標所在行的行首
a:在當前游標所在處的後面
A:在當前游標所在行的行尾輸入
o:在游標所在行的下方新增一行空白行
O:在游標所在行的上方新增一行空白行
末行模式:
退出:
q!強制退出,不儲存並退出
wq 儲存修改並退出
x,儲存並退出
s:替換字元
二、I/O重定向
1、預設輸入輸出
輸入:鍵盤
輸出:顯示器
2、輸入重定向符 < , <<
<:把一個檔案內容作為輸入 <file
例如:wc <output.txt,把output.txt檔案的內容輸入給wc命令
<<:在命令列中輸入的內容重新定向輸入給一個命令,而不是把檔案中的內容重定向輸入,這種方式必須指定一個文字標記來標識輸入內容的開始和結束
例如:EOF(end of file)是開始和結束標誌,可以是任意字元
wc <<EOF
data.......
EOF
3、輸出重定向符 >,>>
>:> file (輸出的內容放到file中,file中原來的內容被覆蓋) 檔案不存在,會自動建立;如果檔案有內容,會把內容清空以後,重新寫入
>>:>> file (輸出的內容追加到file的行尾,file中原來的內容不覆蓋) 檔案不存在,會自動建立;如果檔案有內容,不會把內容清空,會把新資料附加到檔案末尾
三、檔案描述符重定向
標準描述字 0:標準輸入 stdin
標準描述字 1:標準輸出 stdout
標準描述字 2:錯誤輸出 stderr
1、> 只重定向標準輸出,錯誤輸出會顯示到螢幕上
2、標準輸出寫入ok.txt 錯誤輸出寫入 err.txt
3、錯誤輸出寫到檔案裡面,標準輸出輸出到螢幕上
4、錯誤輸出輸出到螢幕上,標準輸出輸出檔案裡面
5、混合輸出符:& (stdout和 stderr輸出到同一處)
兩種方式:
&>filename
2>&1
6、特殊裝置:/dev/null 黑洞
有時我們關心的是命令是否執行成功了,而不是命令執行後輸出的結果,可以把輸出結果丟棄到黑洞裝置裡
四、 echo命令
-n:去掉換行符
-e:保留特殊意義的字元有特殊意義,例如:換行符\n,製表符\t
五、ipython
1、簡介
ipython:屬於互動式的加強型的python的直譯器,高效能的平行計算工具。比Python自帶的直譯器好用,功能更加的強大。
ipython優勢:
①支援變數自動補全,自動縮排
②內建很多功能模組和函式(很好用)
③可以靈活的嵌入shell直譯器
通常Python程式設計過程中,我們一般使用Python的IDE工具(例如pycharm),
但在實際的Python實際簡單測試中(小單元或程式碼段),通常開啟ipython,速度和效率比較高。
在生產環境,模組化開發,程式碼多了測試不方便,就在ipython進行測試和查詢幫助。
2、安裝
sudo apt-get install ipython 安裝ipython2版本
sudo apt-get install ipython3 安裝ipython3版本
sudo apt-get install python3-pip 安裝pip工具
3、幫助檢視
?:ipython的概述和簡介
help(name):檢視幫助,要檢視的名字要在括號裡
obj?:檢視幫助,中間不要有空格
4、特殊變數
_:前一次輸出
__:倒數第二次輸出
___:倒數第三次輸出
_dh:目錄歷史
_oh:輸出歷史
5、ipython下執行shell命令(依賴於當前shell環境提供的命令)
有些命令需要加!才可使用,有些不用
六、jupyter
1、安裝
sudu apt-get install jupyter
sudo apt-get install jupyter-core
2、設定配置檔案
sudo jupyter-notebook --generate-config
3、設定web登入密碼
sudo jupyter-notebook password
4、登入 jupyter notebook
遇到PermissionError: [Errno 13] Permission denied: '/home/guo/.jupyter/jupyter_notebook_config.json',就去修改相應的檔案許可權就可以了
chmod 777 /home/guo/.jupyter/jupyter_notebook_config.json,修改後就可以輸入登入了
七、程序管理
1、概念
程式:儲存在可儲存介質中的可執行的程式碼和資料,屬於靜態儲存的程式碼
程序:在CPU和記憶體中執行的副本程式程式碼,屬於動態執行的程式碼,每個程序可能都有父程序和子程序。
2、檢視靜態程序
ps -ef 檢視所有程序
ps -aux 檢視所有程序
ps -aux --sort=-%mem | head -5 按照記憶體順序從大到小檢視前五個程序
ps -aux --sort=-%cpu | head -5 按照cpu順序從大到小檢視前五個程序
3、程序狀態
①執行狀態:running
②準備狀態:ready
③睡眠狀態:可中斷睡眠狀態interruptable
不可中斷uninterruptable
④停止狀態:暫停在記憶體中,不會被排程,除非手動啟動
⑤僵死狀態:zombie
4、檢視動態程序 top
5、檢視程序PID pgrep -l 程序名
6、檢視程序樹 pstree
-p 顯示程序號
-h 高亮顯示當前pstree命令的程序資訊
7、殺死程序
kill PID
kill 程序名
kill -9 PID 強制殺死
killall 程序名 殺死指定名稱的所有程序
killall -9 程序名 強制殺死指定名稱的所有程序
ctrl + c 終止程式
ctrl + \ 退出程式
ctrl + z 放置後臺執行
fg 從後臺提到前臺