一文熟悉Linux基础

一、常用操作及概念

1、求助

1.1 --help

指令的基本用法与选项介绍。

1.2 man

man 是 manual 的缩写,将指令的具体信息显示出来。

当执行 man date 时,有 DATE(1) 出现,其中的数字代表指令的类型,常用的数字及其类型如下:

代号 类型
1 用户在 shell 环境中可以操作的指令或者可执行文件
5 配置文件
8 系统管理员可以使用的管理指令
1.3 info

info 与 man 类似,但是 info 将文档分成一个个页面,每个页面可以跳转。

1.4 doc

/usr/share/doc 存放着软件的一整套说明文件。

2、包管理

2.1、centos7更换阿里云yum源
cd /etc/yum.repos.d 

备份

mv ./CentOS-Base.repo ./CentOS-Base.repo.bak 
mv ./epel-7.repo ./epel-7.repo.bak 
mv ./epel.repo ./epel.repo.bak 

获取阿里云yum源

wget http://mirrors.aliyun.com/repo/Centos-7.repo 
wget https://mirrors.aliyun.com/repo/epel-7.repo 

清除缓存&更新yum源

yum clean all 
yum makecache 
yum update

查看当前的 yum list

问题:
已加载插件:fastestmirror
Determining fastest mirrors
There are no enabled repos.
Run “yum repolist all” to see the repos you have.
To enable Red Hat Subscription Management repositories:
subscription-manager repos --enable
To enable custom repositories:
yum-config-manager --enable

解决方案:
yum install epel-release

安装net-tools工具包
net-tools工具包包含以下命令: arp, hostname, ifconfig, ipmaddr, iptunnel, mii-tool, nameif, netstat, plipconfig, rarp, route und slattach.

  1. 列表项切换到root用户
  2. 列表项输入yum -y install net-tools自动安装
  3. 列表项现在可以使用ifconfig查看ip信息
2.2、wget

支持 HTTP,HTTPS,FTP 三种协议,可以下载网络资源。
wget -O 指定文件保存到哪
安装wget,通过命令:yum install wget -y

2.3、rpm

安装:rpm -ivh 包
查看:rpm -a 包
卸载 : rpm -e 包的全名

3、文件系统

Linux的目录结构如下图所示:

  1. /bin 是 Binary 的缩写,这个目录存放着最经常使用过的命令;
  2. /sbin(/usr/sbin、/usr/local/sbin) s 就是 Super User
    的意思,这里存放的是系统管理员使用的系统管理程序;
  3. /home 存放普通用户的主目录,在 Linux
    中每个用户都有一个自己的目录,一般该目录是以用户的账号命名的;
  4. /root 该目录为系统管理员,也称为超级权限者的用户主目录;
  5. /etc 所有的系统管理所需要的配置位置和子目录 my.conf;
  6. /usr 这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录;
  7. /boot 存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件;
  8. /media Linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下;
  9. /mnt 系统提供该目录是为了让用户临时挂载别的文件系统,我们可以将外部的存储挂载在 /mnt/ 上,然后进入该目录就可以查看里面的内容了;
  10. /opt 这是给主机额外 安装软件 所摆放的目录;
  11. /usr/local 这是另一个给主机安装软件所 安装的目录。一般是通过编译源码方式安装的程序;
  12. /var 这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下,包括各种日志文件;
  13. /lib 系统开机所需要最基本的动态连接共享库,其作用类似于 Windows 里的DLL文件。几乎所有的应用程序都需要用到这些共享库;
  14. /lost+found 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件;
  15. /proc 这个目录是一个虚拟的目录,它是系统内存的映射,访问这个目录来获取系统信息;
  16. /srv service 的缩写,该目录存放一些服务启动之后需要提取的数据;
  17. /sys 这是 Linux2.6 内核的一个很大变化,该目录下安装了 2.6内核中新出现的一个文件系统;
  18. /tmp 这个目录是用来存放一些临时文件的;
  19. /dev类似于 windows 的设备管理器,把所有的硬件用文件的形式存储。
3.1 分区与文件系统

对分区进行格式化是为了在分区上建立文件系统。一个分区通常只能格式化为一个文件系统,但是磁盘阵列等技术可以将一个分区格式化为多个文件系统。

3.2 组成

最主要的几个组成部分如下:

  • inode:一个文件占用一个 inode,记录文件的属性,同时记录此文件的内容所在的 block 编号;
  • block:记录文件的内容,文件太大时,会占用多个 block。

