在Linux中查询包含特定内容的所有文件

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

在路径​​/path​​​内递归(含子目录)地查询包含内容​​pattern​​的文件。

  • ​-r​​​ 或​​-R​​递归查询
  • ​-n​​显示文件行号
  • ​-w​​ 全词匹配
  • ​-e​​ 指定搜索的模式
  • ​-i​​ 忽略大小写

显示GPU当前的状态

nvidia-smi

常用Linux命令(持续更新)_perl

查看进程

ps -ef | grep '<process_name>'

列出所有包含​​<process_name>​​的进程信息。

  • ​ps​​ 列出进程
  • ​-e​​ 显示所有用户进程
  • ​-f​​ 显示完整格式
  • ​|​​ 将左边命令的输出作为右边命令的输入
  • ​grep​​ 查询包含某个名称的所有行
  • ​<process_name>​​ 要查询的进程名
ps -ef | grep bert

常用Linux命令(持续更新)_Linux常用命令_02

其中输出的格式为:

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命令(持续更新)_linux_03


或者:

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

根据需要修改上面脚本的内容,保存为​​mount.sh​​,然后执行:

$ chmod +x mount.sh
$ sudo sh mount.sh

修当前路径下所有文件的所有者

首先​​cd​​到你要修改的目录,执行以下命令:

sudo chown -R $USER:$USER .
  • ​-R​​ 处理指定目录以及其子目录下的所有文件
  • ​$USER​​ 当前用户(组)
  • ​.​​ 当前目录