《Linux操作系统基础项目教程(CentOS8)第2版》全套教学课件_第1页
《Linux操作系统基础项目教程(CentOS8)第2版》全套教学课件_第2页
《Linux操作系统基础项目教程(CentOS8)第2版》全套教学课件_第3页
《Linux操作系统基础项目教程(CentOS8)第2版》全套教学课件_第4页
《Linux操作系统基础项目教程(CentOS8)第2版》全套教学课件_第5页
已阅读5页,还剩460页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

项目1认识Linux操作系统项目2初探CentOS8项目3用户管理项目4文件管理项目5磁盘管理项目6软件管理项目7网络管理项目8进程与服务管理项目9学习Shell脚本项目10学习PythonLinux操作系统基础项目教程(CentOS8)第2版项目1Linux操作系统概述任务1操作系统概述12Linux的诞生与发展3Linux层次结构认识Linux操作系统4Linux版本1操作系统概述由硬件系统和软件系统两大部分组成硬件:看得见摸得着的硬件设备软件:控制计算机硬件运行的指令和数据的集合软件分为系统软件和应用软件计算机系统的组成1操作系统概述硬件系统由运算器、控制器、存储器、输入设备和输出设备组成计算机内部采用二进制表示指令和数据把程序和数据加载到内存中,由控制器负责取出指令并执行冯·诺依曼结构1操作系统概述计算机系统=软件+硬件操作系统是最重要的基本软件计算机用户或应用程序与硬件之间交互的“桥梁”操作系统的主要作用方便用户使用,提高硬件利用率操作系统基本概念1操作系统概述操作系统的组成狭义:内核广义:内核+系统调用设备管理作业管理进程管理文件管理存储管理操作系统基本功能2Linux的诞生与发展2Linux的诞生与发展UNIX在UNIX的发展历程中有多达上百种UNIX版本1969年,汇编语言开发,取名为Unics1973年,C语言实现第三版内核发展早期,免费提供源代码从1971至1975年,UNIX发展到第六版1979年从SystemV7开始,开始商业化道路2Linux的诞生与发展单靠一人维护无法及时响应改进诉求Minix最终未能广泛使用UNIX源码私有化后,教育领域无法使用Minix的开发不参考UNIX核心代码Minix意为MiniUNIX,即迷你UNIXMinix与UNIX兼容,主要用于教学与研究Minix2Linux的诞生与发展最初开发Linux内核时LinusTorvalds还是大学生从Minix中学习有关内核设计理念开发工具完全依赖自由软件,如GCC最初只释放内核,版本号为0.02构建虚拟团队共同发展Linux1994年,内核1.0版正式对外发布Linux的诞生2Linux的诞生与发展凭借这些特征Linux在服务器市场大获成功开源免费硬件需求低安全稳定多用户多任务多平台支持Linux的主要特征2Linux的诞生与发展读研究生期间任助教时认识日后的妻子在澳大利亚被一只企鹅咬过,把企鹅作为Linux吉祥物不能利用Linux直接赚钱,收入来自Linux基金会和其他公司的捐赠获得计算机先驱奖的第一位芬兰人和60后一周时间开发出流行的版本控制工具Git“Linux之父”+“终生仁慈的独裁者”Linux创始人-LinusTorvalds2Linux的诞生与发展实验室硬件更换,RichardStallman无法继续开展工作转向UNIX操作系统,把原来为Lisp开发的软件移植到UNIX实施路径:为提高知名度,以“开放源代码”的方式重新实现UNIX上的常用软件成立自由软件基金会,招募其他志愿者参与GNU计划最成功的自由软件:GCC和BASHshellLinux与GNU计划GNU'sNotUnix2Linux的诞生与发展GPL:GeneralPublicLicense防止有人利用自由软件开发专利软件Linux也采用GPL授权GNU通用公共许可证自由之零:无论用户出于何种目的,都可以按照自己的意愿自由地运行该软件自由之一:用户可以自由地学习并根据需要修改该软件自由之二:用户可以自由地分发该软件的副本以帮助其他人自由之三:用户可以自由地分发修改后的软件,以让其他人从改进后的软件中受益四项基本自由3Linux层次结构3Linux层次结构每一部分都是必需的,但是内核是操作系统的核心从内到外:内核、命令解释层和应用程序内核:与硬件直接交互,是硬件和应用程序的接口命令解释层:与内核进行交互应用程序:完成各种实际工作的软件程序Linux层次结构4Linux版本Linux的内核版本被严格管理由内核开发小组严格控制内核版本格式:主版本.次版本.修订版本次版本号是偶数:稳定版本次版本号是奇数:测试版本3.0之后不再使用该约定内核版本4Linux版本开源的内核,任何人都可以对内核进行修改基于GPL协议发行Linux套件:内核+配套的应用程序发行版本4Linux版本任务2安装准备工作12创建和设置虚拟机3安装CentOS8安装CentOS84虚拟机快照和克隆1安装准备工作1安装准备工作商业版Linux:昂贵,成本高社区版Linux:功能和稳定性满足学习需求不同的Linux发行版其实是相通的CentOS克隆自RHEL,功能强大、稳定性好选择合适的Linux发行版清华大学开源镜像站:/centos浙江大学开源镜像站:/centos中国科技大学开源镜像站:/centos华中科技大学开源镜像站:/centos北京交通大学开源镜像站:/cento/1安装准备工作虚拟化技术获得广泛应用降低学习成本、方便学习多启动系统不利于学习在虚拟机中安装操作系统,自由切换虚拟机共享物理机硬件VMware、VirtualBox、KVM虚拟化技术1安装准备工作硬件兼容性:能够在大多数硬件上安装运行硬盘需求:为虚拟机分配至少需要30GB的虚拟硬盘内存需求:取决于发行版本、安装类型和安装功能硬件需求2创建和设置虚拟机2创建和设置虚拟机创建虚拟机(1)安装好VMware后,选择【文件】→【新建虚拟机】,或单击主工作区中的【创建新的虚拟机】2创建和设置虚拟机创建虚拟机(2)采用默认的典型安装(3)选择【稍后安装操作系统】2创建和设置虚拟机创建虚拟机(4)选择操作系统类型及版本(5)设置虚拟机名称和存储路径2创建和设置虚拟机创建虚拟机(6)指定虚拟机磁盘容量(7)单击【完成】创建虚拟机2创建和设置虚拟机设置虚拟机(1)单击【编辑虚拟机设置】2创建和设置虚拟机设置虚拟机(2)设置虚拟机内存、处理器等参数2创建和设置虚拟机设置虚拟机(3)设置虚拟机的安装源2创建和设置虚拟机设置虚拟机(4)设置虚拟机的网络连接方式3安装CentOS83安装CentOS8安装CentOS8(1)单击【开启此虚拟机】(2)选择【InstallCentOSLinux8】3安装CentOS8安装CentOS8(3)选择安装语言(4)安装信息摘要3安装CentOS8安装CentOS8(5)选择【带GUI的服务器】(6)选择【自定义】3安装CentOS8安装CentOS8(7)选择【标准分区】,单击【点击这里自动创建他们】(8)根据需要设置分区容量3安装CentOS8安装CentOS8(9)单击【接受更改】(10)设置主机名3安装CentOS8安装CentOS8(11)设置ROOT密码(12)创建普通用户3安装CentOS8安装CentOS8(13)等待安装结束,结束后单击【重启系统】按钮3安装CentOS8安装CentOS8(14)操作系统使用许可协议(15)系统登录界面3安装CentOS8安装CentOS8(16)CentOS8桌面4虚拟机快照和克隆4虚拟机快照和克隆适时使用虚拟机快照做好备份,有备无患保存虚拟机当前的状态首次安装好操作系统重要的系统设置前安装某些软件前某些实验或测试前虚拟机快照4虚拟机快照和克隆创建虚拟机快照(2)设置快照信息(1)选择【虚拟机】→【快照】→【拍摄快照】4虚拟机快照和克隆创建虚拟机快照(3)恢复时选择相应虚拟机照4虚拟机快照和克隆使用克隆虚拟机功能简单、省时、快速创建虚拟机虚拟机对应物理机中的文件克隆即复制文件保持虚拟机当前状态克隆虚拟机4虚拟机快照和克隆克隆虚拟机(2)选择克隆源(1)选择【虚拟机】→【管理】→【克隆】4虚拟机快照和克隆克隆虚拟机(4)设置新虚拟机名称(3)选择克隆类型4虚拟机快照和克隆克隆虚拟机(5)克隆成功项目2初探CentOS8任务1Linux命令结构12命令行操作技巧3Linux常用命令认识Linux命令行模式1Linux命令结构1Linux命令结构系统管理员最常用的操作环境没有图形界面元素接受用户命令并交给内核执行位置1是标题栏,显示登录用户及主机名位置2是菜单栏位置3显示Linux命令提示符终端窗口1Linux命令结构包括命令名、选项和参数三部分命令名是必需的,选项和参数可选命令名区分大小写选项有长短格式之分参数表示命令作用的对象或目标命令名、选项、参数用空格分隔命令的组成命令[选项

][参数

]1Linux命令结构Linux命令举例[zys@centos8~]$ls //只使入命令名公共模板视频图片文档下载音乐桌面[zys@centos8~]$ls-a //使用短格式选项.图片.bash_logout.esd_auth..文档.bash_profile .ICEauthority[zys@centos8~]$ls–all //使用长格式选项,效果与ls-a相同.图片.bash_logout.esd_auth..文档.bash_profile.ICEauthority[zys@centos8~]$ls-al //组合使用两个短格式选项,相当于ls-a-ldrwxr-xr-x.2zyszys62月2017:41公共drwxr-xr-x.2zyszys62月2017:41桌面-rw-------.1zyszys5022月2121:54.bash_history-rw-r--r--.1zyszys181月122021.bash_logout2命令行操作技巧2命令行操作技巧命令行操作技巧-自动补全[zys@centos8home]$log //输入log后按两次Tab键logger loginctl logout logsavelogin logname logrotate[zys@centos8home]$logname //输入logn后按一次Tab键,然后按Enter键执行命令zys[zys@centos8home]$cd/tmp/ //在cd命令后输入/tm,按一次Tab键可自动补全路径[zys@centos8tmp]$按一次Tab键:自动补全命令连续按两次Tab键:提示已有命令提高输入速度并减少错误[zys@centos8tmp]$touchfile_with_a_very_long_name\ //“输入后按回车键>file_with_a_longer_name //换行继续输入[zys@centos8tmp]$lsfile_with* //显示名称以“file_with”开头的文件file_with_a_longer_namefile_with_a_very_long_name命令太长时需要换行输入行末输入转义符“\”,按回车继续输入“\”后不能有空格2命令行操作技巧命令行操作技巧-换行输入[zys@centos8tmp]$pingPING()56(84)bytesofdata.64bytesfrom:icmp_seq=1ttl=64time=0.213ms64bytesfrom:icmp_seq=2ttl=64time=0.063ms^C <==按【Ctrl+C】组合键强行终止命令命令等待时间太长或执行错误的命令按【Ctrl+C】组合键强行终止命令2命令行操作技巧命令行操作技巧-强制终止命令【Ctrl+C】[zys@centos8tmp]$catuserinputhere //输入这一行按回车键userinputhere //这一行是回显的内容,输入【Ctrl+D】组合键表示输入结束[zys@centos8tmp]$bc3*7 //输入这一行按回车键21 //这一行是结果,输入【Ctrl+D】组合键或quit退出当前会话[zys@centos8tmp]$通常表示用户输入的结束在交互式Shell中表示退出当前Shell会话2命令行操作技巧命令行操作技巧-结束用户输入【Ctrl+D】3Linux常用命令查看当前工作目录登录Shell后默认为用户主目录文件和目录查看类命令-pwd3Linux常用命令[zys@centos8~]$pwd/home/zys在Linux中执行命令时,要知道自己身处何处更改当前工作目录可以使用绝对路径或相对路径不加参数表示切换到用户主目录文件和目录查看类命令-cdLinux常用命令[zys@centos8~]$pwd/home/zys <==当前工作目录[zys@centos8~]$cd/tmp //切换到目录/tmp[zys@centos8tmp]$pwd/tmp <==当前工作目录切换为/tmp[zys@centos8tmp]$cd //不加参数,返回用户zys的主目录[zys@centos8~]$pwd/home/zys <==当前工作目录切换为zys主目录cd[目标目录]3文件和目录查看类命令-cdLinux常用命令[zys@centos8~]$pwd/home/zys <==工作目录[zys@centos8~]$cd. //进入当前目录[zys@centos8~]$pwd/home/zys <==工作目录并未改变[zys@centos8~]$cd.. //进入上一级目录[zys@centos8home]$pwd/home <==工作目录变为上一级目录[zys@centos8home]$cd- //进入上次所在目录/home/zys[zys@centos8~]$pwd/home/zys[zys@centos8~]$cd~ //进入当前用户主目录[zys@centos8~]$pwd/home/zys[zys@centos8~]$cd~root//进入root主目录bash:cd:/root:权限不够通过特殊符号简化表示3查看目录中有哪些文件和子目录功能强大,选项众多文件和目录查看类命令-lsLinux常用命令ls[-CFRacdilqrtu][目录名称]选项功能说明-a列出所有文件,包括以"."开头的隐藏文件-d将目录像其它普通文件一样列出,而不是列出它们的内容-f将文件按磁盘存储顺序列出,而不是按文件名排序输出-i显示文件的inode编号-l显示文件的详细信息,而且一行显示一个文件-u将文件按其最近访问时间排序-t将文件按其最近修改时间排序-c将文件按其状态修改时间排序-r将输出结果逆序排列,和-t、-S等选项配合使用-R将目录及其所有子目录的内容全部显示出来-S按文件大小排序,默认大文件在前3Linux常用命令文件和目录查看类命令-ls示例[zys@centos8~]$ls //只使入命令名公共模板视频图片文档下载音乐桌面[zys@centos8~]$ls-a //使用短格式选项.图片.bash_logout.esd_auth[zys@centos8~]$ls–all //使用长格式选项,效果与ls-a相同.图片.bash_logout.esd_auth[zys@centos8~]$ls-al //组合使用两个短格式选项,相当于ls-a-ldrwxr-xr-x.2zyszys62月2017:41桌面-rw-------.1zyszys5022月2121:54.bash_history文件类型文件权限引用计数用户和组文件大小文件创建或修改时间文件名3显示文件全部内容可以同时打开多个文件文件和目录查看类命令-catLinux常用命令cat[-AbeEnstTuv][文件列表]选项功能说明-b只显示非空行的行号-E在每行结尾处显示“$”符号-n显示所有行的行号-s将连续的多个空行替换为一个空行-T把制表符TAB字符显示为“^I”[zys@centos8~]$cat/etc/centos-release

