1. 程式人生 > 實用技巧 >linux常用簡單命令

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(小寫)儲存網頁