linux常用簡單命令
------------遠端連結linux---------------
1 首先需要安裝ssh服務
- linux
sudo apt-get install openssh-client sudo apt-get install openssh-server
- -windows
依次開啟windows設定->應用->管理可選功能->新增功能->oppenSsh伺服器
2 輸入ssh連結命令
ssh username(使用者名稱)@111.111.111.111(ip地址)
---------windows下載上傳linux檔案 scp方式---------
1 安裝scp服務
- - linux
scp命令在openssh-clients包
執行安裝命令安裝openssh-clients包:
yum install openssh-clients
- windows自帶scp命令
2 命令如下
上傳
scp -r localfile.txt(上傳檔案/資料夾全名) username@192.168.0.1:/home/username/(目標資料夾全名)
下載
scp -r username@192.168.0.1:/home/username/(目標檔案/資料夾全名) C:\Users\OS\Downloads\1(本地資料夾全名)
---------windows下載上傳linux檔案pscp方式---------
1 下載pscp將.exe檔案放入C:\WINDOWS\system32資料夾
[下載地址](https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html)
上傳
pscp -r C:/a/webwxgetvideo.mp4 root@111
下載
pscp -r [email protected] D:/s
---linux檔案編輯---
命令:`vi 檔名`
vi命令進入編輯/命令模式
- 按下Esc進入控制模式
常用命令:
:w //儲存,但不退出vi
```:wq``` //儲存並退出
```:q!``` //退出vi,但不儲存更改
```:w``` filename //用其他檔名儲存
```:w!``` filename //在現有檔案中儲存並覆蓋該檔案
```u:``` //表示撤銷上一步命令;
```Ctr+r:``` //表示恢復上一步被撤銷的命令
- 按i進入編輯插入模式
---檔案與資料夾建立/刪除/複製/移動重新命名---
```mkdir test```//建立 test資料夾
```touch test/a.txt``` //建立檔案
``rm -rf`` (param) //刪除
``cp file1 file2`` //把 file1 內容複製到 file2 中
引數 `-i` 可以提示是否覆蓋 file2
引數 `-n` 讓複製命令不覆蓋 file2 的內容
`-r`//目錄間複製
```mv A B``` //將目錄A重新命名為B
```mv /a /b/c``` // 將/a目錄移動到/b下,並重命名為c
----解壓檔案---
- filename.zip的解壓:
``unzip filename.zip``
- filename.tar.gz的解壓:
``tar -zxvf filename.tar.gz``
``z:`` gzip 壓縮格式
``x:`` extract 解壓
``v:`` verbose 詳細資訊
``f:`` file(file=archieve) 檔案
- filename.tar.bz2的解壓:
``tar -jxvf filename.tar.bz2``
``j:`` bzip2 壓縮格式
- filename.tar.xz的解壓:
``tar -Jxvf filename.tar.xz``
- filename.tar.Z的解壓:
``tar -Zxvf filename.tar.Z``
關於tar的詳細命令可以 ``tar --help``
- 高於1.15版本
tar -xvf filename.tar.gz
tar -xvf filename.tar.bz2
tar -xvf filename.tar.xz
tar -xvf filename.tar.Z
---查詢/檢視--
- 查詢目錄:``find /(查詢範圍) -name '查詢關鍵字' -type d``
- 查詢檔案:``find /(查詢範圍) -name 查詢關鍵字 -print``
- 檢視檔案: ``cat filemane`` 檢視檔案
``-n``文字內容加入編號:cat -n test.txt > test_.txt
`` -b``空行不加入編號
``df filename``可以檢視一級資料夾大小、使用比例、檔案系統及其掛入點,但對檔案卻無能為力。
``du filename``可以檢視檔案及資料夾的大小。
檢視當前路徑命令:``pwd``
查詢檔案
```find ./usr -name 'nginx.conf'```
不切換目錄查詢檔案
```find 目錄 -name 'nginx.conf'```
快速查詢檔案
```locate locate.txt``` //查詢locate.txt
---檢視安裝的軟體---
```yum list installed``` //檢視已安裝的軟體。 列出已經安裝的但是不止包含在資dao源庫中的rpm包
--解除安裝軟體--
```yum remove -y xxx```
---yum---
```yum [options] [command] [package ...]```
options:可選,選項包括``-h``(幫助),``-y``(當安裝過程提示選擇全部為"yes"),``-q``(不顯示安裝的過程)等等。
command:要進行的操作 ``install。
package:操作的物件。
----啟動程式---
./程式名/
- 啟動apache:
./apachectl -f/ xx/conf/httpd.conf -k start
---檢視程序--
**/proc為系統中得程序目錄**
- ps命令
``ps -A``:顯示所有程序
``a``:顯示終端中包括其它使用者的所有程序
``x``:顯示無控制終端的程序
``ps -U root -u root -N`` :檢視非root執行的程序
``ps -u root `` :檢視root執行的程序
``top``top命令提供了執行中系統的動態實時檢視。
對應引數說明
``UID``:啟動這些程序的使用者
`PID`:程序的程序ID
`PPID`:父程序的程序號(如果該程序是由另一個程序啟動的)
`C`:程序生命週期中的CPU利用率
`STIME`:程序啟動時的系統時間
`TTY`:程序啟動時的終端裝置
`TIME`:執行程序需要的累計CPU時間
`CMD`:啟動的程式名稱
``USER`` :啟動這些程序的使用者
``PID``:程序的程序ID
``%CPU`` :程序佔用的CPU百分比
``%MEM`` :佔用記憶體的百分比
``VSZ`` :該程序使用的虛擬記憶體量(KB)
``RSS`` :該程序佔用的固定記憶體量(KB)(駐留中頁的數量)
``TTY`` :程序啟動時的終端裝置
``STAT`` :程序的狀態
``START`` :該程序被觸發啟動時間
``TIME`` :執行程序需要的累計CPU時間
``COMMAND``:啟動的程式名稱
對應ps命令的STIME引數狀態碼:
`R` 執行 runnable 正在執行或在執行佇列中等待
`S` 中斷 sleeping 休眠中, 受阻, 在等待某個條件的形成或接受到訊號
`D` 不可中斷 uninterruptible 收到訊號不喚醒和不可執行, 程序必須等待直到有中斷髮生
`Z` 僵死 a defunct (”zombie”) process
`T` 停止 traced 程序收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU訊號後停止執行執行
- 關閉程序
``kill -9 xxxx``
--檢視埠--
- 檢視當前所有tcp埠
netstat -ntlp
- 檢視8080埠
netstat ntlp|grep 8080
`-t` : 只顯示TCP埠
`-u` : 只顯示UDP埠
`-l` : 僅顯示監聽套接字(能夠讀寫與收發通訊協議(protocol)的程式)
`-p` : 顯示程序識別符號和程式名稱,每一個套接字/埠都屬於一個程式
`-n` : 不進行DNS輪詢,顯示IP(這樣可以加快查詢的時間)
`lsof` -i:8080
--清除命令歷史記錄--
``clear ``
--http命令--
- ``curl``
語法:# curl [option] [url]
`-A`/--user-agent <string> 設定使用者代理髮送給伺服器
``-b`/--cookie <name=string/file> cookie字串或檔案讀取位置
`-c`/--cookie-jar <file> 操作結束後把cookie寫入到這個檔案中
`-C`/--continue-at <offset> 斷點續轉
`-D`/--dump-header <file> 把header資訊寫入到該檔案中
`-e`/--referer 來源網址
`-f`/--fail 連線失敗時不顯示http錯誤
`-o`/--output 把輸出寫到該檔案中
`-O`/--remote-name 把輸出寫到該檔案中,保留遠端檔案的檔名
`-r`/--range <range> 檢索來自HTTP/1.1或FTP伺服器位元組範圍
`-s`/--silent 靜音模式。不輸出任何東西
`-T`/--upload-file <file> 上傳檔案
`-u`/--user <user[:password]> 設定伺服器的使用者和密碼
`-w`/--write-out [format] 什麼輸出完成後
`-x`/--proxy <host[:port]> 在給定的埠上使用HTTP代理
`-#`/--progress-bar 進度條顯示當前的傳送狀態
** 儲存訪問的網頁**
`curl http://www.linux.com >> linux.html` //使用linux的重定向功能儲存
`curl -o linux.html http://www.linux.com` //使用curl的內建option:-o(小寫)儲存網頁