接上一篇(一)
话不多说,开始主题。
运行级别:7个运行级别
0:关机
1:单用户(找回丢失密码)
2:多用户无网络服务
3:多用户有网络服务(用的最多)
4:保留
5:图形界面
6:重启
类比于windows的安全模式等。系统的运行级别配置文件:/etc/inittab
切换到指定运行级别的指令:init[012356](注意没有4)
案例:通过init切换不同的应用级别,比如5→3,然后关机:
首先打开centos中的终端,输入 vim /etc/inittab,显示了全部可运行级别,以及最后一行的当前级别,可以发现默认的是级别5,这也复合预期,图形界面。
首先esc,然后:q! 退出vim,然后输入init 3,确实出现了新的界面了,这就是3号多用户有网络服务:
输入密码进去,这个时候其实没办法用鼠标控制了,如果想来回切换linux和Windows,需要用到ctrl+g和alt+ctrl
输入init 5,又可以回来,也需要重新登录。
而输入init 0,也可以关机。
这个老师说到一个常见面试题:如何找到root密码?
思路:进入到 单用户模式,然后修改root密码。因为单用户模式的root是不需要密码的。
由于密码丢失,那么不能启动,因此开机至这个界面,立即要按enter使其停下,不停下就去用户名那里了(感觉有点像win7之前的安全模式启动):
会出现下面界面,出现之后再按e:
光标在第二个停下:
再输入e:
在最后面空一格,写1:
按下回车,这就进入了单用户模式:
仍然在第二行,输入b,进入单用户模式的root:
没有密码也进入了root,此时可以通过passwd root指令修改密码了。
听到这里,我觉得单用户岂不是能进去进行取得root权力?事实上,这个通过远程无法实现,只能在装linux的那个机房,那台机器,才能进入单用户模式。ok,这集获益匪浅。
最后一个知识点:linux运行,如何直接进入第三运行级别?
打开终端,光标移动到下图中的5,输入 i ,将下图中5修改为3,然后esc+:wq保存,下次就可以直接进入3了。
这个时候,如果我们设置为0,那就会开机关机开机关机,只能进入单用户模式,改回来,就ok了。
当我们对某个指令不熟悉时,可以使用Linux的帮助指令来帮助了解。
man [命令或配置文件]
例如:man ls
help [命令或配置文件]
这集没啥意义,百度更直接其实,不过也有可能是我太low了。。。
从这集开始,要讲很多常用的指令啦。
pwd 显示当前工作目录的绝对路径,这里用root登录,因此在/root,如果其他用户,可能就是/home,很简单,不多说了。
ls [选项] 目录或者文件
常用: ls ls -a ls -l ls -al,分别代表未隐藏的文件与文件夹、所有文件及文件夹包括隐藏的、未隐藏的文件与文件夹的详细信息、所有文件及文件夹包括隐藏的详细信息。
cd 切换目录
首先介绍绝对路径与相对路径,..代表回到上一级。比如从/user/lib 到/root相对路径就得两次.:cd ../../root,而绝对路径只需要cd /root,注意路径地位
cd~ 或者 cd : 回到自己家目录
cd.. 回到当前目录的上一级目录
mkdir 创建目录,挺简单的:
使用 -p 一次性创建目录下的目录(多级目录):
rmdir 删除目录:
rmdir删除的是空目录,如果有内容是无法删除的:
如果非空,需要用rm -rf来删除:
著名的从删库到跑路就是rm -rf写多了,写成了rm -rf / *,或者后面路径没写对,写成了rm -rf / ,然后删了所有。。
touch(创建)
touch用来创建新文件,和vim有一点类似,touch hello.txt:
emmmm这里发现我linux的系统时间是错误的。。
创建多个空文件:中间以空格隔开:touch 1.txt 2.txt就行了。
cp(拷贝,很重要的指令)
在windows下很简单,鼠标右键复制粘贴就行。cp是拷贝到指定目录。
cp[选项] source dest
-r递归复制。
应用实例1:将/home/aaa.txt 拷贝至 /home/bbb目录下(拷贝单个文件)
这里仍然可以用相对路径和绝对路径,一般程序员喜欢用相对路径
应用实例2:将test文件夹整体拷贝进zwj文件夹:
这些指令都不难,但是目录当前位置 什么的,还是蛮不容易上手的。比如cp -r 后面的文件夹目录要准确定位。
最后,强制覆盖的概念:如果已经有文件夹了,会让你输入是否覆盖,可以用\cp表示强制覆盖:
小技巧:可以通过键盘的上下,调用之前使用过的指令。
rm 删除文件或目录
-r 递归删除整个文件夹 -f 强制删除不提示
应用实例1:shanchu/home/aaa.txt:
应用实例2:递归删除整个文件夹/home/bbb
应用实例3:-f强制删除,不提示
mv 移动文件、目录或者重命名
mv oldName newName
mv /temp/movefile /targetFolder
应用实例1:将aaa.txt重命名为pig.txt:
应用实例2:将pig.txt移动至root目录: