etc
:这个目录存放所有的系统管理所需要的配置文件home
:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名以用户的账号命名root
:该目录为系统管理员目录,root是具有超级权限的用户usr
:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似与windows下的program files目录。关机:
命令 | 说明 |
---|---|
shutdown -h now | 立刻关机 |
shutdown -h 5 | 5分钟后关机 |
poweroff | 立刻关机 |
重启:
命令 | 说明 |
---|---|
shutdown -r now | 立刻重启 |
shutdown -r 5 | 5分钟后重启 |
reboot | 立刻重启 |
–help命令:
命令 | 说明 |
---|---|
ifconfig --help: | 查看网卡信息 |
man命令(命令说明书)
命令:cd 目录
/
表示绝对路径,不带/
表示相对路径命令 | 说明 |
---|---|
cd / | 切换到根目录 |
cd /usr | 切换到根目录下的usr目录 |
cd ../ | 切换到上一级目录 或者 cd … |
cd ~ | 切换到当前用户的家目录,root用户为/root,其余用户为/home/用户名 |
cd - | 切换到上次访问的目录 |
命令:ls [-al]
命令 | 说明 |
---|---|
ls | 查看当前目录下的所有目录和文件 |
ls -a | 查看当前目录下的所有目录和文件(包括隐藏的文件) |
ls -l 或 ll | 列表查看当前目录下的所有目录和文件(列表查看,显示更多信息) |
ls /dir | 查看指定目录下的所有目录和文件 如:ls /usr |
命令:mkdir 目录
命令 | 说明 |
---|---|
mkdir aaa | 在当前目录下创建一个名为aaa的目录 |
mkdir /usr/aaa | 在指定目录下创建一个名为aaa的目录 |
命令:rm [-rf] 目录
参数解释:
删除文件:
命令 | 说明 |
---|---|
rm 文件 | 删除当前目录下的文件 |
rm -f 文件 | 删除当前目录的的文件(不询问) |
删除目录:
命令 | 说明 |
---|---|
rm -r aaa | 递归删除当前目录下的aaa目录 |
rm -rf aaa | 递归删除当前目录下的aaa目录(不询问) |
全部删除:
命令 | 说明 |
---|---|
rm -rf * | 将当前目录下的所有目录和文件全部删除 |
rm -rf /* | 【自杀命令!慎用!慎用!慎用!】将根目录下的所有文件全部删除 |
注意:rm不仅可以删除目录,也可以删除其他文件或压缩包,为了方便大家的记忆,无论删除任何目录或文件,都直接使用 rm -rf 目录/文件/压缩包
一、重命名目录
命令:mv 当前目录 新目录
命令 | 说明 |
---|---|
mv aaa bbb | 将目录aaa改为bbb |
注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作
二、剪切目录
命令:mv 目录名称 目录的新位置
命令 | 说明 |
---|---|
mv /usr/tmp/aaa /usr | 将/usr/tmp目录下的aaa目录剪切到 /usr目录下面 |
注意:mv语法不仅可以对目录进行剪切操作,对文件和压缩包等都可执行剪切操作
三、拷贝
命令 | 说明 |
---|---|
cp -f anaconda-ks.cfg /usr/tmp/aa.txt | 复制当前路径的anaconda-ks.cfg文件到/usr/tmp/aa.txt |
命令 | 说明 |
---|---|
cp /usr/tmp/aaa /usr | 将/usr/tmp目录下的aaa目录复制到 /usr目录下面 |
命令:find 目录 option file
命令 | 说明 |
---|---|
find -name april* | 在当前目录下查找以april开始的文件 |
find -name april* > a.txt | 在当前目录下查找以april开始的文件,并把结果输出到a.txt中 |
find -name ap* -o -name may* | 查找以ap或may开头的文件 |
find /tmp -name wa* -type l | 在/tmp下查找名为wa开头且类型为符号链接的文件 |
find /home -mtime -2 | 在/home下查最近两天内改动过的文件 |
find /home -atime -1 | 查/home下1天之内被存取过的文件 |
find /home -mmin +60 | 在/home下查60分钟前改动过的文件 |
find /home -amin +30 | 在/home下查最近30分钟前被存取过的文件 |
find /home -newer tmp.txt | 在/home下查更新时间比tmp.txt近的文件或目录 |
find /home -anewer tmp.txt | 在/home下查存取时间比tmp.txt近的文件或目录 |
find /home -used -2 | 列出/home中文件或目录被改动过之后,在2日内被存取过的文件或目录 |
find /home -user cnscn | 列出/home目录内属于用户cnscn的文件或目录 |
find /home -uid +501 | 列出/home目录内用户的识别码大于501的文件或目录 |
find /home -group cnscn | 列出/home内组为cnscn的文件或目录 |
find /home -gid 501 | 列出/home内组id为501的文件或目录 |
find /home -nouser | 列出/home内不属于本地用户的文件或目录 |
find /home -nogroup | 列出/home内不属于本地组的文件或目录 |
find /home -maxdepth 4 -name tmp.txt | 列出/home内的tmp.txt 查时深度最多为3层 |
find /home -mindepth 3 -maxdepth 5 -name tmp.txt | 在/home的第二层到第四层之间查tmp.txt |
find /home -empty | 查找/home中大小为0的文件或空目录 |
find /home -size +512k | 查/home中大于512k的文件 |
find /home -size -512k | 查/home中小于512k的文件 |
find /home -links +2 | 查/home中硬连接数大于2的文件或目录 |
find /home -perm 0700 | 查/home中权限为700的文件或目录 |
find -type f -exec ls -l {} ; | 查当前目录下的所有普通文件,并在-exec选项中使用ls -l命令将它们列出 |
find -name a.txt -ok rm {} ; | 查当前目录下的a.txt并询问是否删除 |
常用命令:
把当前目录下的file移动到/test下:
find -type f -exec mv {
} /test \;
删除指定时间之前的文件:
find -type f -name *.log -mtime +180 -exec rm {
} \;
命令:touch 文件名
命令 | 说明 |
---|---|
touch aa.txt | 在当前目录创建一个名为aa.txt的文件 |
命令:rm -f 文件名
基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:
命令行模式command mode)
控制屏幕光标的移动,字符、字或行的删除,查找,移动复制某区段及进入Insert mode下,或者到 last line mode。
命令行模式下的常用命令:
【1】控制光标移动:↑,↓,←,→,h,j,k,l,
【2】删除当前行:dd
【3】查找:/字符,按n下一个,按N上一个
【4】进入编辑模式:i o a
【5】进入底行模式::
【6】文件头文件尾:gg G
【7】撤销上一次操作:u
【8】删除一行:dd
【9】复制一行内容:yy
【10】粘贴复制的内容:p
编辑模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。
编辑模式下常用命令:
【1】ESC 退出编辑模式到命令行模式;
【2】粘贴:shift + insert
底行模式(last line mode)
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。
底行模式下常用命令:
【1】退出编辑: :q
【2】强制退出(不保存退出): :q!
【3】保存并退出: :wq
【4】设置行号::set nu
命令 | 说明 | 示例 | 示例说明 |
---|---|---|---|
cat | 看最后一屏 | cat sudo.conf | 查看/etc/sudo.conf文件,只能显示最后一屏内容 |
more | 百分比显示 | more sudo.conf | 可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看 |
less | 翻页查看 | less sudo.conf | 可以使用键盘上的PgUp和PgDn向上 和向下翻页,q结束查看 |
head | 查看文件开头的n行数据 | head -n 10 sudo.conf | 查看/etc/sudo.conf文件的前10行 |
tail | 查看文件末尾n行数据 | tail -n 10 sudo.conf | 查看/etc/sudo.conf文件的后10行 |
在文件中(可以多个文件同时)搜索字符串,可以使用正则表达式
命令: grep [参数] 搜索的字符串内容 文件名1 [文件n]
参数:
命令 | 说明 |
---|---|
grep java aa.txt | 在aa.txt中搜索文本”java”,默认是区分大小写的搜索,使用参数-i忽略大小写 |
grep “java is” aa.txt | 搜索的文本中有空格,使用引号括起来 |
grep -w java aa.txt | 搜索整个单词,是其他字符串的一部分的不符合条件 |
grep “^java” aa.txt | 使用正则, 以java开头的行 |
grep java aa.txt test.txt | 在多个文件搜索 |
sz :从Linux下载文件到本机 , 在Linux终端输入命令回车后,选择本地存储路径即可。
sz filename
下载文件filenamesz file1 file2
下载多个文件sz dir/*
下载dir目录下所有文件rz:从本地上传文件到Linux,在Linux终端输入命令回车后,选择本地要上传的文件即可,可一次指定多个文件
rz -y
选择文件并上传到执行命令所在的目录注意:
如果机器上没有安装过 lrzsz
安装包,则无法使用 rz 和 sz 命令。
使用yum命令安装:yum install -y lrzsz
下载源码进行安装。下载地址:https://ohse.de/uwe/software/lrzsz.html
上传和下载都默认使用Linux当前登录的用户,使用时要根据个人需要修改文件的权限。
rwx:r代表可读,w代表可写,x代表该文件是一个可执行文件,如果rwx任意位置变为-则代表不可读或不可写或不可执行文件。
示例:给aaa.txt文件权限改为可执行文件权限,aaa.txt文件的权限是-rw-------
第一位:-就代表是文件,d代表是文件夹,l可以理解为windows中的快捷方式
第一段(3位):代表拥有者(U)的权限
第二段(3位):代表拥有者所在的组(G)组员的权限
第三段(最后3位):代表的是其他用户(O)的权限
4 2 1 4 2 1 4 2 1
- r w - - - - - - -
命令:chmod UGO权限 文件/目录
常见的三种权限:644、755、777
参数:
-R
:同时修改目录及其子目录、文件的权限命令 | 说明 |
---|---|
chmod 644 aaa.txt | aaa.txt最后的权限为:-rw-r–r-- |
命令:
chown 新的拥有者用户 被修改的文件
chown 新的组.新的拥有者用户 被修改的文件
Windows的压缩文件的扩展名 .zip/.rar
linux中的打包文件:aa.tar
linux中的压缩文件:bb.gz
linux中打包并压缩的文件:.tar.gz
Linux中的打包文件一般是以.tar结尾的,压缩的文件一般是以.gz结尾的。
而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。
命令:tar -zcvf 打包压缩后的文件名 要打包的文件
参数:
命令 | 说明 |
---|---|
tar -zcvf ab.tar aa.txt bb.txt 或tar -zcvf ab.tar * | 示例:打包并压缩/usr/tmp 下的所有文件 压缩后的压缩包指定名称为xxx.tar |
命令:tar [-zxvf] 压缩文件 [-C] 解压到指定的目录
其中:
命令 | 说明 |
---|---|
tar -zxvf /usr/tmp/ab/tar.gz | 将/usr/tmp 下的ab.tar.gz解压到当前目录下 |
tar -zxvf ab.tar -C /usr | 将/usr/tmp 下的ab.tar解压到根目录/usr下 |
命令:tar -tf 归档文件名
t : 列出归档(压缩)文件的内容
f : 归档文件名
su用于用户之间的切换。但是切换前的用户依然保持登录状态。如果是root 向普通或虚拟用户切换不需要密码,反之普通用户切换到其它任何用户都需要密码验证。
命令:su 用户名
命令 | 说明 |
---|---|
su test | 切换到test用户,注意命令提示符“#”变为“$” , root@localhost 变为 test@localhost |
su root | 从普通用户切换到root用户,需要输入root用户密码 |
退出返回之前的用户:exit
su不足:如果某个用户需要使用root权限、则必须要把root密码告诉此用户。
sudo是为所有想使用root权限的普通用户设计的。可以让普通用户具有临时使用root权限的权利。只需输入自己账户的密码即可。
案例:
作用:将命令输出的内容重定向到其它位置,通常是文件,若文件不存在则新建文件再输出;若文件存在先清空文件,再写入内容
命令 | 说明 |
---|---|
echo “write some” > t1.txt | 向t1.txt文件输出内容“write some”。 |
作用:与 > 相似,不同的是,若文件存在,则新的内容追加到文件的后面。
管道就是用“|”连接两个命令,将前面一个命令的输出作为后面命令的输入,用于把管道左边的输出作为右边的输入。
命令 | 说明 |
---|---|
ps -ef | grep “cat” | 查看cat这个进程是否存在 |
命令: ping ip或者域名
命令 | 说明 |
---|---|
ping www.baidu.com | 查看之后,ctrl+c,退出查看,回到Linux命令行 |
命令:netstat [-an]
常用参数:
命令 | 说明 |
---|---|
netstat -an | 查看端口号 |
netstat -an | grep 8080 | 搜索指定端口的端口号8080 |
命令:ps [-ef]
常用参数:
表头:
命令 | 说明 |
---|---|
ps -ef | grep mysql | 查找指定的名字的进程 |
命令:kill [-9] pid (先使用 ps -ef 查询进程的pid, 然后再使用 kill pid)
常用参数:
命令:service network restart
命令:yum search 安装包名称中的部分关键字
命令:yum install 安装包名称
命令:yum remove 安装包名称
命令:yum list installed
命令:yum clean all (yum命令下载的安装包都放在/var/cache/yum目录)
命令:clear
快捷键:ctrl+l
查看防火墙状态:systemctl status firewalld
让防火墙可用:systemctl enable firewalld
让防火墙不可用:systemctl disable firewalld
开启防火墙:systemctl start firewalld
禁用防火墙:systemctl stop firewalld
永久关闭防火墙:先执行systemctl stop firewalld,再执行systemctl disable firewalld
下载地址:https://www.oracle.com/java/technologies/javase-downloads.html
下载Linux版本的JDK8,通过Xftp将下载好的JDK上传到Linux中,
在JDK文件解压到/usr/local目录下,执行命令:
tar -zxvf jdk-8u121-linux-x64.tar.gz -C /usr/local/
首先:java -version查看JDK版本,发现系统默认是使用的OpenJDK
修改/etc目录下的profile文件,在profile文件的最后加上:
注意:如果担心文件修改错误,可以先备份文件, 执行cp 命令
export JAVA_HOME=/usr/local/jdk1.8.0_121 # jdk解压的位置,需要根据具体情况进行修改
export PATH=$JAVA_HOME/bin:$PATH # jdk中bin文件夹的位置,不需要修改
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar #jar包位置,不需要修改
profile文件修改完成后,执行 source /etc/profile
让上面的配置生效
source命令:通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。
tomcat官网:http://tomcat.apache.org/
下面的地址国内的镜像地址,下载速度比较快。
8.5版本:
http://124.202.164.12/files/223600000A5B3B20/mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.16/bin/apache-tomcat-8.5.16.tar.gz
9.0版本:
http://mirror.bit.edu.cn/apache/tomcat/tomcat-9/v9.0.0.M26/bin/apache-tomcat-9.0.0.M26.tar.gz
使用Xftp上传 apache-tomcat-9.0.0.M26.tar到Linux系统中,解压缩:
tar -zxvf apache-tomcat-8.5.16.tar.gz -C /usr/local/
tomcat解压缩后就可以使用了,用cd命令切换到tomcat主目录下的bin
目录
在tomcat安装目录/bin下执行:./startup.sh
启动tomcat并打印启动日志,在/bin下执行:./startup.sh | tail -f tomcat安装目录/logs/catalina.out &
(加&
表示后台启动,日志文件一变化就会打印,可以不加&
,只打印一次)
在tomcat安装目录/bin下执行:./shutdown.sh
Tomcat启动后会在Tomcat安装目录/logs下生成日志文件
catalian.out
localhost_access_log.2017-08-16.txt
把web应用打包为 .war扩展名的文件。把xxx.war文件部署到tomcat的webapps目录,即可在tomcat中运行web应用。Tomcat会自动解压war包
注意:war包的名字即为部署完后项目的网站名。如果直接将 war 包中的内容部署到 ROOT 文件夹下,则访问不需要网站名。
下载地址:https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz
检查linux是否安装了mariadb数据库,mariadb数据库是mysql的分支。是免费开源的。mariadb和msyql会有冲突。首先要检查安装了mariadb, 卸载掉。
yum list installed | grep mariadb
若linux中安装了mariadb数据库,先卸载掉,mariadb数据库可能与安装mysql发生冲突,
yum -y remove mariadb-libs.x86_64
其中mariadb-libs.x86_64是第2步搜索出来的mariadb软件包,不同机器可能不一样, -y参数确认删除。
等待卸载完成:提示Complete ,卸载完成
首先使用Xftp上传文件mysql-5.7.18-linux-glibc2.5-x86_64.tar
然后解压MySQL:
tar -zxvf mysql-5.7.18-linux-glibc2.5-x86_64.tar.gz -C /usr/local/
将解压后的mysql-5.7.18-linux-glibc2.5-x86_64改名为mysql-5.7.18 或者 mysql,为了明确mysql的版本,建议改名为mysql-5.7.18
mv mysql-5.7.18-linux-glibc2.5-x86_64 mysql-5.7.18
data文件夹是mysql用来存放数据库文件的,数据库的表数据都放在data目录。
默认没有data目录,可以手工创建data目录,在mysql-5.7.18文件夹目录下创建一个data文件夹,切换到mysql-5.7.18目录,执行创建文件夹命令
mkdir data
创建mysql用户,用来执行MySQL的命令mysqld ,此命令用来初始化msyql基础信息。
执行命令:
useradd mysql
使用mysql的 mysqld 命令初始化数据库的基本信息。切换到mysql-5.7.18/bin目录下执行。
在mysql-5.7.18/bin目录下执行命令:
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql-5.7.18/data --basedir=/usr/local/mysql-5.7.18
参数说明:
该命令执行后,会生成一个临时的mysql数据库root用户的密码,请先拷贝出来记住,后续第一次登录mysql需要使用
在mysql-5.7.18/bin目录下执行命令:
./mysqld --initialize-insecure --user=mysql --datadir=/usr/local/mysql-5.7.18/data --basedir=/usr/local/mysql-5.7.18
参数说明:
在服务器与客户机之间来回传输的所有数据进行加密。通过证书提供了身份验证机制,mysql命令程序,mysql_ssl_rsa_setup提供了开启数据加密功能,生成数字证书。
./mysql_ssl_rsa_setup --datadir=/usr/local/mysql-5.7.18/data
mysql安装后,需要更改mysql-5.7.18整个文件夹目录权限,更改所属的用户和组,是之前创建的mysql用户。在mysql安装目录的上级(/usr/local/)位置,执行命令chown .
在mysql安装目录的上级(/usr/local/)位置,执行命令:
chown -R mysql:mysql /usr/local/mysql-5.7.18/
参数说明:
查看原目录所有者
启动MySQL服务,
在mysql-5.7.18/bin目录下执行命令:
./mysqld_safe &
参数说明:
mysqld_safe程序会在启动MySQL服务器后继续监控其运行情况,并在其死机时重新启动它。用mysqld_safe程序来启动MySQL服务器的做法在unix/linux系统上很常见
确认msyql是否启动,查看进程 ,使用ps -ef | grep mysql
登录进入mysql,在mysql-5.7.18/bin目录下执行命令:
./mysql -uroot -p
参数说明:
第12.5步的root用户密码是临时的,要修改才能使用。所以第一次登入之后,当执行sql语句时,第一次使用将会提示修改mysql的root用户密码:
修改mysql的root用户的密码,命令语法:alter user ‘用户名’@‘主机域名或ip’ identified by ‘新密码’
在mysql中执行命令:
alter user 'root'@'localhost' identified by '123456';
修改root用户的密码成功后,再执行sql语句就没有问题了。
授权远程访问,在没有授权之前只能在本机访问msyql, 远程授权就是让其他计算机通过网络访问mysql(这样远程客户端才能访问)
授权命令:grant
语法:grant all privileges on *.* to root@’%’ identified by ‘123456’;
参数:
grant all privileges on *.* to root@'%' identified by '123456';
flush privileges;
操作防火墙的命令:
查看防火墙状态:systemctl status firewalld
running说明防火墙正在运行,所以要禁用防火墙
禁用防火墙:systemctl stop firewalld
关闭,停止mysql服务器
在mysql-5.7.18/bin目录下执行:
./mysqladmin -uroot -p shutdown 输入密码关闭
具体表现为:查询时无中文乱码问题,写数据时中文乱码
解决:
在项目中配置数据库url的地址后面加上参数:
jdbc.url=jdbc:mysql://localhost:3306/crm?useUnicode=true&characterEncoding=utf8&characterSetResults=utf8