除此之外还包括:

  • superblock:记录文件系统的整体信息,包括 inode 和 block 的总量、使用量、剩余量,以及文件系统的格式与相关信息等;
  • block bitmap:记录 block 是否被使用的位图。
3.3 文件读取

对于 Ext2 文件系统,当要读取一个文件的内容时,先在 inode 中查找文件内容所在的所有 block,然后把所有 block 的内容读出来。

而对于 FAT 文件系统,它没有 inode,每个 block 中存储着下一个 block 的编号。

3.4 磁盘碎片

指一个文件内容所在的 block 过于分散,导致磁盘磁头移动距离过大,从而降低磁盘读写性能。

3.5 block

在 Ext2 文件系统中所支持的 block 大小有 1K,2K 及 4K 三种,不同的大小限制了单个文件和文件系统的最大大小。

大小 1KB 2KB 4KB
最大单一文件 16GB 256GB 2TB
最大文件系统 2TB 8TB 16TB

一个 block 只能被一个文件所使用,未使用的部分直接浪费了。因此如果需要存储大量的小文件,那么最好选用比较小的 block。

3.6 inode

inode 具体包含以下信息:

  • 权限 (read/write/excute);
  • 拥有者与群组 (owner/group);
  • 容量;
  • 建立或状态改变的时间 (ctime);
  • 最近读取时间 (atime);
  • 最近修改时间 (mtime);
  • 定义文件特性的旗标 (flag),如 SetUID…;
  • 该文件真正内容的指向 (pointer)。

inode 具有以下特点:

  • 每个 inode 大小均固定为 128 bytes (新的 ext4 与 xfs 可设定到 256 bytes);
  • 每个文件都仅会占用一个 inode。

inode 中记录了文件内容所在的 block 编号,但是每个 block 非常小,一个大文件随便都需要几十万的 block。而一个 inode 大小有限,无法直接引用这么多 block 编号。因此引入了间接、双间接、三间接引用。间接引用让 inode 记录的引用 block 块记录引用信息。

3.7 目录

建立一个目录时,会分配一个 inode 与至少一个 block。block 记录的内容是目录下所有文件的 inode 编号以及文件名。

可以看到文件的 inode 本身不记录文件名,文件名记录在目录中,因此新增文件、删除文件、更改文件名这些操作与目录的写权限有关。

3.8 日志

如果突然断电,那么文件系统会发生错误,例如断电前只修改了 block bitmap,而还没有将数据真正写入 block 中。

ext3/ext4 文件系统引入了日志功能,可以利用日志来修复文件系统。

3.9 挂载

挂载利用目录作为文件系统的进入点,也就是说,进入目录之后就可以读取文件系统的数据。

3.10 目录配置

为了使不同 Linux 发行版本的目录结构保持一致性,Filesystem Hierarchy Standard (FHS) 规定了 Linux 的目录结构。最基础的三个目录如下:

  • / (root, 根目录)
  • /usr (unix software resource):所有系统默认软件都会安装到这个目录;
  • /var (variable):存放系统或程序运行过程中的数据文件。

4、磁盘指令

4.1查看硬盘信息

df 命令可以输出以下信息:默认是以 KB为单位,-h 可以以友好的方式展示。磁盘信息,使用率及挂载的位置。

4.2 查看文件或者目录的大小

du 命令 + 文件或者目录,默认单位为 kb ,同上 加上 -h 也会以更易阅读的方式展示。

du 命令查看的大小,不足1M的按照1M显示。

还有一个参数 --max-depth=n, 其中 n 代表一个数字, 用来查看目录的层级。

4.3 查看系统 CPU 核数

1、查看 CPU 型号
cat /proc/cpuinfo | grep name | sort | uniq

2、查看 CPU 的详细信息:
cat /proc/cpuinfo

3、查看物理cpu个数
cat /proc/cpuinfo | grep "physical id" | sort | uniq|wc -l

4、查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo | grep "core id" | sort | uniq | wc -l

5、查看线程数
cat /proc/cpuinfo | grep "processor" | sort | uniq | wc -l

5、网络命令

查看网络网卡信息:ifconfig
测试连通性:ping

查看网络信息:netstat -anp(显示程序名) -t(TCP) -u(UDP) -l (监听)

在后面加上管道符 | 过滤 grep 端口号 可以查看某个端口是否被占用

