linux經常使用命令總結-updating


Linux 命令總結python

啓動終端: ctr+alt+t
終端字體放大: ctr+shift+'+',終端字體縮小: ctr+'-'
ls: 查看當前目錄下的文件信息
pwd: 查看目錄所在的路徑
touch: 建立文件
mkdir: 建立文件夾
rmdir: 刪除文件夾,提示:只能是空文件夾
rm: 默認刪除的是文件,若是刪除文件夾須要加上-r選項,-r:以遞歸的方式把文件夾下的全部文件信息刪除掉mysql

cd:切換目錄linux

9.1 cd 目錄名 : 切換到指定目錄
9.2 cd .: 切換到當前目錄
9.3 cd ..: 切換到上一級目錄
9.4 cd ~: 切換到當前用戶的目錄
9.5 cd: 等價與cd ~ 切換到當前用戶的目錄
9.6 cd -: 切換到上一次目錄正則表達式

絕對路徑: 從根目錄算起的路徑叫作絕對路徑,好比: /home/pythonsql

相對路徑: 從當前目錄算起的路徑叫作相對路徑, 好比: ./AAA ../BBB
路徑的使用總結: 若是離當前目錄近使用相對路徑,若是離根目錄近使用絕對路徑,若是進入的是中間目錄建議使用絕對路徑
自動補全: 兩次tab鍵chrome

cp: 拷貝數據庫

14.1 cp 文件名 路徑: 把文件拷貝到指定路徑
14.2 cp 路徑/文件名 路徑: 把指定路徑的文件拷貝到指定路徑
14.3 cp 文件名 路徑/新的文件名 : 先把文件拷貝到指定目錄而後再重命名
14.4 cp 文件夾 路徑 -r: 拷貝文件夾 -r:以遞歸的方式把文件夾下的全部文件拷貝過去apache

mv: 移動(剪切)vim

15.1 mv 文件名 路徑: 把文件移動到指定路徑
15.2 mv 路徑/文件名 路徑: 把指定路徑的文件移動到指定路徑
15.3 mv 文件名 新的文件名: 重命名
15.4 mv 文件夾 路徑: 把文件夾移動到指定目錄,不須要加上-r服務器

tree: 以目錄樹方式顯示當前文件夾信息
16.1 tree / : 以目錄樹方式顯示指定路徑的文件信息

命令的格式

17.1 命令名 選項 參數, 提示:有些命令選項能夠放到參數的後面,可是:scp 選項必需要放到命令名的後面

ls 選項

21.1 -l: 以列表的方式取顯示
21.2 -a: 顯示隱藏文件
21.3 -h: 顯示文件大小的單位
21.4 ll: ls -al 顯示隱藏文件而且以列表方式顯示 , l->ls

mkdir 選項
22.1 -p: 把依賴文件夾提取建立好,好比: mkdir 123/456/789 -p

rm選項

23.1 -r: 以遞歸的方式刪除文件夾裏面的全部內容
23.2 -i: 顯示刪除的時候提醒信息
23.3 -v: 顯示刪除後的描述信息
23.4 -d: 刪除空目錄
23.5 -f: 若是文件或者目錄存在則刪除,不然就不刪除也不會報錯

cp選項

24.1 -i:拷貝文件的時候若是指定目錄有該文件須要顯示提醒信息
24.2 -v:顯示拷貝文件的路徑描述
24.3 -r:以遞歸的方式拷貝文件夾裏面的全部內容

mv選項

25.1 -i:移動文件顯示提醒信息
25.2 -v:顯示移動後的路徑描述

重定向(>,>>): 在終端顯示的內容信息重寫規定方向,保存到指定文件裏面,之後查看數據是文件查看就能夠了

26.1 > :若是文件不存在,那麼先建立,不然會先把原有文件的數據清空而後再寫入
26.2 >> : 在原有數據的基礎上進行追加
26.3 總結: ls, cat, tree均可以使用重定向

gedit:文本編輯工具,可讀可編輯

