在Linux中查詢包含特定内容的所有檔案
grep -rnw '/path' -e 'pattern'
在路徑
/path
内遞歸(含子目錄)地查詢包含内容
pattern
的檔案。
-
或-r
遞歸查詢-R
-
顯示檔案行号-n
-
全詞比對-w
-
指定搜尋的模式-e
-
忽略大小寫-i
顯示GPU目前的狀态
nvidia-smi
檢視程序
ps -ef | grep '<process_name>'
列出所有包含
<process_name>
的程序資訊。
-
列出程序ps
-
顯示所有使用者程序-e
-
顯示完整格式-f
-
将左邊指令的輸出作為右邊指令的輸入|
-
查詢包含某個名稱的所有行grep
-
要查詢的程序名<process_name>
ps -ef | grep bert
其中輸出的格式為:
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 Aug16 ? 00:00:36 /sbin/init splash
root 2 0 0 Aug16 ? 00:00:00 [kthreadd]
檢視端口占用
lsof -i:<port>
-
列出目前系統打開的檔案,Linux任何東西都以檔案存在lsof
-
查詢占用端口-i
的檔案<port>
或者:
sudo netstat -tunlp | grep <端口号>
新增使用者
登入具有sudo權限的使用者。
adduser username
usermod -aG sudo username
su username
sudo ls -la /root # test sudo
檢視開放的端口
安裝
nmap
:
$ sudo apt install nmap
$ nmap 127.0.0.1
Starting Nmap 7.60 ( https://nmap.org ) at 2021-09-30 01:28 UTC
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00014s latency).
Not shown: 986 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
443/tcp open https
3128/tcp open squid-http
3306/tcp open mysql
隻會列出開放的端口。
挂載磁盤
假設有一個未挂載的新磁盤
/dev/sda
,執行以下腳本即可格式化并挂載到
/home/sda1
。
#!/bin/bash
# n 建立新的磁盤分區
# p 建立主分區
# 空格表示選擇預設
# 空格表示選擇預設
# t 改變分區的系統id
# 改為linux的83
# w 儲存并退出
sudo fdisk /dev/sda <<EOF
n
p
1
t
83
w
EOF
# 寫入檔案系統到分區
# ext4 建立ext4檔案系統
# /dev/sda1 是磁盤名稱
sudo mkfs.ext4 /dev/sda1
# 建立我們的挂載點目錄
sudo mkdir -p /home/sda1
# 挂載
sudo mount /dev/sda1 /home/sda1
# 得到新裝置的UUID
UUID=$(sudo -i blkid | grep '/dev/sda1' | perl -pe 's/.+([a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}).+/$1/')
# 添加UUID到/etc/fstab 在重新開機後該裝置能自動挂載
echo "UUID=${UUID} /home/sda1 ext4 defaults 0 0" | sudo tee --append /etc/fstab
# 重新整理挂載點
sudo mount -a
$ chmod +x mount.sh
$ sudo sh mount.sh
修目前路徑下所有檔案的所有者
sudo chown -R $USER:$USER .
-
處理指定目錄以及其子目錄下的所有檔案-R
-
目前使用者(組)$USER
-
目前目錄.