使用 lsof 命令也可以查看端口是否被占用:

lsof -i:port 没有这个命令的话,可以使用 yum install lsof 安装

curl -x 网址 可以模拟 HTTP 请求,可以使用 -X 或者 --request 执行特性的 HTTP METHOD
可以试一下 curl www.baidu.com

二、系统管理

1、用户操作

在 root 下面新建用户。

useradd 名字,就会新增一个用户
passwd 名字,修改该用户的密码
userdel -r 名字 ,删除该用户(以及目录),注意如果想要删除该用户的home目录。必须要加上参数 r

usermod -l newname oldname 修改名字
usermod -L 用户 锁定用户
usermod -U 用户 解锁用户
注意:这里虽然锁定用户了,但是还是可以从 root 用户su到被锁的普通用户。
可以用su - 用户名 来切换用户,在操作 Linux 时,如果当前用户的权限不够,可以通过 su - 命令,切换到高权限的用户,例如 root从权限高的用户切换权限低的用户,不需要输入密码,反之需要。

查看当前用户是谁:who am i 输出 用户名
查看当前登录的是谁以及使用的终端号:who am i 有空格的、会输出

2、用户组操作

查看用户所在的组:groups 用户名 ,可以看到用户属于什么 用户组。

也可以使用 id 命令来查看用户的更多信息:

3、权限操作

查看:使用 ll 命令可以查看目录或者文件的权限

权限类别:有三种,分别是读r,写w,执行x。对应的数字是 4 2 1

UGO模型。user group other 分别是三个不同的权限组、

上面说了这么多权限的概念,下面开始修改权限:(注意是 root 下面执行)
(1)修改所属者与所属组
格式:chown 用户:用户组 文件或目录,比如:
chown test:root 123.txt

加上 -R 就是递归的修改

(2)修改文件或目录权限

使用 chmod 命令,后面可以使用 ugo+rwx 或者 ugo-rwx 或者 755 这样的。

上面 + 号代表授权,- 号代表取消授权

4、系统配置

4.1 用户组信息配置

/etc/group

4.2 用户信息配置

一个是只有root可以看到的 /etc/shadow ,普通用户是没有权限查看这个文件的。

另一个是普通用户可以看的的 /etc/passwd

4.3 系统服务初始化配置

查看 /etc/inittab 文件。

Linux 默认的级别是 3,不能把 initdefault 设置为0 或者 6 。

如图所示,init 后面有7种数字,常用的有 0,3 ,5,6

  • init 0

  • init 3 默认多用户模式

  • init 5 图形化界面

  • init 6 重启服务器

4.4 主机名配置

在 /etc/sysconfig/network 下面配置hostname = xxx。

4.5 配置 DNS

在 /etc/hosts里面做映射

或者在 /etc/resolv.conf 设置nameserver

静态static配置网卡

  1. 用vi编辑ifcfg-ens192网卡文件。
    BOOTPROTO=static // 改为static静态ip
    ONBOOT=yes // 是否开机启动,一般情况下设置为 yes
    IPADDR=192.168.110.111 // 设置静态ip地址
    NETMASK=255.255.255.0 // 设置子网掩码
    GATEWAY=192.168.110.1 // 设置网关
    DNS1=8.8.8.8 // 设置DNS1
    DNS2=114.114.114.114 // 设置DNS2
  2. 列表项重启网络服务
    service network restart
4.6 SUDO权限配置

除了 root 管理员之外,其他的都是普通用户。不推荐直接给普通用户全部的 root 权限,
可以使用 sudo 来解决这个问题。让普通用户也能使用一些 root 权限的命令。
编辑文件 /etc/sudoers

vim /etc/sudoers , 可以添加格式: 授权用户 主机=(ALL或者指定用户) 特定某些命令或者ALL , 多个命令之间使用逗号隔开。

如果不想每次使用sudo的时候输入密码,可以加入 NOPASSWD: 来配置不需要密码!!

使用 sudo -l 可以查看该用户所有的 sudo 权限。

5、系统时间,日期

date 显示当前时间
cal 查看日历指令
cal 2022 显示2022年日历
cal 10 2022

更新系统时间

使用服务 ntp 来同步时间。

yum install -y ntp 来安装。

nptdate cn.ntp.org.cn 来更新同步时间。

6、环境变量