CentOSLinuxrelease8.4.2105[zys@centos8~]$cat-n/etc/centos-release

1 CentOSLinuxrelease8.4.2105[zys@centos8~]$cat-n/etc/centos-release/etc/hostname1 CentOSLinuxrelease8.4.2105 2 centos8 3显示文件头部内容默认显示前10行可以按字节显示文件和目录查看类命令-headLinux常用命令head[-cnqv]文件名[zys@centos8~]$head/etc/aliases##AliasesinthisfilewillNOTbeexpandedintheheaderfrom…… <==默认显示10行,此处省略[zys@centos8~]$head-c8/etc/aliases //显示文件的前8字节##Ali[zys@centos8~]$head-n2/etc/aliases //显示文件的前2行##AliasesinthisfilewillNOTbeexpandedintheheaderfromLinux中换行符占1个字节3显示文件尾部内容默认显示后10行使用-f选项,可以动态刷新文件内容文件和目录查看类命令-tailLinux常用命令tail[-cnqv]文件名[zys@centos8~]$tail-c9/etc/aliases //显示文件最后9字节t: marc[zys@centos8~]$tail-n3/etc/aliases //显示文件最后3行#Personwhoshouldgetroot'smail#root: marc3分页显示文件内容less是more的增强版文件和目录查看类命令-more和

