命令

平常工做就是寫腳本、測試、部署、服務器環境配置、數據流監控、爬蟲運行情況監控等php

 

一、查看當前目錄下全部文檔的內容行數   :    wc -l *
[root@localhost conf]# wc -l server.xml             查看指定文件的內容行數
167 server.xml
html

clear               清屏python

二、查看當前目錄下全部文檔的大小   :   du -sh *mysql

[root@localhost conf]# du -sh server.xml          查看指定文件的大小
8.0K server.xml
linux

三、查看日誌文件:tail -10f server.xml               能夠指定顯示行數ios

四、查看服務器磁盤使用狀況:df -hnginx

五、查看服務器內存情況:free -mweb

六、查看當前目錄下文件數量:ls -l |grep "^-"|wc -lredis

[root@localhost conf]# ls -lh
total 228K
drwxr-x---. 3 root root   22 Apr 17 12:44 Catalina
-rw-------. 1 root root  13K Mar 13 23:58 catalina.policy
-rw-------. 1 root root 7.1K Mar 13 23:58 catalina.properties
sql

七、統計當前目錄下的目錄個數:ls -l |grep "^d" |wc -l

八、查看運行指定進程 , 並殺掉此進程:

ps -ef |grep python3

kill -9 進程號

九、vi編輯器的功能:

  1)示腳本當前光標所在行號:切換到命令行模式nu

  2)顯示腳本全部行號命令行模式下set nu

十、統計當前目錄下的文件個數,包括子目錄中的(R必須大寫,不然無效):ll -R |grep "^-" |wc -l

十一、統計當前目錄下的目錄個數,包括全部子目錄中:ll -R |grep "^d" |wc -l

十二、批量替換文件指定內容

find -name 'nohup.out' | xargs perl -pi -e 's|old_str|new_str|g'

find -name '要查找的文件名' | xargs perl -pi -e 's|被替換的字符串|替換後的字符串|g'

 

 

Linux企業運維人員最經常使用150個命令彙總

 

命令

功能說明

線上查詢及幫助命令(2個)

man

查看命令幫助,命令的詞典,更復雜的還有info,但不經常使用。

help

查看Linux內置命令的幫助,好比cd命令。

文件和目錄操做命令(18個)

ls

全拼list,功能是列出目錄的內容及其內容屬性信息。

cd

全拼change directory,功能是從當前工做目錄切換到指定的工做目錄。

cp

全拼copy,其功能爲複製文件或目錄。

find

查找的意思,用於查找目錄及目錄下的文件。

mkdir

全拼make directories,其功能是建立目錄。

mv

全拼move,其功能是移動或重命名文件。

pwd

全拼print working directory,其功能是顯示當前工做目錄的絕對路徑。

rename

用於重命名文件。

rm

全拼remove,其功能是刪除一個或多個文件或目錄。

rmdir

全拼remove empty directories,功能是刪除空目錄。

touch

建立新的空文件,改變已有文件的時間戳屬性。

tree

功能是以樹形結構顯示目錄下的內容。

basename

顯示文件名或目錄名。

dirname

顯示文件或目錄路徑。

chattr

改變文件的擴展屬性。

lsattr

查看文件擴展屬性。

file

顯示文件的類型。

md5sum

計算和校驗文件的MD5值。

查看文件及內容處理命令(21個)

cat

全拼concatenate,功能是用於鏈接多個文件而且打印到屏幕輸出或重定向到指定文件中。

tac

tac是cat的反向拼寫,所以命令的功能爲反向顯示文件內容。

more

分頁顯示文件內容。

less

分頁顯示文件內容,more命令的相反用法。

head

顯示文件內容的頭部。

tail

顯示文件內容的尾部。

cut

將文件的每一行按指定分隔符分割並輸出。

split

分割文件爲不一樣的小片斷。

paste

按行合併文件內容。

sort

對文件的文本內容排序。

uniq

去除重複行。oldboy

wc

統計文件的行數、單詞數或字節數。

iconv

轉換文件的編碼格式。

dos2unix

將DOS格式文件轉換成UNIX格式。

diff

全拼difference,比較文件的差別,經常使用於文本文件。