cat: 內容在終端顯示,不能進行編輯,提示:適合查看小型文件,大型文件使用分屏方式顯示(more)

more:分屏顯示

29.1 f:表示下一頁
29.2 空格:表示下一頁
29.3 回車: 表示下一行
29.4 b:表示上一頁
29.5 q:退出

文件合併

cat 1.txt 2.txt > 3.txt

管道: 能夠理解成是一個容器,存放在終端顯示的內容

28.1 總結: ls /bin | more , cat, tree, ls都是能夠結合管道使用完成分屏顯示的

連接
29.1 軟鏈接:能夠理解成快捷方式,把原文件刪除掉經過軟連接沒法打文件的數據, 提示:建立軟鏈接不會對硬連接數加1
29.2 硬鏈接: 同一個數據有多個文件名在使用,某個文件刪除掉,還能夠經過其它文件名訪問這個文件的數據, 提示:建立硬連接硬連接數會加1
29.3 提示:若是建立的軟連接沒有和原文件在同一個目錄裏面,那麼須要使用絕對路徑建立軟鏈接

grep: 根據指定的內容在文件中進行查找

30.1 grep "a" 8.txt : 根據指定內容在文件中進行查找
30.2 -n:行號, -i:忽略大小寫 -v: 取反
30.3 總結: ^,$ [], . 支持的正則表達式

find:在指定目錄查找對應的文件

31.1 find . -name ".txt": 在當前目錄查找後綴是.txt的文件, -name根據文件名查找
31.3 find . -perm 666: 在當前目錄查找文件權限是可讀可寫的, -perm根據權限查找
31.3 總結: ? [] 支持的通配符

ls:支持的通配符: _,? , [], []:表示匹配任意列舉中的一個字符

通配符: ? _ [],起到了模糊查詢的做用

tar: 打包、壓縮、解包、解壓縮

34.1 打包 tar -cvf test.tar *.txt, -c: 表示要打包, -v:顯示文件打到包裏面 -f:表示文檔名稱,提示-f必須放到全部選項的後面
34.2 解包 tar -xvf test.tar , -x:表示解包
34.3 打包及壓縮合並的命令:tar -zcvf test.tar.gz *.txt
34.4 解壓縮及解包合併的命令:tar -zxvf test.tar.gz ->獲得對應的文件
34.5 指定解壓縮的路徑 tar -zxvf test.tar.gz -C ../BBB, -C:指定解壓縮後的路徑
34.6 tar -jcvf test.bz2 *.txt -> test.bz2
34.7 tar -jxvf test.bz2 -> 獲得對應的文件
34.8 -C: 指定解壓縮的路徑: tar -jxvf test.bz2 -C ../BBB

zip的壓縮及解壓縮

35.1 zip test *.txt -> test.zip ,提示:壓縮包的後綴不須要指定默認是.zip
35.2 unzip test.zip -> 獲得是壓縮包裏面的文件
35.3 unzip -d ./123 test.zip -> 解壓到指定路徑 , -d:表示解壓的路徑

chmod:修改權限

36.1 -r(4):可讀 -w(2):可寫 -x(1):可執行
36.2 u:當前用戶 g: 同組用戶 o: 其它用戶 a:全部用戶
36.3 +:添加權限, -:撤銷權限 , = : 賦值權限
36.4 chmod 000 1.txt : 所有沒有權限
36.5 chmod a=- 1.txt chmod a= 1.txt : 所有沒有權限
36.6 chmod 777 1.txt chmod a=rwx 1.txt : 都權限,可讀可讀可執行
36.7 chmod 664 1.txt chmod u=rw,g=rw,o=r 1.txt 設置不一樣用戶不一樣權限

cp選項

37.1-a: 保留文件原有權限,-a包含-r,也就是使用-a也能夠拷貝文件夾

which : 查看命令的路徑

