Linux(CentOS 7)

Linux(CentOS 7)

基于 Java 开发的 Linux

  • Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX(可移植操作系统接口)
  • 自己测试用的服务器可以在阿里云上购买,或者使用 VMware 在虚拟机上安装 CentOS 镜像
  • 购买完毕后,获取服务器的 IP 地址,重置服务器密码,就可以远程登录了

可以使用 xShell Xftp 工具或者 finallshell 远程连接操作 Linux 服务器

走进 Linux 系统

开机登录

开机会启动很多程序,在 Windows 系统中叫做 服务(service),在 Linux 系统中叫做 守护进程(daemon)

一般用户登录方式有三种:

  • 命令行登录
  • ssh 登录
  • 图形界面登录

最高权限为 root !

关机

Linux 系统很少进行关机操作的,除非特殊情况迫不得已才会关机。

关机的指令为 shutdown

sync # 将数据由内存同步到云盘中
shutdown -h 10 # 十小时后关机
shutdown -h now # 马上关机
shutdown -h 20:20 # 在今天 20:20 关机
shutdown -h +10 # 十分钟后关机
shutdown -r now # 马上重启
shutdown -r +10 # 系统十分钟后重启
reboot # 重启,相当于 shutdown -r now
halt # 关闭系统,相当于 shutdown -h now 和 poweroff

系统目录结构

  1. 所有的都是文件
  2. 根目录 /,所有的文件
ls / # 查看目录
  • /bin bin 是 Binary 的缩写,这个目录存放着最经常使用的命令
  • /boot 存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件
  • /dev dev 是 Device 的缩写,存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的
  • /etc 存放所有的系统管理所需要的配置文件和子目录
  • /home 用户的主目录,在 Linux 中,每个用户都有自己的一个目录,一般目录名以用户账号命名
  • /lib 存放着系统最基本的动态链接共享库,作用类似 Windows 系统的 DLL 文件
  • /lost+found 一般是空文件,系统非法关机后会存放一些文件
  • /media Linux 系统识别到 U 盘,光驱等会把识别的设备挂载到这个目录下
  • /opt 主机额外安装软件所摆放的目录
  • /proc 虚拟的目录,是系统内存的映射,可以通过直接访问这个目录获取系统信息
  • /root 系统管理员的用户主目录
  • /tmp 存放一些临时文件
  • /usr 很重要的目录,用户很多程序和文件都放在这个目录下,用户 APP 目录,类似 Windows 下的 program files 目录
  • /srv 存放一些服务启动之后需要提取的数据

Linux 宝塔环境搭建

安装宝塔环境需要开放 8888 端口

宝塔面板安装官网教学:https://www.bt.cn/download/linux.html

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
  • url:
  • username
  • password

进入网站后可以进行一键部署环境

常用基本命令

目录管理

切换目录

cd 目录名 :切换目录
./ : 当前目录
cd … :返回上一级目录

列出目录

ls :列出目录

ls -a :all,查看全部文件,包括隐藏文件

ls -l :列出所有的文件,包括文件的属性和权限,没有隐藏文件

显示当前目录

pwd :显示当前用户所在的目录

创建目录

mkdir 目录名 :# 创建目录

mkdir -p 目录名/目录名 :层级创建目录

删除目录

rmdir 目录名 :#删除目录

rmdir -p 目录名/目录名 # 递归删除多个目录

复制文件或者目录

cp 源文件 目的文件夹 # 拷贝文件到指定目录

移除文件或目录

rm 文件名或目录

rm -f 文件名或目录 :忽略不存在的文件,不会出现警告,强制删除

rm -r 文件名或目录 :递归删除目录

rm -i 文件名或目录 :询问是否删除

移动文件或者目录

mv 源文件 目标文件夹或目录 :移动文件到指定目录

mv -f 源文件 目标文件夹或目录 :强制

mv -u 源文件 目标文件夹或目录 :只替换已经更新过的文件

mv 源文件名 新文件名 :重命名文件夹

基本属性

Linux 中第一个字符

  • d:目录
  • -:文件
  • l:链接文档
  • b:装置文件里可供储存的接口设备
  • c:装置文件里的串行端口设备,键盘、鼠标(一次性读取装置)