vimdiff

命令行可視化文件比較工具,經常使用於文本文件。

rev

反向輸出文件內容。

grep/egrep

過濾字符串,三劍客老三。

join

按兩個文件的相同字段合併。

tr

替換或刪除字符。

vi/vim

命令行文本編輯器。

文件壓縮及解壓縮命令(4個)

tar

打包壓縮。oldboy

unzip

解壓文件。

gzip

gzip壓縮工具。

zip

壓縮工具。

信息顯示命令(11個)

uname

顯示操做系統相關信息的命令。

hostname

顯示或者設置當前系統的主機名。

dmesg

顯示開機信息,用於診斷系統故障。

uptime

顯示系統運行時間及負載。

stat

顯示文件或文件系統的狀態。

du

計算磁盤空間使用狀況。

df

報告文件系統磁盤空間的使用狀況。

top

實時顯示系統資源使用狀況。

free

查看系統內存。

date

顯示與設置系統時間。

cal

查看日曆等時間信息。

搜索文件命令(4個)

which

查找二進制命令,按環境變量PATH路徑查找。

find

從磁盤遍歷查找文件或目錄。

whereis

查找二進制命令,按環境變量PATH路徑查找。

locate

從數據庫 (/var/lib/mlocate/mlocate.db) 查找命令,使用updatedb更新庫。

用戶管理命令(10個)

useradd

添加用戶。

usermod

修改系統已經存在的用戶屬性。

userdel

刪除用戶。

groupadd

添加用戶組。

passwd

修改用戶密碼。

chage

修改用戶密碼有效期限。

id

查看用戶的uid,gid及歸屬的用戶組。

su

切換用戶身份。

visudo

編輯/etc/sudoers文件的專屬命令。

sudo

以另一個用戶身份(默認root用戶)執行事先在sudoers文件容許的命令。

基礎網絡操做命令(11個)

telnet

使用TELNET協議遠程登陸。

ssh

使用SSH加密協議遠程登陸。

scp

全拼secure copy,用於不一樣主機之間複製文件。

wget

命令行下載文件。

ping

測試主機之間網絡的連通性。

route

顯示和設置linux系統的路由表。

ifconfig

查看、配置、啓用或禁用網絡接口的命令。

ifup

啓動網卡。

ifdown

關閉網卡。

netstat

查看網絡狀態。

ss

查看網絡狀態。

深刻網絡操做命令(9個)

nmap

網絡掃描命令。

lsof

全名list open files,也就是列舉系統中已經被打開的文件。

mail

發送和接收郵件。

mutt

郵件管理命令。

nslookup

交互式查詢互聯網DNS服務器的命令。

dig

查找DNS解析過程。

host

查詢DNS的命令。

traceroute

追蹤數據傳輸路由情況。

tcpdump

命令行的抓包工具。

有關磁盤與文件系統的命令(16個)

mount

掛載文件系統。

umount

卸載文件系統。

fsck

檢查並修復Linux文件系統。

dd

轉換或複製文件。

dumpe2fs

導出ext2/ext3/ext4文件系統信息。

dump

ext2/3/4文件系統備份工具。

fdisk

磁盤分區命令,適用於2TB如下磁盤分區。

parted

磁盤分區命令,沒有磁盤大小限制,經常使用於2TB如下磁盤分區。

mkfs

格式化建立Linux文件系統。

partprobe

更新內核的硬盤分區表信息。

e2fsck

檢查ext2/ext3/ext4類型文件系統。

mkswap

建立Linux交換分區。

swapon

啓用交換分區。

swapoff

關閉交換分區。

sync

將內存緩衝區內的數據寫入磁盤。

resize2fs

調整ext2/ext3/ext4文件系統大小。

系統權限及用戶受權相關命令(4個)

chmod

改變文件或目錄權限。

chown

改變文件或目錄的屬主和屬組。

chgrp

更改文件用戶組。

umask

顯示或設置權限掩碼。

查看系統用戶登錄信息的命令(7個)

whoami

顯示當前有效的用戶名稱,至關於執行id -un命令。

who

顯示目前登陸系統的用戶信息。

w

