热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于linux:LinuxVim-编辑器和恢复-ext4-下误删除文件Xmanager-工具

vim命令模式问:vi和vim是同一个软件包装置的吗?答:NO,vim是vi的减少版,最显著的区别就是vim能够语法加亮,它齐全兼容vi
vim 次要模式介绍

vim 命令模式
问:vi 和 vim 是同一个软件包装置的吗?
答:NO,vim 是 vi 的减少版,最显著的区别就是 vim 能够语法加亮,它齐全兼容 vi

查看一个命令,是哪个软件包,装置的:

[root@xuegod63 ~]# rpm -qf /usr/bin/vim
[root@xuegod63 ~]# which vim
[root@xuegod63 ~]# rpm -qf `which vim`     #`反引号,esc  按键下的键,反引号中可执行命
令
[root@xuegod63 ~]# rpm -qf $(which vi)     #$(可执行命令)
$()  与`` 都能够进行命令替换,命令替换与变量替换差不多,都是用来重组命令行的,先实现引号里
的命令行,而后将其后果替换进去,再重组成新的命令行

vim 编辑器的四种操作模式

1.Vim 罕用 4 种模式.
失常模式(Normal mode,俗称命令模式) ,命令行模式(Command-line mode)
插入模式(Insert mode ,俗称编辑模式), 可视模式(Visual mode,俗称可视块模式)

root@xuegod63 ~]# cp /etc/passwd a.txt
[root@xuegod63 ~]# vim a.txt
首次进入文件   ----失常模式(Normal mode,俗称命令模式)
按下 I 键,呈现 “Insert”  ----插入模式(Insert mode  ,俗称编辑模式)
按 Esc 键,再输出冒号:   ----命令行模式(Command-line mode)  

例 1 从编辑模式到命令行模式怎么切换?

编辑模式->esc->命令模式->: ->命令行模式
留神在命令模式下,输出命令有效时,查看下输入法是不是中文输入法,切换为英文输入法

例 2 字符操作(怎么进入编辑模式?)

进入编辑模式 a i o A I O
阐明:

i  以后字符之前插入 (光标前)
I  行首插入   (行首)
a  以后字符之后插入 (光标后)
A  行尾插入(行尾)
o 下一行插入 (另起一行)
O 上一行插入(上一行插入)
x  向后删除一个字符
X  向前删除一个字符
等同于  delete
u  撤销一步
每按一次就撤销一次
ctrl+r  复原,每按一次就复原一次
r  替换

在失常模式下做的操作

1、光标定位

hjkl
左下上右
0  和 home 键示意切换到行首,  $和 end  键示意切换到行尾
gg  疾速定位到文档的首行 ,    G  定位到未行
3gg  或者 3G    疾速定位到第 3  行
/string(字符串)     -----找到或定位你要找的单词或内容而后敲回车,如果相符内容比拟多,咱们可
以通过 N、n 来进行向上向下查找,并且 vim 会对查找到的内容进行高亮显示,勾销高亮用 :noh
/^d
----尖括号^意思示意以什么结尾  ,查找以字母 d  结尾的内容
-----$意思示意以什么结尾,查找以字母 bash  结尾的内容
/bash$
vim + /etc/passwd   关上文件后,光标会主动位于文件的最初一行。  理解一下这个技巧。
vim +23 /etc/passwd   关上文件后,光标会主动位于文件的第 23  行,不便前期排错。如:服务
器启动报错,第 23,有语法错误。应用 vim +23 /etc/passwd 能够疾速定位到 23  行。

分享心得:我更喜爱 vim 关上文件,而后按 G,跳到最初。 因这个 vim + a.txt
一段时间必定会忘。Linux 中有太多的小技巧,大家应该记那些罕用的。

2、在失常模式对文本进行编辑

删除、复制、粘贴、撤销
yy  复制整行
复制 N 行: Nyy    ,比方: 2yy  ,示意复制 2  行
dd(删除,以行为单位,删除以后光标所在行)
删除 N 行: Ndd    ,比方: 2dd  ,示意删除 2  行
p  : P  粘贴
剪切:  dd
x  删除光标所在位置的字符
D  从光标处删除到行尾
u
撤销操作
ctrl+r
还原撤销过的操作,将做过的撤销操作再还原回去,也就是说撤销前是什么样,再还原成什
么样
r  替换,或者说用来批改一个字符
总结:vim  如何进入其它模式
a A   o O    i I 都是能够进行插入,编辑模式
:  进入命令行模式
ctrl+v  进入可视块模式
R  擦除、改写,进入替换模式
你进入以上模式后,想要退出  ,按  esc

