前言

作为一位Java后端开发,怎能不会点Linux命令?总结了一套非常实用的Linux命令(基于CentOS 7.6),希望对大家有所帮助!

系统服务管理

systemctl

systemctl命令是servicechkconfig命令的组合体,可用于管理系统。

  • 输出系统中各个服务的状态:
1
systemctl list-units --type=service

img

  • 查看服务的运行状态:
1
systemctl status firewalld

img

  • 关闭服务:
1
systemctl stop firewalld

img

  • 启动服务:
1
systemctl start firewalld

img

  • 重新启动服务(不管当前服务是启动还是关闭):
1
systemctl restart firewalld
  • 重新载入配置信息而不中断服务:
1
systemctl reload firewalld
  • 禁止服务开机自启动:
1
systemctl disable firewalld

img

  • 设置服务开机自启动:
1
systemctl enable firewalld

img

文件管理

ls

列出指定目录下的所有文件,列出/目录下的文件:

1
ls -l /

img

pwd

获取目前所在工作目录的绝对路径:

Linux-pwd

cd

改变当前工作目录:

1
cd /usr/local

Linux-cd

date

显示或修改系统时间与日期;

1
date '+%Y-%m-%d %H:%M:%S'

Linux-date

passwd

1
passwd root

img

su

改变用户身份(切换到超级用户):

1
su -

clear

用于清除屏幕信息

man

显示指定命令的帮助信息:

1
man ls

who

  • 查询系统处于什么运行级别:
1
who -r

Linux-who-1

  • 显示目前登录到系统的用户:
1
who -buT

Linux-who-2

free

显示系统内存状态(单位MB):

1
free -m

Linux-free

ps

  • 显示系统进程运行动态:
1
ps -ef
  • 查看sshd进程的运行动态:
1
ps -ef | grep sshd

Linux-ps

top

查看即时活跃的进程,类似Windows的任务管理器。

img

mkdir

创建目录:

img

more

用于分页查看文件,例如每页10行查看boot.log文件:

1
more -c -10 /var/log/boot.log

img

cat

用于查看文件,例如查看Linux启动日志文件文件,并标明行号:

1
cat -Ab /var/log/boot.log

img

touch

用于创建文件,例如创建text.txt文件:

1
touch text.txt

Linux-touch

rm

  • 删除文件:
1
rm text.txt
  • 强制删除某个目录及其子目录:
1
rm -rf testdir/

Linux-rm

cp

用于拷贝文件,例如将test1目录复制到test2目录

1
cp -r /mydata/tes1 /mydata/test2

mv

用于移动或覆盖文件:

1
mv text.txt text2.txt

压缩与解压

tar

  • /etc文件夹中的文件归档到文件etc.tar(并不会进行压缩):
1
tar -cvf /mydata/etc.tar /etc
  • gzip压缩文件夹/etc中的文件到文件etc.tar.gz
1
tar -zcvf /mydata/etc.tar.gz /etc
  • bzip2压缩文件夹/etc到文件/etc.tar.bz2
1
tar -jcvf /mydata/etc.tar.bz2 /etc

Linux-tar-1

  • 分页查看压缩包中内容(gzip):
1
tar -ztvf /mydata/etc.tar.gz |more -c -10

img

  • 解压文件到当前目录(gzip):
1
tar -zxvf /mydata/etc.tar.gz
  • 解压文件到指定目录(gzip):
1
tar -zxvf /mydata/etc.tar.gz -C /mydata/etc

磁盘和网络管理

df

查看磁盘空间占用情况:

1
df -hT

img

dh

查看当前目录下的文件及文件夹所占大小:

1
du -h --max-depth=1 ./*

Linux-dh

ipconfig

显示当前网络接口状态:

img

netstat

  • 查看当前路由信息:
1
netstat -rn

img

  • 查看所有有效TCP连接:
1
netstat -an
  • 查看系统中启动的监听服务:
1
netstat -tulnp

img

  • 查看处于连接状态的系统资源信息:
1
netstat -atunp

wget

从网络上下载文件

img

文件上传下载

  • 安装上传下载工具lrzsz
1
yum install -y lrzsz
  • 上传文件,输入以下命令XShell会弹出文件上传框;
1
rz
  • 下载文件,输入以下命令XShell会弹出文件保存框;
1
sz fileName

软件的安装与管理

rpm

RPM是Red-Hat Package Manager的缩写,一种Linux下通用的软件包管理方式,可用于安装和管理.rpm结尾的软件包。

  • 安装软件包:
1
rpm -ivh nginx-1.12.2-2.el7.x86_64.rpm
  • 模糊搜索软件包:
1
rpm -qa | grep nginx
  • 精确查找软件包:
1
rpm -qa nginx
  • 查询软件包的安装路径:
1
rpm -ql nginx-1.12.2-2.el7.x86_64
  • 查看软件包的概要信息:
1
rpm -qi nginx-1.12.2-2.el7.x86_64
  • 验证软件包内容和安装文件是否一致:
1
rpm -V nginx-1.12.2-2.el7.x86_64
  • 更新软件包:
1
rpm -Uvh nginx-1.12.2-2.el7.x86_64
  • 删除软件包:
1
rpm -e nginx-1.12.2-2.el7.x86_64

yum

Yum是Yellow dog Updater, Modified的缩写,能够在线自动下载RPM包并安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,非常方便!

  • 安装软件包:
1
yum install nginx
  • 检查可以更新的软件包:
1
yum check-update
  • 更新指定的软件包:
1
yum update nginx
  • 在资源库中查找软件包信息:
1
yum info nginx*
  • 列出已经安装的所有软件包:
1
yum info installed
  • 列出软件包名称:
1
yum list nginx*
  • 模糊搜索软件包:
1
yum search nginx

用户管理

用户信息查看

  • 查看用户信息:
1
cat /etc/passwd
  • 用户信息格式如下(密码已过滤):
1
2
3
# 用户名:密码:用户标识号:组标识号:组注释性描述:主目录:默认shell
root:x:0:0:root:/root:/bin/bash
macro:x:1000:982:macro:/home/macro:/bin/bash
  • 查看用户组信息:
1
cat /etc/group
  • 用户组信息格式如下:
1
2
3
# 组名:密码:组标识号:组内用户列表
root:x:0:
docker:x:982:macro,andy

passwd

用于设置用户密码:

1
passwd root

img

su

改变用户身份(切换到超级用户):

1
2
3
4
# 切换到root用户
su -
# 切换到fantasy用户
su fantasy

groupadd

添加用户组,使用-g可以设置用户组的标志号:

1
groupadd -g 1024 fantasyfu

groupdel

删除用户组:

1
groupdel fantasyfu

useradd

添加用户,-u设置标志号,-g设置主用户组:

1
useradd -u 1024 -g fantasyfu fantasy

usermod

修改用户所属用户组:

1
usermod -g docker fantasy

userdel

删除用户,使用-r可以删除用户主目录:

1
userdel fantasy -r

最后