顯示已經登錄系統的用戶列表,並顯示用戶正在執行的指令。

last

顯示登入系統的用戶。

lastlog

顯示系統中全部用戶最近一次登陸信息。

users

顯示當前登陸系統的全部用戶的用戶列表。

finger

查找並顯示用戶信息。

內置命令及其它(19個)

echo

打印變量,或直接輸出指定的字符串

printf

將結果格式化輸出到標準輸出。

rpm

管理rpm包的命令。

yum

自動化簡單化地管理rpm包的命令。

watch

週期性的執行給定的命令,並將命令的輸出以全屏方式顯示。

alias

設置系統別名。

unalias

取消系統別名。

date

查看或設置系統時間。

clear

清除屏幕,簡稱清屏。

history

查看命令執行的歷史紀錄。

eject

彈出光驅。

time

計算命令執行時間。

nc

功能強大的網絡工具。

xargs

將標準輸入轉換成命令行參數。

exec

調用並執行指令的命令。

export

設置或者顯示環境變量。

unset

刪除變量或函數。

type

用於判斷另一個命令是不是內置命令。

bc

命令行科學計算器

系統管理與性能監視命令(9個)

chkconfig

管理Linux系統開機啓動項。

vmstat

虛擬內存統計。

mpstat

顯示各個可用CPU的狀態統計。

iostat

統計系統IO

sar

全面地獲取系統的CPU、運行隊列、磁盤 I/O、分頁(交換區)、內存、 CPU中斷和網絡等性能數據。

ipcs

用於報告Linux中進程間通訊設施的狀態,顯示的信息包括消息列表、共享內存和信號量的信息。

ipcrm

用來刪除一個或更多的消息隊列、信號量集或者共享內存標識。

strace

用於診斷、調試Linux用戶空間跟蹤器。咱們用它來監控用戶空間進程和內核的交互,好比系統調用、信號傳遞、進程狀態變動等。

ltrace

命令會跟蹤進程的庫函數調用,它會顯現出哪一個庫函數被調用。

關機/重啓/註銷和查看系統信息的命令(6個)

shutdown

關機。

halt

關機。

poweroff

關閉電源。

logout

退出當前登陸的Shell

exit

退出當前登陸的Shell

Ctrl+d

退出當前登陸的Shell的快捷鍵。

進程管理相關命令(15個)

bg

將一個在後臺暫停的命令,變成繼續執行  (在後臺執行)。

fg

將後臺中的命令調至前臺繼續運行。

jobs

查看當前有多少在後臺運行的命令。

kill

終止進程。

killall

經過進程名終止進程。

pkill

經過進程名終止進程。

crontab

定時任務命令。

ps

顯示進程的快照。

pstree

樹形顯示進程。

nice/renice

調整程序運行的優先級。

nohup

忽略掛起信號運行指定的命令。

pgrep

查找匹配條件的進程。

runlevel

查看系統當前運行級別。

init

切換運行級別。

service

啓動、中止、從新啓動和關閉系統服務,還能夠顯示全部系統服務的當前狀態。

 轉載自 http://oldboy.blog.51cto.com/2561410/1951107 

 

1.操做系統狀態監控
天天登錄系統查看系統運行的負荷如何,有無報錯日誌或報警日誌。


2.操做系統故障排除
依據操做系統故障日誌分析出現該報警或報錯的緣由,從而解決問題,保證操做系統的高可用性


3.服務器狀態確認
服務器上除了跑着操做系統,必然會安裝一些應用程序或數據庫,運維工程師天天須要查看linux系統上運行着的應用程序或數據庫狀態是否正常。


4.備份
運維工程師的看家本事,數據庫備份和恢復,通常來講只要給數據庫制定了備份策略它會本身備份,你只須要監控備份任務是否執行了就能夠。


5.服務器調優
這個要求就比較高了,linux隨着使用時間的增加,狀態會有所降低,運維工程師有能力的能夠對操做系統及數據庫進行性能調優,保證系統處於一個最佳狀態。

通常來講,運維工程師的工做以監控爲主,出現問題的時候纔會進行處理。

 

linux運維工做職責

 (1)運維人員要謹記的6個字:
