常用Linux命令(持续更新)
原创
©著作权归作者所有:来自51CTO博客作者愤怒的可乐的原创作品,请联系作者获取转载授权,否则将追究法律责任
在Linux中查询包含特定内容的所有文件
grep -rnw '/path' -e 'pattern'
在路径/path
内递归(含子目录)地查询包含内容pattern
的文件。
-
-r
或-R
递归查询 -
-n
显示文件行号 -
-w
全词匹配 -
-e
指定搜索的模式 -
-i
忽略大小写
显示GPU当前的状态
查看进程
ps -ef | grep '<process_name>'
列出所有包含<process_name>
的进程信息。
-
ps
列出进程 -
-e
显示所有用户进程 -
-f
显示完整格式 -
|
将左边命令的输出作为右边命令的输入 -
grep
查询包含某个名称的所有行 -
<process_name>
要查询的进程名
其中输出的格式为:
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
列出当前系统打开的文件,Linux任何东西都以文件存在 -
-i
查询占用端口<port>
的文件
或者:
sudo netstat -tunlp | grep <端口号>
新增用户
登录具有sudo权限的用户。
adduser username
usermod -aG sudo username
su username
sudo ls -la /root # test sudo
查看开放的端口
安装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
当前用户(组) -
.
当前目录