一些常用命令

一、用户和权限：

1. 查看当前用户

Copy
whoami

切换用户，加 '-' 相当于使用要切换的用户名重新登录，环境变量、工作目录都会发生改变，切换用户一般用在使用需要特定用户起的服务，例如 Elasticsearch

Copy
su 用户名
su - 用户名

添加用户并在 home 目录下生成目录

Copy
useradd -m 用户名

4. 改变文件的用户，挺常用的

Copy
chown -R 用户名:用户组名 文件名

5. 赋予文件执行权限，很常用的

Copy
chmod +x 文件名

二、网络相关

1. 更改主机名

Copy
hostnamectl set-hostname 主机名

2. 检测网络联通性，例如检测能不能访问互联网、服务器之间通不通等

Copy
ping ip地址或域名
#ping baidu.com

3. 查看网络相关信息

Copy
ifconfig 或者 ip a

4. 检测端口是否连通

Copy
telnet 主机 端口
# telnet 172.24.1.1 8080

5. 显示端口占用情况

Copy
netstat -lntp
ss -lntp

6.ssh 和 scp，经常用来服务器之间传文件，比较快

Copy
ssh 用户@主机
# ssh root@172.24.1.1
scp 文件 用户@主机:路径
# scp 1.txt root@172.24.1.1:/opt

三、进程相关

1. 就是 ps 命令

Copy
ps -ef
# 查看进程信息

ps -ef|grep 进程名
# 查找进程

ps -ef|grep -v grep |grep 进程名
# 只显示要查找的进程名，不显示grep进程

ps -ef|grep -v grep|grep 进程名|awk '{print $2}'
# 打印出要查找的进程的进程号

ps -ef|grep -v grep|grep 进程名|awk '{print $2}'|xargs kill -9
# 把要查找的进程杀掉

2. 按进程名杀掉进程

Copy
pkill 进程名

四、文本相关

1.cat 查看文件就不说了，也可以追加内容到文件中

Copy
cat <<EOF>>1.txt
Hello
World
EOF
# 把>>换成>就会覆盖文件的内容

2. 查看文件前多少行，一般不怎么用

Copy
head -n 100 文件名

3. 查看文件后多少行，非常常用，动态查看日志的

Copy
tail -n 100 -f xxx.log
# 查看文件的后一百行并实时刷新

4. 然后就是三剑客了，这里只列举一些简单的常用的用法

Copy
sed -n "/关键词/p" 文件名
# 输出含有关键词的行，不太常用

sed -i "s/关键词1/关键词2/g" 文件名
# 将文件里的关键词1替换成关键词2，挺常用，换换ip地址啥的

grep -n '关键词' 文件名
# 和sed那个一样，输出含有关键词的行

grep -rl 关键词 ./
# 查找当前目录含有关键词的文件，挺常用，比如找找含有某ip的配置文件

awk 比较复杂，我常用的就是分割文本，例如

Copy
awk -F '分隔符' '{print $1}' 文件名
# 把文本按照分隔符分割并把第一列输出出来

五、磁盘相关

1. 查看磁盘分区情况

Copy
lsblk -f

2. 列出磁盘

Copy
fdisk -l

3. 格式化磁盘为 ext4 格式

Copy
mkfs -t ext4 磁盘名

4. 挂载与卸载

Copy
mount 磁盘名 目录名
# mount /dev/sdb /opt

umount 目录

5. 查看文件系统

Copy
df -h

6. 查看当前目录占用的空间

Copy
du -sh

du -h -d 1
# 我比较喜欢这个命令，可以方便的查找目录中的大文件