lessLinux常用命令选项功能说明F键或空格键向下翻一页D键或Ctrl+D向下翻半页B键或Ctrl+B向上翻一页U键或Ctrl+U向上翻半页方向键移动光标回车键向下移动一行Q键退出more命令[zys@centos8~]$more/etc/aliases……lp: rootsync: rootshutdown: root--更多--(32%) <==第1页只能显示32%的内容3统计文件的行数、单词数和字节数可以同时统计多个文件文件和目录查看类命令-wcLinux常用命令[zys@centos8~]$wc/etc/aliases //显示文件行数、单词数和字节数

972391529/etc/aliases[zys@centos8~]$wc-c/etc/aliases //显示文件字节数1529/etc/aliases[zys@centos8~]$wc-l/etc/aliases //只显示文件行数97/etc/aliases[zys@centos8~]$wc-L/etc/aliases //显示文件最长的行的长度66/etc/aliases[zys@centos8~]$wc-w/etc/aliases //只显示文件单词数239/etc/aliaseswc[-clLw]文件名3文本文件中提取符合指定匹配表达式的行与正则表达式配合使用文件和目录查看类命令-grepLinux常用命令[zys@centos8~]$grep-nweb/etc/aliases //提取包含web字符串的行40:webalizer: root82:www: webmaster83:webmaster: root[zys@centos8~]$grep-n-v"^#"/etc/aliases //反向查找,提取不以#开头的行9:11:mailer-daemon: postmaster12:postmaster: rootgrep[选项][匹配表达式]文件名3新建文件修改文件时间戳文件和目录操作类命令-touchLinux常用命令[zys@centos8~]$touch/tmp/file1[zys@centos8~]$ls-l/tmp/file1-rw-rw-r--.1zyszys02月2210:00/tmp/file1[zys@centos8~]$touch-a-t2402221001/tmp/file1[zys@centos8~]$ls-l--time=atime/tmp/file1-rw-rw-r--.1zyszys02月2210:01/tmp/file1[zys@centos8~]$touch-m-t2402221101/tmp/file1[zys@centos8~]$ls-l/tmp/file1-rw-rw-r--.1zyszys02月222024/tmp/file1touch[-acmt]文件名3新建指定大小的数据内容格式转换文件和目录操作类命令-ddLinux常用命令[zys@centos8~]$ddif=/dev/zeroof=/tmp/file1bs=1Mcount=5记录了5+0的读入记录了5+0的写出5242880bytes(5.2MB,5.0MiB)copied,0.00340522s,1.5GB/s[zys@centos8~]$ls-lh/tmp/file1 //注意ls命令的-h选项的用法-rw-rw-r--.1zyszys5.0M2月2210:23/tmp/file1[zys@centos8~]$ddconv=ucaseCentos8isgreat! <==输入完按【Ctrl+D】组合键结束输入CENTOS8ISGREAT! <==这一行是转换后的结果3新建目录可连续创建多级目录文件和目录操作类命令-mkdirLinux常用命令[zys@centos8~]$mkdirdir1 //创建一个新目录[zys@centos8~]$ls-lddir1drwxrwxr-x.2zyszys62月2210:33dir1[zys@centos8~]$mkdirdir2/subdir //不使用-p选项连续创建两级目录mkdir:无法创建目录“dir2/subdir”:没有那个文件或目录[zys@centos8~]$mkdir-pdir2/subdir //使用-p选项连续创建两级目录[zys@centos8~]$ls-lddir2dir2/subdirdrwxrwxr-x.3zyszys202月2210:34dir2drwxrwxr-x.2zyszys62月2210:34dir2/subdirmkdir[-pm]目录名3只能删除空目录递归删除多级目录时要求各级子目录都是空目录文件和目录操作类命令-rmdirLinux常用命令[zys@centos8~]$rmdirdir1 //目录dir1是空的[zys@centos8~]$rmdirdir2 //目录dir2非空,其中有子目录subdirrmdir:删除'dir2'失败:目录非空[zys@centos8~]$rmdir-pdir2/subdir //递归删除各级子目录[zys@centos8~]$ls-lddir1dir2ls:无法访问'dir1':没有那个文件或目录ls:无法访问'dir2':没有那个文件或目录3复制文件使用-r选项复制整个目录文件和目录操作类命令-cpLinux常用命令[zys@centos8~]$touchfile1file2[zys@centos8~]$mkdirdir1[zys@centos8~]$cpfile1file2dir1 //复制文件file1和file2到目录dir1中[zys@centos8~]$cpfile1file3 //复制文件file1为file3,保存在当前目录中[zys@centos8~]$cpfile2/tmp/file2 //复制文件file2为file4,保存在/tmp主目录中[zys@centos8~]$cp-rdir1dir2 //自动创建目录dir2并复制源目录的内容[zys@centos8~]$lsdir2file1file23移动文件或目录重命名文件或目录文件和目录操作类命令-mvLinux常用命令[zys@centos8~]$mvfile1dir1 //把文件file1移动到目录dir1中[zys@centos8~]$lsfile1ls:无法访问'file1':没有那个文件或目录[zys@centos8~]$touchfile1 //在当前目录中重新创建文件file1[zys@centos8~]$rm-ifile1dir1 //注意,此时目录dir1中已经有文件file1rm:是否删除普通空文件'file1'?yrm:无法删除'dir1':是一个目录 <==使用-i选项会有提示[zys@centos8~]$mvfile2file3 //把文件file2重命名为file33删除文件或目录使用-i选项删除前会有提示使用-f选项删除前不会有任何提示使用-r选项可以删除目录文件和目录操作类命令-rmLinux常用命令[zys@centos8~]$touchfile1file2[zys@centos8~]$rm-ifile1rm:是否删除普通空文件'file1'?y <==使用-i选项时有提示[zys@centos8~]$rm-ffile2 <==使用-f选项时没有提示[zys@centos8~]$mkdirdir1[zys@centos8~]$rm-rfdir1rm[-dfirvR]文件或目录3以安全的方式关闭或重启系统所有登录用户会收到提示信息功能类似的命令有:halt、poweroff、reboot关机相关命令-shutdownLinux常用命令[zys@centos8~]$shutdown-hnow //立刻关机[zys@centos8~]$shutdown-h21:30 //21:30关机[zys@centos8~]$shutdown-r+10 //10分钟后重启系统3shutdown[-arkhncfF]time[提示信息]查看命令帮助信息,包括概述、描述和参数的具体含义等获取命令帮助-manLinux常用命令3设置时区、日期、时间与远程NTP服务器的时间同步日期时间管理命令-timedatectlLinux常用命令3[root@centos8~]#timedatectlstatus //显示日期时间信息

