首頁  >  文章  >  做為優秀的php工程師,這些 Linux 指令你都掌握了嗎?

做為優秀的php工程師,這些 Linux 指令你都掌握了嗎?

步履不停
步履不停原創
2019-06-11 11:50:396196瀏覽

做為優秀的php工程師,這些 Linux 指令你都掌握了嗎?

前言

本文收錄了 linux 常用指令,這裡面有個小技巧,基本上所有指令後面跟上 --h 可以顯示其使用方法。故不必死記硬背,知其意乃通其形。 (推薦:Linux影片教學

分類如下:

 ● 檔案& 目錄操作(16 個)

 ● 檢視檔案& 內容處理( 18 個)

 ● 檔案壓縮& 解壓縮(3 個)

 ● 資訊顯示(11 個)

 ● 搜尋檔案(4 個)

 ● 流程管理(11 個)

 ● 使用者管理(7 個)

 ● 網路操作(11 個)

 ● 磁碟& 檔案系統(7 個)

 ● 系統權限(3 個)

 ● 關機重啟(5 個)

 ● 其他(6 個)

檔案& 目錄操作(16 個)

ls

 ● ls -a 查看所有文件,包含隱藏文件

 ● ls -l 簡寫ll,查看詳細資訊

 ● ls -h 檔案大小以易讀的方式顯示

cd

 ● cd ../ 返回上級目錄

# ● cd ~ 前往家目錄

 ● cd - 返回上一次所在目錄

#cp

 ● cp -r 複製目錄及目錄下檔案

find

 ● find / -name 'target' 查詢根目錄下面檔案名稱為target 的檔案

mkdir

 ● mkdir -p /tmp/test 遞歸建立目錄

#mv

 ● mv -f source destination 強制

pwd

 ● pwd 顯示目前路徑

rm

 ● rm -rf / 強制刪除根目錄及目錄下的文件,就是我們通常所說的刪庫跑路

touch

 ● touch target 建立target 文件,若文件存在則改變文件時間戳

#tree

 ● tree 功能是以樹狀結構顯示目錄下的內容

##basename

 ● basename /tmp/1 顯示檔案名稱

dirname

 ● dirname /tmp/1 顯示路徑

chattr

# ● chattr i /tmp/1 加i 屬性,防止檔案被修改

lsattr

 ● lsattr /tmp/1 查看檔案的擴充屬性

#file

 ● file /tmp/1 顯示檔案類型

md5

 ● md5 /tmp/1 顯示檔案MD5 值

檢視檔案& 內容處理(18 個)

cat

 ● cat -n 顯示行號

# ● cat file1 file2 開啟檔案1 與2

more

 ● more file1 逐頁顯示

## ● less file1 也是逐頁顯示,與more 方向相反

head

 ● head -n file 顯示檔案頭n 行

#tail

 ● tail -n file 顯示檔案尾n 行

 ● tailf file 即時顯示檔案尾10 行,常用於追蹤日誌資訊

cut

 ● who|cut -b 1-3,5 輸出每行的1 至3 個位元組和第5 個位元組

 ● who|cut -c -3 輸出每行的1 至3 個字元

 ● who|cut -c 3- 輸出每行的第3 個字元到行尾

 ● who|cut -d ' ' -f 1 以空格為分隔符,輸出第一個域

split

# ● split -b 10k date.file 將檔案分割為10k 的多個子檔

 ● split -b 10k date.file split_file 指定子檔前綴為split_file

paste

# 檔案按列合併

sort

 ● sort -n 依照數值大小排序

 ● sort -r 倒序排序

 ● sort -t 指定分隔符號

 ● sort -u 忽略相同行

uniq

 ● uniq -c 顯示出現次數,只有相鄰的才算重複

 ● uniq -d 只顯示重複的行

 ● unqi -u 只顯示不重複的行

#wc

 ● wc -l 顯示列數

#diff

 ● diff file1 file2 比較兩個檔案差異

rev

 ● rev file 反向輸出檔案內容

#grep

 ● grep 'target' file 過濾輸出檔案中包含target的行

 ● grep -v 'target' file 過濾輸出檔中不包含target 的行

 ● grep -c 'target' file 過濾輸出檔包含target 的行數

 ● grep -i 'target' file 忽略大小寫

 ● egrep '[1-9]|a' file 過濾輸出正規匹配到的行

 ● seq 10 | grep "5" -A 3 顯示符合某個結果之後的3 行 ● seq 10 | grep "5" -B 3 顯示符合某個結果之前的3 行

 ●● seq 10 | grep "5" -C 3 顯示符合某個結果的前三行與後三行

join

 ● join file1 file2 將兩個檔案中,指定欄位內容相同的行連接起來

tr

 ● cat text | tr '\t' ' ' 將製表符替換成空格

vim

三種模式:

# ● 編輯模式(指令模式) ● 輸入模式

 ● 末行模式

        模式的轉換

##        模式的轉換

##      編輯-> 輸入

reee##1->#fffal#E#r#dr#dr#dr#f#$#f#f#f#reee#. 編輯-> 末行:

i: 在当前光标所在字符的前面,转为输入模式;
a: 在当前光标所在字符的后面,转为输入模式;
o: 在当前光标所在行的下方,新建一行,并转为输入模式;
I:在当前光标所在行的行首,转换为输入模式
A:在当前光标所在行的行尾,转换为输入模式
O:在当前光标所在行的上方,新建一行,并转为输入模式;

末行-> 編輯:

ESC
#開啟檔案

    :
  • #檔案

  • ESC,ESC
    移動遊標(編輯模式)
#逐字元移動
  • vim +# :打开文件,并定位于第#行
    vim +:打开文件,定位至最后一行
    vim +/PATTERN : 打开文件,定位至第一次被PATTERN匹配到的行的行首

以單字為單位移動
  • :q  退出
    :wq 保存并退出
    :q! 不保存并退出
    :w 保存
    :w! 强行保存

#行內跳轉

h: 左
l: 右
j: 下
k: 上
#h: 移动#个字符

##11 行間跳轉

w: 移至下一个单词的词首
e: 跳至当前或下一个单词的词尾
b: 跳至当前或前一个单词的词首
#w: 移动#个单词

翻轉螢幕

#
0: 绝对行首
^: 行首的第一个非空白字符
$: 绝对行尾

刪除單一字元

#G:跳转至第#行
gg: 第一行
G:最后一行

刪除指令: d

Ctrl+f: 向下翻一屏
Ctrl+b: 向上翻一屏
Ctrl+d: 向下翻半屏
Ctrl+u: 向上翻半屏

撤銷編輯操作

x: 删除光标所在处的单个字符
#x: 删除光标所在处及向后的共#个字符

尋找

dd: 删除当前光标所在行
#dd: 删除包括当前光标所在行在内的#行;

檔壓縮& 解壓縮(3 個)

tar

 ● tar zxvf FileName.tar.gz 解壓縮

 ● tar zcvf FileName.tar.gz DirName 壓縮

zip

 ● zip -r html.zip/home/html 遞迴壓縮

unzip

 ● unzip test.zip -d /tmp 解壓縮到指定目錄下

訊息顯示(11 個)

#uname

 ● uname -a 顯示系統全部資訊

hostname

 ● hostname 顯示主機名稱

dmesg

 ● dmesg 顯示開機資訊

uptime

 ● uptime 顯示系統運行時間及負載

stat

## ● stat 顯示檔案的狀態資訊

du

 ● du -sh 顯示路徑下所有檔案大小

 ● du -sh local 顯示路徑下local 目錄檔案大小

 ● du -sh * 顯示路徑下所有目錄檔案大小#########df######### ● df -h 顯示系統磁碟空間的使用情況####### ###top######### ● top 即時顯示系統資源使用情況#########free######### ● free -m 以M 為單位檢視系統記憶體############date######### ● date "%Y-%m-%d" 2019-05-28###### ● date -d "1 day ago" "% Y-% m-% d" 輸出昨天日期###### ● date -d " 1 day" % Y% m% d 顯示前一天的日期###### ● date -d "-1 day" % Y% m% d 顯示後一天的日期###### ● date -d "-1 month" % Y% m% d 顯示上一月的日期#### ## ● date -d " 1 month" % Y% m% d 顯示下一月份的日期###

 ● date -d "-1 year" % Y% m% d 顯示前一年的日期

 ● date -d " 1 year" % Y% m% d 顯示下一年的日期

cal

 ● cal 行事曆資訊

搜尋檔案(4 個)

which

# ● which pwd 顯示命令路徑

find

 ● find /-name 'target' 查詢根目錄下面檔案名稱為target 的檔案

whereis

 ● whereis php 尋找二進位命令

locate

# ● locate target 從資料庫(/var/

 ● locate target 從資料庫(/var/

 ● locate target 從資料庫(/var/

 ● locate target 從資料庫(/var/

 ● locate target 從資料庫(/var/

 ● locate target 從資料庫(/var/

 ● locate target 從資料庫(/var/
》 lib/mlocate/mlocate.db) 尋找目標文件,使用updatedb 更新庫

處理進程管理(11 個)

jobs

# ● jobs 查看目前有多少在背景運行的命令

bg

 ● bg 1 將一個在後台暫停的命令,繼續執行,1 為作業號

 ● (ctrl z)可以掛起程序,返回作業號

fg

 ● fg 1 將後台中的命令調至前台繼續運行, 1 為作業號

kill

 ● kill 進程號殺進程

 ● kill -9 進程號強殺進程

# ● killall

 ● killall php 透過進程名字殺進程

 」 killall -9 php 透過進程名字強殺程序

pkill

● ## ● 用法同上

crontab

# ● crontab -l 查看定時任務

 ● crontab -e 編輯定時任務

 ● crontab -e 編輯定時任務

#」

# ● crontab -l -u user1 看user1 定時任務,只有root 才有權限

 ● crontab -e -u user1 編輯user1 定時任務,只有root 才有權限

#ps

 ● ps -ef 查看進程,顯示UID,PPIP,C 與STIME,每個程式所使用的環境變數欄​​位

 ● ps -axu 查看所有進程,並顯示屬於使用者

pstree

 ● pstree -p 顯示目前所有行程的行程編號與行程id 樹

 ● pstree -a 顯示所有行程的所有詳細資訊樹

nohup

 ● nohup command & 退出帳戶時不掛程式,仍在後台執行

#pgrep

 ● pgrep -l httpd 尋找http 相關的行程編號######使用者管理(7 個)#########useradd######### # ● useradd boy -u 888 建立一個新使用者帳戶,並設定ID###### ● useradd –g sales jack –G company,employees###### ● -g:加入主群組-G:加入主群組-G:加入主要群組-G:加入主群組次要群組#########usermod######### ● usermod -G staff newuser2 將newuser2 加入到群組staff 中####### ● usermod -l newuser1 newuser 修改newuser 的使用者名稱為newuser1###### ● usermod -L newuser1 鎖定帳號newuser1###### ● usermod -U newuser1 解除針對newuser1 的鎖定##########userdel###########################4 ### ● userdel -f user1 強制刪除使用者###### ● userdel -r user1 刪除使用者的同時,刪除與使用者相關的所有檔案#########groupadd#####1 ### ● groupadd -g 1000 group1 建立一個新群組,並設定群組ID 加入系統#########passwd######### ● passwd user1 修改user1 密碼###### # ● passwd -l user1 鎖住密碼###### ● passwd -d user1 刪除密碼#########su######### ● su root 切換身份#### #####sudo######### ● sudo command 已管理員身分執行指令######網路操作(11 個)#########telnet#### ##### ● telnet 127.0.0.1 登入遠端主機#########ssh######

 ● ssh root@127.0.0.1 -p22 登入遠端主機

scp

 ● scp local_file remote_username@remote_ip:remote_folder 本地拷貝到遠端拷貝

 ● scp remote_username@remote_ip:remote_folder local_file 遠端拷貝到本機

wget

# ● wget url 下載一個檔案●

# ● wget url -- -rate=300k url 限速下載

 ● wget -c url 斷點續傳

 ● wget -b url 後台下載

ping

## ● ping www.baidu.com -c 2 收到兩個套件就結束

route

 ● route 顯示目前路由

#ifconfig

 ● ifconfig 檢視、設定、啟用或停用網路介面

ifup

 ● ifup eth0 開啟eth0網路卡 ● ifdown

 ● ifdown eth0 關閉eth0 網卡

netstat

# 加## ● netstat -au 列出所有udp 連接埠

 ● netstat -l 只顯示監聽連接埠

ss

 ● ss - t -a 顯示所有tcp 連結

 ● ss -l 顯示處於監聽狀態的套接字

磁碟& 檔案系統(7 個)

#mount

 ● mount /dev/hda1 /mnt 將/dev/hda1 掛載到/mnt 目錄下

 ● umount

 ● umount -v /mnt/mymount / 卸載/mnt/mymount/

fsck

# ● fsck -y /dev/hda2 檢查並修正Linux 檔案系統

#dumpe2fs

 ● dumpe2fs /dev/hda1 查看檔案系統資訊

dump

 ● ‍dump -0u -f /tmp/homeback.bak /home

將/home 目錄所有內容備份到/tmp/homeback.bak 檔案中,備份層級為0 並在/etc/dumpdates 中記錄相關資訊

#fdisk

 ● fdisk /dev/sdb

         輸入m 列出可用的指令

##       # d 接著選擇分割區,刪除現有分割區

         輸入print 查看分割區編號

         輸入print 查看分割區狀況,並確認分割區已刪除

          輸入n 建立新的磁碟分割區作業進行儲存

mkfs

 ● mkfs -t ext3 /dev/sda6 將sda6 分割區格式化為ext3 格式

系統權限(3 個)

chmod

 ● chmod 777 file1 修改file1 檔案權限為777

 ● chmod u x,g w file1 為file1 設定自己可以執行,群組員可以寫入的權限

chown

 ● chown -R root /usr/meng 修改將目錄/usr/meng 及其下面的所有檔案、子目錄的檔案主改成root

chgrp

 ● chgrp -R mengxin /usr/meng 將/usr/meng 及其子目錄下的所有檔案的使用者群組改為mengxin

關機重啟(5 個)

shutdown

 ● shutdown -h now 立即關機

 ● shutdown 5 " System will shutdown after 5 minutes" 指定5 分鐘後關機,同時發送警告訊息給登錄用戶

halt

 ● halt -p 關閉系統後關閉電源

 ● halt -d 關閉系統,但不留下紀錄

poweroff

 ● poweroff -f 強制關閉作業系統############### ##logout######### ● logout 退出目前登入的Shell#########exit######### ● exit 退出目前登入的Shell###

其他(6 個)

echo

 ● echo 'hello' 列印字串、變數

#print

 ● printf 'hell0' 格式化輸出字串

rpm

 ● rpm -ivh your-package.rpm 安裝rpm 套件

 ● rpm -Uvh your-package.rpm 升級rpm 套件

 rpm● rpm -e package 卸載

# ● rpm -qa 列出所有安裝過的套件

## ● rpm -qa 列出所有安裝的套件

 ● rpm -ql 套件名稱rpm 包中的檔案安裝到那裡去

#yum

 ● yum install php 安裝php

 yum remove php 卸載php

clear

# ● clear 清除螢幕

history

 ● history 10

history

 ● history 10最近使用的10 個歷史指令

###延伸閱讀:#########Linux維運教學 #######
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

相關文章

看更多