全局环境变量在 /etc/profile 里面配置,慎用。
局部变量在 ~/.bash_profile 里面配置。主要是设置一些命令路径等

7、防火墙命令

查看防火墙状态:systemctl status firewalld

查看80端口:firewall-cmd --query-port=80/tcp

关闭80端口:firewall-cmd --add-port=80/tcp --permanent

关闭防火墙:systemctl stop firewalld

禁止防火墙:systemctl disable firewalld

重启防火墙:systemctl restart firewalld

三、文件

1、 文件属性

用户分为三种:文件拥有者、群组以及其它人,对不同的用户有不同的文件权限。

使用 ls 查看一个文件时,会显示一个文件的信息,例如 drwxr-xr-x 3 root root 18 Oct 6 00:18 .config,对这个信息的解释如下:

  • drwxr-xr-x:文件类型以及权限,第 1 位为文件类型字段,后 9 位为文件权限字段
  • 3:链接数
  • root:文件拥有者
  • root:所属群组
  • 18:文件大小
  • Oct 6 00:18:文件最后被修改的时间
  • .config:文件名

常见的文件类型及其含义有:

  • d:目录
  • -:文件
  • l:链接文件

9 位的文件权限字段中,每 3 个为一组,共 3 组,每一组分别代表对文件拥有者、所属群组以及其它人的文件权限。一组权限中的 3 位分别为 r、w、x 权限,表示可读、可写、可执行。

文件时间有以下三种:

  • modification time (mtime):文件的内容更新就会更新;
  • status time (ctime):文件的状态(权限、属性)更新就会更新;
  • access time (atime):读取文件时就会更新。

2、文件与目录的基本操作

2.1 ls

列出文件或者目录的信息,目录的信息就是其中包含的文件。

## ls [-aAdfFhilnrRSt] file|dir
-a :列出全部的文件
-d :仅列出目录本身
-l :以长数据串行列出,包含文件的属性与权限等等数据
2.2 cd

更换当前目录。

cd [相对路径或绝对路径]
2.3 mkdir

创建目录。

## mkdir [-mp] 目录名称
-m :配置目录权限
-p :递归创建目录
2.4 rmdir

删除目录,目录必须为空。

rmdir [-p] 目录名称
-p :递归删除目录
2.5 touch

更新文件时间或者建立新文件。

## touch [-acdmt] filename
-a : 更新 atime
-c : 更新 ctime,若该文件不存在则不建立新文件
-m : 更新 mtime
-d : 后面可以接更新日期而不使用当前日期,也可以使用 --date="日期或时间"
-t : 后面可以接更新时间而不使用当前时间,格式为[YYYYMMDDhhmm]
2.6 cp

复制文件。如果源文件有两个以上,则目的文件一定要是目录才行。

cp [-adfilprsu] source destination
-a :相当于 -dr --preserve=all
-d :若来源文件为链接文件,则复制链接文件属性而非文件本身
-i :若目标文件已经存在时,在覆盖前会先询问
-p :连同文件的属性一起复制过去
-r :递归复制
-u :destination 比 source 旧才更新 destination,或 destination 不存在的情况下才复制
--preserve=all :除了 -p 的权限相关参数外,还加入 SELinux 的属性, links, xattr 等也复制了
2.7 rm

删除文件。

## rm [-fir] 文件或目录
-r :递归删除
2.8 mv

移动文件。

## mv [-fiu] source destination
## mv [options] source1 source2 source3 .... directory
-f : force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖

3、修改权限

可以将一组权限用数字来表示,此时一组权限的 3 个位当做二进制数字的位,从左到右每个位的权值为 4、2、1,即每个权限对应的数字权值为 r : 4、w : 2、x : 1。

## chmod [-R] xyz dirname/filename

示例:将 .bashrc 文件的权限修改为 -rwxr-xr–。

## chmod 754 .bashrc

也可以使用符号来设定权限。

## chmod [ugoa]  [+-=] [rwx] dirname/filename
- u:拥有者
- g:所属群组
- o:其他人
- a:所有人
- +:添加权限
- -:移除权限
- =:设定权限

示例:为 .bashrc 文件的所有用户添加写权限。

## chmod a+w .bashrc

4、默认权限

  • 文件默认权限:文件默认没有可执行权限,因此为 666,也就是 -rw-rw-rw- 。
  • 目录默认权限:目录必须要能够进入,也就是必须拥有可执行权限,因此为 777 ,也就是 drwxrwxrwx。

