Linux常用命令
发布日期:2021-07-22 10:54:25 浏览次数:3 分类:技术文章

本文共 10999 字,大约阅读时间需要 36 分钟。

Linux常用命令

命令格式:命令 [-选项] [参数]

eg:ls -la /root

说明:

1.大部分命令遵循此格式

2.多个选项时,可以一起写

eg:ls -l -a ---->ls -la


help

1.查看shell内置命令的帮助信息

help 命令名

eg:help cd

2.查看其他命令的帮助信息

方式一:命令名 --help

方式二:命令名 --help 列举该命令的常用选项

eg:cp --help


文件处理命令


cd:change directory 命令途径:内部命令 执行权限:所有用户

cd:切换工作目录(★)

cd -:回到上一次的操作所在的位置(★)

cd ~:回到用户家目录

cd ./:当前目录

cd …/:回到上一级目录(★)

cd:回到用户家目录(★)


ls:list 查看目录 ls + 选项 + 目录名 命令所在目录 /bin/ls 执行权限:所有用户

ll:等价于 ls -l

-l:以列表的形式显示

-a:所有文件或者目录包括隐藏文件

-h:以可读的方式显示文件大小,配合-l使用


pwd:print working directory(显示当前工作的目录) 命令途径:/bin/pwd 执行权限:所有用户

pwd:打印当前工作目录(全目录)

语法:pwd [-LP]

参数说明:

-L:(logical),显示当前的路径,有链接文件时,直接显示链接文件的路径(不加参数默认此方式)

-P:(physical),显示当前的路径,有链接文件时,不使用连接路径,直接显示链接文件所指示的文件


mkdir:make directories(创建新的目录) 命令途径:/bin/mkdir 执行权限:所有用户

语法:mkdir [-p] 目录名

-p:父目录不存在的情况下先生成父目录(parents)

eg:mkdir linux/test 如果目录linux不存在,则报错,使用参数-p即可自动创建目录


touch:(创建空文件或者更新已存在文件的时间)命令途径:/bin/touch 执行权限:所有用户

语法:touch 文件名

eg:touch a.txt / touch c.txt d.txt / touch {e.txt,f.txt,g.txt}(同时创建多个文件,注意{}中间不能有空格)

eg:touch “hello world” 创建带空格的文件(注意在生产环境中,文件名,一定不要加空格)


echo:(查看某些环境变量/给文件增加内容(将文件创建出来))命令途径:/bin/echo 执行权限:所有用户

语法:echo ‘字符串’ > 文件名

eg:echo cd 查看当前路径

eg:echo ‘haha’ > aaa.txt 将字符串添加到aaa.txt里面,会将文件原来的内容覆盖

eg:echo ‘hihi’ >> bbb.txt 将字符串添加到bbb.txt里面,会将字符串追加到bbb.txt中,不会覆盖原来的内容


cp:copy(复制文件或者目录) 命令途径:/bin/cp 执行权限:所有用户

语法:cp [-rp] 源文件或者目录 目的目录

-r -R recursive 递归处理,复制目录

-p 保留文件属性

eg:

1.相对路径:cp -R /etc/* . 将etc下面的全部内容拷贝到当前的目录下

2.绝对路径:cp -R /etc/*.conf /opt/hadoop


mv:move(;移动文件或者目录,文件或者目录改名) 命令路径:/bin/mv 执行权限:所有用户

语法:mv 源文件或者目录 目的目录

mv 原文件名 新文件名


rm:remove(删除文件) 命令途径:/bin/rm 执行权限:所有用户

语法:rm [-rf] 文件或者目录

-r:(recursive):删除目录,同时删除该目录下的所有文件

-f:(force)强制删除文件或者目录,即使原档案属性设置为只读,亦可直接删除,无需逐一确定

(注意,在生产环境中,谨慎使用rm -rf 命令)


vim编辑器:

vim/vi是Unix/Linux上最常用的文本编辑器而且功能十分强大

只有命令,没有菜单

vim工作模式

命令模式:又称为一般模式

编辑模式:又称为底行模式,命令行模式

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Xgu1kstN-1624698580908)(C:\Users\16326\Desktop\dayHomework\vim.png)]

插入命令:

命令 作用
a 在光标后附加文本
A 在本行行末附加文本,行尾
i 在光标前插入文本
I 在本行开始插入文本,行首
o 在光标下插入新行
O 在光标上插入新行

定位命令:

命令 作用
:set nu 设置行号
:set nonu 取消行号
gg G 到第一行 到最后一行
nG 到第n行
:n 到第n行

保存和退出命令:

命令 作用
:w 保存修改
:w new_filename 另存为指定文件,如果文件不存在,会直接创建一个新的文件
:w >> a.txt 内容追加到a.txt文件中,文件需存在
:wq 保存修改并退出
ZZ 快捷键,保存修改并退出
:q! 不保存修改退出
:wq! 保存修改并退出(文件所有者可以忽略文件的只读属性)

eg:

1.不保存修改并退出 :q

2.有修改,但是修改内容是不用保存的 :q!

删除命令:

命令 作用
x 删除光标所有处的字符,nx删除光标所在处后n个字符
dd 删除光标所在行,ndd删除n行
:n1,n2d 删除指定范围中的行(1,3d删除了123这三行)
dG 删除光标所在行到末尾的内容
D 删除从光标所在处到行尾

ln:link(产生链接文件) 命令途径:/bin/ln 执行权限:所有用户

语法:

ln -s [源文件]  [目标文件] 	创建软链接	相当于创建快捷方式	注意:源文件使用绝对路径ln [原文件] [目标文件] 	 创建硬链接	相当于深拷贝

注意点:

软连接类似于windows下的快捷方式lrwxrwxrwx. 1 root root  13 6月  20 16:48 myJdk -> /opt/jdk2/jdk格式解析:1代表硬链接数量,如果该文件没有硬链接,就只有本身一个硬链接13代表链接文件的长度软链接的文件类型是l(软连接),软连接文件的权限都是lrwxrwxrwx->箭头指向源文件真正的权限取决于源文件的权限时间值为创建软连接的时间软连接可以跨文件系统生成
硬链接特征:1.相当于cp -p +同步更新2.通过i节点识别,与原文件有相同的inode节点,当修改其中的任意一个硬链接文件时,其他文件中的内容也会同步更新3.硬链接不能跨分区,4.硬链接不能针对目录使用
删除软链接,源文件不会受到任何影响
inode:Linux文件系统中的inode主要用于存放档案和目录的文件信息,当系统创建文件系统的同时会创建大量的inode

cat:concatenate(显示文件全部内容) 命令途径:/bin/cat 执行权限:所有用户

语法:cat [-n] [文件名]

-A:显示所有内容,包括隐藏的字符

-n:显示行号


more:(分页显示文件内容) 命令途径:/bin/more 执行权限:所有用户

语法:more [文件名]

空格或者f 显示下一页

enter 显示下一行

q或者Q 退出


head:(查看文件前几行(默认是10行)) 命令途径:/usr/bin/head 执行权限:所有用户

语法:head [文件名]

-n:指定行数


tail:(查看文件后几行) 命令途径:/usr/bin/tail 执行权限:所有用户

语法:tail [文件名]

-n:指定行数

注意:获取一个大文件的部分文件,可以使用head或者tail命令


find:(查找文件或者目录) 命令途径:/bin/find 执行权限:所有用户

语法:find [搜索路径] [匹配条件] (如果没有指定搜索路径,默认从当前目录查找)

(1)-name按照名称区分大小写查找

说明:精确查找eg:find /etc -name "yum.conf"

(2)-iname按照名称不区分大小写查找

说明:不区分大小写eg:find /etc -iname "yum.conf"
模糊查询: find查找字符匹配 *:匹配所有字符 ?:匹配单个字符 模糊匹配的条件:建议使用单引号或者双引号括起来

(3)-size按照文件大小查找

以block为单位,一个block是512B,1K=2block,+大于,-小于,不写是等于1Mb=1024kb=2048block

(4)-type按照文件类型查找

f:二进制文件,l:软链接文件,d:目录,c:字符文件find查找的基本原则:占用最少的系统资源,即查询范围最小,查询条件最精准注意:如果明确知道查找的文件在哪一个目录,就直接对着指定目录查找,不需要查找根目录

grep:(在文件中搜寻字符串匹配的行并输出) 命令途径:/bin/grep 执行权限:所有用户

语法:grep [-cinv] ‘搜寻字符串’ filename

选项和参数:

-c:输出匹配行的次数(是以行为单位,不是以出现次数为单位)

-i:忽略大小写,所以大小写视为相同

-n:显示匹配行及行号

-v:反向选择,显示不包含匹配文本的所有行

管道:进行过滤

eg:find /root | grep a.txt


which:(显示系统命令所在目录(绝对路径及别名)) 命令途径:/usr/bin/which 执行权限:所有用户

which命令的作用是:在Path变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果,也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令


whereis:(搜索命令所在的目录,匹配文件所在目录,及帮助文档的路径) 命令途径:/usr/bin/whereis 执行权限:所有用户


磁盘操作命令:


df命令:df [-hkam] [挂载点]

-h:(human-readable)根据磁盘的使用情况,以以易读的方式显示kb,mb,gb等

-k:以kb为单位显示各分区的信息

-m:以mb为单位显示信息,默认

-a:显示所有分区包括大小为0的分区


du命令:(用于查看文件或者目录的大小(磁盘使用情况))

语法:du [-ahs] [文件名目录]

-a:显示子文件的大小

-h:以易读的方式显示KB,MB,GB等

-s:summarize,统计总占有量


du命令和df命令的区别:	1.df命令是从文件系统考虑的,不仅考虑文件占用的空间,还要统计被命令或者程序占用的空间。	2.du命令面向文件,只计算文件或者目录占用的空间

free:(显示系统内存的使用情况,包括物理内存,交换内存(swap)和内核缓冲区内存)

语法:free [-kmg]

-k:以kb为单位显示,默认就是以kb为单位显示

-m:以mb为单位显示

-g:以GB为单位显示


打包压缩命令


gzip:(压缩(解压)文件,压缩文件的后缀名为.gz) 执行权限:所有用户

gzip:只能压缩文件,不能压缩目录;不保留源文件

语法:gzip 文件

-d :将文件解压(decompress)

解压使用gzip -d 或者gunzip


bzip2:(压缩(解压)文件,压缩文件后缀为.bz2) 执行权限:所有用户

语法:bzip2 [-k] [文件]

(注意:在纯命令行系统中,没有默认安装bzip2命令,需要手动安装)

-k:产生压缩文件后保留源文件(压缩比高)

-d:解压缩的参数(decompress)

解压使用bzip2 -d 或者 bunzip2


zip:(压缩(解压)文件,压缩文件后缀为.zip,保留原文件) 执行权限:所有用户

注意:在纯命令行系统中没有默认安装zip命令,需要手动安装

-r:压缩目录

如果不加r选项,压缩后的文件没有数据

解压使用unzip(也需要yum下载),解压时,已经存在与压缩文件同名的目录名,默认不会进行覆盖,如果选择y会进行覆盖


tar:(文件,目录,打包(解压)) 执行权限:所有用户

语法:tar [选项] 压缩文件名,文件或者目录

-c:建立一个压缩文件的参数指令(create),后缀是.tar

-x:解开一个压缩文件的参数指令(extract)

-z:以gzip命令压缩/解压缩

-j:以bzip2命令压缩/解压缩

-v:压缩过程中显示文件

-f:file 指定文件名,必选项

最常用:tar -zcvf 压缩tar -zxvf 解压源文件会被保留,不会被删除

date

1.date命令是显示或者设置系统时间与日期2.查看系统时间直接使用date3.以自定义的方式显示系统时间:date  +'%Y-%m-%d %H:%M:%S'(注意:+与字符串之间不能有空格)4.设置时间5.同步到bios,重启后生效

系统关机命令:

语法:shutdown [选项] 时间-c:取消一个挂机命令-h:立即关机-r:重启

其他关机命令

halt;

poweroff;

init 0;


重启命令:

reboot -h now:立即重启


Linux的七种执行等级:

init 0:停机

init 1:单用户形式,只root进行维护

init 2:多用户,不能使用net file system

init 3:完全多用户

init 4:图形化

init 5:安全模式

init 6:重启


其他命令:

uname -r :查看系统版本信息

basename:查看命令中的名字

dirname:查看命令中的途径


Linux的快捷命令:

ctrl + c:停止当前进程

ctrl + z:挂起当前进程,放在后台

ctrl + r:(查看命令历史)history

ctrl + l:清屏,与clear命令作用相同

对当前命令行的操作:

ctrl + a 行首 ctrl + e 行尾 ctrl + d清楚当前的字符

ctrl + k 清楚光标后面的内容 ctrl + w 清楚光标前面的单词


小技巧:linux不进去系统更改密码:1.开机时按'e'键进入grub2.在grub选项菜单按e进入编辑模式3.编辑kernel那行 输入” 1”(空格1),然后按enter键。4.按b重启5.进入后执行下列命令passwd rootpasswd root (配置root的密码)——>Enter new unix password:输入新的密码——>init 6

网络相关操作:

1.修改ip地址:

说明:(以网络方式为NAT方式实例)

1.   vi /etc/sysconfig/network-scripts/ifcfg-ens332.相关属性信息:TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=yesIPV6_FAILURE_FATAL=noIPV6_ADDR_GEN_MODE=stable-privacyNAME=ens32UUID=55afec4f-8e69-445d-8807-41c1f79b552cDEVICE=ens32ONBOOT=yesIPADDR=192.168.10.101--------静态真实ipGATEWAY=192.168.10.2---------网关(交换机的ip)NETMASK=255.255.255.0----------子网掩码DNS1=8.8.8.8-------谷歌的DNSDNS2=114.114.114.114-----国内的DNS3.重启网络生效:service network restart 或者 systemctl restart network

关闭防火墙:

1.及时生效,重启后复原systemctl stop firewalldsystemctl start firewalldsystemctl status firewalld
2.非及时生效,重启后永久性生效systemctl disable firewalldsystemctl enable firewalldsystemctl status firewalld

关闭NetworkManager:

NetWorkManager服务是管理和监控网络设置的守护进程,CentOS7更加注重使用NetworkManager服务来实现网络的配置和管理 它是一个动态的,事件驱动的网络管理服务常用管理命令:systemctl status NetworkManager		查看状态systemctl start NetworkManager		开启systemctl stop NetworkManager		关闭systemctl disable NetworkManager	永久关闭systemctl enable NetworkManager		重启

网络通信命令:

ping:

命令途径:/bin/ping	执行权限:所有用户	作用:测试网络的连通性语法:ping -c 次数 ip地址ping命令使用的是icmp协议(internet control message protocol) 不占用端口

ip addr:

作用:查看和设置网卡网络配置		命令途径:/sbin/ifconfig		执行权限:root

netstat:

英文:network statistics	命令途径:/bin/netstat	执行权限:所有用户注意:如果在系统中默认没有这个命令,直接安装net -tools包即可作用:主要用于检测主机的网络配置和状况-a:(all)所有连接和监听端口-t:(tcp)仅显示tcp相关选项-u:(udp)仅显示udp相关选项-n:使用数字方式显示地址和端口号-p:显示sockt和PID和进程的名称-l:(listening)显示监控中的服务器的socket

修改主机名:

修改配置文件:/etc/hostname

修改映射关系:

修改主机名和ip地址之间的映射关系(存于etc/hosts中):(注意最好让主机名字,虚拟机名字,网络连接名字保持一致)

进程管理命令:

进程和程序的区别:

1.程序是静态概念,本身作为一种软件资源长期保存;而进程是程序执行过程,他是动态概念,有一定的生命期,是动态产生和消亡的

2.程序和进程无一一对应关系,一个进程在活动中可以有顺序的执行若干个程序

父进程和子进程的区别:

1.子进程是由一个进程所产生的进程,产生这个子进程的进程称为父进程

2.在Linux系统中,使用系统调用fork创建进程,fork复制的内容包括父进程的数据和堆栈段以及父进程的进程环境

3.父进程终止,子进程自然终止

进程和线程的区别:

进程:正在执行的程序和命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源

线程:轻量级的进程,进程有独立的空间,而线程没有,线程不能独立存在,它由进程创建,相对来讲,线程耗费的cpu和内存要小于进程

进程管理的作用:判断服务器的状态,查看系统所有的进程,杀死进程

前台进程和后台进程:

前台进程:

在shell提示处打入命令后,创建一个子进程,运行命令,shell等待命令退出,然后返回到对用户给出提示符,这条命令与shell异步运行,即在前台运行,用户在它完成之前不能执行另一个命令

后台进程:

在shell提示处打入命令,若后随一个&,shell创建的子进程运行此命令,但不等待命令退出,而直接返回到对用户给出提示信息,这条命令与shell同步运行,记载后台运行,后台运行必须是非交互式的


ps:(查看系统中的进程信息) ps [-auxle]

-a:显示所有用户的进程

-u:显示用户名和启动时间

-x:显示没有控制终端的进程

-e:显示所有进程,包括没有控制终端的进程

-l:长格式显示

查看系统中所有的进程:ps -aux:查看系统中所有进程,使用BSD操作系统格式,Unixps -le:查看系统中所有的进程,使用linux标准命令格式

pstree:

作用:查看当前进程树语法:ps [选项]-p:显示进程pid-u:显示进程的所属用户

top:

作用:显示系统健康状况显示当前系统中耗费资源最多的进程,以及系统的一些负载情况语法:top [选项]-d 秒数,指定几秒刷新一次,默认3秒(动态显示)

kill:

作用:关闭进程语法:kill [-选项] pid-9:强制关闭-1:重启进程补充:killall -l 关闭所有进程(忽略进程名的大小写)

w:

作用:查看用户信息语法:w 用户名USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHATroot     tty1                      11:07   15:11   0.01s  0.01s -bashroot     pts/0    192.168.10.1     11:07    7.00s  0.07s  0.00s wroot     pts/1    192.168.10.1     11:07   14:59   1.14s  1.14s top解释:JCPU:以终端代号来区分,该终端所有相关的进程执行时,所消耗的cpu时间会显示在这里PCPU:CPU执行程序耗费的时间WHAT:用户正在执行的操作

nohub:

作用:使进程在用户退出登陆后仍在继续执行,nohub命令将执行后的数据信息和错误信息默认储存到nohub.out中语法:nohub program &  &是在后台运行的意思

uptime:

作用:查看负载例如:使用uptime确定是服务器还是网络出了问题,如果网络应用程序运行,运行uptime来了解系统负载是否很高,如果负载不高,这个问题很可能就是由于网络引起的而非服务器语法:uptime11:30:21 up 23 min,  3 users,  load average: 0.03, 0.05, 0.05解释:系统时间				用户数量	服务器在过去的1分钟,5分钟,15分钟的系统平均负载值

用户和组的创建和删除:

su:

语法:su 用户名作用:切换用户su root 切换回root用户,注意:如果是root用户,每次都会要求输入密码,普通的用户可以直接切换

useradd:

添加用户语法:useradd [选项] 用户名

passwd:

修改密码命令:passwd [选项] [用户名]用户密码:在生产环境中,用户密码长度8位以上,设置大小写加数字加特殊字符,更要定期更换密码

userdel:

删除用户:-r:删除账号的同时,删除宿主目录(remove)注意:一个用户已经打开,需要删除做法:先跳到当前用户的下面,执行exit,或者exit用户名,这是会自动跳到root界面如果还是无法删除,可以将系统重新启动

groupadd:

用于添加组-g	指定gid

groupmod:

用于修改组-n	更改组名(new group)

groupdel:

用于删除组如果要删除的组归属于某一个用户的所属组,则不能删除改组

文件权限命令:

r:read

w:write

x:execute

权限说明:-rwxrw-r–

-:(类型)d:目录,-普通文件,l 链接文件

rwx:所属用户(所有者)权限,用u(user)表示

rw-:所属组权限,用g(group)表示

r–:其他用户(其他人)权限,用o(other)表示

第2-10位:表示所有的权限,用a(all)表示

第11位的1代表硬连接数目

对于文件,我们有执行权限的命令:r:cat,more,less,head,tailw:echo,vix:命令,脚本对于目录,我们有执行权限的命令:r:lsw:touch,mkdir,rm,rmdir,x:cd能删除的文件的权限是必须对该文件所在的目录有wx权限

chmod:

用于权限更改,改变文件或者目录的权限:(change the permissions mode of a file)参数:-R	下面的文件或者子目录做相同的权限操作(recursive)

chown:

用于更改所有者,更改文件或目录的所有者

chgrp:

用于改变所属组,改变文件或者目录的所属组:(change file group ownership)

sudo权限的配置:

作用:

root把本来只能超级用户执行的权限赋予普通用户执行sudo的操作对象是系统命令删除做法:先跳到当前用户的下面,执行exit,或者exit用户名,这是会自动跳到root界面如果还是无法删除,可以将系统重新启动

groupadd:

用于添加组-g	指定gid

groupmod:

用于修改组-n	更改组名(new group)

groupdel:

用于删除组如果要删除的组归属于某一个用户的所属组,则不能删除改组

文件权限命令:

r:read

w:write

x:execute

权限说明:-rwxrw-r–

-:(类型)d:目录,-普通文件,l 链接文件

rwx:所属用户(所有者)权限,用u(user)表示

rw-:所属组权限,用g(group)表示

r–:其他用户(其他人)权限,用o(other)表示

第2-10位:表示所有的权限,用a(all)表示

第11位的1代表硬连接数目

对于文件,我们有执行权限的命令:r:cat,more,less,head,tailw:echo,vix:命令,脚本对于目录,我们有执行权限的命令:r:lsw:touch,mkdir,rm,rmdir,x:cd能删除的文件的权限是必须对该文件所在的目录有wx权限

chmod:

用于权限更改,改变文件或者目录的权限:(change the permissions mode of a file)参数:-R	下面的文件或者子目录做相同的权限操作(recursive)

chown:

用于更改所有者,更改文件或目录的所有者

chgrp:

用于改变所属组,改变文件或者目录的所属组:(change file group ownership)

sudo权限的配置:

作用:

root把本来只能超级用户执行的权限赋予普通用户执行sudo的操作对象是系统命令

转载地址:https://blog.csdn.net/m0_56433040/article/details/118251850 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:JDBC编程入门
下一篇:网络编程相关概念

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月12日 12时33分44秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

C语言算法 求最大公约数(辗转相除法) 2019-04-26
掌握C语言判断素数(质数)相关内容 2019-04-26
小米多看电纸书 安装悬浮球 安装桌面 安装微信阅读 小米多看电纸书悬浮球 2019-04-26
Java Web 判断访问的客户端是手机还是电脑(区分安卓,iPhone,pc) 2019-04-26
Hibernate多对多的关系映射,详解(代码+图解)与应用 举个栗子,搞的清楚 2019-04-26
Hibernate的查询方式(大全)(检索方式)OID查询+ HQL检索 +QBC检索+SQL检索 2019-04-26
Hibernate环境搭建 2019-04-26
Hibernate的抓取策略---Hibernate查询方式的优化 延迟加载 + 抓取策略 2019-04-26
C语言算法题,统计个年龄段的人数0~9,10~19.。。。。分别放置到数组b[0],b[1]......... 2019-04-26
Struts2快速入门,超简单详细的快速入门教程 2019-04-26
Java 冒泡排序详解,一分钟理解冒泡排序 2019-04-26
Struts2的执行流程 2019-04-26
Struts2的常见配置,配置XML的提示,Struts2的配置文件,package 的配置,Action的配置,常量的配置,Struts2的分模块开发的配置 2019-04-26
C语言算法,图解+详解 统计输入字符串当中要查找字符串的数量,substr所指的子符串在str所指的字符串中出现的次数。 2019-04-26
Java 当中 通过Date获取时间和通过SimpleDateFormat格式化时间 2019-04-26
Struts的数据的封装,属性驱动:提供属性set方法的方式,属性驱动:页面中提供一种表达式,模型驱动:采用模型驱动的方式,INPUT的逻辑视图的配置 2019-04-26
Struts2的复杂数据类型的封装,封装数据到List集合中,封装数据到Map集合当中 2019-04-26
Mysql计算月份差 2019-04-26
OGNL,OGNL在Struts2环境当中的使用(入门) 2019-04-26
Java OGNL入门(Java环境当中使用) 2019-04-26