Localtime:四2024-02-2214:28:05CSTUniversaltime:四2024-02-2206:28:05UTCRTCtime:四2024-02-2206:28:03Timezone:Asia/Shanghai(CST,+0800)[root@centos8~]#timedatectlset-timezoneAsia/Shanghai //修改时区[root@centos8~]#timedatectlset-time2024-02-29 //仅修改日期[root@centos8~]#timedatectlset-time23:59:59 //仅修改时间[root@centos8~]#timedatectlset-time"2024-02-2923:59:59"//同时修改日期和时间查看和设置系统日期时间以不同的格式显示系统日期时间日期时间管理命令-dateLinux常用命令3[root@centos8~]#date //显示系统当前日期时间2024年03月01日星期五00:13:24CST[root@centos8~]#date-s"2024-02-2214:43:05" //修改系统日期时间2024年02月22日星期四14:43:05CST[root@centos8~]#date+%m/%d/%Y02/22/24[root@centos8~]#date+%F //相当于+%Y-%m-%d2024-02-22[root@centos8~]#date+"%Y-%m-%d%H:%M:%S"2024-02-2214:44:44其他常用命令Linux常用命令3[zys@centos8~]$who //查看当前系统登录用户zystty22024-02-2211:39(tty2)zyspts/12024-02-2211:42()[zys@centos8~]$echo"hello,thisis$USER" //显示字符串或变量的值hello,thisiszys[zys@centos8~]$uname-a //显示系统信息Linuxcentos84.18.0-305.3.1.el8.x86_64#1SMPTueJun…[zys@centos8~]$history //显示最近执行的命令

