1.初始Linux
1.1.操作系统
image.png
image.png
1.2.主流的操作系统
image.png
1.3.发展历程
image.png
image.png
image.png
1.4.什么是Linux
image.png
image.png
1.5.Linux的特点
image.png
1.6.Linux发行商和常见发行版本
image.png
image.png
image.png
1.7.CentOS
image.png
image.png
1.8.Linux应用
image.png
2.Linux的安装与使用
2.1.VMware简介
image.png
image.png
image.png
2.2.VMware下载
image.png
image.png
2.3.VMware安装
image.png
image.png
2.4.下载CentOS镜像
image.png
image.png
2.5.安装CentOS
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
2.6.启动虚拟机
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
root/root bj/cjchnws1991
2.7.静态ip配置
解决上网的问题
image.png
image.png
image.png
image.png
image.png
image.png
- su root
-
vi /etc/sysconfig/network-scripts/ifcfg-ens33image.png
- vi打开后 先按i 进入insert模式 删除原有的配置信息 右键 粘贴
- 修改完毕按esc 退出编辑模式 :wq! 保存退出
- systemctl restart network重启网络
- ifconfig 查看ip
-
ping虚拟机的地址image.png
虚拟机还需要增加一块网卡image.pngimage.pngimage.pngimage.png
2.8.CRT安装和配置
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
2.9.centos文件和目录
image.png
image.png
image.png
image.png
2.10.时间同步
linux和windows时间同步image.png
image.png
2.11.克隆
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
2.12.快照
image.png
image.png
image.png
image.png
image.png
3.系统与设置命令
image.png
3.1.账号管理
image.png
- useradd aaa (root账户登录执行)
- su root (切换root账户)
- su aaa(切换aaa账户 表示aaa已经存在了)
- passwd aaa(给aaa账户设置密码,注意密码不能是回文 回文正反读是一样的 字母加数字不少于7位)
- 从root账户切回(su命令)到其他账户无需输入密码,其他账户切回到root需要密码 其他账户互相之间切换需要密码
- usermod (查看后面可加的选项)
- usermod -l aaa123 aaa(把aaa的名字改成aaa123 如果在使用的话 改不了)
- 让某个用户停用的方式一关闭连接重新连接 方拾二 ctrl+d退出登录用户
- userdel aaa123(如果账户在使用的话 删不了)
- userdel -r -f aaa123(删的更干净)
3.2.用户组
image.png
image.png
- groupadd kaifa (root账户登录执行)
- groupmod (查看选项)
- groupmod -n kaifazu kaifa(把kaifa改成kaifazu)
- groups bj(没有给用户添加组 用户默认所属的组名和用户名一样)
- groupdel kaifazu
- cat /etc/passwd (查看所有用户)
- cat /etc/group (查看所有组)
3.3.管理用户组内成员
image.png
- useradd user1
- useradd user2
- useradd user3
- groupadd kaifazu
- gpasswd (查看选项)
- gpasswd -a user1 kaifazu
- gpasswd -a user2 kaifazu
- gpasswd -a user3 kaifazu
- grep 'kaifazu' /etc/group(查询某一个组里的成员)
3.4.日期管理
image.png
- date(显示当前系统时间)
- date -d "2020-12-12 11:11:11"
- date -s "2020-12-12 11:11:11" (需要root账户执行)
- date --help
3.5.显示用户
image.png
- logname (显示登录用户 即使su切换为root 还是显示一开始登录的用户)
3.6.切换用户
image.png
- su root
- su --help
- su -c ls root(切换到root执行ls,执行完毕后再切回到原用户)
3.7.id命令
image.png
-
idimage.png
3.8.sudo命令
image.png
- sudo ls (提高当前普通用户的权限去执行ls)
- sudo -u root ls (指定root用户去执行ls)
- vi /etc/sysconfig/network-scripts/ifcfg-ens33 (普通用户执行,可以打开 但是:wq!报错)
- sudo vi /etc/sysconfig/network-scripts/ifcfg-ens33 (打开后 :wq!也可以)
- sudo userdel -r -f user1
- sudo -u root userdel -r -f user2
比较su -c XX root、sudo XX、sudo -u root XX - sudo ls和 sudo -u root ls基本一致
- su -c ls root 命令必须是简单命令 不能有空格的命令
3.9.top命令
image.png
- top (实时监控所有进程的状态)
- 字段解释:pid(进程id) user(所属用户) pr(进程优先级) ni(进程优先级 负数表示高)virt(当前进程使用虚拟内存的总量) s(当前进程状态 s-sleep r-run) command(命令名字)
- q 结束监控
- top -c(实时监控所有进程的状态 command显示完整命令)
- top -p 12095(实时监控某一个进程)
3.10.ps命令
image.png
- ps(无法实时监控 只能监控某一时间点的进程)
- ps -A(显示系统所有进程)
- ps -ef(显示系统所有进程 的完整信息)
- ps -u bj(显示某个用户的所有进程)
3.11.kill命令
image.png
- kill 22841(一个窗口输入top命令 另一个窗口输入kill命令)
- kill -9 22910(强制杀死 编码就是怎么杀)
- kill -l(查询编号信息 1-64)
- kill -9 $(ps -ef | grep bj) (强制杀死bj用户所有的进程 )
- killall -u bj(杀死bj用户所有的进程)
3.12.关机命令
image.png
- shutdown(root权限才能用,延迟一分钟后使用)
- su -c shutdown root (解决操作权限问题)
- sudo shutdown(解决操作权限问题)
- sudo -u root shutdown(解决操作权限问题)
- shutdown -c(取消关机 root权限才能用 两种方式解决权限问题 su -c不可以)
- shutdown -h now(立马关机 普通权限)
- shutdown +1 "1分钟以后关机" (延迟一分钟后关机 并给出提示信息)
- shutdown -r +1 "准备重启"(一分钟后重启)
- 注意:执行关机和重启命令之前,虚拟机需要进行配置,否则执行命令后,虚拟机再次启动会卡死,编辑-首选项-设备-虚拟打印机,选择启动虚拟打印机,保证输入shutdown后 可以再次启动
3.13.重启命令
image.png
- reboot(普通权限操作 立即重启)
3.14.who命令
image.png
image.png
- who(展示当前登录用户)
- who -H(展示当前登录用户+标题)
3.15.timedatectl命令
image.png
- timedatectl
-
timedatectl status (两个命令展示的内容一样)image.png
- timedatectl list-zones(查询所有的时区,回车翻页 q停止)
- timedatectl set-timezone "Asia/Shanghai"(设置时区)
- timedatectl set-ntp false(禁用ntp)
-
timedatectl set-time "2040-1-1 11:11:11"(设置时间,开启ntp后,联网,时间自动更新至当前时间)image.png
3.16.clear命令
- clear(清除屏幕)
4.Linux的目录管理
image.png
image.png
4.1.ls命令
image.png
image.png
- ls(显示不隐藏的文件和文件夹)
- ls -l(显示不隐藏的文件和文件夹的详细信息)
- ls -a(显示所有的文件和文件夹)
-
ls -al(显示所有的文件和文件夹的详细信息)image.png
4.2.pwd命令
image.png
- pwd (展示当前目录,如果是/,就展示/。如果是~,展示/home/bj)
- pwd -P (和pwd效果一样)
4.3.cd命令
image.png
- cd /(进入根目录)
- cd home(所有用户信息都是存在home)
- cd bj
- cd ..(退到上一级)
- cd /home/bj/桌面(绝对路径)
- cd / (一次性退到根目录)
4.4.mkdir命令
image.png
- cd /home/bj/桌面
- mkdir aaa
- mkdir bbb/ccc(如果bbb不存在就会报错)
-
mkdir -p bbb/ccc(不管bbb是否存在,都可以创建)image.png
4.5.rmdir命令
image.png
- rmdir aaa
- rmdir bbb(因为里面还有一个目录 不能删除)
- rmdir -p bbb/ccc(先删除 ccc 如果bbb是空的 bbb也删除)
4.6.rm命令
image.png
- touch a.txt(创建文件)
- rm a.txt
- mkdir aaa
- mkdir -p bbb/ccc
- rm aaa(无法删除 aaa因为是一个目录)
- rm -r aaa
- rm -r bbb(删除目录和目录里面的所有内容)
4.7.cp命令
image.png
- 数据准备
- mkdir aaa
- mkdir -p aaa/bbb
- cd aaa
- touch a.txt
- cd bbb
- touch b.txt
- cd ..
- cd ..
- mkdir ccc
- vi aaa/a.txt(i 白日依山尽,黄河入海流。欲穷千里目,更上一层楼。esc :wq!)
- cp aaa/a.txt ccc(把aaa里面的a.txt复制到ccc中)
- cp -r aaa/* ccc(-r表示附带把目录也一起拷贝 aaa里面所有的文件和目录)
4.8.mv命令
image.png
- rm -r ccc/* (删除ccc里所有的文件和文件夹)
- mv aaa/* ccc(mv不需要加-r)
-
mv ccc/a.txt aaaimage.png
4.9.文件基本属性
image.png
image.png
image.png
image.png
4.10.chgrp命令(change group)
image.png
- 更改用户权限需要root账户
- chgrp root aaa (把aaa所属的用户组改为root 非root账户执行时需要加 sudo)
- chgrp -v bj aaa( -v多了一个提示语句)
4.11.chown命令
image.png
- chown root aaa (非root 依然要加 sudo 更改aaa的所属的主)
- chown root:root bbb (更改 bbb所属主和组 为root)
- chown -R root:root aaa(把 aaa以及子目录里的所有东西 更改所属组和主)
4.12.chmod权限命令
image.png
image.png
4.12.1.数字方式
image.png
image.png
- chmod -R 770 aaa (非root 依然要加 sudo)
4.12.2.符号方式
image.png
image.png
- chmod -R u=rwx,g=rw,o=r ccc
- chmod -R a=rwx ccc
- chmod -R o-rwx ccc
4.13.练习
image.png
- useradd java
- useradd erlang
- useradd golang
- groupadd dev-group
- gpasswd -a java dev-group
- gpasswd -a erlang dev-group
- gpasswd -a golang dev-group
- grep 'dev-group' /etc/group
- mkdir -p /tmp/work
- chgrp -R dev-group /tmp/work
- chmod -R 770 /tmp/work(视频的写法)
- chmod -R g+w /tmp/work