linux
随笔
安全组:用来开启端口映射 否则外部无法访问
获取公网ip地址,修改实例名称和密码 第一次需要重启 使用xshell 进行连接 你的密码:
war包直接丢到tomcat即可
jar包用java -jar执行
目录介绍
远程服务器
-
ls: 列出目录
ls -ll 目录的形式去打印
ls-lh 遍历详细信息,如权限,所属用户,创建日期,大小等等信息
-
cd /目录名 切换目录
cd ~回到当前的用户目录
- pwd:显示你现在所在的目录
- mkdir:创建一个新的目录
- touch 创建一个文件
递归创建目录 mkdir -p test/test
- rmdir:删除一个空的目录
- cp: 复制文件或目录
去旧文件目录下 cp 文件名 新文件夹
- rm: 移除文件或目录
-f 忽略不存在的文件 不会出现警告 强制删除
-r 递归删除目录
-i 互动 删除询问是否删除
- mv: 移动文件与目录,或修改文件与目录的名称
-f 强制
-u 只替换已经更新过的文件
ctrl 加滚轮 放大缩小字体
tar -zxvf 文件名 解压
clear 清屏
rm -rf 文件名 删除文件 危险 尽量不要用
tap键 可以自动匹配目录下存在的文件名 类似于自动补全代码
绝对路径:/usr/share/doc
相对路径:例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成:cd …/man
文件属性
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等:
- 当为[ d ]则是目录
- 当为[ - ]则是文件;
- 若是[ l ]则表示为链接文档 ( link file );
- 若是[ b ]则表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 );
- 若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )。
- [ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。
3、chmod:更改文件9个属性
chmod [-R] xyz 文件或目录
Linux文件属性有两种设置方法,一种是数字,一种是符号。
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
先复习一下刚刚上面提到的数据:文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
r:4 w:2 x:1
可读可写可执行 rwx 111 7
可读可写不可执行 rw- 110 6
例子:
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如当权限为:[-rwxrwx—] 分数则是:
- owner = rwx = 4+2+1 = 7
- group = rwx = 4+2+1 = 7
- others= — = 0+0+0 = 0
两种修改权限的方式
chmod 770 filename
chmod a+x,g+w fireame 意思是给所有的用户增加执行权限 给组用户增加写权限
a(all) u(user) g(group) o(other)
文件内容查看
Linux系统中使用以下命令来查看文件的内容:
- cat 由第一行开始显示文件内容 用来都文章和配置文件
- tac 从最后一行开始显示,可以看出 tac 是 cat 的倒着写!
- nl 显示的时候,顺道输出行号!看代码显示行号 常用
- more 一页一页的显示文件内容 翻页显示内容 空格翻页 enter换行
- less 与 more 类似,但是比 more 更好的是,他可以往前翻页!
- head 只看头几行
- tail 只看尾巴几行
硬链接和软连接
- 硬链接相当有文本链接 允许一个文件有多个路径 防止误删,相当于有一个备份
- 软连接相当于快捷方式 删除了源文件 快捷方式也访问不了
touch 创建文件
ln f1 f2 硬链接
ln -s f1 f3 软连接 f3显示蓝色的 f1被删除后 显示红色
Vim编辑器
查看编辑 保存内容 程序开发工具
Vim 文件名 创建一个文件 (没有就创建)
i 进入编辑模式
:wq 退出 w 保存 q 退出
:切换到底线命令模式 如果是编辑模式 需要先esc退出编辑模式
x 删除当前光标所在处的字符
l行数 c字符
数字加空格 快捷横向移动光标 数字加enter 快捷纵向移动光标
/work 向下寻找字符串 ?work向上寻找字符串 n搜素下一个 N搜索上一个
有感叹号 强制的意思
:set nu 显示行号 :set nonu 取消行号
linux账号管理
root zhangsan123456 lisi 创建一个用户
useradd -选项 添加用户 -m表示会自动创建一个用户的主目录
crud
增加用户 useradd -m 用户名 /etc/passwd 该文件下有添加用户的配置信息
-G 分配用户组 -m自动创建这个用户的主目录
删除用户 userdel -r fanshuai -r删除目录的时候连文件一起删除
修改用户 usermod 对应修改的内容 修改哪个用户 usermod -d /home/233 fanshuai 需要先把文件创建出来
切换用户 默认是root用户 sudo相当于以管理员身份运行
查看主机名 hostname 修改主机名 hostname 加名字
给用户加密码 passwd 用户名 linux输入密码不显示
锁定用户 cat /etc/passwd root下的用户 passwd -l fanshuai 锁定用户后就不能使用了
passwd -d fanshuai 删除用户
用户组的管理
groupadd fanshuai 添加用户组 /etc/group
groupadd -g 520 fanshuai 不设定就自增 编号代表权限级别
groupdel 用户组 删除用户组
groupmod 用户组 修改用户组
修改组id并重命名
group -g 666 -n new fanshuai fanshuai
切换用户组
$ newgrp root
用户组信息
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
磁盘管理
df(列出文件系统整体的磁盘使用量) -h 显示文件大小(用mb gb显示)Mounted on 挂载目录
du(检查磁盘空间使用量) -a 显示隐藏的文件 ctrl z 停止进程 -sm检查文件夹大小
mount /dev/fanshuai /mnt/fanshuai
将外部设备挂载在mnt目录下 来实现访问
umount-f 卸载 -f强制卸载
进程关系学习
ps 检查当前系统中正在执行的各种进程的信息
linux安装应用
插件安装
uname -r 查看内核
cat /etc/os-release 查看版本信息
kill -9 进程号 杀死进程
- 安装gcc
yum -y install gcc -y所有的提示默认操作都是y
yum -y install gcc-c++
- 宝塔面板安装
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
-
wget 链接 在线下载linux需要的安装包
-
xshell直接向服务器发送文件
- yum安装lrzsz工具:其命令为:yum -y install lrzsz
- rpm -qa|grep lrzsz 查看是否安装成功
防火墙的相关操作
没有防火墙的情况下
- 安装防火墙 yum install firewalld或者sudo dnf install firewalld
- sudo systemctl enable firewalld 启用防火墙
- sudo systemctl start firewalld 启动firewalld
- sudo firewall-cmd --state 查看防火墙的状态
- 查看防火墙状态 systemctl status filewalld
- 开启关闭重启命令 service firewalld start/restart/stop
- 检查服务器开启了那些端口 firewall-cmd --list-ports
- 开启某个端口 firewall-cmd --zone=public --add-port=9000/tcp --permanent
- 系统重启防火墙 systemctl restart firewalld.service
Linux安装jdk
jdkrpm安装 下载在home 文件上
- 首先确定有没有安装jdk rpm -qa | grep jdk
- 有的话yum -y remove 程序完整名
- 到达你下载jdk的目录
- 执行rpm -ivh jdk-8u191-linux-x64.rpm 安装rpm包
- java -version查看安装版本
- 配置环境变量 /etc/profile vim /etc/profile(最后一行)
JAVA_HOME=/usr/java/jdk名称
CLASSPATH=%JAVA_HOME%/lib;%JAVA_HOME%/jre/lib
PATH=%JAVA_HOME/bin;%JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME #导出
source /etc/profile #让Java环境生效
解压安装tomcat
tar -zxvf 压缩包的名字 bin目录下./startup.sh启动tomcat
安装redis
-
下载获得 redis-5.0.7.tar.gz 后将它放到我们Linux的目录下 /opt
-
/opt 目录下,解压命令 : tar -zxvf redis-5.0.7.tar.gz
-
解压完成后出现文件夹:redis-5.0.7
-
进入目录: cd redis-5.0.7
-
在 redis-5.0.7 目录下执行 make 命令 make install 确认
-
拷贝配置文件
cd /usr/local/bin ls -l # 在redis的解压目录下备份redis.conf mkdir myredis cp redis.conf myredis # 拷一个备份,养成良好的习惯,我们就修改这个文件 #修改配置保证可以后台应用 vim redis.conf
安装docker
- 卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
- 安装需要的软件包
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
- 设置镜像仓库
# 正确推荐使用国内的
yum-config-manager --add-repo http://mirrors.aliyun.com/dockerce/linux/centos/docker-ce.repo
- 更新yum软件包索引
yum makecache fast
- 安装docker-ce
yum install docker-ce docker-ce-cli containerd.io
- 启动docker
systemctl start docker
- 测试命令
docker version
docker run hello-world
docker images
- 配置镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://qiyb9988.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
- 测试helloworld
docker run hello-world
安装nginx
- 安装前的准备配置 yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
- tar -xvf 文件 解压后进入src目录 执行 ./configure
- make && make install 进行编译并安装
- cd /usr/local/nginx/sbin 启动脚本 ./nginx
- 查看进程ps -ef| grep nginx
- 打开80端口的防火墙 firewall-cmd --add-port=80/tcp