運維人員作事需遵循:簡單、易用、高效
(2)運維人員服務的3大宗旨:
一、企業數據安全保障。
二、7*24小時業務持續提供服務。
三、不斷提高用戶感覺、體驗。
(3)初中級運維的平常涉及工做:
一、評估產品需求及發展需求,設計網站架構。
二、選擇IDC公司、雲產品,CDN等產品。
三、採購服務器、安裝系統、配置服務、服務器IDC上架。
四、調試網絡、優化系統及服務。
五、上線代碼、配合研發搭建環境、調試、測試代碼。
六、監控硬件、軟件及各類業務應用。
七、配置收集日誌和,根據日誌信息報警及優化系統及服務 
八、解決平常問題,如硬件(服務器、交換機、硬件、網絡)、軟件(網絡服務)、各種業務服務故障。 
九、編寫自動化腳本(Shell,Python),自動化部署服務。
(4)高級運維涉及的工做:
一、監控帶寬、流量、併發、業務接口等關鍵資源及訪問信息的變化趨勢。
二、根據相應趨勢變化不斷優化網站架構。
三、設計各種解決方案,解決公司業務發展中的遇到的網站瓶頸。
四、編寫各類自動化腳本(Shell,Python),自動化部署優化服務。
五、開發自動化部署和管理平臺(CMDB),實現平臺化運維。
五、開發運維管理平臺、及運維工具產品,提高服務效率。
六、制定運維流程、規範、制度,並有序推動。
七、研究先進運維理念、模式,確保業務持續穩定、有序。 

轉載:https://www.cnblogs.com/nulige/p/6195867.html

 

運維工程師使用的運維平臺和工具包括:

  • Web服務器:apache、tomcat、nginx、lighttpd

  • 監控:nagios、ganglia、cacti、zabbix

  • 自動部署:ansible、sshpt、salt

  • 配置管理:puppet、cfengine

  • 負載均衡:lvs、haproxy、nginx

  • 傳輸工具:scribe、flume

  • 備份工具:rsync、wget

  • 數據庫:mysql、oracle、sqlserver

  • 分佈式平臺:hdfs、mapreduce、spark、storm、hive

  • 分佈式數據庫:hbase、cassandra、redis、MongoDB

  • 容器:lxc、docker

  • 虛擬化:openstack、xen、kvm

  • 安全:kerberos、selinux、acl、iptables

  • 問題追查:netstat、top、tcpdump、last

這裏給出一點小的建議: 大體須要學習下這四個部分:

  • 自動化運維(Ansible,Puppet,Saltstack等)

  • Devops(Docker,K8s,Jenkins,Jira等),

  • 雲服務技術(虛擬化、OpenStack、AWS及阿里雲各類產品服務架構等)

  • python

https://blog.51cto.com/12592106/2073504

 

快捷鍵:

退出快捷鍵:有登錄就會有退出,那麼在登陸Linux系統以後,有哪些快捷的退出命令呢。

1. exit:在命令行輸入exit,系統自動退出。

2. Ctrl + D :在鍵盤輸入Ctrl + D ,也能達到快速退出的目的。

3. 刪除光標前的命令:在輸入一個命令的時候,須要刪除光標前的命令,咱們能夠在鍵盤輸入Ctrl +U(向前刪除,刪除光標前的命令)。

4. 刪除光標後的命令:在輸入一個命令的時候,須要刪除光標後的命令,咱們能夠在鍵盤輸入Ctrl +K(向後刪除,刪除光標後的命令)。

5. 終段快捷鍵:Ctrl + C (終斷,直接將進程kill掉了),下圖分別爲終段先後的界面顯示。

6. 暫停快捷鍵:Ctrl + Z(進程還在,只是暫停運行,暫時休眠,fg以後能夠恢復進程)

7. 清屏快捷鍵:在Linux命令窗口輸入太多命令以後,爲了方便,常常會用到清屏的命令 1. clear:在命令行輸入clear命令以後,能夠清除界面全部的輸入和輸出信息 2.Ctrl + L:在鍵盤輸入Ctrl + L 也能達到clear命令相同的效果

