編輯本文php
Linux理論小結:http://www.javashuo.com/article/p-vujyhvvm-ev.htmlhtml
Linux 環境下/etc/profile和/etc/profile.d 的區別:http://www.javashuo.com/article/p-uzdyfmvp-gb.htmlpython
Linux命令中文版詳解:https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/index.htmllinux
Linux系統,我用過的有centos和Ubuntu兩種,可是我不打算分開總結,由於這兩種Linux系統有80%的命令都相同的。nginx
查看centos版本:cat /etc/redhat-releaseweb
Linux通用:shell
cat /etc/issue , 顯示的是發行版本信息
cat /proc/version ,顯示操做系統類型,並說明正在運行的內核版本。json
getconf LONG_BIT 查看系統是32位仍是64位ubuntu
添加定時任務:https://blog.csdn.net/errors_in_life/article/details/72778816vim
centos7限制訪問ip:http://www.cnblogs.com/emanlee/p/10343542.html
更多centos的命令:http://www.javashuo.com/article/p-qhvfbkus-gg.html
用戶和用戶組管理:http://www.javashuo.com/article/p-fznenxlb-go.html
cat /etc/protocols # 協議號表。如ip協議號用0表示,udp協議號用17表示。
cat /etc/services # 端口號表。
參考:http://www.javashuo.com/article/p-dywqysof-gs.html
/etc/passwd 記錄Linux帳號
/etc/shadow 記錄Linux帳號的密碼
/etc/group 記錄Linux中的全部羣組
Linux文件屬性:http://www.javashuo.com/article/p-oxyoeixy-gw.html
自動化工具:centos中安裝expect
yum install expect -y
centos7根目錄擴容
http://www.javashuo.com/article/p-mvsdsxbz-ha.html
修改ssh的22端口
http://www.javashuo.com/article/p-corctzxx-hd.html
防火牆服務:firewalld、iptables
http://www.javashuo.com/article/p-zijnsrxo-hh.html
Linux記錄history
http://www.javashuo.com/article/p-nuvlmrbq-hc.html
命令 | 做用 | 其餘 |
ll | 查看文件 | ll -t |
pwd | 查看路徑 | |
cd | 切換路徑 | |
touch | 新建文件 | |
mkdir | 新建目錄 | -p 建立多層目錄 |
mv | 移動、重命名 | |
rm | 刪除文件、文件夾 | 不可恢復,慎用 |
find | 搜索文件 | * 號匹配0個或多個字符。 ?號匹配一個字符。 有通配符*、?號時,必須引號包裹起來。 find / -name "1*.txt" 忽略大小寫 find ./ -iname china* |
find高級用法 | 搜索文件 | -atime n 搜索在過去n天讀取過的文件。 -ctime n 搜索在過去n天修改過的文件。 -size n 搜索文件大小是n的文件。如find / -size +100c 搜索文件大小爲100b(字節)以上的文件。字節c、千字節k、兆字節M、吉字節G。+大於、-小於。 -user x 搜索屬於x用戶的文件。 -and 搜索添加並列。如find / -size +100c -and -user cao 搜索文件大小爲100b以上,而且屬於cao用戶的文件 -maxdepth 2 只搜索2級深度內的文件 |
cat | 查看小文件內容 | 帶行號: cat -n |
more | 查看大文件內容 | enter下一行,空格下一頁,q退出 |
| | 管道,配合其餘命令使用,如grep | |
grep | 文本內容查找 |
-n 顯示匹配行及行號
-v 顯示不包含匹配文本的全部行(至關於求反)反轉
-i 忽略大小寫
ps -ajx | grep -i httpd
|
which | 查看命令位置 | 凡是which查不到的命令,都是內建命令。 |
whereis | 查看命令位置和安裝包位置 | |
type | 查看命令類型:內建命令、關鍵字、別名 | type cd |
alias | 查看系統中有哪些別名命令 | 用戶自定義別名命令 vim /etc/profile 末尾追加 alias ll.='ls -lha' 重啓配置 source /etc/profile |
source |
source 在當前shell環境執行。 sh 或者 .號空格 在當前shell的子shell中執行。 |
運行可執行文件:如,使全局配置文件從新當即生效 source /etc/profile 執行配置,使之馬上生效。 正常狀況下,腳本中執行的參數設置只能影響到shell腳本自己的執行環境,不能影響到調用此shell的腳本。 使用source命令執行腳本,可讓腳本影響到父shell的環境(即調用此shell的當前shell)。 |
source | 運行可執行文件(當前父shell執行) | |
.空 或者sh | 運行可執行文件(建立子shell執行) | |
配置文件做用範圍 | source /etc/profile # 配置應用於全部用戶,永久 source ~/.bashrc # 配置應用於當前用戶,永久 export xx=111 # 配置應用於當前登陸,臨時 |
|
file | 探測給定文件的類型。file命令對文件的檢查分爲文件系統、魔法幻數檢查和語言檢查3個過程。 |
file Temp.txt |
ping | 檢查連通性 (基於icmp協議,3層協議) | |
wget | 下載網站文件 下載文件
|
單頁下載:wget http://www.baidu.com/ 全站下載:wget -r -p -np -k http://www.baidu.com/ 遞歸下載: 遞歸接受/拒絕: 不驗證證書: |
tcpdump | 抓包命令 一、類型的關鍵字,包括host,net,port。 |
在Linux上抓包:tcpdump tcp -i any -s0 -w desk.cap -i any 指定網卡爲全部 -s0 防止包被截斷 -w desk.cap 將抓到的包寫入文件desk.cap
|
curl -k | 打印返回的html。訪問https,不驗證證書有效性。 | curl -k https://xxxx |
curl icanhazip.com | 查看公網ip | 聯網狀態下使用: curl icanhazip.com |
tar | 壓縮、解壓 | (一)壓縮 (二)解壓: |
解壓小結 | 一、*.tar 用 tar –xvf 解壓 |
|
unzip | 解壓zip後綴的壓縮包 | unzip 1.zip |
vi | 編輯器 | :q! 不保存退出,或者ZQ。:wq保存退出,或者ZZ,或者:x。 :e! 不保存退出並從新打開。 :set nu 顯示行號 :set nonu 取消行號 永久顯示行號: ① vim /etc/vimrc (ubuntu是 vim /etc/vim/vimrc) ② 在文件的末行追加 set nu ③ZZ保存 /etc/vimrc的修改 |
vim高級 | (一)命令模式:ESC進入 |
|
cp | 複製 | cp 1.txt 11.txt 複製文件 cp -r web1 web11 複製文件夾 |
scp | 遠程複製 | 遠程下載:scp python@10.1.2.66:Desktop/1.txt ./ |
ssh | 遠程鏈接控制 | ssh python@10.1.2.66 |
ssh -v 你的ip | 查看鏈接過程 | ssh -v 10.1.2.66 或者 ssh -v python@10.1.2.66 |
Redhat紅帽系列 | Redhat、Centos、Fedora | 軟件管理:一、源碼安裝。二、rpm包安裝。三、yum源安裝。 |
源碼安裝 | 自定義、源碼安裝軟件統一安裝在:/usr/local下,方便管理。 一、配置安裝路徑 |
|
rpm | rpm包安裝 | centos中使用。 查看Redhat中的軟件安裝列表:rpm -aq 安裝:i安裝,v顯示安裝過程,h以‘#’顯示安裝進度。 |
yum | yum源安裝,在rpm基礎上發展出來的 | centos中使用。 yum list installed # 查看yum安裝過的軟件列表 yum list # 查看全部軟件的列表 yum install httpd -y # yum方式安裝軟件 yum remove httpd -y # yum方式卸載軟件 |
Debian蛋黃派系 | Kali、Ubuntu等 | 軟件管理:一、Deb包安裝。二、apt-get源安裝。 |
dpkg | Deb包安裝 | Ubuntu中使用。 查看Ubuntu中的軟件安裝列表:dpkg -l |
apt | apt-get源安裝,新版 | Ubuntu中使用。 sudo apt-get install package 安裝包 |
apt-get | apt-get源安裝,舊版 | Ubuntu中使用。 |
dpkg -i XXX.deb | Ubuntu中*.deb軟件安裝 | sudo dpkg -i XXX.deb |
apt-get -f install | Ubuntu中解決安裝依賴 | 一、執行命令 sudo dpkg -i XXX.deb 返回依賴關係錯誤提示 |
sudo | 臨時切換root用戶5分鐘 | 臨時切換到超級管理員 |
su | 切換用戶 | su - # 切換到超級管理員,並cd到家目錄 su - list # 切換到李四用戶,並cd到lisi的家目錄 |
ifconfig | 查看Linux的ip地址(安裝命令) | |
ip addr | 查看Linux的ip地址(自有命令) | |
chkconfig | 舊指令(centos六、5) 開啓自啓控制 |
舊指令(centos六、5) |
service | 舊指令(centos六、5) 服務管理(啓動和關閉) |
舊指令(centos六、5) |
systemctl | systemctl 是系統服務管理器命令,它實際上將 service 和 chkconfig 這兩個命令組合到一塊兒。在CentOS 7就開始被使用了。 | 新指令(centos7) 檢查服務狀態 |
useradd | 新建用戶 | useradd -m lisi |
passwd | 修改密碼,當前用戶的或者指定用戶 | passwd lisi |
userdel | 刪除用戶 | userdel -r lisi |
groupadd | 添加用戶組 | 建立用戶組myweb,其GID爲888: groupadd -g 888 myweb |
groupdel | 刪除用戶組 | 刪除用戶組myweb:groupdel myweb |
groupmod | 修改用戶組名稱 | 把用戶組改名爲web:groupmod -n newweb myweb |
groups | 查看當前用戶所屬組 | |
id | 查看當前用戶所屬組,詳細 | |
usermod | 用戶拉入組 | 把lisi拉到sudo組中:usermod -a -G sudo lisi |
gpasswd | 用戶移除組 | 把lisi移除sudo組:gpasswd -d lisi sudo |
chmod | 修改文件(夾) 權限 | 去掉1.py的讀r權限 chmod -r 1.txt 對abc.py文件的用戶(u)添加可執行(x)權限 將 test 目錄以及目錄下的全部文件權限修改成 u=rwx,g=rwx,o=rx |
chown | 修改文件所屬用戶和用戶組 須要sudo給權限 |
把aaa.txt文件的用戶和用戶組修改成lisi用戶和lisi用戶組了。(強烈推薦) chown -R lisi:lisi aaa.txt 只修改所屬組能夠用chgrp list aaa.txt |
chatter | 鎖定文件,不能刪除,不能更改 | 半加鎖:chattr +a /root/tmp/1.txt 只能給文件追加內容,可是刪除不了 隱藏chattr命令: |
lsattr | 查看加鎖信息 | 查看加鎖信息: lsattr /root/tmp/1.txt 文件加了一個參數 i 表示鎖定 |
who | 查看當前全部登陸用戶,抓黑客的 | |
whoami | 查看當前的用戶名 | |
last | 查看用戶登陸日誌 | last |
lastb | 查看登陸失敗的日誌 | lastb |
lastlog | 查看可登錄的用戶和最近登陸 | lastlog |
date | 顯示服務器日期 | |
cal | 顯示當月日曆 | cal -y |
ps | 查看進程信息(PID、名稱等) | ps -ef -e :全部的進程均顯示出來,與 -A 具備一樣的效用; |
ps 進程號 | 查看進程詳情 | ps 17996 查看進程17996的詳情 |
ps -eo pid,lstart,etime |grep 37275 |
查看啓動時間和運行時長 #lstart 啓動時間 |
37275 Sat Apr 6 15:04:51 2019 01:14:33 |
ps -p PID -eo lstart | 查看進程啓動時間 | ps -p 1929 -eo lstart 查看進程PID爲1929的進程啓動的時間 |
ps -aux | 查看進程啓動時間 | ps -aux | grep python 查看Python進程的啓動時間 |
top | 動態查看進程, 也能夠查看內存和cpu格式(頂部信息) |
x高亮 <高亮向左移動 >高亮向右移動 q退出 其餘:頂部看內存、1數字鍵看cpu個數 |
htop | 高級top,須要另外安裝htop |
能夠鼠標點擊界面。 F1 : 查看htop使用說明 / : 搜索字符 H :顯示/隱藏用戶線程 |
kill | 殺死進程 | 1.強制殺死進程: 2.暫停進程:等效於Ctrl+z 3.恢復進程:等效於fg命令 |
netstat | 查看使用中的套接字端口號 | netstat -antp |grep : |
netstat -lnp | 查看80端口的進程號 | netstat -lnp |grep 80 查看80端口的進程號 ps 17996 查看進程17996的詳情 |
ln | 創建軟、硬鏈接 | 軟鏈接:ln -s /1.txt /1_soft.txt |
history | 查看歷史命令 | |
df | 查看磁盤剩餘空間,disk free的縮寫 | df -h |
du | 查看當前文件大小 | 查看當前文件總大小:du -hs |
lsblk | 查看磁盤總大小 | lsblk -m,將主要磁盤大小相加,即爲總大小。 |
echo | 輸出顯示 | 輸出環境變量的值 echo $PATH |
shutdown | 關機、重啓 | 關機: shutdown now 重啓:shutdown -r now |
reboot | 重啓 | |
export | 設置當前的環境變量 | 爲python的nohup.out日誌關閉緩存機制,實時寫入日誌到nohup.out export PYTHONUNBUFFERED=1 |
nohup | 開啓後臺運行 | nohup python3 run.py |
tail | 查看文件內容後面的部分 | 查看文件內容的後20行 tail -20 1.txt 動態查看文件 tail -f 1.txt |
head | 查看文件內容的前面部分 | 查看文件內容的前10行 head -10 2.txt |
rz | 上傳文件到Linux系統 | sz rz命令 |
lynx http://192.168.2.1:49180 | 一個通用的文字版瀏覽器,Linux系統上使用 | 安裝命令:yum install lynx (centos系統版本) |
-exec | find命令與其連用,進一步處理結果。 | 方法一:使用exec語法 找出當前目錄中同一類型的文件,並把這類文件刪除 find . -name "*.pyc" -exec rm -rf {} \; -exec 參數後面跟的是 command 命令,它的終止是以「;」爲結束標誌的,考慮到各個系統中分號會有不一樣的意義,因此前面加反斜槓。 {} 花括號表明前面find查找出來的文件名 http://www.javashuo.com/article/p-fkwnxddd-ek.html 方法二:使用變量和rm 排除2.json,找出當前目錄下的其餘*.json,不進入子目錄查找。把找到的文件刪除。外圍引號爲1鍵前一個鍵。 xx=`find . ! -name "2.json" -name "*.json" -maxdepth 1`; |
split | 分割文件 | 把文件分割爲1M大小的文件: split -b 1m 2.txt prefix_ 結果獲得prefix_aa、prefix_ab -b 按照大小分割文件 -l 按照行數分割文件 |
openssl | 證書操做 | 查看*.crt證書內容 |
locale | 查看Linux語言格式 | locale 命令是將有關當前語言環境或所有公共語言環境的信息寫到標準輸出上 |
nginx | nginx操做 | 啓動 中止nginx -s stop |