1exit2pwd[zys@centos8~]$clear //清除终端窗口内容任务2vi与vim12vim工作模式vim文本编辑器3vim高级功能1vi与vim1vi与vimvim是使用Linux的必备工具,必须熟练掌握vim是增强型的vi,功能强大高亮显示关键字和语法错误,编程时特别有用多窗口编辑、语法高亮、代码折叠、代码补全、编译及错误跳转vim用于文本编辑,而非文字排版vim概述1vi与vim命令行直接输入vim,打开空文件vim后跟文件名,打开已有文件启动vim打开空文件打开已有文件2vim工作模式2vim工作模式启动vim后首先进入命令模式(commandmode)输入的是命令而非文本内容可以移动光标、复制和删除文本等操作vim工作模式-命令模式命令模式-移动光标2vim工作模式命令模式-删除和复制2vim工作模式在命令模式下输入I、O、A或R,进入插入模式(insertmode)在插入模式下进行文件编辑输入的是文本而非命令按Esc键回到命令模式vim工作模式-插入模式2vim工作模式在命令模式下输入:、/或?,进入末行模式(lastlinemode)光标移至最后一行,等待输入命令而非文本对文件进行查找、替换、保存、退出等操作按Esc键回到命令模式vim工作模式-末行模式2vim工作模式末行模式-查找与替换2vim工作模式末行模式-保存和退出2vim工作模式3vim高级功能3vim高级功能vim高级功能-多文件编辑vim后跟多个文件名,一次性打开多个文件可以使用YY和P命令在不同文件间复制数据3vim高级功能vim高级功能-多窗口编辑解决在一个vim窗口中只能显示一个文件的问题编辑一个文件时参考本文件或其他文件的其他内容3vim高级功能vim高级功能-多窗口编辑多窗口编辑其实只是通过vim子窗口同时显示多个文件,为用户提供了更友好的操作体验。3vim高级功能vim高级功能-区块编辑区块是指文件的特定范围,可以是连续的几行或几列,也可以是从某行的某个字符到另一行的某个字符之间的连续范围,或者文本的某个矩形区域以列为单位复制、粘贴或删除文本内容项目3Linux用户管理任务1用户与用户组简介12用户与用户组配置文件3管理用户与用户组用户与用户组1用户与用户组简介1用户与用户组简介以某个用户的身份登录Linux用户组是用户的逻辑组合,方便管理有名字也有数字标识root用户拥有最高的权限用户基本概念2用户与用户组配置文件2用户与用户组配置文件记录用户基本信息每行代表一个用户每一行包含7个字段,用“:”分隔普通用户有权查看用户基本信息-/etc/passwd用户名密码UIDGID用户描述信息主目录默认Shell2用户与用户组配置文件记录用户密码相关信息每行代表一个用户每一行包含9个字段,用“:”分隔只有root用户有权查看用户密码信息-/etc/shadow用户名密码最近一次密码修改日期最小修改时间间隔密码有效期密码到期前的警告天数密码到期后的宽限天数账号失效日期保留使用2用户与用户组配置文件每行代表一个用户组每一行包含4个字段,用“:”分隔用户组信息-/etc/group组名组密码GID组内用户3管理用户与用户组3管理用户与用户组/etc/passwd的第4个字段,指的是指的是用户主组的GID一对一、一对多、多对一和多对多主组:登录到系统后自动拥有主组权限附加组:用户加入的其他组用户与用户组的关系3管理用户与用户组新建用户-useradduseradd[-d|-u|-g|-G|-m|-M|-s|-c|-r|-e|-f][参数]用户名选项功能说明-dhomedir指定用户的主目录-uuid指定用户的UID-ggid|gname指定用户主组的GID或组名-Ggroups指定用户的附加组-m强制建立用户的主目录-M不要建立用户的主目录-sshell指定用户的默认Shell-ccomment关于用户的简短描述-r创建一个系统用户-eexpiredate指定账号失效日期-finactive用户密码到期后的宽限天数①在/etc/passwd中新增一行用户基本信息②在/etc/shadow中新增一行用户密码信息③在/etc/group中新增一行用户组基本信息④在/home目录下创建用户同名主目录useradd会做哪些事?3管理用户与用户组useradd示例[root@centos8~]#useraddshaw //创建新用户shaw[root@centos8~]#grepshaw/etc/passwd //新增用户基本信息shaw:x:1001:1001::/home/shaw:/bin/bash[root@centos8~]#grepshaw/etc/shadow //新增用户密码信息shaw:!!:19775:0:99999:7:::[root@centos8~]#grepshaw/etc/group //创建同名用户组shaw:x:1001:[root@centos8~]#ls-ld/home/shaw //新建同名主目录drwx------.3shawshaw782月2219:13/home/shaw[root@centos8~]#useradd-u1234-gzystong //手动指定用户的UID和主组[root@centos8~]#greptong/etc/passwdtong:x:1234:1000::/home/tong:/bin/bash <==1000是用户组zys的GID[root@centos8~]#greptong/etc/group //未创建同名用户组[root@centos8~]#3管理用户与用户组修改用户密码-passwd普通用户只能修改自己的密码必须输入原密码必须满足密码复杂性要求root用户可以修改普通用户密码不用输入原密码复杂的密码虽然麻烦,但是保证系统安全是最重要的3管理用户与用户组passwd示例[zys@centos8~]$passwd //修改用户自己的密码,无须输入用户名更改用户zys的密码。Currentpassword: <==在这里输入原密码新的密码: <==在这里输入新密码重新输入新的密码: <==确认新密码passwd:所有的身份验证令牌已经成功更新。[root@centos8~]#passwdzys //以root用户身份修改zys用户的密码更改用户zys的密码。新的密码: <==输入一个复杂的密码重新输入新的密码: <==再次输入passwd:所有的身份验证令牌已经成功更新。3管理用户与用户组修改用户信息-usermod修改已有用户信息和useradd命令参数基本相同[root@centos8~]#grepshaw/etc/passwdshaw:x:1001:1001::/home/shaw:/bin/bash <==修改前的用户信息[root@centos8~]#usermod-u1111-g1000shaw[root@centos8~]#grepshaw/etc/passwdshaw:x:1111:1000::/home/shaw:/bin/bash <==注意UID和GID的变化如果主目录当前不存在,操作能成功吗?3管理用户与用户组删除用户-userdel删除已有用户,和useradd相反默认删除同名用户组默认不删除主目录[root@centos8~]#userdel-rshaw //删除用户shaw信息及主目录[root@centos8~]#grepshaw/etc/passwd //userdel执行之后的文件信息[root@centos8~]#grepshaw/etc/shadow[root@centos8~]#grepshaw/etc/group[root@centos8~]#ls-ld/home/shaw

