#顯示所有檔案(包含隱藏檔案)
ls -a
#只顯示隱藏檔案
l.或者
ls -d .*
檢視cpu資訊、機器硬體型號
# linux 檢視顯示卡資訊
lspci | grep -i vga
# nvidia gpu檢視顯示卡資訊
lspci | grep -i nvidia
# nvidia 自帶工具
nvidia-smi
# 前邊的序號 "00:0f.0"是顯示卡的代號
# 檢視指定顯示卡的詳細資訊用以下指令
lspci -v -s 02:00.1
# 週期性的輸出顯示卡的使用情況,用watch指令實現,命令列引數-n後邊跟的是執行命令的週期,以s為單位。
watch -n 10 nvidia-smi
# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
8 intel(r) xeon(r) cpu e5410 @ 2.33ghz
(看到有8個邏輯cpu, 也知道了cpu型號)
# cat /proc/cpuinfo | grep physical | uniq -c
4 physical id : 0
4 physical id : 1
(說明實際上是兩顆4核的cpu)
# getconf long_bit
32(說明當前cpu執行在32bit模式下, 但不代表cpu不支援64bit)
# cat /proc/cpuinfo | grep flags | grep ' lm ' | wc -l
8(結果大於0, 說明支援64bit計算. lm指long mode, 支援lm則是64bit)
再完整看cpu詳細資訊, 不過大部分我們都不關心而已.
# dmidecode | grep 'processor information'
檢視記憶體資訊
# cat /proc/meminfo
# uname -a
linux euis1 2.6.9-55.elsmp #1 smp fri apr 20 17:03:35 edt 2007 i686 i686 i386 gnu/linux
(檢視當前作業系統核心資訊)
# cat /etc/issue | grep linux
red hat enterprise linux as release 4 (nahant update 5)
(檢視當前作業系統發行版資訊)
檢視機器型號
# dmidecode | grep "product name"
檢視網絡卡資訊
# dmesg | grep -i eth
參考:
檢視邏輯cpu個數:
#cat /proc/cpuinfo |grep "processor"|sort -u|wc -l
24檢視物理cpu個數:
#grep "physical id" /proc/cpuinfo|sort -u|wc -l
2#grep "physical id" /proc/cpuinfo|sort -u
physical id : 0
physical id : 1
檢視每個物理cpu核心個數:
#grep "cpu cores" /proc/cpuinfo|uniq
cpu cores : 6
每個物理cpu上邏輯cpu個數:
#grep "siblings" /proc/cpuinfo|uniq
siblings : 12
判斷是否開啟了超執行緒:
如果多個邏輯cpu的"physical id"和"core id"均相同,說明開啟了超執行緒,或者換句話說
邏輯cpu個數 > 物理cpu個數 * cpu核心數 開啟了超執行緒
邏輯cpu個數 = 物理cpu個數 * cpu核心數 沒有開啟超執行緒
這種場景經常見到,比如執行umount,發現被占用,想找到被誰占用
使用fuser來查檔案或目錄被誰占用
fuser /proc
/proc: 2454rc
引數:-v 顯示用多資訊,-u 顯示使用者
# fuser -uv /proc
使用者 程序號 許可權 命令
/proc: rtkit 2454 .rc.. (rtkit)rtkit-daemon
想要顯示/proc目錄下所有檔案和目錄被占用情況,加-m引數
# fuser -uvm /proc
使用者 程序號 許可權 命令
/proc: root 1311 f.... (root)rsyslogd
root 1667 f.... (root)vmtoolsd
root 2028 f.... (root)acpid
haldaemon 2040 f.... (haldaemon)hald
使用刪除某個pid,加-k引數,加入-i,配合-k會詢問使用者意願
# fuser -ki /proc
/proc: 2454rc
殺死程序 2454 ? (y/n) n
lsof的使用
lsof列出被程序所開啟的檔案,直接執行,輸出內容很多
加引數-u找某個使用者的程序
# lsof -u root|more
command pid user fd type device size/off node name
init 1 root cwd dir 253,0 4096 2 /
init 1 root rtd dir 253,0 4096 2 /
init 1 root txt reg 253,0 150352 4560 /sbi
n/init
...
+d 引數,找某個目錄被開啟的檔案
-a 多個條件同時成立,例如找root使用者開啟/proc的情況
# lsof +d /proc -a -u root
command pid user fd type device size/off node name
rsyslogd 1311 root 3r reg 0,3 0 4026532038 /proc/kmsg
vmtoolsd 1667 root 16r reg 0,3 0 4026532032 /proc/meminfo
vmtoolsd 1667 root 17r reg 0,3 0 4026532033 /proc/stat
vmtoolsd 1667 root 18r reg 0,3 0 4026532020 /proc/vmstat
lsof 24962 root 3r dir 0,3 0 1 /proc
還有個引數-u ,用來列出socket檔案型別
檔案許可權中 chmod、u+x、u、r、w、x分別代表什麼:
參考:
1. 用絕對路徑或相對路徑執行
/***/xx/test.sh 或 ./test.sh, 要求s**件必須有可執行許可權,可以用命令 chmod a+x test.sh來新增
2. 用bash或sh來執行
bash test.sh 或 sh test.sh
3. 用source 或 . 來執行
source test.sh 或 . test.sh 這樣的一大特點是,在本shell執行,前面的方式都是在本shell的子shell中執行,不能獲取s**件中的變數
ctrl + r
shell命令,shell迴圈,shell引數
touch hello.sh 建立乙個檔案 vi hello.sh 編輯文字 bin bash 指定bash解析器,centos預設的是bash解析器 echo helloworld echo helloworld 這兩句話效果相同,不過為了符合規範用第二種 執行指令碼,首先賦予指令碼最大許可權 c...
Linux 中 jobs fg bg 等命令
參考 unix 或 linux 中 jobs fg bg 等命令的使用方法 對之前文章的乙個補充 linux 命令後台執行 這篇還是比較簡單的,稍微一帶而過 fg bg jobs ctrl z 都是跟系統任務有關的,雖然現在基本上不怎麼需要用到這些命令,但學會了也是很實用的 這個用在乙個命令的最後,...
linux中的shell命令
e filename 如果filename存在,則為真 d filename 如果filename為目錄,則為真 f filename 如果filename為常規檔案,則為真 l filename 如果filename為符號鏈結,則為真 r filename 如果filename可讀,則為真 w f...