linux必备知识总结
linux基础命令
ls命令
ls命令
的作用是列出目录下的内容
ls命令用法
-a 列出全部文件,包含隐藏的文件
-l 显示每个文件的详细信息
-h 以人性化的方式显示文件的大小,带上大小单位。需配合-l选项使用
ls命令举例
1 | ls -a / #列出根目录下所有文件 |
cd命令
cd命令
用于切换工作目录(change directory)
cd命令举例
1 | cd #切换到用户家目录下 |
pwd命令
pwd命令
可以查看当前工作目录的具体路径(print work directory)
pwd命令举例
1 | pwd |
mkdir命令
mkdir命令
可以创建新的文件夹(make directory)
mkdir命令用法
-p 级联创建,自动创建不存在的父目录
mkdir命令举例
1 | mkdir /home/sunday/test |
创建文件夹需要修改权限,普通用户只能在其HOME目录内创建新的文件夹!
touch命令
touch命令
用来创建一个新的文件
touch命令举例
1 | touch test.txt #在当前目录下新建一个文件test.txt |
tips:在linux中,文件使用
-
标识,文件夹使用d
标识,软链接使用l
标识
cat命令
cat命令
用来查看文件的全部内容
cat命令举例
1 | cat test.txt |
more命令
more命令
用来分页查看文件的内容,在文件内容过多时可以一页一页地查看。
- 空格键翻页
- q键退出查看文件
more命令举例
1 | more /etc/services |
cp命令
cp命令
用来复制文件或文件夹(copy)
cp命令用法
语法:cp 要复制的文件 复制到的文件
-r 复制文件夹时需带上这个参数
cp命令举例
1 | cp test.txt ./test222.txt |
mv命令
mv命令
用来移动文件或文件夹,也可以进行文件的重命名操作(move)
mv命令举例
1 | mv test.txt /home/sunday #文件移动 |
rm命令
rm命令
用于删除文件或文件夹
rm命令用法
语法:rm [-r -f] 参数1 参数2…
-r 删除文件夹
-f force强制删除,不需要进行确认
参数n 要删除的文件列表,空格隔开
which命令
每个命令本质上都是一个个的可执行程序,在linux中,可以使用which 命令
名称来查看命令本体可执行程序的位置。
which命令举例
1 | which cd #/usr/bin/cd |
find命令
find命令用来在某个路径下搜索指定的文件的位置,支持文件名搜索和文件大小搜索
find命令语法
find 搜索路径 -name "要查找的文件名"
或
find 搜索路径 -size +|-n[kMG]
find命令举例
1 | find / -name "test" |
全盘搜索需要root权限
find查找的文件支持通配符*
echo命令
echo
命令可以在命令行内输出指定内容
echo命令举例
1 | echo "Hello Linux" |
若输出内容包含空格等特殊符号,最好使用""包裹
重定向符 >
重定向符>
和>>
可以将左侧命令的结果,覆盖/追加
写入到右侧指定的文件中。例如
1 | echo "Hello Linux" > hello.txt |
再如
1 | ls > test.txt |
tail命令
tail
命令可以查看文件尾部的内容,也可以持续跟踪文件的最新更改。
tail命令语法
tail [-f -num] 查看或跟踪的文件名
tail命令举例
1 | ls / >> test.txt |
命令补充
vim命令
vim
命令可以对文本进行编辑
vim的三种模式
- 命令模式
- 插入模式 i ESC
- 底线模式 :wq
linux必备知识
linux目录结构
yum安装软件✅
yum是linux中一个rpm包管理器,可以自动化安装配置第三方软件,同时自动解决依赖问题。 注意:
- yum安装软件需要联网
- yum命令需要root权限
- yum命令安装软件相当于从"linux官方应用商店"下载安装软件。与我们自行上传安装包解压安装是有区别的
临时赋予普通用户root权限执行命令(需要先修改/etc/sudoers
文件):
1 | sudo 命令 |
yum命令用法
-y 自动确认,无需手动确认安装或卸载
install 安装
remove 卸载
search 搜索
yum命令举例
1 | yum search wget |
不同系统常见的软件安装包后缀
- windows .exe .msi
- mac .pkg
- linux .rpm
tips:CentOS系统安装包.rpm使用yum包管理器,而Ubuntu系统安装包.deb使用apt包管理器。apt包管理器与yum包管理器用法基本一致,不再列举
systemctl服务管理✅
系统内置的服务举例
- NetworkManager 主网络服务
- network 副网络服务
- firewalld 防火墙服务
- sshd 安全的远程登录服务
systemctl命令
systemctl命令常用来控制一些软件(服务)的启动、停止、开机自启。
systemctl命令用法
start 启动服务
stop 关闭服务
status 查看服务状态(是否已启动|running dead)
enable 开机自启
disable 禁止开机自启
systemctl命令示例
1 | systemctl status firewalld #查看防火墙运行状态 |
再比如
1 | yum install -y httpd #安装apache服务器软件 |
可以看出,systemctl命令不仅可以管理系统内置的服务,也能够管理第三方软件所提供的服务,当然,前提是软件注册服务交给systemctl管理,部分软件需要手动添加服务。
ln软链接
概念
linux系统的 软链接 类似Windows系统中的快捷方式,他可以将文件链接到其他位置。注意:
- 与文件、目录用-、d标识类似,使用
l
标识一个软链接 - 软链接和快捷方式一样,只是一个逻辑指向,并不是物理的移动或复制
ln命令创建软链接
ln命令用法
语法:ln -s 被链接的文件 软链接位置
-s 创建软链接
ln命令举例
1 | ln -s /etc/yum.conf ./yum.conf #在当前目录下创建一个名称为yum.conf的软链接,指向/etc/yum.conf |
date日期和时区
date命令
date命令
可以查看当前日期和时间
date命令用法
语法:date [-d] [+格式化字符串]
-d 对日期进行加减操作
+格式化字符串参数列表
- %Y 年
- %y 年份后两位数字
- %m 月份(01-12)
- %d 日(01-31)
- %H 小时(00-23)
- %M 分钟(00-59)
- %S 秒(00-59)
- %s 时间戳,自1970-01-01 00:00:00到现在的秒数
date命令举例
1 | date #直接使用date,将采用默认格式显示当前日期和时间 |
tips:不需要死记这些参数,知道它们取的是英文单词首字母就可以了~
再比如
1 | date -d "+1 day" #按默认格式显示后一天的日期 |
类似的时间标记有year、month、day、hour、minute、second
linux系统时区的修改
默认通过date查看的日期时间并不是很准确,我们可以修改时区UTC为上海CST,来使日期时间更准确:
1 | rm -f /etc/localtime |
使用ntp进行时间同步和校准
ntp程序可以帮我们自动去校准系统时间,下载并启动ntp服务后会 定期 的帮我们联网校准系统时间
1 | yum -y install ntp |
当然,我们也可以手动校准(需要root权限):
1 | ntpdate -u ntp.aliyun.com #通过阿里云提供的服务网址配合ntpdate命令校准时间(安装ntp后会附带这个命令) |
IP地址与主机名
ifconfig命令
ifconfig
命令可以查看本机的IP地址,一般CentOS系统的网卡名称默认为ens33
如果ifconfig命令无效,可以执行以下命令安装:
1 | yum -y install net-tools |
特殊的IP地址
- 127.0.0.1 指代本机
- 0.0.0.0 可以指代本机,确定端口绑定关系,在放行规则中表示任意IP访问
主机名
每台电脑都有一个主机名(可以重复),可以使用hostname
命令查看本台计算机的主机名
1 | hostname #centos7 |
hostname可以查看主机名,而hostnamectl
可以修改主机名:
1 | hostnamectl set-hostname 主机名 |
域名解析✅
所谓域名解析,就是将域名或主机名映射到对应的IP地址上,方便我们找到指定计算机.
当在浏览器中访问一个域名(主机名)时,会先在客户端本机中查找hosts
文件,在其中查找映射关系,找不到的情况下,才会请求DNS域名解析服务器帮忙解析。这也是为什么修改本机hosts文件后可以得到与原来不一样的地址解析结果。
不同系统hosts文件路径
windows:C:\windows\system32\drivers\etc\hosts
linux:/etc/hosts
补充:如何在虚拟机中配置linux主机的固定IP地址?
- 第一步,设置IP地址范围
打开VMWare 》 编辑 》虚拟网络编辑器 》选择VMnet8,设置子网IP、子网掩码 》NAT设置 》设置网关IP。例如:
- 子网IP 192.168.88.0
- 子网掩码 255.255.255.0
- 网关IP 192.168.88.2
- 第二步,修改网卡配置文件,设置IP地址和网关
编辑/etc/sysconfig/network-scripts/ifcfg-ens33
,在末尾添加:
1 | IPADDR="192.168.88.130" #设置的IP要在子网IP范围内 |
同时,将BOOTPROTO的值dhcp修改为static
,即静态IP
- 重启网卡
1 | systemctl restart network |
- 使用
ifconfig
命令查看IP地址,此时不管虚拟机是否关机重启,IP地址都不会改变
设置好linux虚拟主机的固定IP地址后,我们使用XShell远程连接软件连接linux虚拟机时就不需要老是更改IP地址了
网络请求和下载✅
ping命令
ping命令
用于检查服务器或网络是否可以连通
ping命令用法
语法:ping [-c num] ip地址或主机名
-c 指定ping的次数
ping命令举例
1 | ping baidu.com #不指定次数,将一直ping,直到ctrl+C停止 |
wget命令
wget
是非交互式的文件下载器,可以在命令行内下载网络上的文件
wget命令用法
语法:wget [-b] url
-b后台下载,将日志写入wget-log文件
wget命令举例
1 | wget http://archive.apache.org/dist/.../hadoop-3.3.0.tar.gz |
注意,无论下载是否完成,都会在当前目录下先生成一个即将要下载的文件,如hadoop-3.3.0.tar.gz
wget命令和yum命令的区别:
- wget用来下载网络上的文件,只要url有效就可以下载,但需要自行寻找下载地址;
- yum是从“软件商店”上下载,只能下载yum管理器中存在的文件
curl命令
curl
的作用与python中的requests模块相同,都是用来发起一个http请求,然后得到服务器的响应。服务器响应回来的可以是HTML源码,也可以是提供的要下载的文件
curl命令用法
语法:curl [-O] url
-O 指定保存下载的网络文件
url 指定要请求的网络地址
curl命令举例
1 | curl cip.cc #cip.cc网站可以响应给我们的IP地址,运营商等信息 |
端口相关✅
概念
端口是设备与外界通讯交流的出入口,类似一个房子的门。端口可以分为两大类:
- 物理端口:又称接口,是实际存在的,如USB接口,RJ45网口等
- 虚拟端口:是计算机内部的端口,是不可见的,是操作系统和外部进行交互的大门
tips:通过IP+端口可以锁定一个具体的程序或进程!
端口分类规范
- 公认端口(1~1023): 专门给系统内置或者知名的一些程序使用,如SSH的22端口,HTTPS服务的443端口
- 注册端口(1024~49151): 用于松散地绑定一些程序或者服务,可以自定义,如MySQL的3306端口,Tomcat的8080端口
- 动态端口(49152~65535): 通常不会固定绑定一个程序,而是当程序对外进行网络链接时自动临时分配和使用
nmap命令
nmap
可以查看端口占用情况
nmap命令举例
1 | yum -y install nmap |
netstat命令
我们也可以使用netstat
命令查看端口占用
1 | yum -y install net-tools |
进程管理✅
概念
每一个程序在运行的时候,会被操作系统注册为系统的一个进程,方便操作系统管理。操作系统会为每一个进程分配一个独有的进程号,也称PID
。
ps命令
在windows系统中,可以通过任务管理器查看正在运行中的进程。
在linux系统中,可以通过ps
命令查看运行中的进程相关信息,包括
- UID 进程所属的用户
- PID 进程号(唯一标识)
- PPID 父进程号,启动此进程的其他进程
- C 该进程的CPU占有率(%)
- TIME 该进程累计占用CPU的时间,注意不是进程运行时间
- CMD 进程对应的名称,启动路径或启动命令
ps命令用法
语法:ps [-e -f]
-e:显示所有的进程
-f:显示每个进程的全部完整信息
ps命令示例
1 | ps -ef #查看在操作系统中运行的所有进程信息 |
kill命令
在windows任务管理器内,选中一个进程,右击结束进程即可杀死一个进程
在linux系统中,我们使用kill
命令来杀死一个进程
kill命令用法
语法:kill [-9] PID
-9 强制关闭
kill命令举例
1 | ps -ef | grep tail |
主机状态监控
top命令
top命令用来打开一个linux任务管理器,可以查看CPU、内存的使用情况,进行系统资源监控
- top默认5秒刷新一次页面信息
- ctrl+C或Q键可以退出top界面
top命令举例
1 | top |
top命令扩展
- -p PID 只显示某一个进程资源占用情况
- -d 设置刷新时间,默认5s
- -c 显示产生进程的完整命令路径,默认只显示进程名
- -n 指定刷新次数,top界面会在刷新n次后退出
- -i 不显示正在休眠的进程,只显示当前正在运行的进程
- -u 用户名 查看特定用户启动的进程
在top界面中,也可以直接按键来调整显示:
- c 显示产生进程的完整命令
- m 按进程占用内存大小排序
- p 按进程占用CPU大小排序
- e 切换进程内存显示单位,如k m g
- i 不显示正在休眠的进程,只显示当前正在运行的进程
df命令
df命令
可以查看磁盘空间占用
1 | df -h |
iostat命令
iostat命令
用来查看每秒磁盘写入和读出的字符数
1 | iostat [-x] num1 num2 |
sar -n DEV
sar -n DEV 可以查看网卡(如ens33)每秒发送和接收的数据包大小,监控网络情况
1 | sar -n DEV num1 num2 |
网络状态主要关注以下几个指标:
- rxKB/s 每秒接收的数据包大小,单位KB
- txKB/s 每秒发送的数据包大小
- IFACE 本地网卡接口的名称
环境变量✅
概念
环境变量是操作系统在运行的时候记录的一些关键性的信息,这些信息用来辅助系统运行。在linux系统中执行env
命令可以查看当前系统中记录的所有环境变量
1 | env | grep PATH |
linux中的一系列命令本质上其实都是一个个的可执行程序。比如,cd
命令的本体其实就是/usr/bin/cd
这个程序文件。
通过在PATH环境变量中添加某个程序的可执行路径,就可以在任何目录下使用这个程序(命令)。
当执行某个命令时,操作系统会在PATH环境变量中查找是否存在该命令对应的可执行程序,若存在则执行,若不存在会提示找不到。
$符号的使用
在linux系统中,我们可以使用$
符号去取到环境变量中记录的值
$符号使用举例
1 | echo $PATH # 输出PATH环境变量的值 |
在linux中配置环境变量
在linux系统中,用户可以自定义环境变量的键和值。
export命令临时设置环境变量
语法:export 变量名=变量值
export命令举例
1 | export MYNAME=123 |
tips:临时设置的环境变量值会在下次远程连接或者linux虚拟机重启时失效
永久设置环境变量
- 在当前用户的
~/.bashrc
文件中配置的环境变量,仅针对当前用户有效 - 在系统的
/etc/profile
文件中配置的环境变量,对所有用户有效 - 配置后使用
source 文件名
来使配置立即生效
举例:
1 | vim /etc/profile # 在末尾添加 export MYNAME=sunday 保存退出 |
配置PATH环境变量时要注意,不要直接使用PATH=xxx来配置,这样会导致原来PATH中配置的变量值被覆盖丢失,正确的做法是:
export PATH=$PATH:xxx
linux上传和下载
使用FinalShell
使用FinalShell
软件可以方便地远程连接云服务器或linux虚拟机,同时也可以方便地进行文件的上传和下载操作。
使用命令行
如果不使用FinalShell的图形界面传输文件,还可以使用命令行方式:
1 | yum -y install lrzsz |
- r: receive接收
- s: send发送
打包和压缩✅
概念
打包(归档)仅仅是将多个文件合并在一起,形成一个文件,归档文件大小是所有文件的和。而压缩的目的是为了减少文件的体积大小,减少占用空间,方便传输。
在Linux系统中,常见的压缩文件后缀有.gz和.zip两种。
tar命令
tar命令用法
tar [-c -v -x -f -z -C] 要打包或解打包的文件
-c 创建压缩文件
-v 显示压缩、解压缩的过程
-f 指定要压缩或解压缩的文件,必须在所有选项的最后
-x 解压文件
-z gzip模式,默认普通的.tar格式
-C 解压到
tar命令举例
1 | #打包或压缩 |
zip命令
在linux系统中,也可以创建.zip格式的压缩包,这需要使用zip命令:
1 | zip test.zip 1.txt 2.txt 3.txt |
与之相对,unzip命令用来解压.zip格式的压缩文件:
1 | unzip test.zip #解压到当前目录 |
1.tar包就是所说的归档文件,gz和zip才是真正的压缩文件
2.注意解压的文件会覆盖同名文件
用户和权限✅
root用户
root用户拥有系统最大的权限
普通用户的拥有其HOME目录的所有权限,但在其他目录中通常只有读权限和执行权限,而没有写入权限
su切换用户
我们可以通过su
命令来切换不同的用户。(使用root用户切换到其他用户不需要密码)
su命令用法
语法:su [-] 用户名
-可选,在切换用户后加载环境变量,建议带上exit
或 ctrl+D
:退回上一个用户
su命令语法
sudo提权
sudo
命令可以临时以root的身份执行一条命令,在执行完毕后,恢复普通用户权限。
不是所有普通用户都可以使用sudo命令提权,只有经过root用户认证的普通用户才能够sudo提权。root认证方式:
以root身份执行visudo
命令打开编辑/etc/sudoers
文件,在文件末尾添加:
1 | 用户名 ALL=(ALL) NOPASSWD: ALL |
sudo命令举例
1 | [root@CenOS7 ~]# visudo |
用户和用户组✅
概念
在linux系统中,可以配置多个用户,也可以配置多个用户组。针对某一文件,既可以控制用户的权限,也可以控制用户组的权限。
另外,一个用户可以加入多个用户组中。
用户管理
以root身份执行
1 | useradd [-g -d] 用户名 |
用户组管理
以root身份执行
1 | groupadd 用户组名 |
getent命令
getent
命令可以查看当前系统中有哪些用户组或用户:
1 | getent passwd #查看所有用户 |
权限管理✅
文件权限
文件的权限说明
drwxr-xr-x 2 root root 4096 Dec 10 11:46 linux
d文件夹,-文件,l软链接
rwx 文件所属用户权限|u
r-x 文件所属用户组权限|g
r-x 其他用户权限|o
权限表示
- r 读权限,如ls,cat
- w 修改权限,如mkdir,rm,vim
- x 执行权限,如cd,
chmod修改权限
文件的拥有者或root用户
可以使用chmod
命令去修改文件的权限。
chmod命令用法
语法:chmod [-R] 权限 文件名
-R 对文件夹中的全部文件一并修改权限
chmod命令举例
1 | chmod u=rwx,g=rx,o=x 1.txt #或者 chmod 751 1.txt |
chown修改所属用户
与chmod命令不同,只有root用户
可以使用chown
命令去修改文件所属的用户和用户组。
普通用户不能够随意把自己的文件修改成别人的。
chown命令用法
语法:chown [-R] [用户:用户组] 文件名
-R 对文件夹中的全部文件一并修改
chown命令举例
1 | chown root 1.txt #可以只修改所属用户 |
linux补充
软件安装部署
网络适配器
虚拟机中桥接模式和NAT模式的区别:
- 桥接模式:直接接入windows当前的网络环境,当windows本身网络不稳定时,虚拟机的网络也不稳定,容易造成虚拟机IP地址的改变
- NAT模式:在windows系统中独立开辟一块新的网络空间供虚拟机使用,IP地址固定,无论windows是否接入外网,都可以访问虚拟机!(NAT模式仅能使windows本机和虚拟机连接,其他局域网内的也不行)
更改为NAT模式:
- 网络适配器 》选择NAT模式
- 虚拟网络编辑器 》更改设置 》VMnet8 NAT模式 》确定即可
重新初始化云盘
重新初始化云盘后将恢复到镜像的初始状态。
云盘所挂载的ECS实例为“停止状态”才能进行该操作
密钥对与远程连接
Workbench远程连接
- 网络与安全 》密钥对 》 创建密钥对 》输入密钥对名称 》确定 》将自动下载保存
keyname.pem
密钥对文件 - 绑定密钥对 》选择要绑定当前密钥对的实例 》确定
- 重启实例 》Workbench远程连接 》 SSH 》选择证书认证 》拖拽上传密钥对文件
keyname.pem
》连接
finalshell远程连接
-
网络与安全 》密钥对 》 创建密钥对 》输入密钥对名称 》确定 》将自动下载保存
keyname.pem
密钥对文件 -
绑定密钥对 》选择要绑定当前密钥对的实例 》确定
-
重启实例 》finalshell新建SSH连接 》输入服务器公网IP,认证方法选择公钥,上传私钥
keyname.pem
文件 》连接 -
一定要记得密钥对文件
keyname.pem
保存在那个文件夹下面 -
阿里云目前单台云服务器只支持绑定单个密钥对。若您选择已经绑定过其他密钥对的云服务器,新绑定的密钥对将会覆盖以前绑定的密钥对。
-
绑定/解绑密钥对需要在控制台重启ECS实例才能生效
-
Workbench远程连接是通过网页可以对ECS实例进行远程控制,支持复制粘贴文本,支持多操作系统用户登录同一台实例,支持可视化查看系统文件资源。
安装MySQL5.7
tips:安装操作需要root权限
由于MySQL并不在CentOS的官方仓库中,所以我们需要:
- 导入MySQL仓库的密钥
- 配置MySQLQ的yum仓库
- 配置yum仓库
1 | 更新密钥 |
- 使用yum安装MySQL
1 | yum安装Mysql |
- 启动MySQL并配置开机自启动
1 | systemctl start mysqld # 启动 |
-
修改root密码
- 查看MySQL的初始密码
1
2通过grep命令,在/var/log/mysqld.log文件中,过滤temporary password关键字,得到初始密码
grep 'temporary password' /var/log/mysqld.log- 登录
1
2mysql -uroot -p
执行完毕后输入刚刚得到的初始密码,即可进入MySQL数据库- 修改root密码
1
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码'; -- 密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc
-
扩展
- 配置root的简单密码
1
2set global validate_password.policy=0; # 密码安全级别低
set global validate_password.length=4; # 密码长度最低4位即可- 允许root远程登录,并设置远程登录密码
1
2
3
4
5# 第一次设置root远程登录,并配置远程密码使用如下SQL命令
create user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码!'; -- 密码需要符合:大于8位,有大写字母,有特殊符号,不能是连续的简单语句如123,abc
# 后续修改密码使用如下SQL命令
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
安装tomcat✅
tips:要安装tomcat,需要先安装JDK
下载JDK
- 点击前往JDK下载
- 选择并下载
jdk-8u351-linux-x64.tar.gz
==如果没有Oracle账户,注册一个就可以==
上传安装和配置JDK
- 使用finalshell远程连接虚拟机或云服务器,
拖拽上传
刚才下载好的JDK压缩包 - 解压缩到指定目录下
1 | tar -zxvf jdk-8u351-linux-x64.tar.gz -C /usr/local/software/ |
- 创建软链接(建议)
1 | ln -s /usr/local/software/jdk1.8.0_351 /usr/local/software/jdk |
- 修改系统环境变量,将JDK的bin目录添加到PATH环境变量中。编辑
/etc/profile
文件,在末尾添加:
1 | export JAVA_HOME=/usr/local/software/jdk #JDK安装路径 |
保存后使用source /etc/profile
命令使配置立即生效:
1 | source /etc/profile |
将JAVA_HOME/bin添加到PATH环境变量后,我们就可以在任意目录下执行其中的命令了
验证JDK是否安装配置成功
1 | java -version |
安装tomcat
tomcat建议使用非Root用户安装并启动,可以创建一个用户tomcat用以部署,提高安全性。(万一网站被黑,也拿不到root权限)
- 创建tomcat用户
1 | useradd tomcat |
- 直接联网下载
tomcat-10.0.27
安装包
1 | wget --no-check-certificate https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.27/bin/apache-tomcat-10.0.27.tar.gz |
==也可以先下载再上传==
- 解压
1 | tar -zxvf apache-tomcat-10.0.27.tar.gz -C /usr/local/software |
- 创建软链接(建议)
1 | ln -s /usr/local/software/apache-tomcat-10.0.27 /usr/local/software/tomcat |
- 修改权限
1 | chown -R tomcat:tomcat /usr/local/software/*tomcat* #在root用户下执行 -R修改文件夹中所有文件 |
验证tomcat是否安装成功
1 | cd /usr/local/software/ |
- 切换到tomcat用户(使用该用户去启动tomcat)
1 | su tomcat |
- 启动tomcat
1 | /usr/local/software/tomcat/bin/startup.sh |
- 检查8080端口
1 | netstat -anp | grep 8080 |
- 浏览器访问
http://虚拟机或云服务器IP:8080
。前提是放行防火墙放行8080端口:
1 | firewall-cmd --add-port=8080/tcp --permanent |
也可以直接关闭防火墙:
1 | systemctl stop firewalld # 关闭防火墙 |
tips:如果使用的是云服务器,在控制台添加安全组规则,允许入方向0.0.0.0任何IP访问8080/8080端口即可
刚才不经意间看到以前自己在本子上做的笔记,才一个学期,已经一点不认识了,终于明白了,学东西无论当时记得多清楚,随着时间也会忘记。而就算记在本子上,我也不会去看的。倒不如放在电脑里,放在网上。
所以,不管是在本子上,还是在网上,记笔记的时候,不要非得追求笔记好看,完美,每句话考虑很久。毕竟记笔记不是为了记笔记本身。
linux快捷键
- ctrl+C 强制停止正在运行的程序或取消正在输入的命令
1 | tail #直接输入tail会中断系统 |
1 | cd /a/b/c/d #ctrl+C清除输错的命令,重新输入 |
- ctrl+D 退出账户登录或某程序的专属页面(不能退出vim编辑)
1 | su git |
- history 查看输入过的命令列表(可结合grep对历史命令进行过滤)
1 | history | grep ch |
-
ctrl+R+内容 输入内容去匹配曾输入过的命令。回车直接执行,左右键得到命令方便修改
-
光标移动快捷键
- ctrl+A 跳到命令开头
- ctrl+E 跳到命令结尾
- ctrl+左 向左跳一个单词
- ctrl+右 向右跳一个单词
- ctrl+L 清空终端内容(相当于clear命令)