3管理用户与用户组新建用户组-groupadd新建一个用户组,后跟组名称[root@centos8~]#groupaddsie //新增用户组[root@centos8~]#grepsie/etc/groupsie:x:1002: <==在文件/etc/group中添加相应用户组信息[root@centos8~]#groupadd-g1008ict //添加用户组时指定GID[root@centos8~]#grepict/etc/groupict:x:1008:grupadd[-g][参数]用户组名称3管理用户与用户组修改用户组-groupmodgroupmod[-g|-n][参数]用户组名称[root@centos8~]#grepict/etc/groupict:x:1008:[root@centos8~]#groupmod-g1100ict //修改GID为1100[root@centos8~]#grepict/etc/groupict:x:1100:[root@centos8~]#groupmod-nnewictict //修改组名[root@centos8~]#grepnewict

/etc/groupnewict:x:1100:3管理用户与用户组删除用户组-groupdelgroupdel用户组名称[root@centos8~]#grepzys/etc/passwdzys:x:1000:1000:zhangyunsong:/home/zys:/bin/bash[root@centos8~]#grep-E'zys|newict'/etc/groupzys:x:1000:newict:x:1100:[root@centos8~]#groupdelnewict //删除用户组newict[root@centos8~]#grepnewict/etc/group //删除用户组newict成功[root@centos8~]#groupdelzys //删除用户组zysgroupdel:不能移除用户“zys”的主组不能删除用户主组3管理用户与用户组管理组成员-groupmemsgroupmems[-a|-d|-l|-p][参数]用户组[root@centos8~]#groupmems-l-gdevteam //查看用户组内有哪些用户zys[root@centos8~]#groupmems-atong-gdevteam //向devteam组中添加用户tong[root@centos8~]#groupmems-l-gdevteamzystong[root@centos8~]#groupmems-dtong-gdevteam //从devteam组中移除用户tong[root@centos8~]#groupmems-l-gdevteamzys把用户添加到用户组或从组中移除3管理用户与用户组修改有效组-newgrp[zys@centos8~]$groupszys //当前登录用户是zyszys:zysdevteam <==主组是zys,同时属于附加组devteam[zys@centos8~]$touchfile1[zys@centos8~]$newgrpdevteam //将有效组设置为devteam[zys@centos8~]$touchfile2[zys@centos8~]$ls-lfile1file2-rw-rw-r--.1zyszys02月2220:13file1 <==文件file1的属组是zys-rw-r--r--.1zysdevteam02月2220:14file2 <==file2的属组为devteam修改用户的有效组,作为创建文件的属组任务2切换用户1su命令2sudo命令1su命令su命令-切换用户[zys@centos8~]$su–root //从用户zys切换到root用户密码: <==在这里输入root用户的密码[root@centos8~]#su–zys //从root用户切换到普通用户时,不需要输入密码[zys@centos8~]$exit //退出用户zys,返回root用户[root@centos8~]#exit //退出root用户,返回用户zys[zys@centos8~]$用户权限各不相同切换到root用户需要root密码root用户切换普通用户不需要密码1su命令su命令-执行命令后返回[zys@centos8~]$su--c"grepzys/etc/shadow" //两个“-”之间有空格密码: <==在这里输入root用户的密码zys:$6$DL7Lw…BkW3in20:19775:10:30:5::: <==这一行是grep命令的结果[zys@centos8~]$ //当前用户仍然是zys暂时借用root用户身份执行特权命令执行完恢复普通用户1su命令2sudo命令sudo命令-sudo的优势使用su命令切换到root用户需要root用户的密码,容易造成泄漏普通用户使用sudo命令可以在不知道root用户密码的情况下执行某些特权操作,前提是root用户授予普通用户使用sudo命令执行这些特权操作的权限,即为普通用户“提权”默认情况下只有root用户能够执行sudo命令。要想让普通用户也有执行sudo命令的权限,root用户必须正确配置文件/etc/sudoers建议通过visudo命令修改文件/etc/sudoers,退出时会检查语法是否正确,如果配置错误,则会有相应提示2sudo命令sudo命令-为单个用户提权[root@centos8~]#visudo

