学生党目前可以在阿里云白嫖云服务器,地址在我的博客(https://blog.csdn.net/qq_41522089/article/details/107044432)
使用xshell连接云服务器,然后输入账号密码即可登录
在关机和重启前,最好使用sync指令将内存的数据写入到磁盘中
sync # 将内存中的数据写到磁盘中,在重启或者关机前需要保存数据。
注销:注销指令是logout
logout # 注销当前用户,登出
重启:重启指令有shutdown和reboot
shutdown –r now # 现在重启
shutdown –r +10 # 十分钟后重启
reboot # 重启
关机:关机指令shutdown
shutdown –h now # 立马关机
shutdown –h {hh}:{mm} # 在今天hh:mm时刻关机
shutdown –h +10 # 十分钟后关机
所有目录都挂在/这个根节点上
这里转载自狂神说公众号,原文链接,感谢大佬!
————————————————
原文链接:https://mp.weixin.qq.com/s/RT93qJdTagtKjWKx_A_6Nw
linux所有指令都可以组合使用
网络配置:/etc/sysconfig/network-scripts
cd: 切换目录
绝对路径都是以/开头,相对路径是以当前目录为基础
> cd dir 切换到dir目录,dir可以是相对路径也可以是绝对路径
>
> cd / 返回根目录
>
> cd .. 返回上一级目录
>
> cd ~ 进入/root
>
> cd命令可以组合使用
>
>
ls:列出目录
ls -a 列出全部的文件,包括隐藏文件
ls -l 列出全部的文件和使用权限,不包括隐藏文件,等价于ll
ls的指令可以组合使用
ls -al 列出所有文件包括隐藏文件及其使用权限
pwd:显示当前所在的目录
[root@iZ2ze2jmbeb02wrxw6wdp3Z ~]# pwd
/root
mkdir:在当前目录下创建文件夹
mkdir test1 在当前目录下创建一个test1的文件夹
mkdir -p test2/test3/test4 在当前目录下递归创建一个层级目录 test2/test3/test4
rmdir:删除当前目录下文件为空的文件夹
rmdir test1 删除当前目录下的空文件夹test1
rmdir -p test2/test3 删除当前目录下的test2和test3
cp:拷贝文件
cp restSource destSource 将restSource拷贝到destSource文件夹内
如果文件重复,就询问是否覆盖
rm:移除文件或文件夹
-f指令是忽略不存在的文件,不会出现警告,然后强制删除
-r指令是递归删除目录
-i指令是删除是询问是否删除
rm -rf 文件 直接删除文件
mv:移动文件或者目录,还可以重命名
-f指令表示强制移动
-u只替换已经更新的文件
mv -f A B 将文件A移动到目录B中
mv C D 将C文件进行重命名D
输入ls -l 或者ll命令后可以看到当前目录下的文件权限和映射
第一个字母代表着文件属性:
后面一共是九个字符位置,每三个字符为一组,内容有’r’,‘w’,‘x’,’-'分别表示读,写,执行和无权限
1-3表示属主权限,就是他属于哪个用户拥有的权限,这里就是root用户
4-6表示的是属组权限,是属于哪个管理组的权限,例如admin和guest
7-9表示的是其他用户能够有的权限
每组固定顺序都是r,w,x,如果没有就是-
后面root,root是他的属主和属组,如果是link file会有具体映射目录
一些常用命令
chgrp:改变文件属组
chgrp -R XXX YYY 将YYY的属组改成XXX
chown:改变文件属主
chown -R XXX YYY 将YYY的属主改成XXX
chmod:改变文件属性
chmod -R xyz file 将文件file权限属性进行修改,其中可以x,y,z可以用数字,也可以用’r’,‘w’,‘x’,’-’
其中r代表4,w代表2,x代表1,也就是比如rwxrwxrwx就是777
网络配置:/etc/sysconfig/network-scripts
ping也可以使用直接用ping
网络配置是ifconfig
文件查看命令
cat:从第一行开始显示文件内容
cat file 正读某个文件
tac:从最后一行开始倒着读文件
cat file 倒着读某个文件
nl:从第一行开始标记行号读文件
nl file 第一行开始标记行号读文件
more/less:都是一页一页分页看文件,less可以往前翻页
more file 空格翻到下一页,enter看下一行,:f显示行号
less file 空格翻页,上下方向键是向上向下一行,pageDown/up是上下翻页,退出要输入q
head/tail:只看头几行和尾几行
head -n 10 file 看file文件头10行
tail -n 10 file 看file文件尾10行
/和?:在文件中查找内容
/xxx 从该位置往后查找内容xxx
?xxx 从该位置往前查找xxx
n 向下寻找一个
N 向上寻找一个
硬连接是将文件进行同步备份,如果修改一个文件,另一个也同步修改,相当于就是两个文件都相当于地址,同时指向实际存储位置,在里面进行删改。
软连接就相当于快捷方式,是与文件绑定的。
ln:创建硬连接和软连接
ln f1 f2 给f1文件创建一个硬连接f2
ln -s f1 f3 给f1文件创建一个软件界f3
Vim共分为三种模式,命令模式,输入模式和底线命令模式
新建文件可以用vim xxx.text,如果该文件存在,将进入vim编辑器进行修改
命令模式:
刚进入Vim就能进入命令模式,这时候的输入被当做命令,而不是编辑,以下命令能切换模式
- i 切换到输入模式
- x 删除当前光标所在字符
- : 进去底线命令模式,如果在输入模式下,需要esc退出
- /xxx 可以向下搜索xxx
- ?xxx 可以向上搜索xxx
- n/N 可以向上/向下搜索一个
- n 空格/回车 可以向后移动n个字符/行,但是不能输入小键盘的数字而是键盘上面的一排数字
输入模式:
可以使用的按键
- 大小写字符
- 退格键,删除光标前一个字符
- Del,删除光标后一个字符
- 方向键控制光标
- 回车键换行
- Home/End,每行的最前面/最后面
- Page Up/Down,向上/下翻页
- Insert,进入替换模式
- ESC,退出当前输入模式,进入命令模式
底层命令模式:
命令模式下输入:进入
最基本命令:
- q 退出
- q! 强制退出
- w 保存
- w! 强制保存
- wq 保存并退出
- ZZ 若文件已经修改则保存后退出,若没有修改则直接退出
- set nu/nonu 显示行号/关闭显示行号
useradd -选项 用户名
- -c comment 指定一段注释性描述。
- -d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
- -g 用户组 指定用户所属的用户组。
- -G 用户组,用户组 指定用户所属的附加组。
- -m 使用者目录如不存在则自动建立。
- -s Shell文件 指定用户的登录Shell。
- -u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
新增用户后,可以在/etc/passwd中看到
userdel -选项 用户名
userdel -r 用户名 删除用户,并删除其用户文件
usermod -d /home/yyy xxx 将xxx用户改成yyy用户,如果没有也不创建
#代表超级用于,$代表普通用户
su 用户名 切换用户
exit 退出用户
hostname 查看主机名
hostname xxx 将主机名修改为xxx
小技巧,双击xshell窗口可以开重新连接一个新的
在有权限的情况下可以修改密码
passwd xxx 给xxx用户修改密码
passwd -l xxx 锁定xxx用户
passwd -d xxx 删除用户的密码
/etc/passwd的每一行都是一个用户的信息
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
这里的口令一般是看不到,是一把x,而真正可见的地方是在目录/etc/shadow,已经被加密,保证安全性
查询用户组
cat /etc/group
groupadd xxx 按照最后一个组递增端口号
groupadd -g n xxx 按照端口号n加入用户组
groupdel xxx 删除用户组
groupmod -g num -n yyy xxx 将xxx组的端口号改成num,名字改成xxx
df:列出文件系统剩余空间
df 列出所有文件系统使用情况
df -h 以m为单位列举
du:列举当前目录下文件使用内存情况
du 列出当前目录空间,不包括隐藏文件
du -a 列出当前目录空间,包括隐藏文件
du -sm /* 检查根目录所占用容量
重要命令:
ps:查询当前系统中正在执行的各种进程信息
ps -a 显示所有进程信息(当前进程,使用过docker ps -a 就是看docker 下面的进程)
ps -u 以用户的信息显示进程
ps -x 以后台运行进程的参数
ps -aux|grep xxx 查看所有的进程,然后再过滤其中与xxx相关的内容
#在linux 中这个|成为管道符,例如A|B就是将A输出的结果来操作B,grep查找文件中符合条件的字符串
ps -ef 查看父进程信息,这里还有更常用的命令是pstree
pstree -p 显示父Id
pstree -u 显示用户组
pstree -pu 显示父id和用户组
kill:结束进程
kill -9 id 强制结束进程,一般是java代码死循环才结束
安装方式有三种:
防火墙设置
参考博客
# 查看firewall服务状态
systemctl status firewalld
# 开启、重启、关闭、firewalld.service服务
service firewalld start # 开启
service firewalld restart # 重启
service firewalld stop # 关闭
# 查看防火墙规则
firewall-cmd --version # 查看版本
firewall-cmd --help #查看帮助
firewall-cmd --state #显示状态
firewall-cmd --zone=public --list-ports #查看所有打开的端口
firewall-cmd --reload #更新防火墙规则
firewall-cmd --get-active-zones #查看区域信息
firewall-cmd --get-zone-of-interface=eth0 #查看指定接口所属区域
firewall-cmd --panic-on #拒绝所有包:
firewall-cmd --panic-off #取消拒绝状态
firewall-cmd --query-panic #查看是否拒绝
firewall-cmd --list-all # 查看全部信息
firewall-cmd --list-ports # 只看端口信息
# 开启端口
开端口命令:firewall-cmd --zone=public --add-port=80/tcp --permanent
重启防火墙:systemctl restart firewalld.service
命令含义:
--zone #作用域
--add-port=80/tcp #添加端口,格式为:端口/通讯协议
--permanent #永久生效,没有此参数重启后失效
使用rpm安装
官网有
rmp -ivh jdk
rpm -ivh jdk-8u251-linux-x64.rpm
首先检查是否有jdk
java -version
rpm -qa|grep jdk
卸载方式:
rpm -qa|grep jdk #检查JDK信息
rpm -e --nodeps jdk
rpm -e --nodeps jdk-8u251-linux-x64.rpm
环境配置文件是/etc/profile
1.编辑配置文件
vim /etc/profile
2.翻页到最下面
JAVA_HOME=/usr/java/jdk1.8.0_251-amd64
JRE__HOME=/usr/java/jdk1.8.0_251-amd64/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
3.使配置文件生效(也可以不输入)
source /etc/profile
使用解压缩方法安装
tar -zxvf apache-tomcat-9.0.36.tar.gz
./startup.sh #执行tomcat
./shutdown.sh #停止tomcat
4.在阿里云配置安全组
docker安装使用yum
[root@iZ2ze2jmbeb02wrxw6wdp3Z bin]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
yum -y install 包名 # yun install 包名 意思就是在线安装,-y就是所有的提示都是y
先安装c/c++
yum -y install gcc
yum -y install gcc-c++
安装详情参考官方文档
systemctl start docker #启动docker
docker version #docker版本
docker images #docker的镜像
docker ps #查看正在运行的容器
docker ps -a #查看所有容器
参考学习视频,感谢秦疆老师!