重启
reboot
关机
poweroff
shutdown -h now
查看本机ip信息的名称
ifconfig
查看默认网卡信息的文件
cat /etc/sysconfig/network-scripts/ifcfg-eth0
手动配置IP
配置完成后,重启网络,让配置生效
service network restart
查看结果
ifconfig
使cat再次查看,发现配置文件发生了变化
cat /etc/sysconfig/network-scripts/ifcfg-eth0
如果说xshell链接不了虚拟机中的centos系统最大的可能
windows键+r ( 相当于直接点运行)敲入命令
services.msc
确保 VMware NAT Service和VMware DHCP Service 开启的
防火墙
centos6.9的防火墙服务 iptables
查看防火墙是否关闭
service iptables status
关闭防火墙
service iptables stop
开启防火墙
service iptables start
查看防火墙开机是否启动
chkconfig iptable --list
让防火墙服务开机不启动
chkconfig iptables off
让防火墙服务开机启动
chkconfig iptables on
系统登录之后 root@localhost ~
root 代表当前登录用户的名称
localhost 主机名称
~ 代表当前登录用户的根目录
pwd = print 打印 working 工作 directory 目录
vi和vim编辑器
一般模式,插入模式,底行模式
一般模式(通过按iaoIAO键)-->插入模式 插入模式(按Esc键)--> 一般模式
一般模式(通过按:键)-->底行模式 底行模式(按Esc键)--> 一般模式
底行模式中,wq = write quit 写入并退出
wq! 如果有不能保存退出的情况可以使用wq! ! 强制退出
q! = quit !强制 不写入强制退出
vim qy97.txt 如果qy97.txt不存在,编辑后退出,等同于新建该文件,写入内容并退出
vim qy97.txt 如果qy97.txt存在,"qy97.txt" 5L, 17C 该文件名称 5L=5line 5行 16C=16Character 16字符(换行算一个字符)
一般模式(通过按iaoIAO键)-->插入模式
i 在光标位置的前面插入
a 在光标位置的后面插入
o 在光标位置的下一行插入
I 在光标位置的行首插入
A 在光标位置的行尾插入
O 在光标位置的上一行插入
在底行模式下:set nu 回车 显示文件行号
在底行模式下:set nonu 回车 不显示文件行号
一般模式 大写字母G 到文件末尾
一般模式 小写字符gg 到文件首行
一般模式 ctrl+f 文件太长时显示下一页
一般模式 ctrl+b 文件太长时显示上一页
在底行模式下:100 回车 光标直接定位到100行
一般模式 使用/cpp 回车 找到了cpp
一般模式下 在光标所在行,直接点yy 复制当前行内容到缓存中 nyy 复制光标所在行开始的n行 yy和p结合使用p 相当于粘贴功能
一般模式下 小写字母u 撤销(支持多次)
一般模式下 crrl+r 反撤销(支持多次)
一般模式下 点小写字母dd 删除光标所在行内容
一般模式下 点小写字母ndd 删除光标所在行后的n行
底行模式下 :3,6d 回车 从第三行删除到第六行内容
底行模式下 整个文件字符2替换字符1 %s/字符1/字符2/g
光标所在行字符2替换字符1 s/字符1/字符2/g
用户管理
centos系统是一个多用户系统
用户分为三类:
超级用户(root) 用户id为 0
伪用户 用户id为1-499,虽然存在,但是不能用户登录
普通用户 用户id为500-60000
用户信息存放位置: /etc/passwd
查看该文件 cat /etc/passwd
文件内容解释(linux系统下,一般的配置文件分隔符使用:):
root:x:0:0:root:/root:/bin/bash
...
admin:x:500:500:admin:/home/admin:/bin/bash
详解:
用户名 x密码占位符 用户ID 用户所属主组ID 用户描述(用户别名) 宿主目录 命令解析器
创建用户
语法:
useradd -u 用户ID -g 主组名称 -G 用户其他组名称(可以使用,隔开) -c 用户描述(别名) 用户名
实例(只能是root用户操作):
useradd -u 666 -g root -G sys,users,admin -c 'newUser' uqy97a
查看用户所属组
groups uqy97a
查看用户信息文件:
cat /etc/passwd
最简单的方式创建用户
useradd uqy97b
useradd uqy97c
useradd uqy97d
useradd uqy97e
useradd uqy97f
为了后面切换用户,要给用户设置密码:
语法:
passwd 用户名称
实例:
passwd uqy97a
passwd uqy97c
修改用户
修改用户登录名字
usermod =user modify
语法:
usermod -l 修改后的用户名称 修改前的用户名称 (只是修改登录名称,宿主目录不会改变)
实例:
usermod -l uqy97b1 uqy97b
修改用户的锁定状态
usermod -L uqy97c -L(lock)
usermod -U uqy97c -U(unlock)
删除用户(已经登录的用户无法删除)
语法:
userdel -r 用户名称 (-r如果不加,从passwd中删除用户信息,但/home下该用户的目录依然存在,-r 连同/home目录一起删除)
实例:
userdel uqy97f
查看结果:
cat /etc/passwd
ls /home
userdel -r uqy97e
查看结果:
cat /etc/passwd
ls /home
切换用户
su 用户名(root用户向普通用户切换,不需要密码,但普通用户切换到root或者向其他普通切换,都需要密码)
设置密码语法:
passwd 用户名称
实例:
passwd uqy97a
passwd uqy97c
切换用户实例:
su uqy97a 不需要密码
su root 需要密码
su uqy97a
su uqy97c 需要密码
组管理
centos系统存在多个组
组信息存放位置:/etc/group
查看该文件 cat /etc/group
文件内容:
root:x:0:
admin:x:500:
详解:
组名称 组密码占位符 组id 组内用户列表
组的添加
语法:
groupadd gqy97a
实例:
groupadd gqy97a
groupadd gqy97b
查看结果
cat /etc/group
组的删除
groupdel gqy97b
查看结果
cat /etc/group
时间(修改时区,修改时间,同步网络时间)
查看当前系统时间
date
修改时区
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
修改当前系统时间
date MMDDhhmmYYYY
实例:
date 052510552018
查看
date
date -s 'yyyy-MM-dd HH:mi:ss'
实例:
date -s '2019-06-25 11:56:00'
查看
date
使用网络同步当前时间
查看当前系统中ntpd 服务是否开启
service ntpd status
没有开启
使用网站同步网络时间
ntpdate pool.ntp.org
系统自动同步时间
service ntpd start
设置开机启动
chkconfig ntpd on
1,使用root用户,复制/etc/sudoers 文件的第91行修改为,想提升的用户名称
root ALL=(ALL) ALL
admin ALL=(ALL) ALL
2,切换到admin用户
sudo poweroff(关机)
问题
vi/vim a.txt
vi或者是vim 进入a.txt文件时,出现.swp文件提示,原因是有和文件名称一样的 .a.txt.swp文件
解决:
ls -a 查看所有文件
rm -rf .a.txt.swp
查看磁盘信息命令
fdisk -l
磁盘容量=柱面大小*柱面数量
柱面大小=扇面的最小单位*扇面数量*刺头数量
磁盘容量=扇面的最小单位*扇面数量*刺头数量*柱面数量
512 63 255 1305
当前系统磁盘容量: 10733990400
centos目录结构
ls / 查看根目录下有哪些文件或者目录
bin 可执行文件的目录
sbin 存放root用户可执行文件目录
etc 配置文件
boot 引导文件
home 普通用户宿主目录
lib 系统的核心文件
lib64 系统的核心文件
dev 设备目录
mnt 临时目录挂载点
root root用户的宿主目录
tmp 临时目录(比较重要文件不要往这里面方法)
var 经常发生变化的文件或者目录存放处 variable var a=1
usr 共享资源目录(一般软件安装,默认此目录)
文件管理
linux命令分类
内部命令 cd pwd... 外部命令 ls mkdir...
帮助命令
内部命令:help 命令名称
外部命令:man 命令名称
man mkdir
进入帮助文档后,点q键退出
创建目录
mkdir = make directories
语法:
mkdir [选项] 目录名称
实例:
mkdir qy97
创建多级目录实例:
mkdir -p spring/springmvc/config
mkdir -p aaa/bbb/ccc
学会看帮助文档
-p的解释:
-p, --parents
no error if existing, make parent directories as needed
删除目录
rmdir= remove directory
语法(只能删除空目录)
rmdir 目录名称
实例:
rmdir aaa/bbb/ccc
rmdir aaa/bbb
rmdir aaa
修改目录名称
mv = move
语法:
mv 要修改名称的目录 修改后的目录名称(不能存在)
实例:
mv qy97 qy971
复制目录
cp = copy
语法:
cp -r 目录名称
实例:
cp -r qy971 spring
ls /tmp
ls /var
cp -r /var/db/ /tmp
ls /tmp
ls /var
查看目录下的内容
ls = list
语法:
ls [目录名称]
实例:
ls 查看当前目录下的所有内容
ls /etc 查看etc目录下的所有内容(绝对路径)
ls /etc/sysconfig/network-scripts 查看/etc/sysconfig/network-scripts目录下的所有文件
ls spring/ 当前目录下存在spring可以使用相对路径查看
ls spring/springmvc
-a 查看目录下所有的文件,包括隐藏文件
-a, --all
do not ignore entries starting with .
-l 以长格式显示目录下的所有文件(显示文件或者目录的详细信息)
ls -l 可以简化为 ll
-t 按更新时间倒叙排序显示目录下的内容
ls -a /etc
ls -l /etc
ls -l -t /etc 等同于 ls -lt /etc
切换目录
cd = change directory
语法:
cd 目录名称
实例:
cd 什么参数都要,切换到当前用户的主目录
su admin 切换普通用户
cd 进入普通用户主目录
pwd 输出结果为/home/admin
cd .. 切换到上级目录
cd ../../ 切换到上级的上级目录
cd spring 切换相对路径
cd spring/springmvc
cd /etc/ 切换绝对路径
cd /etc/sysconfig
创建文件
touch 文件名称
实例:
touch spring.xml
touch spring/springmvc/config/springmvc.xml
touch /tmp/spring.xml
复制文件
cp 文件名称 目标位置(目标位置不存在,相当于复制后重命名)
实例:
cp spring.xml spring
cp spring.xml springmvc.xml
cp springmvc.xml spring/springmvc/
cp /root/spring.xml /var/log/
ls /var/log
cp 如果是目录的话,需要加上 -r
剪切文件(移动文件)
mv 文件名称 目标位置
实例:
mv spring.xml qy971/ 移动spring.xml到qy971目录下
mkdir /tmp/mydir
mv /root/qy971/spring.xml /tmp/mydir/
ls /tmp/mydir/
删除文件
rm =remove
实例:
touch a.txt b.txt c.txt 创建多个文件
rm a.txt 带提示的删除
rm -f b.txt -f =force 强制删除不带提示
rm -rf qy971 -r =resursive 递归强制删除
总结:
无论是文件或者是目录,都可以使用
rm -rf 文件/目录
修改文件名称
mv qy97.txt qy97.log qy97.log一定不是一个目录
查看文件内容
查看整个文件内容
语法:
cat 文件名称
实例:
cat install.log
cat /etc/hosts
分页查看文件内容
less 文件名称
more 文件名称
实例:
less install.log
more install.log
enter键一行一行查看
空格键一页一页查看内容
ctrl+f 下一页
ctrl+b 上一页
less和more一点区别,less 可以使用/ 查看具体内容 more不可以
q 退出
查看文件的前n行
语法:
head [-n] 文件名称
实例:
head HelloWorld.java 默认查看HelloWorld.java的前10行
head -1 HelloWorld.java
head -11 HelloWorld.java
查看文件的后n行
语法:
tail [-n] 文件名称
实例:
tail HelloWorld.java
tail -1 HelloWorld.java
tail -5 HelloWorld.java
重要用法 -f 实时监控HelloWorld.java的尾部:
在一个窗口使用下面命令,产生阻塞,一直监控 HelloWorld.java的尾部:
tail -f HelloWorld.java
在链接一个新窗口,执行下面命令,观察第一个窗口的变化:
date >> HelloWord.java
向文件中写入或者追加内容
echo 'hello world' linux向控制台打印 相当于java中的System.out.println("hello world");
js 中打印 alert 'hello world' oracle 中打印 dbms_output.putline('hello world');
>> 代表追加 在原有内容后面继续添加 > 代表写入 覆盖原有内容
echo 'hello world' >> HelloWord.java 把hello world 追加到HelloWord.java 的尾部
date >> HelloWord.java 把当前时间追加到HelloWord.java 的尾部
软硬链接
ln = link make links between files
语法:
软链接
ln -s 源文件 链接名称
实例:
ln -s HelloWord.java hw.lnk 给HelloWord.java创建了一个快捷方式,名字为hw.lnk
cat hw.lnk 软链接可用
rm -rf HelloWorld.java
cat hw.lnk 软链接不可用
硬链接
ln -d 源文件 链接名称
实例:
ln -d HW.java hwa.lnk 给HW.java创建了一个硬链接,名字为hwa.lnk
rm -rf HW.java
cat hwa.lnk 硬链接正常使用
打包压缩(解压缩)
压缩和解压的,有两个命令,只能对文件操作,不能操作目录
gzip
bzip2
tar 打包(目录) 压/解缩 选择上面两种方式
tar的option:
-c create 创建压缩
-t list 查看压缩
-x extract 解压缩
-z gzip 使用gzip方式进行压/解缩
-j bzip2 使用bzip2方式进行压/解缩
-v verbose 压/解缩 显示压缩/解压的目录和文件
-f file 文档名称
-C directory 指定解压的目录路径
打包压缩
语法:
tar -c -z/j -v -f 压缩后的名称 要压缩的文件或者目录
实例:
tar -czvf spring.tar.gz spring
tar -czf springa.tar.gz spring
tar -cjvf spring.tar.bz2 spring
查看压缩包
语法:
tar -t -z/j -v -f 压缩后的名称
实例:
tar -tzvf spring.tar.gz
tar -tjvf spring.tar.bz2
解压缩
语法:
tar -x -z/j -v -f 压缩后的名称 -C 解压后的目录 -C(如果省略,默认当前目录)
实例:
tar -xzvf springa.tar.gz -C /var
ls /var
tar -xjvf spring.tar.bz2 -C /var/spring
ls /var/spring
文件管理
统计文件内容
wc=word count
语法:
wc [option] 文件名称
实例:
wc a.log 统计a.log中有几行,几个单词(用空格分割),几个字符(包括换行和空格)
wc -l a.log 统计行数
wc -w a.log 统计单词
wc -c a.log 统计字节数
wc -m a.log 统计字符数(一个中文字符,编码格式是utf-8,占三个字节)
wc /etc/hosts 绝对路径
查找文件
语法:
find [文件目录] -name '*关键字*'
实例:
find -name "*.log*" 在当前目录下查找名字中含有.log的文件
find /etc -name '*.pp*' 在etc 目录下(子孙目录也包括)查找文件名称含有.pp的文件,并显示
| 在命令中解释为 管道符 可以链接两个linux命令,第一个命令的执行结果为后面命令使用
find /etc -name '*.pp' | wc -l 在etc 目录下(子孙目录也包括)查找文件名称含有.pp的文件 ,并且统计行数
find /etc -name '*.pp' > a.log 输出结果写入a.lot文件中
wc -l a.log 统计a.log有几行
vim a.log
:set nu
点击大写G,到文件末尾
查找文件内容
grep = global(regexp 正则表达式) regular expression print
grep = global search regular expression(RE) and print out the line
语法:
grep 关键字 文件名称
实例:
grep .pp a.log 在文件a.log中查找含有.pp的行,并显示
grep 0.0 /etc/hosts 绝对路径 在hosts文件找0.0
grep .pp a.log | wc -l 查找并统计行数
grep 0.0 /etc/hosts | wc -l
权限管理
linux系统中分为四种角色
u=user 当前用户 g=group 同组用户 o=other 其他用户 a=all 代表所有用户
三种权限
r=read 可读 w=write 可写 x=execute 可执行
通过ls -l(ll)查看文件或者目录的权限
ll a.log
-rw-r--r--. 1 root root 16003 Jun 27 09:20 a.log
分析第一部分
- rw- r-- r--
文件类型(一共三种,-文件 d目录 l软链接) 当前用户拥有的权限 同组用户拥有的权限 其他用户拥有的权限
改变权限方法1:
chmod =change mode
语法:
chmod [角色(可组合)]+/-[权限(可组合)] 文件或者目录名称
实例:
ll a.log
chmod u+wx a.log 为a.log的当前用户角色添加 可写和可执行的权限
ll a.log
chmod g+wx a.log
ll a.log
chmod o+wx a.log
ll a.log
chmod a-rwx a.log
ll a.log
chmod a+rwx a.log
ll a.log
改变权限方法2:
语法:
chmod (0-7)的数字组合 文件或者目录名称
实例:
chmod 777 a.log
chmod 000 a.log
chmod 456 a.log
把0-7的十进制转换为三位数字表示的二进制
十进制 二进制
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111
8 1000 linux权限系统中,权限一共就三种,所以最多就到7
计算机底层1为true 0为false
chmod 7 7 7 a.log
chmod 111 111 111 a.log
chmod 0 0 0 a.log
chmod 000 000 000 a.log
chmod 4 5 6 a.log
chmod 100 101 110 a.log
r-- r-x rw-
chmod 321 a.log
-wx-w---x
系统进程管理
查看进程
ps = process
ps = report a snapshot of the current processes.
语法:
ps [选项]
实例:
ps -ef 全格式显示当前系统下的所有进程
常用筛选进程:
ps -ef | grep firefox 从所有进程中查找含有firefox进程
ps -ef | grep java 从所有进程中查找含有java进程
ps -ef | grep firefox |grep -v grep 从所有进程中查找含有firefox进程,去除自身进程
结束进程
语法:
kill [option] 进程名称或者id
实例:
kill -9 5069 根据上面命令查找进程ID 强制杀死进程
查看任务管理器
top 详细解释参考帖子
https://www.cnblogs.com/sbaicl/articles/2752068.html
q 退出
定时任务
语法:
crontab [option]
实例:
crontab -l 查看当前系统的定时任务
crontab -e 创建定时任务
创建一个定时任务,每隔一分钟向tomcat.log中写入当前时间
touch tomcat.log
pwd 查看当前目录位置
crontab -e 编辑下面内容,根vim一样操作
*/1 * * * * date >> /root/tomcat.log 每隔一分钟向tomcat.log中写入当前时间
:wq 保存退出
每过一分钟,查看结果
cat tomcat.log
详细解释定时文件中的五个*的意思
* * * * * 执行的任务
分钟0-59 小时0-23 日(1-31) 月(1-12) 周(0-6)
其他解释:
/ 每隔多久
* */2 * * * date >> tomcat.log 每隔2个小时 执行日期写入操作
- 时间段
0-5 * * * * date >> tomcat.log 每个小时的0-5分钟, 执行日期写入操作
, 时间点
* 0,8,9,10 * * * date >> tomcat.log 每天的0点,8点,9点和10 执行日期写入操作
5 * * * * ls 指定每小时的第5分钟执行一次ls命令
30 5 * * * ls 指定每天的 5:30 执行ls命令
30 7 8 * * ls 指定每月8号的7:30分执行ls命令
30 5 8 6 * ls 指定每年的6月8日5:30执行ls命令
30 6 * * 0 ls 指定每星期日的6:30执行ls命令
30 6 [8-11] * * ls 指定每月的8号到11号的6:30执行ls命令
30 6 8,11 * * ls 指定每月的8号和 11号的6:30执行ls命令
crontab -r 删除定时任务
https://www.cnblogs.com/suifengbingzhu/p/4538143.html
shell编程
概念:当命名不在命令行执行,放到文件中执行,那么该文件就是shell脚本
shell脚本的编写:
1,创建脚本,最好是.sh结尾,让别人知道创建的文件是脚本
touch 脚本名称.sh
2,在脚本的第一行声明解析器
第一行代码:#!/bin/bash
3,编写脚本业务
# 注释内容
4,让脚本可以执行
chmod u+x 脚本名称
5,执行脚本
./脚本名称
bash 脚本名称
第一个实例:
hello.sh
内容:
#声明命令解析器
#!/bin/bash
#打印
echo 'hello shell脚本...'
第二个实例:
编写脚本,打包任务目录或者是文件,打包成功后删除原来文件或者原目录,如果打包错误,错误写入错误日志文件中
vim tar.sh
复制下面内容:
#!/bin/bash
#讲解变量和位置变量的用法
#定义目录名称 $1 接收脚本传入的第一个参数
dirName=$1
#定义打包后的文件名称 $2接收脚本传入的第二个参数
fileName=$2
#执行打包 ${变量名称} 获取已经定义的变量值{}可以省略 $变量名称
# 2标准错误 >error.log 把打包的错误信息写入到error.log里面
# && 当前一个命令执行成功时,后面命令才会执行 ||当前一个命令执行失败,才会执行后面命令
tar -czvf ${fileName}.tar.gz $dirName 2>error.log && rm -rf $dirName
chmod 777 tar.sh
操作log1 不动原来目录
cp -r /var/log /var/log1
cp -r /var/log /var/log2
执行脚本:
./tar.sh /var/log1 log1_bak
ls 查看结果
ls /var/
tar -tzvf log1_bak.tar.gz 查看打包后的目录
shell编程
if else用法
#!/bin/sh
# echo 打印 ""和''的区别 ""能正确解析$或者其他标示符,''写什么就打印什么东西
echo "你输入的参数为:$1"
if [ $1 == 1 ]; then
echo '你若安好,便是晴天'
else
echo '你若安不好,便要挨打'
fi
if else if ...else用法
#!/bin/bash
echo "你输入的参数为:$1,不同输入可以得到不同的名人名言"
if [ $1 == 1 ]; then
echo '马云说:让天下没有难做的生意'
elif [ $1 == 2 ]; then
echo '马化腾说:用心创造快乐'
elif [ $1 == 3 ]; then
echo '董明珠说:让世界爱上中国造'
elif [ $1 == 4 ]; then
echo '刘强东说:我是老牛,喜欢嫩草'
else
echo '别人说的再好,有用的都是自己努力非都。。。'
fi
for 循环
#!/bin/bash
for (( i=1; i<=10; i++ ))
do
echo "结果为:$i"
done
echo '------------------------'
# ` 间隔符
for i in `ls /root/shelldir`
do
echo "该目录的内容:$i"
done
echo '-----------------------'
for i in a b c aa bb cc 1 22 333
do
echo "$i"
done
echo '--------------------'
for i in {1..10}
do
echo $i
done
while 循环
#!/bin/bash
#定义整型变量
declare -i j=1;
declare -i s=0;
echo "你输入第10个参数是:${10}"
while (( j<=$1 ))
do
# let 计算
let s+=j;
let j++;
done
echo "1-100的和为:$s"
软件安装和维护
rpm 早期 redhat package manager
现在 rpm package manager
rpm安装的格式:
软件名称-版本号-适用平台.rpm
jdk -8u151 -linux-x64.rpm
语法:
rpm [option] *.rpm *任意的rpm软件
实例:
安装(卸载)jdk
mkdir soft
#使用下载好的rpm包 或者 wget 下载地址
java -version #看当前环境有没有安装jdk
rpm -ivh jdk-8u151-linux-x64.rpm ####-i 安装install vh 以###的方式显示安装进度
java -version #发现已经安装
rpm -qa | grep jdk #### rpm -q=query -a=all rpm -qa 查询所有的已经安装软件 grep 从所有安装软件中查找含有jdk的
rpm -e jdk1.8-1.8.0_151-fcs.x86_64 ####-e erase 卸载,上一步的查询结果
rpm -qa | grep jdk 或者java -versoin
echo $JAVA_HOME 仍然没有,JAVA_HOME需要自己配置
配置环境变量:
vim /etc/profile # profile文件就是环境变量的配置文件
在文件末尾黏贴如下内容:
export JAVA_HOME=/usr/java/jdk1.8.0_151
export PATH=$JAVA_HOME/bin:$PATH
export ClASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
echo $JAVA_HOME 仍然没有,配置没有生效
让配置生效
source /etc/profile
echo $JAVA_HOME 出现路径,说明配置成功
rpm 软件维护工具的弊端:
安装d软件 d->c软件 c->b软件 b->a软件
连锁依赖,安装就非常的麻烦。。。先装a 再装 b....
yum 为了解决rpm的弊端,yum提供了一套#在线#分析依赖关系,提供一套软件安装方案,安装软件
实例:
安装(卸载)mysql
实例:
安装
yum -y install mysql # -y 免提示
卸载
yum -y remove mysql
mysql命令用户
打开mysql安装位置的bin目录,按shift+鼠标右键->在此处打开命令行
mysql -uroot -p12345 #123456是自己密码 回车
或者
mysql -u root -p 回车,输入密码 回车
show databases; #显示所有数据库
use test; #选择库
show tables; #显示该库下的所有表
describe dog; #显示表结构
或者 desc dog;
create table tb_test(id int primary key auto_increment,name varchar(20)); #创建表
desc tb_test;
alter table tb_test add age int(4); #为创建过的表添加列
desc tb_test;
alter table tb_test modify name varchar(200); #修改创建过的表的字段长度
desc tb_test;
alter table tb_test drop column age; # 删除列
desc tb_test;
create table tb_test1 select * from tb_test ; #快速表备份
show tables;
drop table tb_test1; #删除表
show tables;
tomcat的部署和操作
使用xftp把tomcat...tar.gz包传入到centos系统中
解压tomcat包到/usr/local下
tar -xzvf apache-tomcat-7.0.68.tar.gz -C /usr/local/
启动
进入到tomcat根目录
cd /usr/local/apache-tomcat-7.0.68/
./bin/startup.sh
如果失败,可以查看日志
cat logs/catalina.2019-06-28.log
在另外一个窗口实时监控日志文件的末尾
tail -f logs/catalina.2019-06-28.log
在当前窗口关闭tomcat
./bin/shutdown.sh
./bin/startup.sh
查看自己的ip地址
ifconfig
在浏览器输入 ip为上面查看结果
http://192.168.182.10:8080/