9.1 运行级别
基本介绍
运行级别说明:
0 :关机 1 :单用户【类似安全模式,这个模式可以帮助找回root密码】 2 :多用户状态没有网络服务 3 :多用户状态有网络服务【使用最多】 4 :系统未使用保留给用户 5 :图形界面 6 :系统重启
常用运行级别是3和5,我们可以修改默认的运行级别文件。
9.2 指定运行级别
CentOS 6X 和 CentOS 7X 的指定运行级别的方式有区别!!!CentOS 6X 是通过修改/etc/inittab 来修改默认运行级别的。
9.2.1 CentOS 6X指定当前运行级别
查看vim /etc/inittab文件
id:5:initdefault:
命令:init [012356]
通过init来切换不同的当前运行级别,比如:5、3,然后关机。
init 5
init 3
init 0
9.2.2 CentOS 7X指定运行级别
查看vim /etc/inittab文件
我们可以看到,里面除了注释,什么也没有,并没有CentOS 6X中设置默认运行当前级别的方式。
注释内容大意是说:
# multi-user.target类似于runlevel 3# graphical.target类似于runlevel5#获得默认运行级别的方式systemctl get-default #设置默认运行级别的方式 systemctl set-default TARGET.target
CentOS 7X 设置运行级别
命令格式:systemctl [command] [unit.target]
参数详解:command:
get-default 获得当前的target set-default 设置指定的target为默认的运行级别 isolate 切换到指定的运行级别
unit.target 为运行级别对应表中列出的运行级别
注:上表前两行是设置默认运行级别(重启系统生效),后两行是设置当前运行级别(立即生效)。
9.3 面试题
1、请设置我们的Linux运行级别,linux运行后,直接进入到命令行终端(3级别)。
答:对于CentOS 6X而言,编辑vim /etc/inittab文件即可,修改为:id:3:initdefault:
对于CentOS 7X而言,命令是:systemctl set-default multi-user.target(重启linux系统后生效)
扩展:如果将运行级别设置为0,即Linux系统一开机就立马关机,那么我们如何解决这个问题?
答:思路同下。即进入单用户运行级别,然后修改inittab文件。
2、假设我们的root用户的密码忘记了,请问如何找回密码?
思路:进入单用户运行级别,然后修改root密码。因为单用户运行级别不需要密码就可以使用root身份登录。
答:Linux系统启动时 -> 快速输入Enter -> 输入e -> 进入到编辑界面 -> 选择中间有kernel项 ->再输入e(edit) -> 在该行的最后写入空格和1 [表示修改内核,临时生效] -> 再输入Enter ->输入b [boot] -> 进入到单用户模式【这里就可以做补救工作了】。
截图如下:
Linux系统启动时,快速输入Enter
输入e,进入到编辑界面,选择中间有kernel项
再输入e(edit),在该行的最后
写入空格和1 [表示修改内核,临时生效],再输入Enter
输入b [boot],进入到单用户运行级别【这里就可以做补救工作了】
单用户运行级别不需要密码就可以使用root身份登录,此时我们使用root用户修改密码即可。
思考:root用户的密码都可以随意修改,Linux的安全性体现在哪里呢?
答:上述修改root用户密码的前提:不能远程登录,必须在这个Linux服务器所在的电脑上进行操作。换言之,这个Linux服务器就在我们身边,触手可及,是我们自己的东西,我们对于我们自己的东西,想怎么整都行!何况小小的修改密码的操作。
9.4 帮助指令
当我们对某一个指令不熟悉的时候,我们可以使用Linux提供的帮助指令来了解这个指令的使用方法。 man获得帮助信息 基本语法: man [命令或配置文件](功能描述:获得帮助信息) 应用实例: 案例:查看ls命令的帮助信息 help指令 基本语法: help 命令 (功能描述:获得shell内置命令的帮助信息) 应用实例: 案例:查看cd命令的帮助信息 百度帮助更直接 虽然上面两个都可以来获取指令帮助,但是需要英语功底,如果英语不太好的,我还是推荐大家直接百度靠谱。
9.5 文件和目录相关的指令
9.5.1 pwd指令
基本语法:pwd (功能描述:显示当前工作目录的绝对路径) 应用实例:案例:显示当前工作目录的绝对路径。
9.5.2 ls指令
基本语法:ls [选项] [目录或是文件] 常用选项:-a :显示当前目录所有的文件和目录,包括隐藏的(文件名以.开头就是隐藏)。-l :以列表的方式显示信息-h :显示文件大小时,以 k, m, G 单位显示 应用实例:案例:查看当前目录的所有内容信息。
9.5.3 cd指令
基本语法:cd [参数] (功能描述:切换到指定目录) 常用参数:绝对路径【从 / 开始定位】和相对路径【从当前的位置开始定位】 cd ~ 或者 cd 回到自己的家目录cd .. 回到当前目录的上一级目录应用实例:案例1:使用绝对路径切换到root目录 cd /root案例2:使用相对路径到/root目录 cd ../root (用户在/home目录下)案例3:表示回到当前目录的上一级目录 cd ..案例4:回到家目录 cd ~
9.5.4 mkdir指令
说明:mkdir 用于创建目录 [make directory] 基本语法:mkdir [选项] 要创建的目录 常用选项:-p :创建多级目录 应用实例:案例1:创建一个目录 /home/dog mkdir /home/dog案例2:创建多级目录 /home/animal/tiger mkdir -p /home/animal/tiger
9.5.5 rmdir指令
说明:rmdir 用于删除空目录 [remove directory] 基本语法:rmdir [选项] 要删除的空目录 应用实例:案例1:删除一个目录 /home/dog rmdir /home/dog [前提 /home/dog 是空目录]使用细节:rmdir 删除的是空目录,如果目录下有内容时无法删除的。 提示:如果需要删除非空目录,需要使用 rm -rf 要删除的目录
9.5.6 touch指令
说明:touch 用于创建空文件,还可以更新文件的修改时间。 基本语法:touch 文件名称 应用实例:案例1:创建一个空文件 hello.txt touch hello.txt 提示:如果文件存在,则表示刷新该文件的修改时间。案例2:创建多个空文件 hello.txt haha.txt touch hello.txt haha.txt
9.5.7 cp指令
说明:cp 用于拷贝文件到指定目录 [copy 拷贝] 基本语法:cp [选项] source【源文件或者源目录】 dest【目的目录】 常用选项:-r :递归复制整个文件夹 [r:recursive 递归] 应用实例:案例1:将 /home/aaa.txt 拷贝到 /home/bbb/ 目录下 cp /home/aaa.txt /home/bbb/案例2:递归复制整个文件夹,举例:将 /home/ 整个目录拷贝到 /opt/ 目录下 cp -r /home/ /opt/ 使用细节:当发现目标目录下有相同的文件,会提示是否覆盖,很烦人,强制覆盖不提示的方法:\cp 建议/表示的是根目录,/home/和/home都表示的是根目录下的home目录,但是建议home目录写成home/会更专业,这样避免出现歧义。即xxx目录最好写成xxx/,正斜杠最好别省略!强烈推荐多使用绝对路径,少用相对路径!脑海中要有清晰的Linux目录树结构图。
9.5.8 rm指令
说明:rm 用于移除文件或目录 基本语法:rm [选项] 要删除的文件或目录 常用选项:-r :递归删除整个文件夹 [r=recursive 递归]-f :强制删除不提示 [f=force 强制]-rf :强制递归删除整个文件夹不提示 应用实例:案例1:将 /home/aaa.txt 删除 rm /home/aaa.txt案例2:递归删除整个文件夹 /home/bbb/ 命令 rm –r /home/bbb/ 使用细节强制删除不提示的方法:带上 -f 即可rm –rf /home/bbb/
9.5.9 mv指令
说明:mv 移动文件与目录或重命名 基本语法:1) mv oldNameFile newNameFile (功能描述:重命名)前提:要先有oldFile存在,才是重命名2) mv /temp/moveFile /targetFolder/ (功能描述:移动文件或目录) 应用实例:案例1:将 /home/aaa.txt文件 重新命名为 pig.txt,前提:aaa.txt文件先存在,才是重命名。案例2:将 /home/pig.txt文件 移动到 /root/ 目录下,前提:/root/ 目录下没有改文件,是移动。
9.5.10 cat指令
说明:cat 查看文件内容 基本语法:cat [选项] 要查看的文件 常用选项:-n :显示行号 应用实例:案例1:查看 /ect/profile文件 内容,并显示行号。命令:cat -n /etc/profile | more cat 只能浏览文件,而不能修改文件,为了浏览方便,一般会带上管道命令 | more cat xxx.txt | more (把 cat xxx.txt 输出结果交给 more 处理),如下图所示:
9.5.11 more指令
说明:more指令是一个基于vi编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。基本语法:more 要查看的文件操作说明:more指令中内置了若干快捷键,详见操作说明如下图:应用实例:案例: 采用more查看 more /etc/profile文件
9.5.12 less指令
说明:less指令用来分屏查看文件内容,它的功能与more指令类似,但是比more指令更加强大,支持各种显示终端。less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。基本语法:less 要查看的文件操作说明:应用实例:案例: 采用less查看一个大文件,比如大型日志文件。
9.5.13 >指令和>>指令
说明:> 输出重定向和>> 追加 基本语法:1) ls -l > 文件 (功能描述:把列表的内容写入文件a.txt中(覆盖写),如果文件a.txt不存在就创建并写入,如果文件a.txt存在就覆盖写)2) ls -al >> 文件 (功能描述:那列表的内容追加到文件aa.txt的末尾)3) cat 文件1 > 文件2 (功能描述:将文件1的内容覆盖到文件2)4) echo "内容" >> 文件 应用实例:案例1:将 /home/ 目录下的文件列表写入到 /home/info.txt 中命令:ls –l /home/ > /home/info.txt [如果文件不存在,则会自动创建后再写入]案例2:将当前日历信息追加到 /home/mycal 文件中 命令:date >> /home/mydate 或者 cal >> /home/mycal
9.5.14 echo指令
说明:echo 用于输出内容到控制台。 基本语法:echo [选项] [输出内容] 应用实例:案例1:使用echo指令输出环境变量,输出当前的环境路径。案例2:使用echo指令输出文"Hello World"。
9.5.15 head指令
说明:head 用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容。 基本语法:1) head 文件 (功能描述:默认查看文件头10行内容)2) head -n 5 文件 (功能描述:查看文件头5行内容,5可以是任意行数) 应用实例:案例:查看 /etc/profile 的前面5行代码。
9.5.16 tail指令
说明:tail 用于输出文件中尾部的内容,默认情况下tail指令显示文件的后10行内容。 基本语法:1) tail 文件 (功能描述:默认查看文件后10行内容)2) tail -n 5 文件 (功能描述:查看文件后5行内容,5可以是任意行数)3) tail -f 文件 (功能描述:实时追踪该文档的所有更新)该命令在工作中经常用。 应用实例:案例1:查看 /etc/profile文件 最后5行的内容案例2:实时监控某文件,看到当该文件有变化时,就会实时看到变化。最常使用查看tomcat启动日志文件命令:tail -f logs/catalina.out
9.5.17 ln指令
说明:软链接[link]也成为符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径。 基本语法:ln -s [原文件或目录] [软链接名] (功能描述:给原文件创建一个软链接) 应用实例:案例1:在 /home/ 目录下创建一个软连接,名为 linkToRoot,连接到 /root/ 目录 ln -s /root/ linkToRoot案例2: 删除软连接 linkToRoot rm –rf linkToRoot注意:删除软连接的时候,不要带正斜杠!否则会删除掉软连接对应的目录!细节说明:当我们使用pwd指令查看目录时,仍然看到的是软链接所在目录。
9.5.18 history指令
说明:查看已经执行过历史命令,也可以执行历史指令。 基本语法:history (功能描述:查看已经执行过历史命令) 应用实例:案例1:显示所有的历史命令。history 案例2:显示最近使用过的10个指令。history 10案例3:执行历史编号为5的指令:!5。``
9.6 时间日期类相关的指令
9.6.1 date指令-显示当前日期
说明:显示当前日期 基本语法:1) date (功能描述:显示当前时间)2) date +%Y (功能描述:显示当前年份)3) date +%m (功能描述:显示当前月份)4) date +%d (功能描述:显示当前是哪一天)5) date "+%Y-%m-%d %H:%M:%S" (功能描述:显示年月日时分秒) 应用实例:案例1:显示当前时间信息。案例2:显示当前时间年月日。案例3:显示当前时间年月日时分秒。
9.6.2 date指令-设置日期
基本语法:date -s 字符串时间 应用实例:案例1:设置系统当前时间,比如设置成 2020-11-11 11:22:22
9.6.3 cal指令-显示日历搜索查找类
说明:查看日历指令 基本语法:cal [选项](功能描述:不加选项,显示本月日历) 应用实例:案例1:显示当前日历。案例2:显示2050年日历。
9.7 搜索查找类相关的指令
9.7.1 find指令
说明:find指令 用于将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。 基本语法:find [搜索范围] [选项] 选项说明: 应用实例:案例1:按文件名:根据名称查找 /home/ 目录下的 hello.txt文件 find /home/ -name hello.txt 案例2:按拥有者:查找/opt目录下,用户名为nobody的文件 find /opt/ -user nobody案例3:查找整个linux系统下大于10M的文件(+n 大于、-n 小于、n 等于) find / -size +10M (注意:k要小写,M要大写)
9.7.2 locate指令
说明:locate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件。locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确度,管理员必须定期更新locate时刻。基本语法:locate 搜索文件特别说明:由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。 应用实例:案例1:请使用locate指令快速定位 hello.txt 文件所在目录 updatedb // 创建locate的数据库 locate hello.txt
9.7.3 grep指令和管道符号|
说明:grep 过滤查找,管道符“|”,表示将前一个命令的处理结果输出传递给后面的命令处理。 基本语法:grep [选项] 查找内容 源文件 常用选项: 应用实例:案例1:请在 /etc/profile 文件中,查找 "if" 所在行,并且显示行号。 cat /etc/profile | grep -n if [在/etc/profile 中查找 if ,并显示行,区别大小写] cat /etc/profile | grep -ni if [在/etc/profile 中查找 if ,并显示行,不区别大小写]
9.8 压缩和解压类相关的指令
9.8.1 gzip/gunzip 指令
说明:gzip 用于压缩文件,gunzip 用于解压文件。 基本语法:gzip 文件 (功能描述:压缩文件,只能将文件压缩为*.gz文件)gunzip 文件.gz (功能描述:解压缩文件命令) 特别说明:当我们使用gzip对文件进行压缩后,不会保留原来的文件。 应用实例:案例1:gzip压缩,将 /home/ 下的 hello.txt文件 进行压缩案例2:gunzip压缩,将 /home/ 下的 hello.txt.gz文件 进行解压缩
9.8.2 zip/unzip 指令
说明: zip 用于压缩文件,unzip 用于解压的,这个在项目打包发布中很有用的。 基本语法:zip [选项] xxx.zip 需要压缩的内容(功能描述:压缩文件和目录的命令)unzip [选项] xxx.zip 需要解压缩的内容(功能描述:解压缩文件的命令) zip的常用选项:-r :递归压缩,即压缩目录。 unzip的常用选项-d :指定解压后文件的存放目录。 应用实例:案例1:将 /home/ 下的 所有文件进行压缩成 mypackage.zip [退出home] zip -r mypackage.zip /home/案例2:将 mypackge.zip 解压到 /opt/tmp/ 目录下 unzip –d /opt/tmp/ mypackage.zip [如果/opt/tmp/ 目录不存在,会自动创建]
9.8.3 tar 指令
说明:tar 是打包指令,最后打包后的文件是 xxx.tar.gz 的文件。[可以压缩,和解压缩] 基本语法:tar [选项] xxx.tar.gz 打包的内容/目录 (功能描述:打包目录或文件,压缩后的文件格式 xxx.tar.gz) 选项说明: 应用实例:案例1:压缩多个文件,将 /home/a1.txt 和 /home/a2.txt 压缩成 a.tar.gz,命令 tar -zcvf a.tar.gz a1.txt a2.txt案例2:将 /home/ 文件夹压缩成 myhome.tar.gz,命令 tar -zcvf myhome.tar.gz /home/案例3:将 a.tar.gz 解压到当前目录,命令 tar -zxvf a.tar.gz案例4:将 myhome.tar.gz 解压到 /opt/tmp2/目录下,命令 tar -zxvf myhome.tar.gz -C /opt/tmp2/ 特别说明:解压到指定目录的前提:指定目录先要存在!如果指定目录没有,会报错!
标签:文件,记录,实用,案例,指令,home,txt,目录 From: https://blog.51cto.com/u_15300617/5786004