Linux基礎(chǔ)

1 幫助命令:

whatis make?查看某命令的簡要說明
info make?查看某命令的詳細說明
man make?查看某命令的具體參數(shù)和使用方法:man 3 printf、man 1 printf、

man man:
(1)用戶可以操作的命令或者是可執(zhí)行文件
(2)系統(tǒng)核心可調(diào)用的函數(shù)與工具等
(3)一些常用的函數(shù)與數(shù)據(jù)庫
(4)設(shè)備文件的說明
(5)設(shè)置文件或者某些文件的格式
(6)游戲
(7)慣例與協(xié)議等。例如Linux標準文件系統(tǒng)、網(wǎng)絡(luò)協(xié)議、ASCⅡ,碼等說明內(nèi)容
(8)系統(tǒng)管理員可用的管理條令
(9)與內(nèi)核有關(guān)的文件

which make?查看某命令的位置
whereis make?查看某命令的搜索路徑

2 文件及目錄管理

mkdir newdir?創(chuàng)建目錄:
rm -rf log.txt?刪除文件或目錄:
mv -r ./src ./dst?移動文件或目錄:
cp -r ./src ./dst?復(fù)制文件或目錄:
cd?切換目錄:cd ~、cd ..
pwd?顯示當前路徑
ls?列出目錄項:ls -lt、ll
find ./ -name "*.txt"?查找文件:find ./ -name "*.txt" -exec rm {} ;
wc -l?計算文件的Byte數(shù)、字數(shù)或是列數(shù):統(tǒng)計行數(shù)find ./ | wc -l
cat log.txt?查看文件:cat -n log.txt
head -10 log.txt?查看頭部文件:
tail -10 log.txt?查看尾部文件,顯示最新內(nèi)容:tail -f log.txt
diff log1.txt log2.txt?查看兩文件差別:
chown -R mysql ./?改變文件擁有者:
chgrp -R mysql ./?改變文件所屬組:
chmod 750 log.txt?改變文件讀寫執(zhí)行屬性:
ln -s lib.so.21 lib.so?創(chuàng)建軟連接,連接無內(nèi)容
ln a.out b.out?創(chuàng)建硬連接,重新創(chuàng)建新文件
cmd | cmd?管道,批處理命令
cmd; cmd?串聯(lián)
cmd && cmd?前面成功,則執(zhí)行后一條;否則不執(zhí)行
cmd || cmd?前面失敗,則執(zhí)行后一條
>?重定向,標準錯誤重新定向到標準輸出 2>&1,STDIN/STDOUT/STDERR對應(yīng)0/1/2
??清空文件 :> a.txt
??追加方式添加文件 echo "a" >> a.txt

3 文本處理