Visual mode 可视块模式

编程或批改服务器配置文件的时候,须要进行多行正文,会应用 Visual 模式。
1、进入 Visual 模式的批量删除,办法如下:
删除:再按 ctrl+v 进入可视块模式;向下或向上挪动光标 ;选中局部内容,而后按 d, 就会删除注
释符号。

例:将 sshd_config 文件中 17 行到 20 行后面的#号删除

[root@xuegod63 ~]# vim /etc/ssh/sshd_config

改:

为:

2、进入 Visual 模式的批量批改,办法如下:

1)、ctrl+v 进入列编辑模式
2)、向下或向上挪动光标,把须要正文、编辑的行的结尾选中起来
4)、而后按大写的 I
5)、再插入正文符或者你须要插入的符号,比方”#”
6)、再按 Esc,就会全副正文或增加了
例:在 sshd_config 文件中 17 行到 20 行后面加一个#号

[root@xuegod63 ~]# vim /etc/ssh/sshd_config

改:

为:

命令行模式 Command-line 操作技巧

1、命令行模式 Command-line 操作技巧

:w  保留 save
:w!  强制保留
:q  没有进行任何批改,退出 quit
:q!  批改了,不保留,强制退出
:wq  保留并退出
:wq!  强制保留并退出
:x  保留退出
:e!  还原,复原到文件关上后,没有进行批改时的状态。 批改了很多,不想保留,想还原,按:e!
在失常模式下,按下大写的 ZZ,也能够保留并退出

例: wq! 强制保留并退出

[root@xuegod63 ~]# ll /etc/shadow
----------. 1 root root 1179 9 月   19 12:57 /etc/shadow
[root@xuegod63 ~]# vim /etc/shadow

例 1:调用内部文件或命令

语法:在命令行模式下输出:  !+命令
例:在 vim 编辑文档写要写入 MAC  地址。
[root@xuegod63 ~]# cp /etc/passwd a.txt
[root@xuegod63 ~]# vim a.txt
:!ifconfig
#在 vim 中调用 ifconfig  命令
读取其余文件。(把其余文件中的内容追加到以后文档中)
:r /etc/hosts

2、文本替换
格局 : 范畴(其中%所有内容) s 分隔符 旧的内容 分隔符 新的内容(分隔符能够自定义)
默认是每一行的第一个符合要求的词(/g 全副)

[root@xuegod63 ~]# vim a.txt
:1,3 s/bin/xuegod
:1,3 s/bin/xuegod/g
:3 s/xue/aaaaa/g
#替换第 1 到 3 行中呈现的第一个 bin 进行替换为  xuegod
#替换第 1 到 3 行中查找到所有的 bin 进行替换为  xuegod
#只把第 3 行中所有 xue 替换为 aaaaa  了
批改 a.txt ,先在文件中随便插入几个 do  和 DO  字符
:% s/do/xuegod/g
:% s/do/xuegod/gi
#将文本中所有的 do 替换成  xuegod
#将文本中所有的 do 替换成 xuegod, 并且疏忽 do  的大小写
:% s@xuegod@do@g    #将文本中所有的 xuegod 替换成 do,替换时,也能够应用@做分隔符

自定义 vim 应用环境

1、长期设置

[root@xuegod63 ~]# vim a.txt
:set nu
设置行号
:set nonu  勾销设置行号
:noh
勾销高亮显示

2、永恒设置环境

vim /etc/vimrc   #设置后会影响到零碎所有的用户
~/.vimrc  #在用户的家目录下,创立一个.vimrc。这样只影响到某一个用户,没有本人建一个

例 1:长期定制 vim 开启显示行号性能

[root@xuegod63 ~]# echo "set nu" >  /root/.vimrc
[root@xuegod63 ~]# vim  /etc/passwd  #发现默认曾经有行号了


3、vim 关上多个文件
办法 1:以上下局势,关上两个文档

