第四章 Linux常用指令(关机、用户、文件相关指令)
一、关机重启指令
1、shutdown
- shutdown -h now:表示立即关机
- shutdown -h n:表示n分钟后关机
- shutdown -c:表示取消关机,一般和shutdown -h n配合使用。
- shutdown -r now:表示立即重启
2、halt
直接使用,效果等价于关机,不建议使用。
3、reboot
重启计算机。
4、sync(重点掌握)
把内存数据写入到磁盘中。
注意:在我们要关机的时候,一般都要先使用sync进行文件的保存,然后在进行关机。
二、用户登录和注销指令
1、注销:logout
用户注销,在命令窗口下可以正常使用,**在图形化界面不可使用。**在图形化界面时,使用exit退出登录。
2、切换:su -userName
在登录Linux系统的时候,我们一般是以普通用户的身份登录的,对于需要管理员才能操作的权限时,我们使用su -用户名来切换身份。
三、用户管理
1、用户管理基本介绍(重点:图)
在Linux系统中,Linux设计者采用用户组来对用户进行管理,Linux超级管理就在root用户组里面。而对于其他的用户,都是通过/home/目录来进行管理的,当我们创建一个用户xxx时,/home/就会创建/home/xxx/的用户目录,同时Linux也会常见一个组名为xxx的用户组对xxx用户进行管理(默认)。用户所在的组也是可以指定的。
2、常用指令
(1)添加用户:useradd 用户名
例如添加用户nobug:useradd nobug
useradd nobug过程(重点理解):
(2)指定家目录添加:user -d 家目录 用户名
useradd -d 指定目录 新用户名:给创建新的用户指定家目录,例如 useradd /home/tiger/ nobug
(3)指定用户密码:passwd 用户名
(4)删除用户:userdel 用户名
- 删除用户但保存家目录:userdel 用户名
- 删除用户不保存家目录:userdel -r 用户名
说明:在实际的工作,我们不会删除家目录,只是把用户删除。
(5)查询用户信息:id 用户名
(6)切换用户:su - 用户名
说明:一般指的是当前用户的权限不够,切换至权限较高的用户进行操作。
备注:
1、高权限用户切换低权限用户时,不需要输入用户密码。
2、从高权限切换至低权限用户身份时,只需要输入exit(退出)即可切回高权限用户身份。
3、从权限低用户切换至高权限用户时,需要输入密码。
(7)whoami:who am i (我是谁?)查看当前用户
3、用户组管理
类似于角色,系统可以对由共性的多个用户进行统一管理。
(1)增加组:groupadd 组名
(2)删除组:groupdel 组名
(3)增加用户时给用户指定用户组:useradd -g 用户组 用户名
(4)修改用户所在组:usermod -g 用户组 用户名
案例,创建一个shaolin组,让zwj用户修改到shaolin组。
注意:修改用户所在的组是直接将用户从原来的用户组中移除到新的用户组。
4、用户和用户组相关的文件
用户、用户组和用户密码信息都是存放在配置文件中,也就是/etc里面
(1)用户配置文件:/etc/passwd
记录用户的各种信息,每行含义:用户名:口令(密码):用户标识号:注释性描述:主目录:登录:shell种类
(2)用户组配置文件:/etc/group
记录用户组的各种信息,每行含义:组名:口令:组标识号:组内用户列表
(3)用户口令(密码)配置文件:/etc/shadow
记录用户各种加密后的信息,每行含义:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
四、实用指令
1、指定运行级别:init[n]
init[n]:n的取值为0,1,2,3,5,6. 例如关机 init 0.
**如何找回丢失的密码?**如果我们不小心忘记了root密码,该怎么找回密码。
进入单用户模式,因为单用户模式下是以root身份登录的,而且不需要root密码,在单用户模式下修改root密码即可。具体步骤如下:
**开机时一直安enter键——》看到一个界面,输入e——》再次看到一个新的界面,选中第二行(内核),输入e——>在这最后一行输入 1,再按enter键——》再次输入b,这时就会进入到单用户模式了。**然后通过passwd 用户名指令即可修改用户密码了,这样相当于把密码找回来了。(前提条件是不可以远程操作的)
2、运行级别补充说明
Linux设计人员在进行Linux运行级别设计的时候,设计了六种运行级别(0-6):
运行级别 | 说明 |
---|---|
0 | 关机 |
1 | 单用户【密码找回】 |
2 | 多用户无网络服务 |
3 | 多用户有网络服务 |
4 | 保留 |
5 | 图形界面 |
6 | 重启 |
其中运行级别1和运行级别3是比较常用的,尤其是运行级别3,一般程序员在操作Linux系统的时候,都是在运行级别3的情况下进行操作的。**系统的运行级别配置可以在/etc/inittab中进行配置。**要修改系统的运行级别可以在/etc/inittab的id:5:initdefault:这一行数字。
3、帮助指令
初学者对Linux指令不熟悉的时候,可以使用Linux提供的帮助指令来了解这个指令。
(1)帮助指令:man[命令或者配置文件]
通过man[指令或者配置文件]来获取指令或者配置文件的信息。例如获取指令ls的信息,man ls。
(2)帮助指令:help [命令]
通过help [指令]来获取shell内置命令的帮助信息。例如获取指令cd的信息 help cd。
五、文件目录类指令(重点)
1、显示当前工作目录的绝对路径:pwd
2、ls指令
- 基本语法:ls [选项] [目录或是文件]
- 常用选项:
(1)-a:显示当前目录所有的文件和目录,包括隐藏的文件(.标识的就是隐藏文件)。
(2)-l:以列表的形式显示信息
3、cd指令(重点理解相对路径和绝对路径)
- 基本语法:cd [参数] (功能描述:切换到指定的目录)
- 常用参数:
(1)cd~或者cd:回到自己的家目录
(2)cd… :回到当前目录的上一级目录
补充:如何理解绝对路径和相对路径
绝对路径:Linux中的绝对路径是从根目录/开始的。
相对路径:从当前工作目录开始定位到需要的目录中去。
例如:进入到home目录中,当前工作在root目录下。
绝对路径:cd /home
相对路径:cd…/home
4、mkdir指令
用户创建目录的(make directory)。
- 基本语法:mkdir [选项] 目录名称
- 常用选项:
-p:创建多级目录 - 应用案例
(1)创建一个目录/home/dog: mkdir /home/dog
(2)创建一个目录/home/animal/tiger: mk -p /home/animal/tiger
备注:
1.创建多级目录的时候,需要指定选项为-p,如果animal这个目录存在,就是在animal这个目录下创建tiger目录
5、rmdir指令
用户删除目录(remove directory)。
- 基本语法:rmdir [选项] 目录名称
- 常用选项:
-rf:删除非空目录 - 应用案例
(1)删除/home/dog目录 rmdir /home/dog
备注:
rmdir删除的是空目录,对于有内容的目录是无法删除的,需要用rm -rf才能删除非空文件夹
6、touch指令
创建空文件。
- 基本语法:touch [文件1,文件2,文件3,…]
- 应用实例:在home创建一个bugchen.txt文件 : touch bugchen.txt
7、cp指令(重点copy)
拷贝文件到指定的目录。
-
基本语法:cp [选项] source dest(将source文件拷贝到dest目录中去)
-
常用选项:
-r:递归复制整个文件夹 -
应用案例
(1)将/home/bugchen.txt文件拷贝到/home/animal目录下(单个文件的拷贝)
(2)递归复制整个文件夹:将animal文件夹拷贝到zwj下
注意:拷贝文件或者问价夹的时候,在当前目录是无法进行当前文件或者文件夹的拷贝的,需要在上级目录来进行操作。准确定位源目录和目标目录。\cp标识强制覆盖,用于目标目录下有相同文件。
8、rm指令(remove)
移除文件或者目录。
- 基本语法:rm [选项] 文件名称或者目录名称
- 常用选项:
-r:递归删除整个文件夹。
-f:强制删除不提示 - 应用实例:
(1)将/home/bugchen.txt文件删除(当前工作目录为home):rm bugchen.txt
(2)递归删除/home/animal整个文件夹(当前工作目录为home目录):rm -r animal
备注:
如果不想要有提示信息,加上-f即可 rm -rf 文件名或者目录名
9、mv指令(move)
移动问价或者重命名文件(剪切和重命名的结合)。
- 基本语法:
(1)mv 老文件名 新文件名(功能描述:重命名,在同一个目录下进行)
(2)mv /temp/moveFile /targetFolder(功能描述:移动文件) - 应用案例:
(1)将/home/bugchen2.txt文件重命名为bugchen.txt
(2)将/home/bugchen.txt文件移动到/root下面
10、cat指令
以只读的方式查看文件内容。
- 基本语法:cat [选项] 文件名
- 常用选项:
-n:显示行号 - 应用案列:
(1)查看etc文件 : cat -n /etc/profie(全部内容显示出来了)
如果我们想要分页看,使用管道 |和more来进行配合查看
注意:cat只能查看文件内容,不能修改文件内容。
11、more指令
more指令是一个基于VI文本编译器的文本过滤器,一次性加载文件的全部内容,它以全屏的方式展示文本文件的内容。more指令中内置了很多快捷键指令。
- 基本语法:more 文件名
- 应用案例:查看/etc/profile文件 more /etc/profile
补充说明:快捷键
快捷键 | 说明 |
---|---|
空白键(space) | 向下翻一页 |
Enter | 向下翻一行(一行一行的看) |
q | 离开more,不在显示文件内容 |
Ctrl+f | 向下滚动一屏 |
Ctrl+b | 返回上一屏 |
= | 输出当前行号 |
:f | 输出当前文件名和当前行的行号 |
clear:清楚当前窗口的记录
12、less指令
less指令是用来分屏查看文件内容的,它的功能与more指令的功能差不多,但是比more指令的功能强大,支持各种终端显示。less指令在显示文件内容时,并不是一次性加载文件内容,而是根据需要加载内容,对于大型文件的查看具有很高的效率。
- 基本语法:less 文件名
- 快捷键:补充说明
快捷键 | 说明 |
---|---|
空白键(space) | 向下翻一页 |
[pagedown] | 向下翻一页 |
[pageup] | 向上翻一页 |
/关键词 | 向下搜索关键词功能:n:向下查找,N:向上查找 |
?关键词 | 向上搜索关键词功能:n:向上查找,N:向下查找 |
q | 离开less程序 |