find ./ -name "*.txt" [-o -name "*.sh]"?同時查找所有txt和pdf文件,-o為或
find ./ ! -name "*.txt"?查找所有非txt的文件
find ./ -maxdepth 1 -type f?指定搜索深度為1層,類型為文件的查找:文件f/目錄d/鏈接l
find ./ -atime/-mtime/-ctime 7/-7/+7?被訪問/內(nèi)容被修改/元數(shù)據(jù)或權(quán)限改變、第7天/7天內(nèi)/7天前
find ./ -size 2/-2/+2k/M/G?按照文件大小查找:等于2、小于2、大于2k或M或G
find ./ -perm 644?按照指定權(quán)限查找
find ./ -user weber?按照指定用戶查找
find ./ -name "*.swp" -delete?查到到文件后刪除
find ./ -name "*.txt" -exec ls -l {} ;?查找到文件后執(zhí)行相應(yīng)的命令:
??{} 代表find找到的文件名、; 代表命令結(jié)束、{}和;之間有空格
grep -nr "class" ./?遞歸查找文件中的文本字符
sort file?對指定文件的文本進行排序
sort file | uniq [-c -d]?消除重復(fù)行:-c統(tǒng)計各行出現(xiàn)次數(shù)、-d找出重復(fù)行
cat text | tr 'struct' 'class'?將文本中的struct字符轉(zhuǎn)換成class字符:
??-d 刪除字符、-s 壓縮重復(fù)字符
cut -f2,4 filename?按第2列和第4列截取文本
paste file1 file2?按列拼接文本
wc -l/w/c file?統(tǒng)計行數(shù)、單詞數(shù)、字符數(shù)
sed流編輯器?以行為操作單位,先定位后操作,定位采用正則表達式,操作由p打印、a后插入、i前插入、s替代指定字符、d刪除、c替代行;g全局,而非只操作單個;&表示正則選中的部分;正則表達式中加入反斜杠 \ 表示字符
sed -i "s/eagle/xxx/g" file?將每行中的所有eagle字符替換成xxx,-i表示寫回文件
nl file| sed -n '5,7p'?nl將file標記處行號,-n僅顯示操作后的結(jié)果,5到7行
awk

4 磁盤管理

df -h?查看磁盤利用率:df -h -k/m
du -sh?查看文件或目錄的磁盤使用空間
du -sh `ls` | sort?查看所有子目錄排序后的大小
tar -zcvf log.tar.gz ./log?打包并gzip壓縮
tar -zxvf log.tar.gz ./?解包并gzip解壓
tar -jcvf demo.tar.bz2 ./demo?打包并bzip壓縮
tar -jxvf demo.tar.bz2 ./?解包并bzip解壓

5 進程管理

ps -aux | grep mysql?查詢正在運行的進程快照:ps -ef
top?實時查詢進程:輸入P/M/i以CPU/Memory排序、不顯示閑置進程
lsof -i:8080?查詢8080端口的進程
lsof -u username / -c init / -p PID?查看用戶/進程/進程號所打開的文件
kill -9 PID?強制殺死指定PID進程
pmap PID?輸出進程內(nèi)存信息,用于分析線程堆棧

6 性能監(jiān)控

sar -u 1 2?查看CPU使用情況,每秒1次總共2次:sar -q 1 2
sar -r 1 2?查看內(nèi)存使用情況
sar -W 1 2?查看頁面交換情況
free -h?查看內(nèi)存使用量
df -h?查看磁盤使用情況
watch -d -n 1 "free -h"?持續(xù)監(jiān)控應(yīng)用的數(shù)據(jù)變化,-d高亮差異,-n每隔1秒

7 網(wǎng)絡(luò)工具

netstat -antp?查看所有tcp端口
netstat -anup?查看所有udp端口
route -n?查看路由狀態(tài)
ping IP?發(fā)送ping包到指定IP
traceroute IP?探測前往IP的路由路徑
host url?尋找域名對于的IP,方向DNS:host 31.13.68.1
wget url?直接下載文件
ssh username@ip?ssh遠程登入
sftp username@ip?文件傳輸,登入后操作如下:
??get / put filename?從遠程主機上 下載 / 上傳 文件
??ls、cd?列出或切換遠程主機路徑
??lls、lcd?列出或切換本地主機路徑
scp -r ./src username@ip:/home/xxx/dst?將本機文件復(fù)制到遠程主機
scp -r username@ip:/home/xxx/src ./dst?將遠程文件復(fù)制到本地主機

8 用戶管理工具

新建用戶

sudo useradd -m username?為用戶創(chuàng)建賬號和用戶目錄
??groupadd mysql
??useradd -r -g mysql -s /bin/false mysql
sudo passwd username?為用戶創(chuàng)建密碼
sudo userdel -r username?刪除用戶和用戶目錄
su username?切換用戶

將用戶添加到組

groups?查看本用戶所屬哪些用戶組,默認屬于本用戶名的組,groupadd groupname
sudo usermod -G groupname username?將用戶添加到組
??-g 變更用戶根組并從原有的組中除去
more /etc/passwd、/etc/group?查看用戶、用戶組

更改文件的讀寫權(quán)限、所屬用戶、所屬用戶組

chmod a/u/g/o+r/w/x file?更改文件讀寫權(quán)限:chmod 750 file
chown -R username file?更改文件所屬用戶
chgrp -R username file?更改文件所屬用戶組

環(huán)境變量

/etc/profile、/etc/bashrc?是系統(tǒng)全局環(huán)境變量設(shè)定
~/.profile、~/.bashrc?是用戶目錄下的私有環(huán)境變量設(shè)定

~/.profile與~/.bashrc的區(qū)別:都具有個性化定制功能,設(shè)定專有路徑、環(huán)境變量等,但
?~/.profile只能登入的時候執(zhí)行一次
?~/.bashrc每次shell script的執(zhí)行都會使用它一次

當?shù)侨胂到y(tǒng)獲得一個shell進程時,其讀取環(huán)境設(shè)置腳本分為三步:
(1)讀入全局環(huán)境變量設(shè)置文件/etc/profile,然后根據(jù)其內(nèi)容讀取額外的文檔,如/etc/profile
(2)依次讀取登錄用戶目錄下/.bash_profile、/.bash_login、~/.profile
(3)最后讀取~/.bashrc

9 系統(tǒng)管理及IPC資源管理

cat /proc/version?查看操作系統(tǒng)版本:uname -a、arch
cat /proc/cpuinfo | grep "model name" | wc -l?查看CPU型號
cat /proc/cpuinfo | grep "physical id" | wc -l?查看CPU個數(shù)
cat /proc/cpuinfo | grep processor | wc -l?查看CPU核數(shù)
cat /proc/meminfo?查看內(nèi)存信息
date?顯示時間:設(shè)置date -s 2014-09-15 17:05:00、寫入CMOS:sudo clock -w
tzselect?設(shè)置時區(qū)
ipcs [-m / -q / -s]?查看進程間通信IPC的資源:全部、共享內(nèi)存、隊列、信號量
ulimit -a?顯示當前所有系統(tǒng)資源limit信息:設(shè)置ulimit -c unlimited

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容