sudo -s: 切換到管理員帳號
passwd:修改密碼
who :當前那些用戶登錄
whoami:當前電腦登錄的用戶是誰
exit:退出
ssh: 遠程登錄 44.1 ssh : 能夠遠程登錄服務端能夠經過vim修改文件

scp: 遠程拷貝

45.1 scp 1.txt python@192.168.107.132:/home/python/Desktop ,把本地文件拷貝到服務器端
45.2 scp -r test python@192.168.107.132:/home/python/Desktop,把本地文件夾拷貝到服務器端
45.3 scp python@192.168.107.132:/home/python/Desktop/1.txt . , 把服務端的文件拷貝的本地
46.4 scp -r python@192.168.107.132:/home/python/Desktop/test . , 把服務端的文件夾拷貝的本地

apt list 支持的安裝包

vim的使用

47.1 命令模式, 編輯模式, 末行模式, 命令模式是編輯模式和末行模式的中轉站

vim經常使用命令

48.1. i: 進入編輯模式
48.2. yy: 複製光標所在行 複製多行: 數字+yy
48.3. p: 粘貼, 粘貼屢次: 數字+p
48.4. dd(刪除、剪切), 剪切或者刪除多行:數字+dd
48.5. V: 選中多行
48.6. 上下左右: k:上, j:下, l:右 ,h:左 等同於方向鍵
48.7. x: 從前日後刪除一個字母
48.8. X: 從後往前刪除一個字母
48.9. u: 撤銷
48.10. shift + >: 往右縮進
48.11. shift + <: 往左縮進
48.12. .:重複上一次操做
48.13. G: 回到最後一行
48.14. gg: 回到第一行 1G
48.15. 18G: 回到指定行
48.16. shift + 4:回到行末
48.17. shift + 6:回到行首
48.18. 搜索: :/1 n:查看下一個搜索到的內容, N:查看上一個搜索到的內容
48.19. 替換: :%s/1/2/g %: 整個文件, s:替換 g:全局
48.20. ctr+f: 下一頁
48.21. ctr+b: 上一頁
48.22. :wq, :x: 保存退出

1. 問題

vim在編輯文件時,按了Ctrl+S後怎麼都不動了。只能關閉SSH窗口。

2. 緣由

Ctrl+S :在Linux 下是鎖定屏幕的快捷鍵

3. 解決

Ctrl+Q :解鎖屏幕 
Ctrl+ S :鎖定屏幕

 

linux各類查看命令

telnet ip port : 查看某一個機器上的某一個端口是否能夠訪問,如:telnet 114.80.67.193 8080

top:查看進程及cpu使用率
htop:任務管理器
lsof -i:8080: 查看此端口占用信息
ps aux: 查看全部進程
ps aux | grep "mysql" : 查詢mysql在進程中的信息

netstat -anp | grep service_name : 查看某個服務的端口等信息

  netstat -a # 列出 tcp, udp 和 unix 協議下全部套接字的全部鏈接

  netstat -at # 只列出tcp

  netstat -au # 只列出udp

  netstat -atn # 禁用域名解析功能

  netstat -tnl  # 正在監聽中的鏈接

   -p # 選項查看進程信息

  netstat -s # 打印網絡統計數據

    -r # 打印內核路由數據

    -i # 打印網絡接口信息

    -ei # 友好的顯示網絡接口信息

    -c # 持續輸出信息

     -g # 會輸出 IPv4 和 IPv6 的多播組信息

 

linux經過 ln -s 創建啓動軟鏈接,開機自啓服務腳本

在Linux中有7種運行級別(可在/etc/inittab文件設置),每種運行級別分別對應着/etc/rc.d/rc[0~6].d這7個目錄

Tips:/etc/rc[0~6].d實際上是/etc/rc.d/rc[0~6].d的軟鏈接,主要是爲了保持和Unix的兼容性才作此策

 

這7個目錄中,每一個目錄分別存放着對應運行級別加載時須要關閉或啓動的服務

由詳細信息能夠知道,其實每一個腳本文件都對應着/etc/init.d/目錄下具體的服務