zys ALL=(ALL)ALL <==添加这一行内容,然后退出visudo[root@centos8~]#exit

[zys@centos8~]$sudogrepzys/etc/shadow

[sudo]zys的密码: <==注意,这里输入的是用户zys的密码zys:$6$DL7LwhUUxxxkW3in20:19775:10:30:5:::[zys@centos8~]$sudo-uxftouch/tmp/sudo_test //获取用户xf的权限第1部分是一个用户名,表示允许哪个用户使用sudo命令第2部分表示允许用户通过哪台主机登录本系统。ALL表示任意主机第3部分表示允许使用sudo命令切换到哪个用户。ALL表示任意用户第4部分是可以执行的实际命令,用绝对路径表示。ALL表示任意命令2sudo命令sudo命令-为用户组提权[root@centos8~]#visudo%svistALL=(ALL)NOPASSWD:ALL[root@centos8~]#groupaddsvist[root@centos8~]#groupmems-azys-gsvist //将用户zys加入svist组[root@centos8~]#exit[zys@centos8~]$idzysuid=1000(zys)gid=1000(zys)组=1000(zys),1003(devteam),1238(svist)[zys@centos8~]$sudogrepzys/etc/shadow //不用输入密码zys:$6$DL7LwhUU4m…qBkW3in20:19775:10:30:5:::[zys@centos8~]$把第一部分改为“%组名”即可2sudo命令sudo命令-限制特权命令[root@centos8~]#visudozysALL=(root)/usr/bin/passwd[A-Za-z]*,!/usr/bin/passwdroot[root@centos8~]#exit[zys@centos8~]$sudopasswd //测试passwd命令后没有参数对不起,用户zys无权以root的身份在centos8上执行/bin/passwd。[zys@centos8~]$sudopasswdroot //测试passwd命令后带root参数对不起,用户zys无权以root的身份在centos8上执行/bin/passwdroot。[zys@centos8~]$sudopasswdxf //测试修改其他用户的密码新的密码: 一般要对sudo后面的命令进行相应的限制,即明确指明用户可以使用哪些命令,或者进一步指明使用这些命令时必须附带哪些参数或选项2sudo命令sudo命令-使用别名简化提权配置[root@centos8~]#visudo#Host_AliasMAILSERVERS=smtp,smtp2#User_AliasADMINS=jsmith,mikem#Cmnd_AliasSOFTWARE=/bin/rpm,/usr/bin/up2date,/usr/bin/yum//添加下面两行User_AliasJIA=zys,tong <==创建别名JIA,包含2个用户JIAALL=(ALL)ALL <==使用别名配置sudo权限使用User_Alias关键字创建用户别名,在配置sudo权限时,使用这个别名进行配置。拥有该别名的用户拥有相同权限主机别名和命令别名分别用Host_Alias和Cmnd_Alias关键字创建2sudo命令项目4Linux文件管理任务1认识Linux文件系统Linux文件系统概述12目录树与路径3文件类型与文件名4文件操作常用命令1Linux文件系统概述文件系统基本概念1Linux文件系统概述对存储空间进行组织和分配,提供文件操作的接口,文件权限管理为操作系统提供识别和管理磁盘文件的方法和数据结构是磁盘上特定位置的一片区域,保存本文件系统的相关信息文件的内容称为用户数据(userdata)文件还有一些附件信息,即元数据(metadata),如文件所有者、文件权限、大小、最近访问时间、最近修改时间等用户数据和元数据一般分开存放文件系统数据结构1Linux文件系统概述数据块:保存文件的实际内容inode:一个文件对应一个inode,记录文件的属性信息及文件的数据块编号超级数据块:记录文件系统相关信息区块位图记录文件系统中所有区块的使用状态inode位图记录每个inode的状态。[zys@centos8~]$ls-li1521191drwxr-xr-x.2zyszys62月2017:41 公共52432685-rw-rw-r--.1zyszys02月2220:13 file1常用的Linux文件系统1Linux文件系统概述ext2:最早使用的Linux文件系统之一,简单可靠,以inode为基础,支持最大16TB的分区和最大2TB的文件ext3:ext2的升级版,支持最大16TB的存储容量和2TB的文件。ext3增加了日志功能,还支持快速备份和恢复功能ext4:在ext3的基础上继续扩充,引入Extent映射、延迟分配、日志校验和在线碎片整理等新特性,支持最大1EB的存储容量和16TB的文件大小XFS:适合处理大文件和大容量存储,最大支持18EB的数据量。XFS是一种日志式文件系统,还具有动态inode分配、延迟写入和读取优化等特点2目录树与路径根目录是顶层目录,用“/”表示目录中可以新建文件或子目录目录和文件形成一棵以根目录为根节点的倒置的目录树Linux目录树2目录树与路径绝对路径以根目录为起点相对路径以当前工作目录为起点绝对路径是唯一的相对路径随当前工作目录而变绝对路径和相对路径2目录树与路径Linux发行版内部的文件系统都遵循文件系统层次化标准(FilesystemHierarchyStandard,FHS)FHS的主要作用是规范特定的目录下应该存放哪类文件以及它们的用途,从而为操作系统定义统一的文件系统布局FHS定义了两层目录规范。第一层规范定义根目录“/”下各个目录应该存放什么文件,第二层针对/usr和/var两个目录的子目录定义文件系统层次标准2目录树与路径文件系统层次标准2目录树与路径3文件类型与文件名3文件类型与文件名Linux中“文件”的概念被泛化硬件被抽象为“文件”目录也是一种“文件”ls-l的输出中第1个字符表示文件类型Linux文件类型普通文件(-)目录文件(d)链接文件(l)设备文件(b或c)管道文件(p)套接字文件(s)[zys@centos8~]$ls-llrwxrwxrwx.1zyszys123月512:00uosv20->/mnt/uosv20-rw-rw-r--. 1 zyszys 0 2月1209:38 file1drwx------. 5 zyszys 39 12月611:02 Maildir没有“扩展名”的概念,不强制使用后缀区分大小写,AB.txt和Ab.txt是不同的文件以“.”开头的文件表示隐藏文件文件命名时避免使用特殊字符Linux文件名* ? > < ; & ! [ ] | \ ‘ “ ` ( ) { }空格3文件类型与文件名4文件操作常用命令打包:将多个文件合并为一个文件压缩:对文件进行处理以减少其占用空间打包和压缩文件-tar

