1.课程内容
修改静态IP
在etc/sysconfig/network/ifcfg-xxx配置文件中修改
用vim编辑器,命令:
vim /etc/sysconfig/network-scripts/ifcfg-ens33
2.远程登陆
2.1ssh登录
在win中利用ssh登录虚拟机
ssh root@192.168.111.100
root为用户名@192.168.111.100是IP地址
2.2Xshell工具
远程登陆工具
连接设置
名称应该无所谓 协议里的SSH应该就是win里那个SSH协议 主机就是IP地址
Xftp7
文件传输工具
3.系统管理
3.1 Linus服务管理
service 服务名 start|stop|restart|status
这个语法是Centos6里面的了,不是最新的,最新的用systemctl做服务管理
3.1.2 systemctl
systemctl start|stop|restart|status 服务名
ststemctl是system control的意思
查看服务的方法
ls /usr/lib/systemd/
3.2系统运行级别
系统运行级别
(Centos7中简化为multi-user.target和graphical.target(相当于运行级别3和5))
查看当前运行级别
systemctl get-default
Centos7运行级别
(Centos7中简化为multi-user.target和graphical.target(相当于运行级别3和5))
multi-user.target相当于运行级别3 graphical.target相当于运行级别5
修改运行级别
systemctl set-default multi-user.target //将默认运行级别设置为mulit-user(重新启动后就会进入命令行模式) systemctl set-default graphical.target init 3 //将运行级别设置为级别3(立即生效) init 5
3.3关机重启命令
sync 将数据由内存同步到硬盘中 halt pwoeroff 关机断电 rebot 重启 shutdown 关机
4Shell命令实操
shell解释:
shell指用户操作接口。操作系统运行起来后都会给用户提供一个操作接口,这个操作接口就叫shell。即用户去操作 系统 的接口
4.1 帮助命令man
man 命令
man ls //列出ls这个命令的功能 //按q退出介绍界面
4.2帮助命令help
help命令只能获取内部shell的功能介绍
help这是一个简单的描述,help的信息man都包含了
4.3man和help对比
-
help命令用于显示shell内部的帮助信息,对于外部命令的帮助信息只能使用man或者info命令查看。
-
一般看信息都用查看man文档,而help只是一个简单的描述,方便,但man文档中都包含了。
4.4type命令--判断是shell命令还是外部命令
###
5命令实操--文件目录类
5.1pwd命令显示当前工作绝对路径
pwd:print working directory
5.2相对路径使用“..”
cd /root/桌面/
这里是使用了绝对路径,绝对路径都是由根目录"/"开始
cd ../
这里使用绝对路径,这里的“..”代表当前路径的上一层目录
cd /root cd 桌面/
这里就是直接以当前目录中,寻找“桌面文件”
tips:直接输入“cd”直接回车,会回到当前用户的主目录中:root用户会回到/root,其他普通用户会回到/home/username中
5.3ls命令
ls:list
ls -a
ls -a
列出所有文件(包括隐藏文件)
这些前面带.的都是隐藏文件
ls -l
ls -l 相当于 ll
长数据串列出,包含文件的属性与权限等文件信息
ls -l 有另一个别名 ll,两个效果完全一样
5.4 mkdir创建一个新的目录
mkdir:make directory
5.5rmdir删除一个目录
rmdir: remove directory
不能删除非空目录
5.6touch创建一个新文件
touch 文件名称
5.7cp复制文件或目录
cp:copy
cp [选项] source dest (复制source文件到dest目录/文件)
cp initial-setup-ks.cfg /root/桌面/ //dest为目录 //把当前目录的initial-setup-ks.cfg文件复制到/root/桌面/目录下
cp initial-setup-ks.cfg a //dest为文件 //把当前目录的initial-setup-ks.cfg文件的内容覆盖到当前目录a文件中
cp也可以复制整个目录(使用-r 递归复制整个文件夹,包括文件夹下所有内容)
cp -r b /root/桌面
复制整个b文件夹(包含b文件夹下的所有内容到/root/桌面)
5.8rm删除文件或目录
rm:remove
rm [选项] deleteFile (递归删除目录中的所有内容)
选项说明
-r 递归删除所有内容 -f 强制执行删除操作,不提示用于确认 -v 显示指令的详细执行过程
rm不能删整个非空目录
rm -r能删除非空目录,但是删除每个目录/文件时都要确认
rem -rf 强制执行,递归删除,没有提示全部删除
rm -rf /*
rm -rf / //没事,因为现代版的rm命令已经已经针对野蛮的"rm -rf /"行为做了安全性检查。"rm -rf /"会被拒绝执行 rm -rf /* //带通配符的删库跑路版本才是罪恶之源, oot# rm -rf /* 等价于 root# rm -rf /bin /boot /dev /etc /home /lib /lib64 /lost+found /media /misc /mnt /net /nfs /opt /proc /root /run /sbin /srv /sys /tmp /usr /var
5.9 mv移动文件与目录或重命名
mv: move
mv odlFileName newFileName (重命名) mv /temp/moveFile /targetFolder (移动文件)
目标是目录,移动
目标是文件,overwrite,内容覆盖但是文件名不变
5.9查看文件内容命令cat,more,less
cat文件内容
cat:catch
cat [选项] 要查看的文件
选项
-n 带行号显示所有文件内容,包括空行
more文件内容分屏查看
more 要查看的文件
比cat多一些操作
less分屏显示文件内容(功能比more更丰富)
less 要查看的内容
(less不是一次性加载所有内容,而是根据显示需要加载内容。less对打开大型文件效率更高)(大文件的处理,好像vim也不如less)
6命令实操--其他命令
6.1 echo输出内容到控制台
echo 输出内容到控制台
echo [选项] [输出内容]
echo和>>输出重定向结合可以实现一些文件写入操作
6.2head显示文件头部分内容
head 默认 显示文件头10行内容
head -n 5显示文件头5行内容
head -n 20 anaconda-ks.cfg //显示anaconda-ks.cfg文件的头20行
6.3tail 显示文件尾部内容
tail 默认显示最后十行
tail -n 5 显示最后5行
tail -f 实时追踪文档的所有更新
6.4 ln软链接:类似window里的快捷方式
ln :link
ln -s [原文件或目录] [软链接名]
ln(是L艾露,不是艾)
6.5 history查看历史信息
history //查看所有所有,包括关机之前的所有 的历史操作 history 10 //查看历史的10条 history -c //清空所有历史命令
7.时间日期类
7.1 date 显示日期时间
7.2 cal显示当前日历
8 用户管理
(用户管理必须以root用户身份进行操作)
8.1 useradd添加新用户
useradd 用户名 (添加新用户)
useradd -g 组名 用户名 (添加某个用户到某组)
普通用户都在/home下
root用户在/root下
8.2passwd 更改用户密码
passwd 用户名
shell中不显示输入的密码,直接输入就完事
8.3 id查看用户是否存在
id testUser 显示:uid=1001(testUser) gid=1001(testUser) 组=1001(testUser)
8.4cat /etc/passwd查看创建了哪些用户
cat /etc/passwd
8.5su切换用户
su:switch user
su testUser
8.6userdel 删除用户
8.7 who查看登录用户信息
who who am i whoami
8.8 sudo给普通用户赋予root权限
修改配置文件 vim /etc/sudoers
9.用户组管理
9.1 groupadd新增组
groupadd testGroup1
9.2 groupdel删除组
groupdel testuser //删除testuser这个组
9.3 groupmod修改组
groupmod -n testgroup1 testGroup1 //修改testGroup1的组名为testgroup1 ---大写换了个小写,Linux中不适用大小写混杂的命名方法
usermod -g testuser testGroup1 //修改testuser用户的组为testGroup1组
9.4cat /etc/group查看创建了那些组
cat /etc/group
10 文件权限管理
10.1 文件属性
从左到右的10个字符表示
r:read
w:write
x:execute
10.2 chmod改变权限
方式1
chmod [{ugoa}{+-=}{rw}] 文件或目录 //ugoa分别 代表修改user属主权限、group属组权限、other其他用户权限,all所有权限 //+-=赋予权限规则,加权限,减权限,重新给权限 //rw 就是权限
例:chmod u+x anaconda-ks.cfg //给anaconda-ks.cfg 的属主权限加了x执行权限
方式2
chmod [mod=421] [文件或目录]
r=4,w=2,x=1 若要给多个权限,把数字加起来
例:7=r+w+x ,6=r+w,3=w+x 不会歧义
(这个实际是二进制 7=111 6=110 3=011)
(8421码实际也是这种思想)
还是使用ugoa
10.3 chown改变所有者
chown uesr1 anaconda-ks.cfg
属主由↑改为↓
10.4chgrp 改变所属组
chgrp testgroup1 anaconda-ks.cfg
属组由↑改为↓
11.搜索查找类
11.1 find查找文件或目录
find 从指定目录向下递归遍历查找其各个子目录
find [搜索范围] [选项] 搜索范围不填,默认当前位置
搭配* ,这个通配符使用
11.2 locate定位文件路径
locate查询不是遍历整个系统,locate利用事先建立的系统中所有文件名称及路径的一个数据库,查询速度快。
这个数据库不是实时更新的,所以查找之前要先更新
更新 updatedb
locate [查询文件]
11.3 grep过滤查找及 | 管道符
管道符 | ,表示将前一个命令的处理结果输出传递给后面的命令处理
grep 选项 查找内容 源文件
grep是从文件内容里查找,不是找文件名
12 压缩/解压
12.1 gzip/gunzip
gzip就是linux自带的一个压缩工具
gzip 文件 //将文件压缩为*.gz
gunzip 文件.gz //解压缩文件
注:不保留原来的文件(压缩完,原来的文件没有了)
不可以压缩目录
12.2 zip/unzip
zip [选项] XXX.zip 将要压缩的文件
unzip [选项] XXX.zip
注: 压缩保留原来的文件
可以压缩目录
11.3 tar打包
tar [选项] XXX.tar.gz 将要打包进去的内容 //打包目录
注:打包同时压缩 -z命令 压缩用的是gzip
13磁盘管理
13.1 du查看文件和目录占用空间情况
du: disk usage
du 目录/文件
13.2 df查看磁盘空间使用情况
df: disk free
df 选项
(free 也是一个查看磁盘使用情况的)
13.3 lsblk查看设备挂载情况
lsblk :list block
13.4 mount/unmount挂载和卸载
mount [-t vfstype] [-o options] device dir
unmount 设备文件名或挂载点
13.5 fdisk 分区
fdisk -l //查看磁盘分区详情
fdisk 硬盘设备名 对新增加的硬盘进行分区操作
注:命令必须在root用户下才能使用
14 进程管理
14.1 ps查看当前系统进程状态
ps:process status
ps aux | grep XXX 查看系统中所有进程
ps -ef | grep XXX 查看子父进程之间的关系
ps aux |less
14.2 kill终止进程
kill [选项] 进程号 通过进程号杀死进程
killall 进程名称 通过进程名称杀死进程
14.3 pstree 查看进程树
pstree [选项]
14.4 top实时监控系统进程状态
top [选项]
14.5 netstat 显示网络状态和端口占用信息
netstat -anp |grep 进程号 查看该进程网络信息
netstat -nlp |grep 端口号 查看网络端口号占用情况
15 系统定时任务
15.1 crontab 服务管理
crond 定时任务
15.2 定时任务设置
例:
16软件包管理
RPM概述
RPM:RedHat Package Manager
RPM,RedHat软件包管理工具
RPM包名称格式(安装包格式)
16.1 rpm -qa RPM查询命令
rpm -qa
16.2 rpm -e RPM卸载命令
rpm -e RPM软件包 rpm -e --nodeps 软件包
16.3 rpm -ivh RPM安装命令
rpm -ivh RPM包全面
YUM概述
YUM:Yellow Dog Updater,Modified 基于RPM,自动处理依赖关系,无需自己找RPM包,可以从指定服务器自动下载RPM包(感觉类似Jav中的Maven)
yum [选项] [参数]
16.4 yum常用命令
16.5 yum修改网络源
17 shell编程
17.1 shell脚本入门
脚本默认以 .sh 结尾
1.脚本格式
脚本以
#!/bin/sh
开头,指定解析器为sh(bash)解析器
2操作实例
创建.sh脚本并写入
3脚本执行
1.bash + 脚本
另: sh + 脚本(sh实际上就是bash,和上面没区别)
2直接输入脚本路径(脚本文件必须具有可执行权限)
/root/jiaoben/hello.sh
但是要提前给hello.sh赋予x执行权限
赋权命令
chmod +x hello.sh
3.在脚本路径前加 “.”或source
17.2 变量
1.系统常用变量
$HOME $PWD 当前工作目录 $SHELL 当前使用的解析器 $USER 当前用户 等
2.自定义变量
变量名=变量值 ((=前后不能有空格) 撤销变量
P69集后面没看
其他
常用快捷键
11.Ctrl+C 停止进程
2Ctrl+l 清屏
3Tab 提示补全
Linux文件结构图文件结构
Linux原生命令
如cp的原生命令 /cp ls的原生命令 /ls
//前面加反斜杠/,是 现在使用的命令大多是封装过的,为了更好使用 前面加反斜杠/,则使用的是Linux的原生命令
例如cp是‘cp -i’的别名
ls是‘ls --color=auto’的别名
不过也不重要,有别名的命令也不多下面列出的就是用“alisa”命令查出的所有的有别名的
Linux命名规则
1.Linux区分大小写
2.Linux中尽量使用字母,数字,下划线
3.不使用大小写混杂的命名!