Linux操作系统
一、什么是Linux
Linux是一个开源免费的操作系统,和我们的Window一样,主要用来按照到服务器上,运行各种软件和服务。
Linux之父 - 林纳斯(Linus)
1.1 思考 - 既然已经会用Window,为什么还要学习Linux
免费, 稳定,开源, 现在几乎所有服务器都部署到Linux上,所以要有所了解。
1.2 思考 - 什么是发行版 什么是内核
各大公司和组织对Linux内核的封装 - 发行版(RedHat、CentOS)
发行版是服务收费的
二、Linux的安装
window系统上 - > VMware虚拟管理软件 -> 创建虚拟机 -> CentOS 7
1.1 安装VMware
1.2.1 创建虚拟机
如果后面安装后,发现启动失败,可以尝试选择稍后安装操作系统,配置好后在开启此虚拟机下面的 编辑虚拟机设置 完成配置
-> 选择Centos7的镜像
-> 分配内存
-> 分配内存 (建议2G)
-> 选择网络(默认值就好)
-> (前面的点下一步就好了)分配空间
磁盘空间最好分配大一点,不然如果要装比较多软件的话空间可能不够
-> 完成 -> 开启虚拟机
linux 与 window不同,是不分盘符的,都是放在一个盘中,/表示的是根目录;/boot是引导分区是最先加载的,目录下装载了linux比较重要的文件,如开机启动项之类的程系,我们的程序数据不会放在这里,所以这里的内存够用就行,不用多分; /swap可以理解为分给虚拟机的虚拟内存大小,如果内存不够用, 虚拟机会把一部分内存里的数据挂起, 放在/swap中。
这个确保是开启就好
学习时一般直接用root,用普通用户的话需要分配权限,比较麻烦
1.2.2 可能遇到的问题
安装后启动发现启动不了,可以尝试
等配置好后再在启动项下面配置具体的镜像。
如果出现这种情况
xxx打印机xxxxx
虚拟设备“serial0”将开始断开连接。是因为并没有打印机 所有也不应该有虚拟打印机, > 把它移除就好
三、Linux的常用命令
3.1 基础操作
ipconfig 查看当前网络信息 ip地址
ping 检测主机网络
who am i 查看当前的登录用户
su (账户名称) 切换账户
ls 查看当前路径下的所有文件于文件夹
ll
查看当前路径下的所有文件于文件夹的具体信息
(ll 实际是 ls -l, 有些版本的Linux没有ll命令就要用这个)
ll -a 查看所有的包括隐藏的文件
ls -l -a 效果于 ll -a 一样
clear 清屏(实际是置顶,命令行是在上面)
命令小技巧
- 通过↑可以找到之前敲过的命令
- tab自动补全或者提示
./文件名 (执行)
3.2 文件操作
mkdir 创建文件夹
mkdir hello (常见文件夹)
mkdir .hello (前面加点的是隐藏文件)
mkdir -p a/b (创建b文件夹的同时,创建其父文件夹,如果父文件夹不存在)
mv 剪切
mv mkdir/* ./ (把当前目录的mkdir下的所有文件剪切到当前目录, 这是相等路径,受当前路径影响)
mv /opt/mkdir/* /opt (与上面效果一样,这是用绝对路径)
mv a d (把a文件夹改名为d)
cp 拷贝
cp 不能直接拷贝文件夹, 要加参数 -r
cp -r /opt/c /opt/mkdir (把opt/c文件夹下的所有文件包括文件夹包括c文件夹都拷贝到opt/mkdir文件夹下)
rm 删除
rm 文件名 (这个只能删除文件)
rm -r 文件夹名 (循环删除,需要确认,它会逐个文件夹问你是否删除)
rm -rf 文件夹名称 (直接删除整个文件夹)
rm -rf /* (删除所有的文件, 不用的, 除了删库跑路)
3.3 文件以及文件内容操作
文件权限描述符如下图所示,文件以-开头, 文件夹以d开头,后面的rwx表示权限,-表示无对应权限(具体看后面权限控制)
touch 只创建文件, 但不编辑
-
vim 编辑文件, 不存在则创建
- i 当前光标前面输入
- I 自动跳到行首输入
- a 当前光标后面输入
- A 自动跳到行尾输入
- o 跳到下一行
- O 跳到前一行
- :wq 保存退出
- :q 退出不保存
- :q! 不保存,强制退出
- gg 跳到行首
- G 跳到行尾
- dd 行删除 d2d 删两行 d3d 删3行 以此类推
- u 撤销
- ctrl + r 反撤销
- x 删除一个字符
- :set number 显示文件行数
- / 关键词 往下搜索关键词 (后面按n 往下)
- / 关键词 往上搜索关键词 (后面按N 往上)
cat 查看文件的所有内容, 但是不能修改
more 移动的查看文件
tail 查看文件
tail -10 xxxx 查看文件后10行
3.4压缩与解压缩
-
gzig命令、后者为gz
giz [选项] 文件名
选项:
- -d 解压缩
- -l 显示压缩后的文件信息
- -[n] 设置压缩速度
- -1 或者--fase为最快的压缩方法(压缩比低)
- -9后者--bast为最慢的压缩方法(压缩比高)
- 缺省值为6
-
bzip2命令,后者为bz2
bzip2 [选项] 文件名
选项:
- -c 将压缩的过程详细输出
- -k保持原文件不被删除
- -[n] 设置压缩速度 同giz
-
tar 打包文件
tar [选项] 打包文件 待打包文件....
选项:
- -c 创建一个打包文件
- -x 解开一个打包文件
- -z 使用gzip压缩文件
- -j 使用bzip压缩文件
- -v 压缩过程显示文件
- -f 使用文档名
案例:
tar -zcf book.tar.gz 红楼梦 西游记 (把红楼梦和西游记都打包到book.tar.gz压缩包)tar -zcf xxx.tar.gz *.txt 打包路径下所有.txt文件
3.5 用户组的操作
linux用户分类:
- 超级用户: root
- 普通用户: uid 500 - 60000
- 伪用户: 1 - 499
ps 伪用户不能登录系统,也不会在/home下创建响应的文件夹:主要是执行一些系统命令
用户组:
- 每个用户组可以包含多个用户
- 一个用户组必须属于一个用户组
用户形工的配置信息
- /etc/passwd 用户信息文件
- /etc/shadow 保持密码信息
- /etc/group 用户组信息
- /etc/gshadow 用户组密码信息
用户操作组:
- 创建用户:groupadd 组名
- 切换用户:su 用户名
- 修改用户组名:groupmod -n 新组名 旧组名
- 删除用户组:groupdel组名
- 显示用户所在的组:groups
创建用户
-
useradd [选项] 组名 用户名
-g 设置用户组
-G 设置用户组列表,多个用户组用,隔开
-u 收到指定用户id, 必须唯一且大于499
-p 为新用户指定密码,但是该密码需要设置为MD5加密后的密文,所以通常单独使用passwd命令来设置密码
useradd -g 组名 用户名
passwd 用户名 密码
修改用户
- usermod [选项] 用户名
- 选项
- -l 修改用户名 ( -l 新用户名 旧用户名)
删除用户
- userdel [选项] 用户名
- 选项
- -r 如果带上该参数, 则会一并删除该用户的主目录
设置用户密码
-
passwd 用户名
注意 只要root用户才能修改指定账户密码,普通用户只能修改自己的
3.6 权限控制
文件权限描述符
-rw-r--r--
第1位: 文件类型 d目录 -文件 I软连接
第2-4位:所属用户权限
第5-7位:同组用户权限
第8-10位:非同组用户权限rwx:可读可写可执行
rw-:可读可写不可执行
r--:仅可读
---:什么也做不了修改删除创建文件要看父文件夹权限,而不是文件权限
权限授予
字符授权法
chmod {u/g/o}{+/-/=}{r/w/x} xxxx数组授权法
chmod 1 2 4 xxxxxx (所属用户权限, 同组用户权限, 非同组用户权限)
r-- = 4
-w- = 2
--x = 1
rwx = 7 (以此类推)
rwxrwxrwx = 777
chmod 777 xxxxxxx 分配所有权限
(上面出现的xxxxxx表示文件或文件夹绝对路径)
参数
-R 递归授权
3.7 其他命令
poweroff 关机
reboot 重启
uname -a 查看linux的内核
free
查看内存的使用情况
参数: -h
df
查看硬盘的使用情况
top
类似window的任务管理器
四、阿里云
除了自己装vmware虚拟机和Linux系统,还可以到阿里云申请一个linux系统。申请完成后可以在控制台看到下面内容。
上面的私网id相当于走局域网
修改密码,否则进不去
后面可以用MobaXterm连接
Mo
PS
1、可能会碰到一个VT-x的错误, 这个错误的意思是CPU没有开启虚拟化。解决办法是重启电脑进入BIOS -> 启用Intel VT -x ->重启计算机 -> 启动虚拟机