可以通过 umask 设置或者查看默认权限,通常以掩码的形式来表示,例如 002 表示其它用户的权限去除了一个 2 的权限,也就是写权限,因此建立新文件时默认的权限为 -rw-rw-r–。

5、目录的权限

文件名不是存储在一个文件的内容中,而是存储在一个文件所在的目录中。因此,拥有文件的 w 权限并不能对文件名进行修改。

目录存储文件列表,一个目录的权限也就是对其文件列表的权限。因此,目录的 r 权限表示可以读取文件列表;w 权限表示可以修改文件列表,具体来说,就是添加删除文件,对文件名进行修改;x 权限可以让该目录成为工作目录,x 权限是 r 和 w 权限的基础,如果不能使一个目录成为工作目录,也就没办法读取文件列表以及对文件列表进行修改了。

6、链接

ln [-sf] source_filename dist_filename
-s :默认是实体链接,加 -s 为符号链接
-f :如果目标文件存在时,先删除目标文件
6.1 实体链接

在目录下创建一个条目,记录着文件名与 inode 编号,这个 inode 就是源文件的 inode。

删除任意一个条目,文件还是存在,只要引用数量不为 0。

有以下限制:不能跨越文件系统、不能对目录进行链接。

## ln /etc/crontab .
## ll -i /etc/crontab crontab
38878855 -rw-r--r--. 2 root root 451 Oct 10 2022 crontab
38878855 -rw-r--r--. 2 root root 451 Oct 10 2022 /etc/crontab
6.2 符号链接

符号链接文件保存着源文件所在的绝对路径,在读取时会定位到源文件上,可以理解为 Windows 的快捷方式。

当源文件被删除了,链接文件就打不开了。

因为记录的是路径,所以可以为目录建立符号链接。

## ll -i /etc/crontab /root/crontab2
38878855 -rw-r--r--. 2 root root 451 Oct 10 2022 /etc/crontab
38878855 lrwxrwxrwx. 1 root root 12 Oct 23 30:30 /root/crontab2 -> /etc/crontab

7、获取文件内容

7.1 cat

取得文件内容。

## cat [-AbEnTv] filename
-n :打印出行号,连同空白行也会有行号,-b 不会
7.2 tac

是 cat 的反向操作,从最后一行开始打印。

7.3 more

和 cat 不同的是它可以一页一页查看文件内容,比较适合大文件的查看。

7.4 less

和 more 类似,但是多了一个向前翻页的功能。

7.5 head

取得文件前几行。

## head [-n number] filename
-n :后面接数字,代表显示几行的意思
7.6 tail

是 head 的反向操作,只是取得是后几行。

7.7 od

以字符或者十六进制的形式显示二进制文件。

8、 指令与文件搜索

8.1 which

指令搜索。

## which [-a] command
-a :将所有指令列出,而不是只列第一个
8.2 whereis

文件搜索。速度比较快,因为它只搜索几个特定的目录。

## whereis [-bmsu] dirname/filename
8.3 locate

文件搜索。可以用关键字或者正则表达式进行搜索。

locate 使用 /var/lib/mlocate/ 这个数据库来进行搜索,它存储在内存中,并且每天更新一次,所以无法用 locate 搜索新建的文件。可以使用 updatedb 来立即更新数据库。

## locate [-ir] keyword
-r:正则表达式
8.4 find

文件搜索。可以使用文件的属性和权限进行搜索。

## find [basedir] [option]
example: find . -name "shadow*"

① 与时间有关的选项

-mtime  n :列出在 n 天前的那一天修改过内容的文件
-mtime +n :列出在 n 天之前 (不含 n 天本身) 修改过内容的文件
-mtime -n :列出在 n 天之内 (含 n 天本身) 修改过内容的文件
-newer file : 列出比 file 更新的文件

② 与文件拥有者和所属群组有关的选项

-uid n
-gid n
-user name
-group name
-nouser :搜索拥有者不存在 /etc/passwd 的文件
-nogroup:搜索所属群组不存在于 /etc/group 的文件

③ 与文件权限和名称有关的选项

-name filename
-size [+-]SIZE:搜寻比 SIZE 还要大 (+) 或小 (-) 的文件。这个 SIZE 的规格有:c: 代表 byte,k: 代表 1024bytes。所以,要找比 50KB 还要大的文件,就是 -size +50k
-type TYPE
-perm mode  :搜索权限等于 mode 的文件
-perm -mode :搜索权限包含 mode 的文件
-perm /mode :搜索权限包含任一 mode 的文件

