Linux开发基础(上)
开发学习需要
1、vm或者vb虚拟机,版本追求最稳定就行
2、centos7环境
3、Tomcat,jdk和mysql的linux版本(笔者已准备好)
4、Xshell和Xftp的准备
学习java开发,Linux开发是必须要学会的,这里我总结一些知识点,作为笔记
Centos7的安装
常态的虚拟机安装,不过分区的时候,注意
swap
作为缓冲区,建议不要太小,一般就2/3G就行/boot
是Linux的系统启动的引导文件存放,2G就行/
是根目录,可以理解为其余全部硬盘大小(Linux里差不多是树型结构目录,万物皆文件)/home
是家目录,这里设置内存的时候和/
的大小不冲突,家目录是被包含在根目录里的- Linux的内存进制与windows不同,但是相差不大
- ext4文件系统:支持更大的文件,理论下可已创建无限的文件
- Linux已知的是mbr引导分区,最多只可以建立4分主分区
网络的选择上注意:
结合安全性,
NAT模式
是最试用服务器的,
- 桥接模式是将虚拟机放置于客户机同一个局域网内,dhcp可以自动分配ip,
导致抢占或被强占其余设备的ip
,其次一旦局域网被攻破,服务器和数据库服务器极为危险
!- NAT模式是利用
虚拟网卡---VMnet8(在物理机网络设置里可以查到)
,于局域网不在一个网段里,并且物理机又可以利用8号网卡与虚拟机相通信的特点。- 给虚拟机设置静态的ip:因为vm虚拟机中虚拟机的路由器的DHCP(ip分配器)是排队分配的,可能会导致学习过程中,发现xshell和xftp连不上,到头来发现centos的ip又又又变了,设置静态ip即可防止此现象。设置的过程中
DNS要和默认网关一致(只有虚拟机NAT模式下这样设置)
文件
- Linux的文件特点:一切皆文件
这里的一切真的是一切,所有的设备都存放在dev里,比如硬盘sda,sdb等等等,都是以文件的方式存放在系统中。
文件结构
类似于树根模式,从树根到最深的目录,都严格分清了文件
各级目录的作用
/bin目录
(/usr/bin,/usr/local/bin)
是Binary的缩写,这个目录存放着最经常使用的命令/sbin
(/usr/sbin,/usr/local/sbin)
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。/home
存放普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。内有文档,桌面啥的等等。新建的用户没有登陆过不会产生!!! `/root
超级用户(管理员)的家目录,也称超级权限者的主目录。/lib
系统开机所需要最基本的动态连接共享库,其作用类似于Windows里的DLL文件。几乎所有的应用程序都需要用到这些共享库。可以理解为程序运行依赖库/lost+found
一般情况下,是隐藏和空的,只有在Linux客户机不正常情况关机,直接关电源那种,会产生一些文件在这里面。/etc
所有的系统管理所需要的的配置文件和子目录,比如jdk的环境在/etc/profile中配置等等,记住配置文件夹
就好!/usr
类似于windows下的c盘的progfiles文件,存放用户所有的软件安装地。(重点
)/boot
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。Linux玩的不熟悉的同学绝对不要碰!!!
自己的安装的东西别放这里- /proc
这个目录是一个虚拟的目录, 它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。同上,这里Linux玩的不熟悉的同学绝对不要碰!!!这里的文件运行的特点,直接对接内存,指令执行速度特别快,这也是新手不建议碰的原因
/srv
服务的缩写,存放服务启动之后需要提取的数据,也不建议新手碰,不然服务启动不了。/sys
这是linux2. 6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统svsfs。新手莫碰~/temp
存放临时文件的/dev
类似于windows里的设备管理器,所有的硬件设备都以文件的形式存放在这里(重要)/media(Centos6)
linux系统会自动识别一些设备, 例如U盘、光驱等等,当识别后,linux会把识别的设备挂载(放)到这个目录下。/run/media/root(Centos7)
entos7以后的镜像文件和外设存放的地方/run
存放进程产生的临时文件,还有上面的用途。/mnt
系统提供该目录是为了让用户临时挂载别的文件系统的
,我们可以将外部的存储挂载在/mnt上,然后进入该目录就可以查看里的内容了。/opt
这是给主机额外安装软件所摆放的目录。比如你安装-个orale数据库则就可以放到这个目录下。默认是空的。注意这里是用户自己的软件,用的最多的目录文件。/usr/local
这是另一个给主机额外安装软件所摆放的目录。一 般是通过编译源码方式安装的程序。/opt
是直接安装的软件,而/usr/local
是编译源码产生的东西/var
存放不断扩充的日志文件的文件夹。
- /bin目录(/usr/bin,/usr/local/bin)和/sbin(/usr/sbin,/usr/local/sbin)是默认配置在环境变量path中的,所以在这里面的指令任意位置都可以执行
Linux下冒号分割,windows下是分号分割
Vi和Vim的熟练运用
vi和vim都是Linux下的基本默认文本打开方式,vim相当于vi的基础扩充。
编辑模式
- 可以编写文字
- 要按下
i, a ,0,
等字母后才能进入编辑模式 - 进入后左下角会有
[insert]
或[replace]
的字样 - 按下
[ESC]
或者CTRL+C
这个按键即可退出编辑模式
进入编辑模式按键如下
i 在当前光标前插入
a 在当前光标后插入
o 在当前光标行的下一行插入
S 删除当前字符并进入编辑
S 删除整行并进入编辑
R 进入替换模式,替换光标后内容
dd
命令模式
- 可以进行存盘、退出、显示行号、 搜索、批量替换等操作。
- 要在一般模式下输入"/“或”:"可进入命令模式
- 进入后光标移至最下端
:w 保存
:q 退出
:! 强制执行
:wq 保存退出
:%s/old字符/new字符/g 批量替换文本中old字符串
/要查找的词
n查找下一个,N往上查找
N查找下一个,n往上查找
:set nu/ :set nonu 显示行号/关闭行号
:noh 取消高亮显示
一般模式
- 打开文档的默认模式,主要负责查看,和一些基础的修剪。
dd 删除光标当前行
dnd 删除n行
u 撤销上一步
x 删除一个字母Delete(从前往后删)
X 删除一个字母Backspace(从后往前删)
yy 复制光标当前行
p 粘贴
dw 删除个词
yw 复制一-个词
单词的认定是根据连贯性,如果遇到空格那就停止识别
三者的转换
shell命令下键入 vim 路径/文件名后进入默认的一般模式,随后可以再一般模式下对文本信息进行操作。一般模式下可以键入i,a,o等命令以不同的方式进入编辑模式,在编辑模式下可以对文本进行更为详细的操作;在编辑模式下摁下[ESC]
或者ctrl+c
回到一般模式;同时一般模式下可以键入:set num
等等命令进行命令模式的查询文等操作,最后:q
或者:wq
可以退出命令模式;而一般模式下我们可以按下[ESC]
退出vim。
帮助手册以及日期的基本命令
帮助手册
我们有时候对一些命令不熟悉,此时我们可以查看帮助手册进行查询。
- man
- –help
方法与man类似,但是差别就是–help会跳出所有的信息给用户看,而man只会跳出一部分,其余的需要用户按下回车键进行查看。
man 命令
例如: man rm(rm --help)
NAME
rm - 移除文件或者目录
---------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------
总览
rm [options"]file...
POSIX(Portable Operating System Interface 可移植的操作系统接口) 选项:
[-fiRr]
GNU 选项 (最短格式):
[-dfirvR][--help][--version][--]
描述
rm移除每个给定的文件。默认情况下,它不能移除目录。但是当给定了-r或者-R选
项时,在指定目录之下的整个目录树都会被移除(而且对通过`rm -r'能够移除的目
录树深度是没有限制的)。当文件路径末端部分只有.和..时会出错(因此可用`rm -r .*'之类来避免这些不愉快的诧异)。
如果给定了-i选项,或者如果一个文件不可写, 而且标准输入是终端,又没有给定-f选项,那
等等等等等
日期操作
- date
- 用法:date [选项]… [+格式]
1.date,直接键入date回车,结果如下
2020年 07月 21日 星期二 21:29:56 CST
2.键入 date +%Y年%m月%d日' '%H时:%M分:%S秒,结果如下
2020年07月21日 21时:39分:51秒
3.键入date +%F''%T,结果如下
2020-07-2121:37:50
- cal
- 用法:cal [选项] [[[日] 月] 年]
1.直接键入cal,返回当月
七月 2020
日 一 二 三 四 五 六
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
2.键入cal -3,显示上个月,这个月,下个月的挂历
3.键入cal -y,今年的挂历
文件操作
对目录和普通文件的操作
mkdir
创建文件夹
-p可以一下建好多级目录
例: mkdir目录名touch
新建一个文件
例: touch 文件名rmdir
删除一个空目录
例: rmdir dimamerm
移除文件或目录
-rvf 递归删除所有目录内容,提示
-rf 递归删除所有目录内容,不提示cp
复制文件到哪里
cp [要复制的文件] [到哪里]
-「递归复制整个文件夹
-V显示复制过程中文件的列表
强制覆盖不提示的方法
临时方法: 用)cpmv
mv oldFileName newFileName重命名
mv /temp/movefile /targetFolder 移动文件cat
cat 文件名查看轻量级的文本文件
cat 文件1 文件2连接显示多个文件
cat文件1 文件2>文件3合并为新文件more
看较长的文件
空白键(space): 代表向下翻-页
Enter:代表向下翻一行
q:代表立刻离开more,不再显示该文件内容。
Ctrl+F向下滚动一-屏
Ctrl+B返回上一-屏less
同more类似,比more功能更多。
[pagedown]: 向下翻动- -页;
[pageup]: 向上翻动- -页;
字串:向下搜寻[字串」的功能;
? 字串 :向上搜寻[字串的功能;
n: 重复前一个搜寻(与/或?有关! )
N: 反向的重复前一 个搜寻(与1或?有关! )tail
从尾部开始查看,比较适合查看日志
-f跟随查看
-n200显示的行数,n可以省略。history
查看历史命令echo
输出环境变量,在shel脚本中当system.out.print用
压缩文件和软链接的处理
- 软链接
软链接也称为符号链接,类似于windows里的快捷方式
,有自己的数据块,主
要存放了链接其他文件的路径。
命令:ln -s 【原文件或目录名】 【软链接名】
查询:通过Is -l 就可以查看,列表属性第1位是I,尾部会有位置指向。简化为ll
- 压缩文件的操作
- tar的压缩文件
tar -zcvf XXX.tar.gz n1.txt
(tar -命令 压缩后的文件名 被压缩的文件)
-c创建一个新归档
-V显示详细信息
-f指定压缩后的文件名
-z通过gzip过滤归档
同时解压形式如下:
tar -zxvf XXX.tar.gz
-x从归档中解出文件
-V显示详细信息
-f指定解压前的文件名、
-Z通过gzip过滤归档
- zip格式的压缩文件
zip mypackage.zip 1.txt 2.bxt
zip -r pack.zip pack/* (递归压缩)
解压形式如下
unzip mypackage.zip