[root@xuegod63 ~]# vim -o /etc/passwd /etc/hosts

注:输出:qa 一次退出所有关上的文件

办法 2:以左右形式关上两个文档

[root@xuegod63 ~]# vim -O /etc/passwd /etc/hosts

注:ctrl+ww 在两文档之间进行切换编辑。大写 O 左右分屏,小写的 o 高低分屏

比拟两个文件内容

[root@xuegod63 ~]# cp /etc/passwd mima.txt
[root@xuegod63 ~]# echo aaa >> mima.txt

办法 1:

[root@xuegod63 ~]# diff /etc/passwd mima.txt
40a41 > aaa

办法 2:

[root@xuegod63 ~]# vimdiff /etc/passwd mima.txt

其它编辑器

nano 编辑器
emacs 编辑器
GHOME 编辑器 gedit
例:

[root@xuegod63 ~]# gedit /etc/passwd
实战:在 Centos6/RHEL6 上复原 ext4 文件系统下误删除的文件
[root@xuegod63 ~]# rm -rf /
#这个能够执行胜利吗?
执行不胜利的,
rm:  在"/" 进行递归操作非常危险
rm:  应用 --no-preserve-root  选项跳过平安模式
[root@xuegod63 ~]# rm -rf /*       #这个能够执行胜利。

ext4 文件系统上删除文件,能够复原: extundeleteext3 复原应用:ext3grep
windows 复原误删除的文件: final data v2.0 汉化版 和 easyrecovery
xfs 文件系统上删除文件,临时没有太好的方法进行完全恢复,须要找业余数据恢复公司
扩大:

Linux 文件系统由三局部组成:文件名,inode,block
windows  也由这三局部组成。
a.txt     -->inode    --> block
文件名  寄存文件元数据信息   真正存放数据

查看文件文件名:

[root@xuegod63 ~]# cp /etc/passwd a.txt
[root@xuegod63 ~]# ls a.txt  
a.txt

查看 inode 号:

常识: 每个文件,有一个 inode 号。

[root@xuegod63 ~]# ls -i a.txt
440266 a.txt

查看 inode 中的文件属性; 通过 stat 命令查看 inode 中蕴含的内容

[root@xuegod63 ~]# stat a.txt     #查看 inode  信息:
[root@xuegod63 ~]# ls -l a.txt
-rw-r--r-- 1 root root 1720 Oct 25 10:21 a.txt

block 块:真正存储数据的中央
逻辑删除:
为什么删除比复制快?


误删除文件后,第一件事要做什么??? 你不心删除把存了几十年的大片删除了。
防止误删除的文件内容被笼罩。 如何防止?
卸载须要复原文件的分区或以只读的形式挂载

实战:在 ext4 文件系统上复原被误删除的文件

下载 **extundelete
http://sourceforge.net/**
筹备测试分区:
开源软件公布核心
先增加一块硬盘

[root@xuegod63 /]# fdisk /dev/sdb   #创立一个 sdb1  分区
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help):  p
#查看现有分区表
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x000b8b35
Device Boot  Start  End   Blocks  Id  System /dev/sda1
* 1   204800  83   Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2   /dev/sda3
26  1301   1428   10240000  1024000  83
Linux
1301  82
Linux swap / Solaris
Command (m for help):  n
Command action
#创立一个新分区
e
extended
p
primary partition (1-4)
p
#创立一个主分区
Selected partition 4
First cylinder (1428-2610, default 1428):
Using default value 1428
Last cylinder, +cylinders or +size{K,M,G} (1428-2610, default 2610): +1G   #指定分区大小
Command (m for help): w   #保留
The partition table has been altered!
Calling ioctl() to re-read partition table.
WARNING: Re-reading the partition table failed with error 16: Device or resource busy.
The kernel still uses the old table. The new table will be used at
the next reboot or after you run partprobe(8) or kpartx(8)
Syncing disks.
[root@xuegod63 ~]#reboot
或
[root@xuegod63 ~]# partx -a /dev/sdb   #取得新分区表