K開頭的腳本文件表明運行級別加載時須要關閉的,S開頭的表明須要執行

所以,當咱們須要開機啓動本身的腳本時,只須要將可執行腳本丟在/etc/init.d目錄下,而後在/etc/rc.d/rc*.d中創建軟連接便可

[root@localhost ~]# ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh

此處sshd是具體服務的腳本文件,S100ssh是其軟連接,S開頭表明加載時自啓動

若是須要在多個運行級別下設置自啓動,則需創建多個軟連接

這種方式比較繁瑣,適用於自定義的服務腳本

若是系統中已經存在某些服務(好比安裝apache時就會有httpd服務項),可使用下面的方式

 

第二種方式:chkconfig

若是須要自啓動某些服務,只需使用chkconfig 服務名 on便可,若想關閉,將on改成off

在默認狀況下,chkconfig會自啓動2345這四個級別,若是想自定義能夠加上--level選項

上面咱們先將sshd服務的全部啓動級別關閉,而後使用--level選項啓動自定義級別

Tips:--list選項可查看指定服務的啓動狀態,chkconfig不帶任何選項則查看全部服務狀態

 

linux開放端口及查看 (firewalld防火牆)

sudo firewall-cmd --add-port=9200/tcp --permanent  # 開啓對應端口

sudo firewall-cmd --reload  # 保存更改並重啓

sudo firewall-cmd --query-port=9200/tcp  # 查看對應端口是否開啓(yes/no)

firewall-config是firewalld防火牆的客戶端可視化工具

linux發行版debian/Ubuntu( raspbian )經常使用命令

  1. sudo reboot   # 重啓
  2. sudo halt     # 關機
  3. sudo rpi-update     #樹莓派更新
  4. sudo apt-get update     #更新軟件信息數據庫 
  5. sudo apt-get upgrade     #進行系統升級 
  6. sudo raspi-config     #配置
  7. ifconfig     #顯示聯網信息,會返回有線網絡和無線網絡的MAC地址和IP地址狀態
  8. sudo apt-get install xrdp     #WINDOWS的遠程桌面鏈接樹莓派服務
  9. sudo apt-get install 軟件名1 軟件名2 軟件名3……     #安裝軟件 
  10. sudo apt-get remove 軟件名1 軟件名2 軟件名3……        #卸載軟件
  11. sudo apt-get remove –purge 軟件名1     #卸載並清除配置
  12. sudo apt-cache search 軟件名1 軟件名2 軟件名3……      #搜索軟件包 
  13. sudo apt-get install chromium-browser  chromium-l10n     #安裝chrome

Centos不能解析域名,DNS配置

ping www.baidu.com不通

在/etc/sysconfig/network-scripts/ifcfg-eth0裏面最後加上dns的設置
好比:DNS1=8.8.8.8
114.114.114.114和8.8.8.8,這兩個DNS都很純淨,不用擔憂因ISP運營商致使的DNS劫持等問題,並且都是免費提供給用戶使用的。
114.114.114.114是國內移動、電信和聯統統用的DNS
8.8.8.8是GOOGLE公司提供的DNS,該地址是全球通用的

而後須要重啓網卡:service network restart

固然個人設置都對,在之前虛擬機上這樣設置後也能使用了。恰恰個人雲服務器仍是出錯。
最後總於發現是named服務器壓根就不存在,哎,真的是mini版的系統,不少軟件都沒裝

解決:
yum install bind
chkconfig named on

fdisk磁盤擴容

參考: https://blog.csdn.net/namdlo/article/details/80884213

內存溢出OOM(測試)

日誌解釋:

  • total-vm:進程總共使用的虛擬內存;
  • anon-rss:虛擬內存實際佔用的物理內存;
  • file-rss:虛擬內存實際佔用的磁盤空間;
  • shmem-rss

參考:https://blog.csdn.net/hearbeat/article/details/82793258

   https://blog.csdn.net/dta0502/article/details/82016616

相關文章
相關標籤/搜索