接下来的字符中,以三个为一组,并且都是rwx三个参数的组合

  • r:可读 read
  • w:可写 write
  • x:可执行 execute

如果没有权限,会出现-

文件类型 属主权限 属组权限 其他用户权限
0 1 2 3 4 5 6 7 8 9
d r w x r w x r w x
目录文件 读 写 执行 读 写 执行 读 写 执行

从左到右用 0~9 数字表示

0 位确定文件类型,1-3 位确定文件所有者权限,4-6 位确定属组用户权限,7-9 位确定其他用户权限

1、4、7位表示读权限,使用 r 字符表示

2、5、8位表示写权限,使用 w 字符表示

3、6、9位表示可执行权限,使用 x 字符表示

修改文件权限

更改文件属组

chgrp -R 属组名 文件名:递归更改文件属组

更改文件属主,也可以更改文件属组

chown -R 属主名 文件名:改变文件属主

chown -R 属主名:属组名 文件名:改变文件属主及属组

更改文件 9 个属性

Linux 文件属性有两种设置方式,一种是数字,一种是符号。(常用数字)

Linux 文件的基本权限有九个,分别是 owner、group、others 三种身份各自有自己的 read、write,execute 权限。

r : 4 w : 2 x : 1

可读可写:rw- 6

可读可写可执行 7

chmod -R 777 filename

文件内容查看
  • cat 从第一行开始显示文件内容

  • tac 从最后一行开始显示文件内容
    Linux(CentOS 7)_第1张图片

  • nl 显示的时候输出行号
    Linux(CentOS 7)_第2张图片

  • more 一页一页的显示文件内容

  • less 与 more 类似,比 more 更好的是,可以向前翻页 /要查询的字符进行查询,? 向上查找,n 寻找下一个,N寻找上一个

  • head -n 行数:只看头 n 行

  • tall -n 只看尾部 n 行

man 命令: 可以查看命令的使用文档

网络配置

CentOS7 网络配置文件位置

/etc/sysconfig/network-scripts

使用 ifconfig 命令查看

Linux 链接

Linux 的链接分为硬链接和软连接

硬链接:类似复制并同步操作,删除之后不影响源文件存在

软链接:类似 Windows 下的快捷方式,删除源文件,快捷方式无法访问

创建链接使用ln命令

使用touch命令创建文件

echo 命令输入字符串,也可以输入到文件中

[root@VM-0-4-centos ~]# touch f1 # 创建文件 f1
[root@VM-0-4-centos ~]# ln f1 f2 # 创建一个硬链接 f2
[root@VM-0-4-centos ~]# ln -s f1 f3 # 创建一个软链接 f3
[root@VM-0-4-centos ~]# ls
f1  f2  f3
[root@VM-0-4-centos ~]# ll
total 0
-rw-r--r-- 2 root root 0 Apr 23 23:14 f1
-rw-r--r-- 2 root root 0 Apr 23 23:14 f2
lrwxrwxrwx 1 root root 2 Apr 23 23:15 f3 -> f1
[root@VM-0-4-centos ~]# echo "i love baimengke" >>f1
[root@VM-0-4-centos ~]# cat f1
i love baimengke
[root@VM-0-4-centos ~]# cat f3
i love baimengke
[root@VM-0-4-centos ~]# cat f2
i love baimengke
[root@VM-0-4-centos ~]# 

Vim 编辑器

什么是vim

vim 是一个程序开发工具,vim 通过一些插件可以实现 IDE 一样的功能。

vim 是从 Vi 中发展出来的一个编辑器,代码补全,编译,及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

三种使用模式

基本上 Vi/vim 共分为三种模式,分别是命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Lastline mode)

1、命令模式

用户启动 Vi、vim,就会进入命令模式,如果文件存在会修改文件,如果不存在会新建文件

这个状态敲击键盘动作会被识别为命令而不是输入字符

常用命令:

  • i:切换到输入模式,输入字符
  • x:删除当前光标所在处的字符
  • **:**切换到底线命令模式,在最底一层输入命令