扩大:
如果在根下删除文件了,想复原,怎么办?
办法 1: 立刻断电,而后把磁盘以只读形式,挂载到另一个电脑中进行复原
办法 2:把 extundelete 在虚拟机上(虚拟机零碎要和服务器版本一样),提前装置好后再复制到 U
盘中,把 U 盘插入服务器,复原时,复原的文件要保留到 U 盘中,(不要让复原的数据写到/下,那样会笼罩之前删除的文件)

应用新的分区表:

[root@xuegod63 /]# mkdir /tmp/sdb1  #创立挂载点
[root@xuegod63 ~]# mkfs.ext4 /dev/sdb1 #格式化
[root@xuegod63 ~]# mount /dev/sdb1 /tmp/sdb1 #挂载

筹备测试环境

复制一些测试文件,而后把这些文件再删除,而后演示复原:

[root@xuegod63 ~]# cp /etc/passwd /tmp/sdb1
[root@xuegod63 ~]# cp /etc/hosts /tmp/sdb1
[root@xuegod63 ~]# echo aaa > a.txt
[root@xuegod63 ~]# mkdir -p /tmp/sdb1/a/b/c
[root@xuegod63 ~]# cp a.txt /tmp/sdb1/a
[root@xuegod63 ~]# cp a.txt /tmp/sdb1/a/b
[root@xuegod63 ~]# touch /tmp/sdb1/a/b/kong.txt
装置 tree  命令:
[root@xuegod63 ~]# rpm -ivh /mnt/Packages/tree-1.5.3-2.el6.x86_64.rpm
[root@xuegod63 ~]# tree /tmp/sdb1
/tmp/sdb1/
├──  a
├──  a.txt
└──  b
├──  a.txt
├──  c   #空目录
└──  kong.txt   #空文件
├──  hosts
├──  lost+found
└──  passwd

lost+found
应用规范的 ext3/ext4 档案零碎格局才会产生的一个目录,目标在于当档案零碎产生谬误时, 将一
些遗失的片段搁置到这个目录下。

能够删除  rm -rf  lost+found
能够创立  mklost+found

删除文件:

[root@xuegod63 ~]# cd /tmp/sdb1/
[root@xuegod63 sdb1]# ls
a  hosts   lost+found    passwd
[root@xuegod63 sdb1]# rm -rf a hosts passwd

误删除文件后,第一件事要做什么???
如何防止误删除的文件内容被笼罩???
卸载须要复原文件的分区:或以只读的形式挂载

[root@localhost ~]#cd /root
[root@localhost ~]# umount /tmp/sdb1

装置 extundelet

上传 extundelete 到 linux 中:

从 windows 上传 extundelete 文件到 linux,装置  xmanager v5 或者CRT
[root@xuegod63 ~]# rpm -ivh /mnt/Packages/lrzsz-0.12.20-27.1.el6.x86_64.rpm
装置后,就有了rz命令和sz命令 rz:
上传 windows 中的文件到  linux
sz  文件名 :下载,将 linux 中的文件传到  windows

解压并装置 extundelet

[root@centos63~]#mount /dev/sr0 /mnt
[root@centos63~]# vim /etc/yum.repos.d/Centos-6.repo
[CentOS6]
name=CentOS-server
baseurl=file:///mnt
enabled=1
gpgcheck=0
[root@xuegod63]# yum -y install e2fsprogs-devel gcc gcc-c++ gcc-g77
[root@xuegod63 extundelete-0.2.4]# tar xf extundelete-0.2.4.tar.bz2
[root@xuegod63 ~]# cd extundelete-0.2.4
[root@xuegod63 extundelete-0.2.4]# ./configure     #查看零碎装置环境
[root@xuegod63 extundelete-0.2.4]# make
-j 4   #编译,把源代码编译成可执行的二进制文件。
-j 4     应用 4 过程同时编译,晋升编译速度 或  应用 4 核 CPU  同时编译。
[root@xuegod63 extundelete-0.2.4]# make install   #装置
install  和 cp 有什么区别?
install  复制时能够指定权限   cp  不能够
例:
[root@xuegod63 ~]# install -m 777 /bin/find /opt/find
[root@xuegod63 ~]# ll /opt/

复原数据

办法 1:通过 inode 结点复原
办法二:通过文件名复原
办法三:复原某个目录,如目录 a 下的所有文件:
办法四:复原所有的文件