8. 鎖屏快捷鍵:用tail命令查看日誌的時候,日誌內容是動態變化的,此時想要定位某一時刻的日誌信息,就可使用Ctrl + S進行鎖屏,此時敲擊全部的命令,都沒有反應。

9. 解鎖快捷鍵:用Ctrl + S完成以後,若是還想繼續其它操做,就須要進行解鎖操做,快捷命令爲Ctrl + Q

 

整理收集一些Linux運維管理、系統管理的經常使用命令,太多了記不住,只能記錄下來方便往後查看。也能夠和你們分享。若是你有好的一句話命令也貼出來吧。本文持續更新中。

一、linux啓動過程

開啓電源 –> BIOS開機自檢 –> 引導程序lilo或grub–> 內核的引導(kernel boot)–> 執行init(rc.sysinit、rc)–> mingetty(創建終端) –>Shell

二、網卡綁定多ip
# ifconfig eth0:1 192.168.1.99 netmask 255.255.255.0
三、設置DNS、網關
# echo 「nameserver 202.16.53.68」 >> /etc/resolv.conf
# route add default gw 192.168.1.1
四、彈出、收回光驅
# eject
# eject -t
五、用date查詢昨天的日期
# date –date=yesterday
六、查詢file1裏面空行的所在行號
# grep ^$ file
七、查詢file1以abc結尾的行
# grep abc$ file1
八、打印出file1文件第1到第三行
# sed -n ‘1,3p’ file1
# head -3 file1
九、清空文件
# true > 1.txt
# echo 「」 > 1.txt
# > 1.txt
# cat /dev/null > 1.txt
十、刪除全部空目錄
# find /data -type d -empty -exec rm -rf {} ;
十一、linux下批量刪除空文件(大小等於0的文件)的方法
# find /data -type f -size 0c -exec rm -rf {} ;
# find /data -type f -size 0c|xargs rm –f
十二、刪除五天前的文件
# find /data -mtime +5 -type f -exec rm -rf {} ;
1三、刪除兩個文件重複的部份,打印其它
# cat 1.txt 3.txt |sort |uniq
1四、攻取遠程服務器主機名
# echo `ssh $IP cat /etc/sysconfig/network|awk -F = ‘/hostname/ {print $2}’`
1五、實時監控網卡流量(安裝iftop)
# /usr/local/iftop/sbin/iftop -i eth1 -n
1六、查看系統版本
# lsb_release -a
1七、強制踢出登錄用戶
# pkill -kill -t pts/1
1八、tar增理備份、還原
# tar -g king -zcvf kerry_full.tar.gz kerry
# tar -g king -zcvf kerry_diff_1.tar.gz kerry
# tar -g king -zcvf kerry_diff_2.tar.gz kerry
# tar -zxvf kerry_full.tar.gz
# tar -zxvf kerry_diff_1.tar.gz
# tar -zxvf kerry_diff_2.tar.gz
1九、將本地80端口的請求轉發到8080端口,當前主機外網IP爲202.96.85.46
-A PREROUTING -d 202.96.85.46 -p tcp -m tcp –dport 80 -j DNAT –to-destination 192.168.9.10:8080
20、在11月分內,天天的早上6點到12點中,每隔2小時執行一次/usr/bin/httpd.sh
# crontab -e
0 6-12/2 * 11 * /usr/bin/httpd.sh
2一、查看佔用端口8080的進程
# netstat -tnlp | grep 8080
lsof -i:8080
2二、在Shell環境下,如何查看遠程Linux系統運行了多少時間?
# ssh user@被監控主機ip 「uptime」
2三、查看CPU使用狀況的命令
每5秒刷新一次,最右側有CPU的佔用率的數據
# vmstat 5

top 而後按Shift+P,按照進程處理器佔用率排序
# top
2四、查看內存使用狀況的命令
用free命令查看內存使用狀況
# free -m

