1.初始Linux
1.1.操作系统
1.2.主流的操作系统
1.3.发展历程
1.4.什么是Linux
1.5.Linux的特点
1.6.Linux发行商和常见发行版本
1.7.CentOS
2.Linux的安装与使用
2.1.VMware简介
2.2.VMware下载
2.3.VMware安装
2.4.下载CentOS镜像
2.5.安装CentOS
2.6.启动虚拟机
root/root bj/cjchnws1991
2.7.静态ip配置
解决上网的问题
- su root
-
vi /etc/sysconfig/network-scripts/ifcfg-ens33
- vi打开后 先按i 进入insert模式 删除原有的配置信息 右键 粘贴
- 修改完毕按esc 退出编辑模式 :wq! 保存退出
- systemctl restart network重启网络
- ifconfig 查看ip
-
ping虚拟机的地址
虚拟机还需要增加一块网卡
2.8.CRT安装和配置
2.9.centos文件和目录
2.10.时间同步
linux和windows时间同步2.11.克隆
2.12.快照
3.系统与设置命令
3.1.账号管理
- 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.用户组
- groupadd kaifa (root账户登录执行)
- groupmod (查看选项)
- groupmod -n kaifazu kaifa(把kaifa改成kaifazu)
- groups bj(没有给用户添加组 用户默认所属的组名和用户名一样)
- groupdel kaifazu
- cat /etc/passwd (查看所有用户)
- cat /etc/group (查看所有组)
3.3.管理用户组内成员
- 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.日期管理
- date(显示当前系统时间)
- date -d "2020-12-12 11:11:11"
- date -s "2020-12-12 11:11:11" (需要root账户执行)
- date --help
3.5.显示用户
- logname (显示登录用户 即使su切换为root 还是显示一开始登录的用户)
3.6.切换用户
- su root
- su --help
- su -c ls root(切换到root执行ls,执行完毕后再切回到原用户)
3.7.id命令
-
id
3.8.sudo命令
- 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命令
- top (实时监控所有进程的状态)
- 字段解释:pid(进程id) user(所属用户) pr(进程优先级) ni(进程优先级 负数表示高)virt(当前进程使用虚拟内存的总量) s(当前进程状态 s-sleep r-run) command(命令名字)
- q 结束监控
- top -c(实时监控所有进程的状态 command显示完整命令)
- top -p 12095(实时监控某一个进程)
3.10.ps命令
- ps(无法实时监控 只能监控某一时间点的进程)
- ps -A(显示系统所有进程)
- ps -ef(显示系统所有进程 的完整信息)
- ps -u bj(显示某个用户的所有进程)
3.11.kill命令
- kill 22841(一个窗口输入top命令 另一个窗口输入kill命令)
- kill -9 22910(强制杀死 编码就是怎么杀)
- kill -l(查询编号信息 1-64)
- kill -9 $(ps -ef | grep bj) (强制杀死bj用户所有的进程 )
- killall -u bj(杀死bj用户所有的进程)
3.12.关机命令
- 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.重启命令
- reboot(普通权限操作 立即重启)
3.14.who命令
- who(展示当前登录用户)
- who -H(展示当前登录用户+标题)
3.15.timedatectl命令
- timedatectl
-
timedatectl status (两个命令展示的内容一样)
- timedatectl list-zones(查询所有的时区,回车翻页 q停止)
- timedatectl set-timezone "Asia/Shanghai"(设置时区)
- timedatectl set-ntp false(禁用ntp)
-
timedatectl set-time "2040-1-1 11:11:11"(设置时间,开启ntp后,联网,时间自动更新至当前时间)
3.16.clear命令
- clear(清除屏幕)
4.Linux的目录管理
4.1.ls命令
- ls(显示不隐藏的文件和文件夹)
- ls -l(显示不隐藏的文件和文件夹的详细信息)
- ls -a(显示所有的文件和文件夹)
-
ls -al(显示所有的文件和文件夹的详细信息)
4.2.pwd命令
- pwd (展示当前目录,如果是/,就展示/。如果是~,展示/home/bj)
- pwd -P (和pwd效果一样)
4.3.cd命令
- cd /(进入根目录)
- cd home(所有用户信息都是存在home)
- cd bj
- cd ..(退到上一级)
- cd /home/bj/桌面(绝对路径)
- cd / (一次性退到根目录)
4.4.mkdir命令
- cd /home/bj/桌面
- mkdir aaa
- mkdir bbb/ccc(如果bbb不存在就会报错)
-
mkdir -p bbb/ccc(不管bbb是否存在,都可以创建)
4.5.rmdir命令
- rmdir aaa
- rmdir bbb(因为里面还有一个目录 不能删除)
- rmdir -p bbb/ccc(先删除 ccc 如果bbb是空的 bbb也删除)
4.6.rm命令
- touch a.txt(创建文件)
- rm a.txt
- mkdir aaa
- mkdir -p bbb/ccc
- rm aaa(无法删除 aaa因为是一个目录)
- rm -r aaa
- rm -r bbb(删除目录和目录里面的所有内容)
4.7.cp命令
- 数据准备
- 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命令
- rm -r ccc/* (删除ccc里所有的文件和文件夹)
- mv aaa/* ccc(mv不需要加-r)
-
mv ccc/a.txt aaa
4.9.文件基本属性
4.10.chgrp命令(change group)
- 更改用户权限需要root账户
- chgrp root aaa (把aaa所属的用户组改为root 非root账户执行时需要加 sudo)
- chgrp -v bj aaa( -v多了一个提示语句)
4.11.chown命令
- chown root aaa (非root 依然要加 sudo 更改aaa的所属的主)
- chown root:root bbb (更改 bbb所属主和组 为root)
- chown -R root:root aaa(把 aaa以及子目录里的所有东西 更改所属组和主)
4.12.chmod权限命令
4.12.1.数字方式
- chmod -R 770 aaa (非root 依然要加 sudo)
4.12.2.符号方式
- chmod -R u=rwx,g=rw,o=r ccc
- chmod -R a=rwx ccc
- chmod -R o-rwx ccc
4.13.练习
- 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
有疑问加站长微信联系(非本文作者)