天天看點

常用Linux指令(持續更新)

在Linux中查詢包含特定内容的所有檔案

grep -rnw '/path' -e 'pattern'      

在路徑​

​/path​

​​内遞歸(含子目錄)地查詢包含内容​

​pattern​

​的檔案。

  • ​-r​

    ​​ 或​

    ​-R​

    ​遞歸查詢
  • ​-n​

    ​顯示檔案行号
  • ​-w​

    ​ 全詞比對
  • ​-e​

    ​ 指定搜尋的模式
  • ​-i​

    ​ 忽略大小寫

顯示GPU目前的狀态

nvidia-smi      
常用Linux指令(持續更新)

檢視程序

ps -ef | grep '<process_name>'      

列出所有包含​

​<process_name>​

​的程序資訊。

  • ​ps​

    ​ 列出程序
  • ​-e​

    ​ 顯示所有使用者程序
  • ​-f​

    ​ 顯示完整格式
  • ​|​

    ​ 将左邊指令的輸出作為右邊指令的輸入
  • ​grep​

    ​ 查詢包含某個名稱的所有行
  • ​<process_name>​

    ​ 要查詢的程序名
ps -ef | grep bert      
常用Linux指令(持續更新)

其中輸出的格式為:

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>      
  • ​lsof​

    ​ 列出目前系統打開的檔案,Linux任何東西都以檔案存在
  • ​-i​

    ​​ 查詢占用端口​

    ​<port>​

    ​的檔案
常用Linux指令(持續更新)

或者:

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​

    ​ 目前使用者(組)
  • ​.​

    ​ 目前目錄

繼續閱讀