2、输入模式

  • 字符按键以及 shift 组合,输入字符
  • enter 键,回车键,换行
  • backspace 退格键,删除光标前一个字符
  • del 删除键,删除光标后一个字符
  • 方向键,在文本中移动光标
  • home/end 键,移动光标到首尾
  • page up/page down,上下翻页
  • insert,切换光标为输入/替换模式,贯标将变成竖线/下划线
  • ESC,退出输入模式,切换到命令模式

3、底线命令模式

在命令模式下按:(英文冒号)就可以进入底线命令模式,光标移动到最下面,可以输入一些底线命令

  • :q:退出程序

  • :w:保存文件

  • :wq:强制存储后离开

  • :ZZ:没有改动就不存储离开,改动过则储存后离开

  • :w filename:编辑的数据存储到另一个档案

  • :r filename:编辑的数据中读入另一个档案的数据

  • :n1,n2 w filename:将 n1 到 n2 的内容存储到 filename 档案中

  • :set nu:显示行号

  • :set nonu:取消行号

  • :u:撤回

  • Ctrl + r :返回撤销内容

移动光标的方法
h 或者 ← 向左移动一个字符
j 或者 ↓ 向下移动一个字符
k 或者 ↑ 向上移动一个字符
l 或者 → 向右移动一个字符
Ctrl + f 屏幕向下移动一页,相当于 page down
ctrl + b 屏幕向上移动一页,相当于 page up
Ctrl + d 屏幕向下移动半页
ctrl + u 屏幕向上移动半页
+ 光标移动到非空格符的下一行
- 光标移动到非空格符的上一行
搜索替换
/word 向下寻找一个名称为 word 的字符
?word 向上寻找一个名称为 word 的字符
n 重复前一个搜寻的操作
N 反向进行前一个搜寻的操作

Linux 账号管理

可以使用 hostname 主机名 来切换主机名称

添加用户

useradd -选项 用户名

  • -m:自动创建用户的主目录 /home/用户名
[root@VM-0-4-centos ~]# useradd -m baimengke	# 创建一个用户
[root@VM-0-4-centos ~]# cd /home
[root@VM-0-4-centos home]# ls
baimengke  redis  www
[root@VM-0-4-centos home]# 

Linux 中一切都是文件,创建用户就是向某个文件中写入用户信息 /etcpasswd

删除用户

userdel -r 用户名 删除用户的时候将目录一起删掉

[root@VM-0-4-centos home]# userdel -r baimengke
[root@VM-0-4-centos home]# ls
redis  www

修改用户

usermod 修改内容 修改用户

  • -d 目录:指定用户主目录
  • -g 用户组:指定用户所属组
  • -G 用户组:指定用户所属的附加组
[root@VM-0-4-centos home]# usermod -d /home baimengke

修改完毕后查看配置文件即可

cat /etc/passwd

切换用户

  1. 切换普通用户命令:su username
  2. 普通用户切换到 root 用户: su 或者 sudo su
  3. 在终端输入 exit 或者 logout 或者使用快捷方式 Ctrl + d 可以退回到原来用户
  4. 切换用户时,如果想在切换用户后使用新用户的工作环境,可以在 su 和 username 之间 加 - ,比如 su -root

$ 表示普通用户

# 表示超级用户

用户密码设置

passwd 用户名

[root@sqdkk ~]# passwd baimengke
Changing password for user baimengke.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@sqdkk ~]# 

锁定账号

passwd -l 用户名 # 锁定之后用户不能登录
passwd -d 用户名 # 没有密码也不能登录

用户组管理

用户组的管理涉及用户组的添加、删除和修改,组的增加、删除、修改实际上是对 /etc/group 文件的修改

创建用户组

groupadd 用户组名
cat /etc/group

创建完用户组可以得到一个组的 id,id 可以指定,不指定就默认自增 1

groupadd -g id 用户组名

[root@sqdkk ~]# groupadd -g 520 baimengke2
[root@sqdkk ~]# cat /etc/group

删除用户组

groupdel 用户组名

[root@sqdkk ~]# groupdel baimengke2
[root@sqdkk ~]# cat /etc/group

修改用户组的权限信息和名字