[root@xuegod63 ~]# umount /tmp/sdb1/
[root@xuegod63 ~]# mkdir test   #创立一个目录应用于寄存复原的数据
[root@xuegod63 ~]# cd test/

办法 1:
通过 inode 结点查看被删除的文件名字:

[root@xuegod63 test]# extundelete /dev/sdb1 --inode 2
lost+found  11 
passwd     12   Deleted
hosts   13     Deleted
a  7313   Deleted

扩大:ext4 文件系统的分区根目录的 inode 值为 2,xfs 分区根目录的 inode 值为 64

[root@xuegod63 test]# ls -id /     #xfs  文件系统
64  /
[root@xuegod63 test]# mount /dev/sdb1 /tmp/sdb1/
[root@xuegod63 test]# ls -id /tmp/sdb1/
2  /tmp/sdb1/
[root@xuegod63 test]# umount /tmp/sdb1/

办法 1:通过 inode 结点复原

root@xuegod63 test]# extundelete /dev/sdb1 --restore-inode 12
NOTICE: Extended attributes are not restored.
Loading filesystem metadata ... 9 groups loaded.
Loading journal descriptors ... 63 descriptors loaded.
[root@xuegod63 test]# ls
RECOVERED_FILES
[root@xuegod63 test]# diff /etc/passwd RECOVERED_FILES/file.12
#没有任何输入,阐明一样

办法二,通过文件名复原

[root@xuegod63 test]# extundelete /dev/sdb1 --restore-file hosts
[root@xuegod63 test]# diff /etc/passwd RECOVERED_FILES/hosts
#没有任何输入,阐明一样

办法三:复原某个目录,如目录 a 下的所有文件:

[root@xuegod63 test]# extundelete /dev/sdb1 --restore-directory  a
[root@xuegod63 test]# tree RECOVERED_FILES/a/
RECOVERED_FILES/a/
├──  a.txt
└──  b
└──  a.txt
上面是原来的目录构造:
[root@xuegod63 ~]# tree /root/sdb1-back/a/
/root/sdb1-back/a/
├──  a.txt
└──  b
├──  a.txt
├──  c
└──  kong.txt

办法四:复原所有的文件

[root@centos6 test]# rm -rf RECOVERED_FILES/
[root@xuegod63 test]# extundelete /dev/sdb1 --restore-all
[root@centos6 test]# tree RECOVERED_FILES/
删除前后的数据:

实战:应用 xmanager 等近程连贯工具治理 Linux

1.Linux 下罕用近程连贯工具介绍

2.xmanager 应用办法

装置当前关上

1、xshell 应用办法
例 1:连贯一台新的服务器

例 2:调整 xshell 字体大小

例 3:调整 rz 和 sz 命令的默认门路

2、xftp 应用办法
例 1:上传一个文件夹到 Linux 服务器上

3、xstart 应用办法
办法 1:应用 xshell 间接运行图形界面的程序
例 1:[root@xuegod63 ~]# gnome-terminal
例 2:[root@xuegod63 ~]# firefox &
办法 2:应用 xstart 调用桌面

注:应用 MK 给的 xmangaer5 装置后,前期运行,提醒更新到新版本, 你不要更新,更新,有可能
序列号就不能应用了。
https://www.netsarang.com/zh/…
也能够下载官网免费版

                              各位小伙伴想要学习视频+笔记和材料的
                                 增加咱们的小姐姐就能够支付哦!

