平常工做必備之linux經常使用命令分類概括

前言

Linux基礎命令整理,這裏不包含shell部分知識shell

基礎命令

shell(命令解釋器)自帶的命令稱爲內部命令,其它的是外部命令
內部命令使用help幫助:help cd
外部命令使用help幫助:ls --help
type命令:用於區分是內部命令仍是外部命令:ubuntu

#type ls
ls is aliased to `ls --color=auto' #外部命令
#type cd
cd is a shell builtin #內部命令複製代碼

pwd命令:顯示當前目錄
ls命令:查看目錄和文件名稱
ls -l 查看目錄各個字段含義
企業微信截圖_20200502163153.pngvim

第一字段:首字母表明的是文件類型 ,其中"-"爲普通文件、"d"爲目錄文件、"c"爲字符設備文件、"b"爲塊設備文件、"p"爲管道文件、"l"爲連接文件、"s"爲socket文件。「rwx」分別表明擁有讀、寫和執行權限,"-表明無對應權限。三個"rwx"依次表明文件全部者、文件全部者所在用戶組、其它用戶對文件擁有的權限。
第二字段:文件硬鏈接數量
第三字段:文件擁有者
第四字段:文件擁有者所在組
第五字段:文件大小(以字節爲單位)
第六字段:文件最後更改時間
第七字段:文件名(若爲連接文件則追加顯示其連接的原文件的路徑)centos

ls命令其它參數含義:
-a顯示隱藏文件(.開頭的文件)
-r逆序排序
-t按照時間順序顯示
-R遞歸顯示
ls -lartR : 按照時間順序倒序顯示全部文件及其文件夾的文件緩存

cd命令:更改當前的工做目錄
cd /path/... 絕對路徑
cd ./path/... 相對路徑(./能夠省略)
cd ../path/... 相對路徑bash

mkdir命令:創建目錄
企業微信截圖_20200502165701.png
mkdir -p 遞歸目錄:遞歸建立目錄微信

rmdir命令:刪除目錄
rmdir a/b/c/d/e/ #刪除空目錄
rm -r a/b/c/d/ #遞歸刪除目錄,可是系統會作屢次詢問
rm -rf a/b/c/d/ #刪除目錄,不作任何詢問網絡

cp命令:複製文件和目錄
-r 複製目錄
-p 保留用戶、權限、時間等文件屬性socket

mv命令:移動文件和重命名
mv *.log 目標目錄tcp

通配符:
*匹配任何字符串
?匹配一個字符串
[xyz]任何一個字符串
[a-z]匹配一個範圍

cat命令:文本內容顯示到終端

head命令:查看文件開頭
head -3 文件名稱 #顯示文件開頭3行

tail命令:查看文件末尾
tail -3 文件名稱 #顯示文件末尾3行
tail經常使用參數-f,文件內容更新後,同步顯示更新的文件信息
tail -f 文件名稱

wc命令:統計文件內容信息
wc 文件名稱

壓縮和解壓縮

tar打包命令(只有打包功能,並不具有壓縮功能)
壓縮命令是gzip和bzip2,bzip2壓縮的文件更小,可是速度比較慢
-c 打包
-x解包
-f指定操做類型爲文件
企業微信截圖_20200502183326.png

tar cf ./etc-backup.tar /etc 
tar czf ./etc-backup.tar.gz /etc
tar cjf ./etc-backup.tar.bz2 /etc

tar xf ./etc-backup.tar
tar xzf ./etc-backup.tar.gz 
tar xjf ./etc-backup.tar.bz2 複製代碼

vi命令

vi命令的三種模式
命令模式:命令模式是vim打開文件後默認進入的模式,能夠進行文件的快速定位,文件的處理操做
插入模式:編輯文件
行模式:文件的保存退出

命令模式操做
輸入i鍵:光標當前位置輸入
輸入I鍵:光標當前行開頭位置輸入
輸入a鍵:光標當前下個字符位置輸入
輸入A鍵:光標當前行末尾位置輸入
輸入o鍵:光標當前行下一行新建空行位置輸入
輸入O鍵:光標當前行上一行新建空行位置輸入
hjkl:方向鍵盤,上右下左移動光標,注意終端的上下左右鍵有可能會亂碼
yy:複製當前行
p:粘貼複製的內容
3yy:複製當前行開頭的連續3行
y光標當前位置複製到光標當前行末尾:剪切當前行:剪切光標當前位置至本行末尾
u:撤銷鍵
ctrl+r:重作鍵盤
G:光標快速切換到哪一行。例如 :11G 光標會切換到11行
^:光標快速切換到當前行行首
$:光標快速切換到當前行末尾

末行模式操做:
:w 保存
:q 退出編輯
:wq 保存而且退出編輯
:q! 不保存退出
/要查找的內容:全局查找內容,n查找的內容下一次位置,N查找的內容上一次位置
:s/原來的內容/要替換的內容:只在當前行內容替換生效
:%s/原來的內容/要替換的內容/g:全部內容都替換生效
:11,15s/原來的內容/要替換的內容:11,15行內容替換生效
:set nu 設置顯示行號
:set nonu 設置不顯示行號

配置/etc/virc
設置默認使用vi命令就顯示行號的辦法:
一、vi /etc/virc
二、在文件最後一行添加:set nu 而且保存退出

用戶管理和組管理

useradd命令:新建用戶
useradd 用戶名

userdel命令:刪除用戶
userdel 用戶名 用戶所在的家目錄不會被刪除
userdel -r 用戶名 用戶相關的全部配置都會被刪除

passwd命令:修改用戶密碼
passwd 用戶名

usermod命令:修改用戶屬性

/etc/passwd文件:查看用戶文件
tail /etc/passwd

/etc/shadow文件:查看用戶密碼
tail /etc/shadow

groupadd命令:添加用戶組
groupadd 用戶組

groupdel命令:刪除用戶組
groupdel 用戶組

用戶切換
su 用戶名 切換用戶,可是用戶所在環境不變,即pwd路徑不會變化
su - 用戶名 切換用戶,同時會切換到用戶家目錄,即/home/用戶名

sudo命令:普通用戶須要執行root用戶權限的解決方案

用戶和用戶組配置文件介紹
/etc/passwd文件
企業微信截圖_20200503090734.png

/etc/shadow
一、帳戶名稱
二、加密後的密碼,若是這一欄的第一個字符爲!或者*的話,說明這是一個不能登陸的帳戶,從上面能夠看出,ubuntu默認的就不啓用root帳戶。

/etc/group
企業微信截圖_20200503091650.png

文件類型
ls -l查看文件類型
-普通字符
d目錄文件
b塊特殊文件
c字符特殊文件
l符號連接
f命名管道
s套接字文件

文件權限表示法
r讀(數字4)、w寫(數字2)、x執行(數字1)

目錄權限表示法
x進入目錄
rx顯示目錄內的文件名
wx修改目錄內的文件名

chmod命令:修改文件權限
用字符的方式添加和修改權限
u:修改用戶權限
g:修改用戶組權限
o:修改其它用戶權限
+:添加權限
-:減小權限
=:設置權限
chmod u+r aaa.log #給aaa.log文件的所屬用戶添加讀的權限

用數字的方式添加權限
chmod 666 aaa.log #給aaa.log文件設置讀寫權限
須要注意的是不過root用戶的權限是什麼都不會受到影響

chown命令:更改屬主,屬組
chown 用戶名 文件名
chown 用戶名:組名 文件名

網絡配置命令

配置ip地址
eth0表示第一塊網卡,網卡的名稱還多是eno1(板載網卡)、ens33(PEC-E網卡)、enp0s3(無線PEC-E網卡)
ifconfig 接口 ip地址 [netmask 子網掩碼] #配置IP地址
ifup 接口 #開啓網卡
ifdown 接口 #關閉網卡

添加網關
route add default gw 網關ip
route add -host 指定ip gw 網關ip
route add -net 網段 netmask 子網掩碼 gw 網關ip 案例:route add -net 192.168.0.0 netmask 255.255.255.0 gw 10.1.1.1

檢查網絡
ping命令 #查看網絡是否通
traceroute命令 #網絡很差的時候分析網絡哪一個部分出現問題
mt命令r #網絡很差的時候分析網絡哪一個部分出現問題
nslookup命令 根據域名解析獲取ip

網絡沒問題後分析服務
telnet 域名 端口(端口關閉Connection refused和端口開啓Connected to ...)
tcpdump命令 #抓取網卡的傳輸數據(即抓包的做用)
netstat命令 #查看本地網絡服務

hostname命令 #查看和修改主機名稱
hostname 新的主機名(注意修改/etc/hosts文件配置127.0.0.1 主機名)

配置網卡信息
網卡文件位置:/etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes 開機自啓動配置
BOOTPROTO=dhcp 動態獲取ip地址

軟件包管理

包管理器是方便軟件安裝、卸載、解決軟件依賴關係的重要工具
centos、Redhat使用yum包管理器,軟件安裝包格式rpm
debian、ubuntu使用apt包管理器,軟件安裝包格式爲deb

rpm軟件包和命令

rpm軟件包格式:
企業微信截圖_20200503184650.png

-q 查詢軟件包
rpm -q 安裝包名稱(不須要全名稱) #查詢單個軟件包
rpm -qa #查詢全部安裝包

-i 安裝軟件包
rpm -i 軟件包的全名稱

-e 卸載軟件包
rpm -e 安裝包名稱(不須要全名稱)

yum安裝軟件包

rpm安裝軟件包的時候常常會出現依賴包找不到的狀況,須要手動解決依賴的安裝包,比較麻煩,這個時候使用yum安裝更加合適,它能自動解決依賴的軟件包
阿里雲rpm鏡像網址和使用
yum經常使用參數
yum install 軟件包名稱
yum remove 軟件包名稱
yum list 查看安裝的軟件包
yum update 軟件包名稱

源代碼安裝軟件

有的時候咱們須要安裝軟件的最新版本,這個時候yum庫可能沒有最新的,就須要手動編譯軟件源代碼安裝軟件,而且須要本身去解決編譯源碼時各類各樣的依賴
第一步: ./configure --prefix = /usr/local/軟件名稱
第二步:make (有的時候看到gmake -j2,gmake指的是跨平臺的方式安裝,-j2指的是用連個cpu來進行編譯,加快編譯速度)
第三步:make install (安裝軟件到--prefix指定目錄,好處是刪除軟件的時候刪除整個包就能夠,不然還須要到/usr/bin等各個目錄下刪除一堆文件)

進程管理

查看命令
ps -ef #查看進程
pstree #查看進程樹
top命令
top下按1能夠查看各塊cpu(多核狀況)的資源使用狀況;
top -p 進程id #單獨查看進程的資源使用狀況

調整進程優先級
nice範圍從-20到19,值越小優先級越高,搶佔資源就越多
nice -n 10 腳本名稱
renice從新設置已經運行的程序優先級
renice -n 15 進程id

進程做業控制
&符號,讓進程在後臺運行
jobs 查看後臺運行的進程
根據jobs第一列的結果fg [序號],可以將後臺進程移到前臺

kill命令
kill -l #列出進程相關的全部信號類型
ctrl + c #通知前臺進程終止進程
kill -9 進程id #當即結束進程

nohup與&符號配合使進程在退出終端後可以繼續運行
守護進程指的是系統開機自啓動的相關進程,能夠經過/proc/進程id/目錄查看進程運行詳細信息,經過/var/log目錄下的日誌文件查看更多的進程運行信息,messages系統日誌信息,secure日誌信息,cron定時任務信息
screen可使進程在斷開網絡的狀況下,恢復後依然可以繼續執行
進程管理工具service(配置文件路徑/etc/init.d)和systemctl(service的進化版)

內存和磁盤管理

top命令
企業微信截圖_20200504135155.png
查看內存剩餘的時候要看free內存,不能看buffers,由於有些程序好比jar程序會佔用很大內存做爲緩存,能夠經過命令釋放掉這部分緩存;當程序開始使用Swap的時候就得考慮內存是否足夠的問題,當內存不足的時候系統會隨機殺掉佔用內存大的進程,致使不可控;

free命令
free -m #使用M做爲單位查看內存,注意若是使用free -g查看內存會偏小,系統會把不足的g內存顯示的時候刪除掉

查看磁盤
查詢系統總體磁盤使用狀況
df -h
查詢指定目錄的磁盤佔用狀況
du -h /目錄 #默認爲當前目錄
-s 指定目錄佔用大小彙總
-h 帶計量單位
-a 含文件
--max-depth=1 子目錄深度
-c 列出明細的同時,增長彙總值

增長一塊硬盤步驟:
一、添加硬盤
二、分區fdisk:fdisk /dev/sdb (假設新增的磁盤名稱爲sdb)
三、格式化mkfs:mkfs -t ext4 /dev/sdb1
四、掛載目錄:先建立一個/newdisk掛在目錄 , 掛載mount /dev/sdb1 /newdisk五、設置能夠永久掛載: 修改/etc/fstab文件

相關文章
相關標籤/搜索