top 而後按Shift+M, 按照進程內存佔用率排序
# top
2五、查看磁盤i/o
用iostat查看磁盤/dev/sdc3的磁盤i/o狀況,每兩秒刷新一次
# iostat -d -x /dev/sdc3 2
2六、修復文件系統
# fsck –yt ext3 /
-t 指定文件系統
-y 對發現的問題自動回答yes
2七、read命令5秒後自動退出
# read -t 5
2八、grep -E -P 是什麼意思
-E, –extended-regexp 採用擴展正規表達式。
-P,–perl-regexp 採用perl正規表達式
2九、vi編輯器(涉及到修改,添加,查找)

插入(insert)模式
i     光標前插入
I     光標行首插入
a     光標後插入
A     光標行尾插入
o     光標所在行下插入一行,行首插入
O     光標所在行上插入一行,行首插入
G     移至最後一行行首
nG    移至第n行行首
n+    下移n行,行首
n-    上移n行,行首
:/str/          從當前往右移動到有str的地方
:?str?          從當前往左移動到有str的地方
:s/str1/str2/       將找到的第一個str1替換爲str2
:s/str2/str2/g      將當前行找到的全部str1替換爲str2
:n1,n2s/str1/str2/g    將從n1行至n2行找到的全部的str1替換爲str2
:1,.s/str1/str2/g     將從第1行至當前行的全部str1替換爲str2
:.,$s/str1/str2/g     將從當前行至最後一行的全部str1替換爲str2
30、linux服務器之間相互複製文件
copy 本地文件1.sh到遠程192.168.9.10服務器的/data/目錄下
# scp /etc/1.sh king@192.168.9.10:/data/

copy遠程192.168.9.10服務器/data/2.sh文件到本地/data/目錄
# scp king@192.168.9.10:/data/2.sh /data/
3一、使用sed命令把test.txt文件的第23行的TEST換成TSET.
# sed -i ’23s/TEST/TSET/’ test.txt
# sed -i ’23 s/TEST/TSET/’ test.txt
3二、使history命令能顯示時間
# export HISTTIMEFORMAT=」%F %T 」
3三、如何查看目標主機192.168.0.1開放那些端口
# nmap -ps 192.168.0.1
3四、如何查看網絡鏈接
# netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’
3五、如何查看當前系統使用了那些庫文件
# ldconfig -v
3六、如何查看網卡的驅動版本
# ethtool -i eth0
3七、使用tcpdump來監視主機192.168.0.1的tcp的80端口
# tcpdump tcp port 80 host 192.168.0.1
3八、 如何看其它用戶的郵件列表
# mial -u king
3九、對大文件進行切割
按每一個文件1000行來分割
# split -l 1000 httperr8007.log httperr

按照每一個文件5m來分割
# split -b 5m httperr8007.log httperr
40、合併文件
取出兩個文件的並集(重複的行只保留一份)
# cat file1 file2 | sort | uniq

取出兩個文件的交集(只留下同時存在於兩個文件中的文件)
# cat file1 file2 | sort | uniq -d

刪除交集,留下其餘的行
# cat file1 file2 | sort | uniq –u
4一、打印文本模式下運行的服務
# chkconfig –list|awk ‘$5~/on/{print $1,$5}’
4二、刪除0字節文件
# find -type f -size 0 -exec rm -rf {} ;
4三、查看進程,按內存從大到小排列
# ps -e -o 「%C : %p : %z : %a」|sort -k5 -nr
4四、查看http的併發請求數及其TCP鏈接狀態
# netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’
4五、獲取IP地址
# ifconfig eth0|sed -n ‘2p’|awk ‘{print $2}’|cut -c 6-30

perl實現獲取IP地址:
# ifconfig -a | perl -ne ‘if ( m/^s*inet (?:addr:)?([d.]+).*?cast/ ) { print qq($1n); exit 0; }’
4六、獲取內存大小
# free -m |grep 「Mem」 | awk ‘{print $2}’
4七、查看CPU核心數
# cat /proc/cpuinfo |grep -c processor
4八、查看磁盤使用狀況
# df -h
4九、查看有多少個活動的PHP-cgi進程
# netstat -anp | grep php-cgi | grep ^tcp | wc -l
50、查看硬件製造商
# dmidecode -s system-product-name

原文連接:http://www.linuxode.net/2017/114.html

 

 

 

https://www.sohu.com/a/220304711_100008608

相關文章
相關標籤/搜索