推荐阅读
  • JVM参数设置与命令行工具详解
    JVM参数配置与命令行工具的深入解析旨在优化系统性能,通过合理设置JVM参数,确保在高吞吐量的前提下,有效减少垃圾回收(GC)的频率,进而降低系统停顿时间,提升服务的稳定性和响应速度。此外,本文还将详细介绍常用的JVM命令行工具,帮助开发者更好地监控和调优JVM运行状态。 ... [详细]
  • PHP中元素的计量单位是什么? ... [详细]
  • Java 零基础入门:SQL Server 学习笔记(第21篇)
    Java 零基础入门:SQL Server 学习笔记(第21篇) ... [详细]
  • PHP连接MySQL的三种方法及预处理语句防止SQL注入的技术详解
    PHP连接MySQL的三种方法及预处理语句防止SQL注入的技术详解 ... [详细]
  • 本文深入探讨了 C# 中 `SqlCommand` 和 `SqlDataAdapter` 的核心差异及其应用场景。`SqlCommand` 主要用于执行单一的 SQL 命令,并通过 `DataReader` 获取结果,具有较高的执行效率,但灵活性较低。相比之下,`SqlDataAdapter` 则适用于复杂的数据操作,通过 `DataSet` 提供了更多的数据处理功能,如数据填充、更新和批量操作,更适合需要频繁数据交互的场景。 ... [详细]
  • Oracle程序包基础入门:了解核心概念与基本结构
    本文旨在为初学者介绍 Oracle 程序包的基础知识,涵盖其核心概念和基本结构。通过详细解析程序包的组成元素,如过程、函数和变量,帮助读者理解如何在实际应用中有效使用 Oracle 程序包。此外,文章还提供了实例代码,以便读者更好地掌握这些关键概念。 ... [详细]
  • 程序连接MySQL数据库的多种方法详解 ... [详细]
  • 【并发编程】全面解析 Java 内存模型,一篇文章带你彻底掌握
    本文深入解析了 Java 内存模型(JMM),从基础概念到高级特性进行全面讲解,帮助读者彻底掌握 JMM 的核心原理和应用技巧。通过详细分析内存可见性、原子性和有序性等问题,结合实际代码示例,使开发者能够更好地理解和优化多线程并发程序。 ... [详细]
  • 如何使用 net.sf.extjwnl.data.Word 类及其代码示例详解 ... [详细]
  • Java中高级工程师面试必备:JVM核心知识点全面解析
    对于软件开发人员而言,随着技术框架的不断演进和成熟,许多高级功能已经被高度封装,使得初级开发者只需掌握基本用法即可迅速完成项目。然而,对于中高级工程师而言,深入了解Java虚拟机(JVM)的核心知识点是必不可少的。这不仅有助于优化性能和解决复杂问题,还能在面试中脱颖而出。本文将全面解析JVM的关键概念和技术细节,帮助读者全面提升技术水平。 ... [详细]
  • 如何构建基于Spring MVC框架的Java Web应用项目
    在构建基于Spring MVC框架的Java Web应用项目时,首先应创建一个新的动态Web项目。接着,需将必要的JAR包导入至WebContent/WEB-INF/lib目录下,确保包括Spring核心库及相关依赖。如遇缺失的JAR包,可向社区求助或通过Maven等工具自动下载。正确配置后,即可开始搭建应用结构与功能模块。 ... [详细]
  • Go GORM 使用过程中常见问题及解决方案
    本文详细探讨了在使用 Go 语言的 GORM 框架时遇到的常见问题及其解决方案,提供了丰富的实战经验和技巧,旨在帮助开发者高效解决相关技术难题,具有很高的参考价值。 ... [详细]
  • 本文详细探讨了如何有效解决Oracle数据库中常见的ORA-01578和ORA-26040错误。这些错误通常与数据块损坏有关,严重影响数据库的稳定性和数据完整性。文章不仅提供了详细的故障诊断步骤,还介绍了多种修复方法,包括使用RMAN工具、手动修复数据块以及预防措施,以帮助数据库管理员高效应对这些问题。 ... [详细]
  • 本文简要介绍了 MacOS 系统的分区与引导机制。通过详细解析系统分区结构和引导加载过程,帮助用户更好地理解 MacOS 的启动流程。文章还涵盖了不同版本 MacOS 的分区特点,以及如何在遇到引导问题时进行故障排除。对于希望深入了解 MacOS 内部运作机制的用户来说,本文提供了丰富的技术细节和实用建议。 ... [详细]
  • 利用命令行配置 ASP.NET Core 发布后的监听地址与环境变量设置
    通过命令行配置 ASP.NET Core 应用程序的发布设置,可以灵活地调整监听地址和环境变量。本文介绍如何在新建的 ASP.NET Core 项目中,通过修改 `Program.cs` 文件中的代码来实现这一功能。具体步骤包括在 `Program` 类的 `Main` 方法中添加相应的配置代码,以确保应用程序在不同环境中能够正确运行。此外,还将详细介绍如何使用命令行工具来设置和验证这些配置项,从而提高开发和部署的效率。 ... [详细]
author-avatar
范尼萧_659
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有