2021年7月14日 星期三

[Linux] Linux Commands

grep(Global Regular Expression Print)搜尋

grep -r "XXX" (XXX:要搜尋的內容)
grep -r "XXX" . (XXX:要搜尋的內容, . 當前目錄下,可省略)
grep -rn "XXX" (XXX:要搜尋的內容並顯示行號)
grep -ri "XXX" (XXX:要搜尋的內容,忽略關鍵字大小寫)
grep -r "XXX" * (XXX:只在.c.h檔內搜尋XXX)
grep -r "XXX" YYY.c (在YYY.c檔案內搜尋XXX)
grep -r "XXX" /home/yyy (在指定路徑/home/yyy內搜尋XXX)
grep -r "XXX" --include="*.h"(只在.h內搜尋XXX)
grep -w "XXX" 完全符合該XXX
grep -rin "XXX"


在目錄下找檔案
ls | grep "XXX" (XXX:檔案名稱)

find 從整個記憶體找特定檔案(會找不到link內的檔案)

find -name *.txt (找所有副檔名是txt的檔案)
find -name abc.txt (找abc.txt)
find ./ -iname abc.txt  (./" 在此目錄下, -iname: 不分大小寫)

find | grep xxx

which 

找執行檔

whereis

從資料庫找特定檔案

cp 

複製資料夾內所有檔案 → cp folderName/*

install

install可以設定複製文件的屬性
複製targets 到/usr/bin/targets,並且自動建立目錄設定權限
install -p -D -m 0755 targets /usr/bin/targets

Pipe

| 將左邊命令執行結果傳給右邊命令

>

echo "123" > test.c
把123寫到test.c

touch

touch test.c //建立test.c
(帶其他參數可用來修改檔案的時間)


-------------------------------------------------------

【讀檔案內容】

head 

head -n4  test.c //看檔案內容的前4行

tail 

tail -n4  test.c //看檔案內容的倒數4行

cat (concatenate)


more 

按空白鍵往下一頁,按b 鍵就會往回上一頁

readelf

看.so檔
readelf -Ws xxx.so

nm

看.so檔

hexdump

看hex file
 hexdump -C xxx


-------------------------------------------------------

【網路相關】

netstat

netstat -nlp

conntrack

-L 可以看到轉址
-D

resolvectl -flush-caches

清除dns cache

-------------------------------------------------------

kill `pidof xxx.sh`

找出xxx.sh的process id並kill

insmod / modprobe / rmmod

載入kernel module
insmod
modprobe: 可解決相依問題,modprobe可以解決此問題安裝前B modeule前要先安裝A module的問題,因為/lib/module/xxx/modules.dep有記錄安裝那些模組前需要先安裝甚麼模組.

移除: rmmod

lsmod / modinfo

查看載入的模組
lsmod
modinfo [module_name|filename]

export

告訴程式執行某東西所需要的東西在哪裡
eq.增加tmp路徑到PATH → export PATH="$PATH": /tmp/

uname 

顯示系統資訊
uname -a

---

dtd

反譯dts(decompress dtb to dts)

dtc -I dtb -O dts xxx.dtb > xxxx.dts 


diff 

diff -Naur file1 file2 > xxx.patch



沒有留言:

張貼留言