gzip4文件操作常用命令[zys@centos8~]$touchfile1file2file3[zys@centos8~]$tar-cftest.tarfile1file2 //使用-c选项创建打包文件[zys@centos8~]$tar-tftest.tar //使用-t选项查看打包文件的内容[zys@centos8~]$tar-xftest.tar-C/tmp //将文件包内容展开到/tmp目录中[zys@centos8~]$tar-rftest.tarfile3[zys@centos8~]$gziptest.tar //压缩test.tar文件[zys@centos8~]$gunziptest.tar.gz //也可以使用gzip-dtest.tar.gz命令tar命令可同时对文件进行打包和压缩支持gz和bz2等压缩格式同时打包和压缩文件-tar[zys@centos8~]$touchfile3file4[zys@centos8~]$tar-zcfgzout.tar.gzfile3file4 //-z和-c选项结合使用[zys@centos8~]$tar-zxfgzout.tar.gz-C/tmp //-z和-x选项结合使用[zys@centos8~]$touchfile5file6[zys@centos8~]$tar-jcfbz2out.tar.bz2file5file6 //-j和-c选项结合使用[zys@centos8~]$tar-jxfbz2out.tar.bz2-C/tmp //-j和-x选项结合使用4文件操作常用命令链接文件-硬链接链接文件和原文件共享inode,文件属性完全相同删除一个文件不影响另一个文件[zys@centos8~]$ls-lifile1.ori //使用-i选项显示文件的inode编号52433266-rw-rw-r--.1zyszys162月2322:23file1.ori[zys@centos8~]$lnfile1.orifile1.hardlink //ln命令默认建立硬链接[zys@centos8~]$ls-lifile1.orifile1.hardlink52433266-rw-rw-r--.2zyszys162月2322:23file1.hardlink52433266-rw-rw-r--.2zyszys162月2322:23file1.ori[zys@centos8~]$rmfile1.ori //删除原文件[zys@centos8~]$ls-lifile1.hardlink //硬链接文件仍在,inode不变52433266-rw-rw-r--.1zyszys162月2322:23file1.hardlink4文件操作常用命令链接文件-符号链接(软链接)软链接文件和原文件inode不同软链接数据块保存原文件的文件名删除原文件软链接文件无法使用[zys@centos8~]$touchfile2.ori[zys@centos8~]$ln-sfile2.orifile2.softlink[zys@centos8~]$ls-lifile2.orifile2.softlink52433267-rw-rw-r--.1zyszys02月2322:26file2.ori

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论