8.Linux用户简介
8.1 Linux中用户简介
- Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
- root用户是系统默认创建的管理员账号。root用户可以创建多个普通用户,用于分配给公司的普通员工,之后普通员工使用这个账号来访问公司的服务器。
- root账号是Linux默认生成的一个超级管理员系统。只要这个root管理员给普通账号权限,普通用户也可以创建新的普通用户,但是大多数都使用root类创建新的普通账号。
- Window系统在使用的时候只要有账号就可以使用,但是Linux必须有合法的账号和密码才可以使用。
8.2 添加用户
- useradd 用户名 : 创建一个新的用户账号。
注意:使用这个命令的账号创建账号时,这个创建账号的账号必须有创建账号的权限(一般是root账号来创建新的用户)
在使用这个创建命令的时候Liunx帮我们做了几件事:
- 创建一个用户。
- 在/home目录下创建这个用户的根目录,目录名称默认与用户名相同。(可以进行修改)
- 在Linux中任何一个用户都至少属于一个组,新建用户时如果不指定组,则会创建一个组,组名很用户名相同,并且把该用户添加到这个组中。
设置用户名字
- 语法格式:useradd [选项] 用户名
- useradd zhangsan:创建一个账号叫zhangsan,此时会创建账号、创建一个组zhangsan并且把zhangsan分到此组中、还会在/home下创建一个目录叫zhangsan作为新创建用户的根目录。
- useradd -d /home/ls lisi:创建一个账号叫lisi,并且给lisi指定的目录在home下文件夹是自定义的叫做ls。
设置密码
语法格式:passwd 用户名:给指定用户设置密码。
- 注意:在设置密码的时候,如果设置的太简单,会让你重新输入复杂的密码,并且在输入密码的时候是看不到的,是隐藏输入的。
8.3 删除用户
语法格式:userdel[选项] 用户名
- userdel zhangsan:删除用户zhangsan,保留zhangsan的主目录。
- userdel –r lisi:删除用户lisi,并且把lisi的主目录也删除(级联删除,经常使用)。
8.4 查看用户
语法格式:id 用户名
- id zhangsan:查看用户zhangsan的信息。主要是查询用户组的信息。
8.5 切换用户
语法格式:su 用户名
- su zhangsan:切换到zhangsan用户。此时不需要提供密码。
- su root : 切换到root用户,此时需要提供密码。
注意:从高权限用户切换到低权限用户时,不需要输密码;否则,需要输密码。
重点:exit命令可以回到原来的用户,并且切换回root不需要密码。
9.Linux组基本操作
- Linux的组类似于角色,系统可以对有共性的多个用户进行统一的管理。每一个用户都至少属于一个组,可以存在多个组中,创建用户时如果不指定组,会默认创建一个跟用户名相同的组,并且把新创建的用户分配到组中,root用户默认属于root组。
9.1 添加组
- 语法格式:groupadd 组名
groupadd devgroup:创建一个组devgroup。
9.2 删除组
- 语法格式:groupdel 组名
groupdel devgroup:删除一个组devgroup。
9.3 添加用户时指定组(常用)
- 语法格式:useradd –g 组名 用户名
useradd –g devgroup zhangsan:添加用户zhangsan,并且指定zhangsan属于组devgroup。
9.4 将用户添加到指定组
- 语法格式:gpasswd –a 用户名 组名
gpasswd -a zhangsan dev
注意:
- 可以使用查看用户的命令来查看此时用户所在的组。
- 将用户添加到指定组并不是将以前组中的用户删除添加到新指定的组,而是将以前组中的对象复制一份添加到指定的组,此时这个用户存在于两个组中。
9.5 将用户从组中移除
- 语法格式:gpasswd -d 用户名 组名
gpasswd -d zhangsan dev
- gid叫做主组,用户不可以移出主组。组叫做附加组,用户可以在附加组中被移除。
10.Linux中帮助命令
- 查看所有命令的内置帮助信息:help 命令(可以使用help)(英文版)
- 查看Linux系统手册上指定的帮助信息:man 命令(不可以使用man)(中文版)
注意:按enter是一行一行的显示帮助信息,按space是一页一页的显示帮助信息,按q退出帮助。
11. Linux目录操作命令
11.1 查看目录
查看目录中的子目录以及文件列表
- 查看当前所在的目录:pwd。这个是从根目录开始。
- 查看指定目录下所有的子目录或者文件列表: ls [指定目录]
- 查看当前目录下的子目录或者文件列表: ls
以指定格式显示子目录以及文件列表
- ls 指定目录:使用默认的展示形式(相当于Windos中的平铺形式,并且不会展示出隐藏文件)
- ls -l 指定目录:以列表形式显示。(相当于Windows中的列表)
- ls -a 指定目录:显示指定目录下的子目录以及文件列表(包括隐藏的文件)
注意:以上的命令可以写成 ls -a(ls -l) 等。查看当前目录下的子目录以及文件列表。
查看你列表参数可以叠加
- ls -al 指定目录:以列表形式展示出指定目录下的子目录以及文件列表(包括隐藏文件)
11.2 切换目录
- 语法格式:cd [参数]
- 功能描述:切换到指定目录
参数信息:
- 绝对目录:路径从根路径(/)开始。(可以从任意位置一步跳转到指定的文件夹)
- 相对目录:路径从当前目录开始。(的一步一步的跳转到指定的文件夹)
几个特殊的cd命令:
- cd ~或者cd : 回到自己的主目录。这个属于绝对目录。 (普通用户在home目录之下,root用户在root目录之下)
- cd .. 返回当前目录的上一级目录。这个属于相对目录。
- cd . 返回当前目录
11.2 创建目录
创建一级目录
- 绝对目录:mkdir /opt/testDir/test :在opt/testDir目录下创建test目录。
- 相对目录:mkdir test :在该目录下创建test目录。
注意:创建目录的时候只有root账号才有权限创建。普通用户不可以创建。
创建多级目录
- 绝对目录:mkdir -p /opt/testDir/test3/tes4 : 在opt/testDir目录下先创建test3,在创建一个test4。多级创建
- 相对目录:mkdir -p test3/test4 : 在当前目录下, 先创建test3,在创建一个test4。多级创建
11.3 删除目录
rmdir 目录 : 删除一个空目录
语法格式 : rm [选项] : 要删除的文件或目录
rm -r :递归删除整个文件夹
rm -f : 强制删除不提示
12. Linux文件操作命令
12.1 创建文件
- vi/vim:可以在指定的目录下创建一个文件。 但是使用这个命令创建文件会默认使用编辑器打开。并且vi和vim一次只能创建一个文件。
- touch 文件名列表(文件名之间用空格隔开) : 这个命令一个可以创建一个或者多个文件。
- touch t1.txt t2.txt:在当前目录下创建多个文件。
12.2 查看某个文件的内容
查看全部的文件内容
语法格式:cat [选项] 要查看的文件名(绝对目录/相对目录)
cat -n 查看的文件名称 :这个会显示出行号。
注意:文件只以只读的文件显示。
查看开头指定行数的文件内容
head 文件名 : 默认查看文件的头10行内容。
head -n 5 文件名 : 查看文件头5行内容,5可以是任意的数字。
注意:在Linux系统中,所有的文件名都可以使用绝对路径或者相对路径显示。
查看结尾指定行数的文件内容
tail 文件名 : 默认查看文件尾10行的内容,
tail -n 5 文件名 : 查看文件尾5行内容,5可以是任意的。
12.3 输出变量或者常量到控制台
echo [选项] [输出内容] :输出变量或者常量内容到控制台
- echo $PATH(这里需要大写) : 输出路径到控制台,这里的PATH需要大写。
- echo Hello world! :可以在控制台输出Hello world
把前一个查看命令的结果输出到指定的文件中(如果文件不存在,系统会帮我们自动创建一个。并且创建文件的位置就是输入命令的这个目录) : 查看命令 > 文件名
- ls > ret.txt
注意:
- 输入到这个文件中的并不是一个目录,而是这个目录下对应的文件或者子目录的名称。
- 当这个文件夹存在的时候,再次执行这个命令会覆盖掉这个文件中之前的内容。
文件内容的复制:
- cat ret.txt > ret_new.txt :将源文件中的内容复制一份到新的文件,并且源文件的内容不发生改变。
注意: 不论是新建还是文件的复制,都会覆盖掉以前文件中的内容。
13.Linux的系统操作
- shutdown now : 立刻进入关机
- shutdown -h 1 : 1小时后关机
- shutdown -r now : 现在重启计算机
- reboot : 现在重启计算机
- sync : 把内存的数据同步到磁盘。
14. Linux中关于日期和时间的操作指令
查看或者设置系统的日期或者时间:date
- date : 查看系统当完整的日期和时间。
- date +%Y : 系统当前的年份。
- date +%m : 系统当前的月份。
- date +5d :系统当前的日期。
- date '+%Y-%m-%d %H:%M:%S' :按照yyyy-MM-dd HH:mm:ss格式显示当前系统的时间。
Linux系统中查看日历
- cal :查看系统当前月份的日历。
- cal 2020 :查看指定年份的所有月份的日历信息。
15. Linux 中关于搜索文件或者目录的命令(find)
语法格式:find [搜索范围] [搜索标准] 关键字
搜索标准:
- name : 默认按照名称搜索,这个name可以省略不写,不写也是按照名字搜索。
- size : 按照文件大小搜索。
- user:按文件的所有者搜索。(默认是谁创建的这个文件,谁就是这个文件的所有者。后期可以进行更改)
15.1 通过文件或者目录的名称进行搜索
- find *.txt (相对路径): 搜索当前目录下。所有的.txt文件。
- find * e * (相对路径):搜索当前目录下,所有名称中包含e的文件和目录。
- find /etc */txt :搜索/etc目录下所有.txt文件。
15.2 通过文件的大小来搜索
在Linux中,+号代表大于,-代表小于。
- find /etc -size -5k(5M) :搜索/etc目录下所有小于5k/5M的文件。
- find /etc -size +5k(5M) :搜索/etc目录下所有大于5k/5M的文件。
15.3 通过文件的所有者就行搜索
- find /etc -user zhangsan : 搜索/etc目录下所有者是zhangsan的文件和目录。