1.文本搜索java
若是vi或vim打開一個很大的文件,不易查找到對應的內容。能夠用查找命令:python
末行模式下輸入"/關鍵字",輸入的關鍵字會高亮顯示,按"n"向下查找,按"N"向上查找。linux
2.vim恢復以及亂碼問題vim
(1)在vi或vim中誤刪了東西,想要恢復的方法:服務器
按ESC退出編輯模式,再按u鍵撤銷以前的修改內容。ssh
(2)在用vi或vim打開文件時,若是出現了特殊符號或是亂碼,能夠經過如下命令嘗試:ui
vim -b test.txt
(-b通常用來查看對應的二進制文件的)spa
3.管道命令,即豎槓--》'|'操作系統
將查詢出來的內容交給管道後面的命令裝飾以後再顯示出來命令行
常常跟grep(過濾)搭配使用,如:
1.cat -n test.txt|grep "123" //顯示123所在行的所有內容 2.ps -ef | grep java;ps -aux | grep java //查看java進程
4.grep命令
(1).顯示匹配的後n行 (after)
grep -A n
(2).顯示匹配的前n行(before)
grep -B n
(3).顯示匹配的先後n行(context)
grep -C n
(4).忽略大小寫
grep -i str
5.查看某文件被哪一個進程所佔用
lsof 文件名
6.查看python的版本
python -V python --version
7.用戶和用戶組
useradd April //建立用戶 groupadd Family //建立用戶組 cat /etc/passwd //查看全部用戶信息 cat /etc/shadow //查看全部用戶的密碼信息 cat /etc/group //查看全部用戶組信息 cat /etc/gshadow //查看全部用戶組的密碼信息
8.find 搜索文件或目錄
find /home -name helloword* //查找home目錄下名爲helloword開頭的文件或目錄 find / -name h?ll* find / -size +1000k //查找根目錄下大於1000k的文件 find 查找效率比較低
查找命令還有:locate,whereis xxx
9.字符串替換命令
:s/well/good/ //替換當前行第一個well爲good :s/well/good/g //替換當前行全部well爲good :n,$s/well/good/ //替換第n行開始到最後一行中每一行第一個well爲good :n,$s/well/good/g //替換第n行開始到最後一行中每一行全部well爲good :.,$s/well/good/g //替換當前行開始到最後一行中每一行全部well爲good :%s/well/good/ //替換每一行的第一個well爲good :g/well/s//good/ //同上 :%s/well/good/g //替換每一行的全部well爲good :g/well/s//good/g //同上
轉義字符:可使用#爲分隔符,此時中間出現的/不會做爲分隔符
:s#well/#good/# //替換當前行第一個well/爲good/ :%s#/usr/bin#/bin#g //把文件中全部路徑/usr/bin換成/bin
10.重定向命令
(1).標準的輸入控制
語法:命令 < 文件 //把文件做爲命令的輸入
如:mail -s "sendmail test" test@test.com < file1 //將文件file1當作信件的內容發送給。。。
(2).標準的輸出控制
①語法:命令 > 文件 //把命令執行結果輸出到文件中
如:
ls -l > list.txt //命令結果輸出到list.txt文件中 ls -l > list.txt //命令結果輸出到list.txt文件中,list已經存在則覆蓋
②語法:命令 >& 文件 //將命令執行時屏幕上所產生的任何信息(標準輸出+標準錯誤輸出)寫入指定的文件中
如:
cc file1.c >& error //將編譯file1.c 文件時所產生的任何信息寫入文件error 中。
小結:
'>' 會覆蓋原文件內容。
'》'語法同>,不覆蓋文件內容,將結果追加到文件中。
11.vi刪除行
命令行模式下執行:
dd:刪除光標所在行 ndd:刪除光標所在行的向下n行 190,6233d //即[190,6233]都刪除掉
清空文件內容的幾種方法:
: > filename filename echo "" > filename echo > filename cat /dev/null > filename
12.vi定位行
命令行模式下輸入:
G: //直接定位到最後一行 1G: //直接定位到第一行 nG: //直接定位到第n行
13.vi複製行
yy // 複製當前行 nyy // 從當前行開始複製n行 p //粘貼
14.ll或ls顯示說明
ll -ht //h表示安裝標準格式自動轉換大小,即:456M,1.2G;t表示顯示內容按照實際倒序排列
ls中文件顏色的意義:
藍色表明目錄
綠色表明可執行文件
紅色表明壓縮文件
淺藍色表明連接文件
灰色表明其餘文件
15.修改權限
將/home/April/lib文件夾及其裏面內容的全部者修改成April
chown -R April:April /home/April/lib
16.經常使用查看系統使用狀況的命令
(1)查看內存使用狀況:free -m (m是MB,g爲GB)
(2)查看磁盤使用狀況:df -lh
(3)查看cpu使用狀況:cat /proc/cpuinfo
cat /proc/cpuinfo | grep "model name" //只顯示一行對應的cpu型號以及其餘信息 cat /proc/cpuinfo | grep "model name" | wc -l //統計出一共有多少核
(4.1)查看當前操做系統發行版本信息:
cat /etc/issue cat /etc/redhat-release
(4.2)查看當前操做系統更爲底層的信息
cat /proc/version
(5.1)查看某文件夾的空間使用狀況:du -h 文件夾名
(5.2)查看某文件夾內的全部文件的大小:du -sh * (先cd到當前文件夾)
17.查看端口鏈接狀態的連接數
(1) netstat -nlap
(2) netstat -nlap | grep -i est // grep -i 表示忽略大小寫,est表示 ESTABLISHED,只顯示鏈接狀態的端口,如圖
(3) netstat -nlap | grep -i est | grep -i 123 | awk '{print $4}' //awk '{print $4}'表示只打印第四列,如圖
(4) netstat -nlap | grep -i est | grep -i 123 | wc -l //統計數據,如圖
注:grep命令最後的那個顯示出來的結果以它進行標紅,如圖
18.同步服務器時間
利用ntpdate
再利用crontab將命令啓用爲定時執行腳本。
參考文章:https://www.zhihu.com/questio...
19.SSH登陸限制
(1) root用戶SSH登陸限制
vi /etc/ssh/sshd_config PermitRootLogin yes //容許root用戶 SSH登陸 PermitRootLogin no //不容許root用戶 SSH登陸
(2)普通用戶的SSH登陸限制
vi /etc/ssh/sshd_config AllowUsers April //如此設置後,只能用戶April 以SSH形式登陸,其餘用戶登陸不了
注:修改文件後,使用以下命令使其生效
service sshd reload
20.經常使用jdk系統環境變量配置
JAVA_HOME=/usr/java/jdk1.8 CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar PATH=$JAVA_HOME/bin:$PATH
21.查看linux的防火牆是否阻止80端口
iptables -vnL | grep ":80"
有內容返回說明開放了,無內容說明阻止了