[root@sqdkk ~]# groupmod -g 520 -n baimengke2 baimengke
[root@sqdkk ~]# cat /etc/group
# 修改用户组 id 为 520,重命名为 baimengke2

切换用户组

# 登录当前用户 baimengke2
newgrp root

文件查看

/etc/passwd

用户名:口令(登录密码,不可见):用户标识号:组标识号:注释性描述:主目录:登录shell
文件中每一行代表一个用户,可以看到每个用户的主目录在哪里,以及属于哪个组

/etc/shadow

登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告事件:不活动时间:失效时间:标志
登录口令,加密后的用户口令存放在 /etc/shadon 中

/etc/group

用户组的信息存放在 /etc/group 文件中

磁盘管理

查看磁盘使用情况

df(列出文件系统整体的磁盘使用量)

du(检查磁盘空间的使用量)

df -h(按 M 或 G 查看)

[root@sqdkk ~]# df
Filesystem     1K-blocks    Used Available Use% Mounted on
devtmpfs          930500       0    930500   0% /dev
tmpfs             941008      24    940984   1% /dev/shm
tmpfs             941008     540    940468   1% /run
tmpfs             941008       0    941008   0% /sys/fs/cgroup
/dev/vda1       51473868 5692176  43458572  12% /
tmpfs             188204       0    188204   0% /run/user/0
[root@sqdkk ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        909M     0  909M   0% /dev
tmpfs           919M   24K  919M   1% /dev/shm
tmpfs           919M  540K  919M   1% /run
tmpfs           919M     0  919M   0% /sys/fs/cgroup
/dev/vda1        50G  5.5G   42G  12% /
tmpfs           184M     0  184M   0% /run/user/0
[root@sqdkk ~]# du
8	./.cache/abrt
8	./.cache/pip/http/7/6/7/4/f
12	./.cache/pip/http/7/6/7/4
16	./.cache/pip/http/7/6/7
20	./.cache/pip/http/7/6
24	./.cache/pip/http/7
172	./.cache/pip/http/5/e/2/6/d
176	./.cache/pip/http/5/e/2/6
180	./.cache/pip/http/5/e/2
184	./.cache/pip/http/5/e
188	./.cache/pip/http/5
48	./.cache/pip/http/c/f/1/c/2
52	./.cache/pip/http/c/f/1/c
56	./.cache/pip/http/c/f/1
60	./.cache/pip/http/c/f
64	./.cache/pip/http/c
24	./.cache/pip/http/b/8/e/b/a
28	./.cache/pip/http/b/8/e/b
32	./.cache/pip/http/b/8/e
36	./.cache/pip/http/b/8
40	./.cache/pip/http/b
12	./.cache/pip/http/2/f/c/e/e
16	./.cache/pip/http/2/f/c/e
20	./.cache/pip/http/2/f/c
24	./.cache/pip/http/2/f
28	./.cache/pip/http/2
348	./.cache/pip/http
8	./.cache/pip/selfcheck
180	./.cache/pip/wheels/3a/64/b6/ca54e036582cba4ec0aad12462355ebb53fa82b716a99733ab
184	./.cache/pip/wheels/3a/64/b6
188	./.cache/pip/wheels/3a/64
192	./.cache/pip/wheels/3a
196	./.cache/pip/wheels
556	./.cache/pip
568	./.cache
8	./.pip
8	./.oracle_jre_usage
4	./.config/abrt
8	./.config
4	./.pki/nssdb
8	./.pki
4	./.ssh
652	.
[root@sqdkk ~]# du -h
8.0K	./.cache/abrt
8.0K	./.cache/pip/http/7/6/7/4/f
12K	./.cache/pip/http/7/6/7/4
16K	./.cache/pip/http/7/6/7
20K	./.cache/pip/http/7/6
24K	./.cache/pip/http/7
172K	./.cache/pip/http/5/e/2/6/d
176K	./.cache/pip/http/5/e/2/6
180K	./.cache/pip/http/5/e/2
184K	./.cache/pip/http/5/e
188K	./.cache/pip/http/5
48K	./.cache/pip/http/c/f/1/c/2
52K	./.cache/pip/http/c/f/1/c
56K	./.cache/pip/http/c/f/1
60K	./.cache/pip/http/c/f
64K	./.cache/pip/http/c
24K	./.cache/pip/http/b/8/e/b/a
28K	./.cache/pip/http/b/8/e/b
32K	./.cache/pip/http/b/8/e
36K	./.cache/pip/http/b/8
40K	./.cache/pip/http/b
12K	./.cache/pip/http/2/f/c/e/e
16K	./.cache/pip/http/2/f/c/e
20K	./.cache/pip/http/2/f/c
24K	./.cache/pip/http/2/f
28K	./.cache/pip/http/2
348K	./.cache/pip/http
8.0K	./.cache/pip/selfcheck
180K	./.cache/pip/wheels/3a/64/b6/ca54e036582cba4ec0aad12462355ebb53fa82b716a99733ab
184K	./.cache/pip/wheels/3a/64/b6
188K	./.cache/pip/wheels/3a/64
192K	./.cache/pip/wheels/3a
196K	./.cache/pip/wheels
556K	./.cache/pip
568K	./.cache
8.0K	./.pip
8.0K	./.oracle_jre_usage
4.0K	./.config/abrt
8.0K	./.config
4.0K	./.pki/nssdb
8.0K	./.pki
4.0K	./.ssh
652K	.
[root@sqdkk ~]# 

[root@sqdkk /]# du -sm -h /*
0	/bin
106M	/boot
4.0K	/data
0	/dev
39M	/etc
84K	/home
28K	/install.sh
0	/lib
0	/lib64
16K	/lost+found
4.0K	/media
4.0K	/mnt
136M	/opt
8.0K	/patch
du: cannot access ‘/proc/14334/task/14334/fd/4’: No such file or directory
du: cannot access ‘/proc/14334/task/14334/fdinfo/4’: No such file or directory
du: cannot access ‘/proc/14334/fd/4’: No such file or directory
du: cannot access ‘/proc/14334/fdinfo/4’: No such file or directory
0	/proc
652K	/root
540K	/run
0	/sbin
4.0K	/srv
0	/sys
13M	/tmp
2.3G	/usr
515M	/var
2.3G	/www
[root@sqdkk /]# 

挂载

mount 设备位置 挂载位置

-f:强制挂载

进程管理

什么是进程

  1. 在 Linux 中,每个程序有自己的一个进程,每个进程都有一个 id 号
  2. 每个进程都有一个父进程
  3. 进程可以有两种方式存在,前台、后台运行
  4. 一般服务都是在后台运行,基本的程序都是在前台运行

查看系统中进程

ps -xx:

  • -a :显示当前终端所有运行的进程信息(当前进程)
  • -u:以用户信息显示进程
  • -x:显示后台运行进程的参数
# 查看所有的进程
ps -aux | grep
# | 在 Linux 中这个叫做管道符,A|B
# grep 查找文件中符合条件的字符串

查看父进程信息

ps -ef|grep 进程名 # 看父进程一般可以通过目录树结构查看

pstree -pu # 进程树
	-p:显示父id
	-u:显示用户组

Linux(CentOS 7)_第3张图片

结束进程,等价于 Windows 的结束任务

kill -9 进程id:强制结束进程

环境安装

安装软件一般有三种方式:rpm、解压缩、yum 在线安装

JDK、MySQL、Tomcat 安装

安装命令:rpm -ivh rpm安装包

卸载命令:rpm -e -nodeps 文件名

配置环境变量 /etc/profilerpm安装不需要配置环境变量

JAVA_HOME=/usr/java/jdk1.8.0_291-i586
CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib
PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin
export PATH CLASSPATH JAVA_HOME

查看防火墙端口

firewall-cmd --list-all :查看全部信息

firewall-cmd --list-port :查看端口信息

开启防火墙端口

firewall-cmd --zone=public --add-port=端口号/tcp --permanent

  • –zone:作用域
  • –add-port=80/tcp:添加端口,格式为:端口/通讯协议
  • –permanent:永久生效,没有此参数重启后失效

重启防火墙

systemctl restart firewalld.service

Docker 安装

Docker 安装

联网情况下:yum -y install yum源 :安装命令

你可能感兴趣的:(Linux,linux,centos)