四、压缩与打包

1、 压缩文件名

Linux 底下有很多压缩文件名,常见的如下:

扩展名 压缩程序
*.Z compress
*.zip zip
*.gz gzip
*.bz2 bzip2
*.xz xz
*.tar tar 程序打包的数据,没有经过压缩
*.tar.gz tar 程序打包的文件,经过 gzip 的压缩
*.tar.bz2 tar 程序打包的文件,经过 bzip2 的压缩
*.tar.xz tar 程序打包的文件,经过 xz 的压缩

2、解压缩

2.1 tar

解压
tar -zxvf xxx.tar.gz
解压到指定文件夹
tar zxvf xxx.tar -C /usr/local/

压缩
tar -zcvf xxx.tar.gz 要压缩的文件夹

2.2 zip

解压
unzip test.zip
压缩
zip -r test.zip /opt/apps

2.3 gzip

压缩
gzip test.txt
解压
zip -d test.txt.gz

2.4 bzip2

压缩
bzip2 test.txt
解压
bzip2 -d test.txt.bz2

五、进程

1、查看进程

ps 命令可以查看进程,用法一般是:
ps -ef 或者 ps -ef | grep 进程名
ps 命令 一般加上参数 -ef 代表所有、全格式

动态的查看:使用 top 命令

2、后台进程

使用 & 符号,加在命令后面,可以使得命令进入后台运行。
比如 ping www.baidu.com & 执行之后,就会进入后台一直执行,直到被挂起。

jobs -l 可以查看当前连接(终端)下的后台进程。
依次显示后台程序的jobnum ,pid ,状态,以及命令

nohup 保证后台进程不会被挂起。

一般 & 和 nohup 结合使用。例子:nohup ping www.baidu.com &

3、杀掉进程

杀掉进程,使用 kill 命令
可以根据 jobs 显示的jobnum, kill jobnum
或者根据 ps 显示的pid , kill -9/-15 pid,表示强迫进程立即停止或结束任务后停止
kill 进程号:通过进程号来杀死进程
kill 进程名称:通过进程名称杀死进程,也支持通配符,这是系统因负载过大而变得很慢时很有用

4、前后台进程转换

如果是一个前台命令的话,使用 ctrl+c 就停止了。
但是一个后台命令,也可以变成前台命令吗?可以的。

使用 fg 命令可以使得一个后台的命令变至前台执行。fg jobnum
使用 bg 左右正好相反。bg jobnum

六、系统服务

通过命令:cd /usr/lib/systemd/system

再通过命令:sudo vi neo4j.service 创建开机启动脚本 neo4j.service

i进入编辑模式,输入以下内容

[Unit]
Description=neo4j Graph Database
After=network-online.target           
Wants= network-online.target
 
[Service]
Type=forking
User=root
Group=root
ExecStart=/root/neo4j/bin/neo4j start
ExecStop=/root/neo4j/bin/neo4j stop
ExecReload=/root/neo4j/bin/neo4j restart
Restart=on-faliure
LimitNOFILE=60000
TimeoutSec=600
PrivateTpm=true
 
[Install]
WantedBy=multi-user.target

加好后,通过esc按键退出编辑模式,然后使用命令:wq!保存退出即可。

通过命令: systemctl enable neo4j.service 设置开机启动

再通过命令:systemctl daemon-reload 重新加载systemd配置

启动neo4j服务通过命令: systemctl start neo4j.service (其他命令类似)

查看neo4j服务的启动日志通过命令:journalctl -e -u neo4j.service

其他systemctl命令
systemctl list-units 列出当前系统服务的状态
systemctl list-unit-files 列出服务的开机状态
systemctl status sshd 查看指定服务的状态
systemctl stop sshd 关闭指定服务
systemctl start sshd 开启指定服务
systemctl restart sshd 重启指定服务
systemctl enable sshd 设定指定服务开机开启
systemctl disable sshd 设定指定服务开机关闭
systemctl reload sshd 使指定服务重新加载配置
systemctl list-dependencies sshd 查看指定服务的依赖关系
systemctl mask sshd 冻结指定服务
systemctl unmask sshd 启用指定服务

你可能感兴趣的:(Linux,linux,服务器,运维,centos)