linux 初习(kuangshen)
顺便记录些html吧
1.图片大小更改
<img src="./xxx.png" width = "600" height = "300" alt="图片名称" align=center />
2.字体颜色 <font color="blue"> Xshell 连接阿里云服务器:</font>
3.分割线 <hr>
kuangshen
Xshell 连接阿里云服务器:
一.开关机及基本目录介绍
1.开关机
command | introduction |
---|---|
sync | 将数据同步到硬盘,防止数据因断电未保存丢失(关机前) |
shutdown | 关机 |
shutdown -h 10 | 10 minute latter shutdown |
shutdown -h 10:10 | 将在today 10:10 shutdown |
shutdown -h +10 | 10 minute latter shutdown |
shutdown -r now | system 立即重启 |
shutdown -r +10 | 10 minute latter reboot |
reboot | 重启 |
halt | 关闭system |
2.系统目录结构
ls / 查看系统根目录
ls -ll
ls -al
*******some 杂项******
clear 清空
/www : 存放服务器网站相关的资源,环境,网站的项目
二.常用的基本命令
(1)目录相关的基本命令
目录管理:绝对路径、相对路径
cd 目录名(绝对路径都是以 / 开头, /…/)
cd | 切换目录 |
---|---|
./ | 当前目录 |
cd … | 返回上级目录 |
cd ~ | 回到当前用户目录 |
ls | 列出目录 |
---|---|
-a参数 | all 查看全部文件,包括隐藏文件 |
-l参数 | 列出所有的文件,包含文件的属性和权限,没有隐藏文件 |
mkdir 目录名 创建目录
mkdir -p 文件夹1/文件夹2/文件夹3 创建多级目录
pwd 显示当前用户所在目录
rmdir 目录名 仅能删除空目录
rmdir -p 文件夹1/文件夹2/文件夹3 删除多级目录
cp (复制文件或目录)
cp 文件或目录 新的地方
rm(移除文件或目录)
-f 忽略不存在的文件,不会出现警告,强制删除、
-r 递归删除目录
-i 互动,删除询问是否删除
******* rm -rf / 删除系统全部文件,删库跑路(想清楚不要用)********
mv (移动文件或目录,重命名文件)
-f 强制
-u 只替换已更新过的文件
mv 文件 目录路径/
mv test test1 重命名文件夹
tips:
linux Table键可以自动补全
例如: cd mytest 可以输入 cd my按Table自动补全
输入命令时:按上下键可以切换上次或下次输入的命令
(2)文件属性查看和修改学习
1.文件属性
每个文件属性由左边的十个字符确定,第0位确定文件类型,1至3位确定属主(该文件的所有者)拥有该文件的权限,4至6位确定属组(所有者的同组用户)拥有该文件的权限,7~9确定其他用户拥有该文件的权限。
0位:"d"目录; "-"文件; "l"链接文档(link file);
"b"装置文件里面的可供存储的接口设备(可随机存取设备)
"c"装置文件里的串行端口设备,例如键盘鼠标(一次性读取装置)
notice:当为"l"时,for a instance : 后面bin->usr/bin表示bin文件链接指向usr/bin,即为快捷方式
1\4\7位表示读(read)权限,"r"表示有读的权限,"-"表示没有
2\5\8位表示写(write)权限,"w"表示有写的权限,"-"表示没有
3\6\9位表示执行(execute)权限,"w"表示有执行的权限,"-"表示没有
后面的数字是文件个数
再其后 例如: root root 第一个是属主,第二个表示属组(用户组)
再其后就是文件大小、时间
2.修改文件属性
<1> chgrp : 更改文件属组 (change group )
chgrp (-R) 属组名 文件名
-R :递归(recurion)更改文件属组,就是再更改某个目录文件属组时,加上-R后该目录下所有文件属组都会更改
<2> chown : 更改文件属主(change owner),也可以同时更改文件属组
chown (-R) 属主名 文件名
chown (-R) 属主名:属组名 文件名
***<3> chmod : 更改文件9个属性(必须要掌握)***
chmod (-R) xyz 文件或目录 (xyz为三个数字)
linux属性设置两种方式:一种是数字 , 一种是符号
(rwx) :
可读可写可执行 (binary:111) 7 == rwx
可读可写不可执行(110) 6 == rw-
可读不可写可执行(101) 5
可读不可写不可执行(100) 4
不可读可写可执行(011) 3
······
(3)多种查看文件方式学习
linux 使用以下,命令查看文件内容:
1. cat 文件 由第一行开始显示文件内容
2. tac 文件 从最后一行开始显示(reverse sequence)
3. nl 文件 显示的时候也显示行号(number of lines)
4. more 文件 一页一页的显示文件内容(用于内容比较长的时候,空格可以翻页,enter翻一行,:f 显示行号)
5. less 文件 与more类似,但是比more好的是可以往前翻页(空格翻页,enter下翻一行,上下键上下滚动一行,q退出(quit),PgUp\PgDn 上\下翻动页面, /字符 来查找字符,?字符向下查询字符串,n继续搜寻下一个,N向上寻找)
6. head -n 数字 文件 只看头几行
7. tail -n 数字 文件 只看最后几行
tips: 你可以使用man 命令 来查看各个命令的使用文档
for example: man cp
/etc 里面放置一些配置
/etc/sysconfig/network-scripts 里放置网络配置
command:
ping 网址 可以查看网络的连通性(推出查看按 ctrl + z)
for example : ping www.baidu.com
ifconfig 查看网络配置
(4)linux链接的概念
linux 的链接分为:硬链接和软链接
硬链接:A---B 假设B是A的硬链接,那么他们两个指向了同一个文件!允许一个文件拥有多个路径,用户可以通过这来建立硬链接到一些重要文件上,防止误删
软链接:类似win下的快捷方式,删除的源文件,快捷方式也访问不了。
ln 创建链接
ln 源文件 文件名 创建硬链接
ln -s 源文件 文件名 创建软链接
touch 文件名 创建文件
echo "字符串" >> 文件名 输入字符串
三、vim编辑器学习
此处懒得记了,放两个链接于此吧
四、linux账号、用户、磁盘管理
1.账号管理
linux 是一个多用户多任务分时操作系统,任何一个·要使用系统资源的用户都首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
实现用户账号管理,要完成以下:
(1.用户账号的添加、删除与修改
(2.用户口令的管理
(3.用户组的管理
用户账号的管理工作主要涉及用户账号的添加、修改和删除。
添加用户账号是在系统中建立一个新账号,然后为新账号分配用户号、用户组、主目录和登录shell等资源。
属主、属组。
(1) useradd 命令 添加用户
useradd -选项 用户名
linux中一切皆文件,这里的添加用户其实就是往某一文件写入用户的信息!即 /etc/passwd
useradd -m mjq
可以看到这时/etc/passwd 下多了一行
(2)userdel 删除用户
userdel -r mjq 此命令删除用户在系统文件中的记录,主要是/etc/passwd,/etc/shadow,/etc/group等
-r删除用户的时候顺便把他的目录页也删除了
可以看到此时用户目录页已被删除
(3)usermod 修改用户账号
usermod -选项 目录路径 用户名
usermod -d test mjq 修改用户主目录(dictionary)
可以看到此时用户主目录已更改
(4)su 切换用户
hostname 查看当前主机名
hostname 新主机名 修改主机名
(5)passwd 用户的密码设置
我们在用root创建用户时,要设置密码
passwd 用户名
若是普通用户
passwd
(6)锁定用户
root,若某人辞职了,冻结这个账号,这个人就登录不上了
passwd -l 用户名 (lock)锁定后就不能用了
passwd -d 用户名 账号没有密码也不能登录
2.用户组管理
每个用户都由一个用户组,系统可以对一个用户组中的所有用户进行集中管理(开发、测试、运维、root)。不同linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
(1)groupadd 添加用户组
groupadd 用户组名
1004即为创建的用户组的id
useradd -m mj
可以看到下面自动创建了同名的用户组
并且用户mj的用户组id如下图
创建完用户组时可以指定一个id,-g 数字,如果不指定自增1
[root@MJ home]# groupadd -g 520 test2
(2)groupdel 用户组删除
groupdel 用户组名
(3)groupmod -g -n修改用户组的权限信息和名字
for example:
groupmod -g 1004 -n new mj
可以看出指定的用户组要是为未存在的id
用户切换用户组:
首先登录当前用户
newgrp 新用户组名
(4)一些文件信息解读
/etc/passwd 对所有用户都是可读的,内容如下:
每一行对应一个用户,从左到右被:分隔为7个字段,含义如下
用户名:口令(登录密码,我们不可见):用户标识号:组标识号:注释性描述:主目录:登录shell
3.磁盘管理
df(列出文件系统整体的磁盘使用量) du(检查磁盘空间使用量)
(mounted on 是指挂载在)
du 列出的第一个是占用空间大小,第二个是子目录
du -sm /* 检查根目录下每个目录所占的容量
mount 挂载
umount -f 挂载位置 强制卸载
4.进程管理
linux中一切皆文件,(文件:读写执行,权限:用户、用户组,系统:(磁盘、进程))
结束进程:
kill -9 进程id
五、环境安装
安装软件一般有三种方式:rpm \ 解压缩 \ yum在线安装
1.JDK安装(rpm安装):
1.下载jdk rpm, oralce官网
2.安装java环境
环境变量配置(rpm无需配置环境变量):
vim /etc/profile 所有的环境变量都在这
#JAVA_HOME=/usr/java/jdk1.8.0_321-amd64
#CLASSPATH=%JAVA_HOME%/lib;%JAVA_HOME%/jre/lib
#PATH=$JAVA_HOME/bin;$JAVA_HOME/jre/bin
#export PATH CLASSPATH JAVA_HOME
export JAVA_HOME=/usr/java/jdk1.8.0_321-amd644
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
让这个配置生效: source /etc/profile
看评论区出现的问题
systemctl status firewall
service firewall start
service firewall restart
service firewall stop
firewall-cmd --list-all
firewall-cmd --list-ports
firewall-cmd --zone=public --add-port --add-port=8080/tcp --permanent
systemctl restart firewall.service
2.tomcat安装(解压缩)
1.官网下载后解压
tar -zxvf apache-tomcat-10.0.16.tar.gz
2.启动测试 ./xxx.sh 脚本即可运行
# 执行 ./startup.sh
# 停止 ./shutdown.sh
如果防火墙8080端口开了,并且阿里云安全组也开放了,这个时候就可以直接访问远程了。
3.安装docker(yum在线安装)
官网安装手册
https://docs.docker.com/engine/installation/linux/centos/
安装:
1.检测centos7
cat /etc/redhat-release
2.安装准备环境
yum -y install 包名 #-y所有的提示都为y
yum -y install gcc
yum -y install gcc-c++
后面根据官网安装即可
换源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
后面还有一节网络配置教学,就不记了