目录

一、删除目录rm

短选项删除目录(并查看)

二、创建用户并设置密码

1、创建用户的命令格式useradd

2、给用户设置密码的命令格式passwd

3、查看用户是否存在id

示例:查看

编辑

4、删除用户userdel

示例:删除(可以 -f 和 -r 一起使用)

5、修改用户信息usermod

示例:修改用户id

三、用户组的管理

1、新增用户组groupadd

示例:指定新建用户组的ID 

2、删除用户组groupdel

示例:删除用户组

3、修改用户组属性groupmod

示例:修改组名

示例:将用户组k305的组ID改为660

4、用户组的切换newgrp

示例:组的切换

5、用户组管理gpasswd

示例:将k306用户添加到k305组中

四、用户切换

1、su

示例:以k307用户为例

2、sudo

五、文件操作

1、pwd

示例:查看当前目录

2、cd 

示例

 3、ls

示例:显示当前目录下的所有文件(包括隐藏文件)信息

 4、touch

示例:

 5、mkdir

示例:

 6、cp

示例:将 a.txt 复制并且改名为 c.txt

 7、rm

示例:删除文件

 8、mv

示例:将 w.txt 移动到 xxx 目录下

9、rmdir

六、查看文件

1、cat

示例:打印etc目录下passwd文件中的内容

 2、more

3、less

 4、head

示例:查看etc目录下passwd文件的前3行内容

 5、tail

示例:查看etc目录下passwd文件的后3行内容

 6、wc

示例:统计passwd文件的行数

七、文件搜索

1、which

示例:搜索 ls 命令所在路径

 2、find

示例:

 3、locate

4、grep

示例:

查找 /etc/passwd 文件中包含root的行

 统计 /etc/passwd 文件中包含root的行数

 八、权限管理

1、chmod

对同组用户添加 w 写权限

对其他用户减去 r 读权限

对拥有者添加 x 执行权限

使用数值形式表示权限

示例:使用chmod命令数值表示法为其添加权限的方式

2、chown

chown:更改文件属主,也可以同时更改文件属组

3、chgrp

 九、查看目录结构

1、    ls  /   

2、   ls /etc

3、  ls /bin

4、  ls /home

5、  ls /usr

6、  ls /dev

7、  ls /root

8、  ls /lib

9、  ls /boot

10、  ls /mnt

11、  ls /proc

12、  ls /opt

13、  ls /tmp

14、  ls /swap


学习删除目录、创建用户并设置密码、用户组的管理、用户切换、文件操作、查看文件、文件搜索、权限管理、查看目录结构

一、删除目录rm

      删除目录的命令格式:  rm -r dir

删除目录dir,其中rm为命令的名称,用于删除文件;r为选项,表示删除目录中的文件和子目录;dir为命令作用的对象,该对象是一个目录。Linux系统中的命令都遵循以上格式,命令中的选项和参数可酌情缺省。
      命令的选项有两种,分别为长选项和短选项。以上示例中的选项“ -r ”为短选项,对应的长选项为“ -recursive ”。长、短选项的区别在于:多个短选项可以组合使用,但长选项只能单独使用。例如,rm命令还有一个常用选项“ -f ”,表示在进行删除时不再确认,该选项可与“ -r ”组成组合选项“ -rf ”,表示直接删除目录中的文件和子目录,不再一一确认;若使用长选项实现以上功能,则需要使用以下命令:

rm --recursive --force 目录名

与短选项相比,长选项显然比较麻烦,因此Linux命令中通常不使用长选项。

短选项删除目录(并查看)

删除前,能看到还有abc目录存在

Java中切换目录执行cmd命令_用户组

删除后,看不到abc目录了

Java中切换目录执行cmd命令_centos_02

二、创建用户并设置密码

1、创建用户的命令格式useradd

useradd [ 选项 ] 用户名

 该命令支持的选项有:

选项

说明

-d

指定用户登录时的目录

-c

指定账户的备注文字

-e

指定账号的有效期限

-f

缓冲天数,密码过期时在指定的天数后关闭该账号

-g

指定用户所属组

-G

指定用户所属的附加用户组

-m

自动建立用户的登录目录

-r

创建系统账号

-s

指定用户的登录shell

-u

指定用户ID。若添加-o选项,则用户ID可与其他用户重复

2、给用户设置密码的命令格式passwd

命令格式:passwd [ 选项 ] 用户名

 该命令支持的选项有:

选项

说明

-l

锁定密码,锁定后密码失效,无法登录(新用户默认锁定)

-d

删除密码,仅系统管理员可使用

-S

列出密码相关信息,仅系统管理员可使用

-f

强行执行

Java中切换目录执行cmd命令_centos_03

3、查看用户是否存在id

命令格式:id [ 选项 ] [ 用户名 ]

示例:查看

 该命令支持的选项有:

选项

说明

-g

显示用户所属的群组的id

-G

显示用户所属附加群组的id

-n

显示用户、、所属群组、附加群组的名称

-r

显示实际id

-u

显示用户id

-help

显示帮助信息

-version

显示版本信息

      注意:id 命令可以显示真实有效的用户ID(UID)。UID 是对一个用户的单一的身份标识。组ID(GID)则对应对个UID,因为一个组可以多个用户。

4、删除用户userdel

命令格式:userdel [ 选项 ] [ 用户名 ]

 该命令支持的选项有:

选项

说明

-f

强制删除用户,即便用户为当前用户

-r

删除用户的同时,删除与用户相关的所有文件

示例:删除(可以 -f 和 -r 一起使用)

Java中切换目录执行cmd命令_linux_04

5、修改用户信息usermod

命令格式:usermod [ 选项 ] [ 用户 ]

 该命令支持的选项有:

选项

说明

-c

修改用户账号的备注信息

-d

修改用户登录目录

-e

修改账号的有效期限

-f

修改缓冲天数,即修改密码过期后关闭账号的时间

-g

修改用户所属组

-G

修改用户所属的附属组

-l

修改用户账号名称

-L

锁定用户密码,使密码失效

-s

修改用户登录后使用的Shell

-u

修改用户ID

-U

解除密码锁定

示例:修改用户id

Java中切换目录执行cmd命令_linux_05

三、用户组的管理

1、新增用户组groupadd

命令格式:groupadd [ 选项 ] 参数

 该命令支持的选项有:

选项

说明

-g

指定新建用户组的ID

-r 

创建系统用户组,组ID取值范围为1~499

-o

允许创建组ID已存在的用户组

示例:指定新建用户组的ID 

Java中切换目录执行cmd命令_centos_06

Java中切换目录执行cmd命令_linux_07

 查找用户组cat

命令格式:cat  /etc/group

Java中切换目录执行cmd命令_用户组_08

 660和550是用户组的ID

2、删除用户组groupdel

       使用groupdel命令可以删除多余的用户组

命令格式:groupdel 用户组名

示例:删除用户组

Java中切换目录执行cmd命令_centos_09

可以用 cat  /etc/group 查看是否删除成功

3、修改用户组属性groupmod

       命令格式:groupmod [ 选项 ] 参数

 该命令支持的选项有:

选项

说明

-g

为用户组指定新的组ID

-n

修改用户组的组名

-o

允许创建组ID已存在的用户组

示例:修改组名

Java中切换目录执行cmd命令_centos_10

示例:将用户组k305的组ID改为660

Java中切换目录执行cmd命令_用户组_11

4、用户组的切换newgrp

命令格式:newgrp 用户组

示例:组的切换

Java中切换目录执行cmd命令_学习_12

5、用户组管理gpasswd

命令格式:gpasswd [ 选项 ] 参数

 该命令支持的选项有:

选项

说明

-a

添加用户到用户组

-d

从用户组中删除用户

-r

删除密码

-R

限制用户登录入组,只有组中的成员才可以用newgrp加入用户组

       需要说明的是,使用usermod命令的-g 选项为用户设置附属组时,将会覆盖用户原有的附属组,若想为用户设置多个附属组,需要使用gpasswd命令将用户逐个添加到不同的用户组中。

示例:将k306用户添加到k305组中

Java中切换目录执行cmd命令_Java中切换目录执行cmd命令_13

四、用户切换

1、su

命令格式:su [ 选项 ]  [ 用户名 ]

 该命令支持的选项有:

选项

说明

-c

执行完指定的命令后,切换回原来的用户

-l

切换用户的同时,切换到对应用户的工作目录,变量环境也会随之改变

-m ,-p

切换用户时,不改变环境变量

-s

指定要执行的shell

若选项和用户名缺省,则表示切换到root用户,但此时仍保留原来用户的工作环境;若使用“ su - ” ,则表示从当前用户切换到root用户,并切换到root用户的工作目录。

 使用su命令时,由root用户切换到其他用户,可以不输入密码;由普通用户切换到标准用户时,需要输入目标用户的密码。

示例:以k307用户为例

从k307切换回root

Java中切换目录执行cmd命令_用户组_14

 从k307切换root ,并更改工作目录

Java中切换目录执行cmd命令_linux_15

2、sudo

命令格式:sudo [ 选项 ]  [ 参数 ] 

 该命令支持的选项有:

选项

说明

-b

在后台执行命令

-h

显示帮助

-H

将HOME环境变量设置为新身份的HOME环境变量

-k

结束密码的有效期限

-l

列出目前用户可执行与无法执行的命令

-p

改变询问密码的提示符号

-s

执行指定的shell

-u

以指定的用户作为新的身份,即切换到指定用户。默认切换到root用户

       sudo可使当前用户以其他身份来执行命令,若不指定用户名,则默认以root身份执行。

五、文件操作

1、pwd

       pwd用于显示当前工作目录的绝对路径,通常不添加参数,直接在命令行中使用。

示例:查看当前目录

Java中切换目录执行cmd命令_用户组_16

2、cd 

     cd更改目录,若执行该命令的用户具有切换目录的权限,cd命令将更改当前工作目录到对象目录。

命令格式:cd 参数

示例

  • 切换工作路径到当前目录下的(目录)中

格式:cd ./ 目录名

  • 切换工作路径到上一级目录(pwd查看)

格式:cd ..

Java中切换目录执行cmd命令_用户组_17

  •  切换工作路径到etc目录下的yum目录中(pwd查看)

格式:cd /etc/yum

Java中切换目录执行cmd命令_linux_18

  •  切换工作路径为当前用户的家目录(pwd查看)

格式:cd ~

Java中切换目录执行cmd命令_linux_19

 3、ls

命令格式:ls [ 选项 ] [ 参数 ]

 该命令支持的常用选项有:

选项

说明

-l

以详细信息的形式展示出当前目录下的文件

-a

显示当前目录下的全部文件(包括隐藏文件)

-d

查看目录属性

-t

按创建时间顺序列出文件

-i

输出文件的 inode 编号

-R

列出当前目录下的所有文件信息,并以递归的方式显示各个子目录中的文件和子目录信息

示例:显示当前目录下的所有文件(包括隐藏文件)信息

Java中切换目录执行cmd命令_学习_20

 也可以ls -al 一起使用

Java中切换目录执行cmd命令_Java中切换目录执行cmd命令_21

 4、touch

若指定的文件不存在,该命令将会创建一个新文件,所以该命令有个附加功能,即创建新的空文件。

可以用来创建的文件

命令格式:touch 参数

示例:

Java中切换目录执行cmd命令_用户组_22

 使用  ls -al 查看

Java中切换目录执行cmd命令_Java中切换目录执行cmd命令_23

 5、mkdir

用来创建目录

命令格式:mkdir [ 选项 ] 参数

       mkdir 命令的参数一般为目录或路径名,当参数为目录时,为保证新目录可成功创键,使用该命令前应确保新建目录不与其同路径下的目录重名;当参数为路径时,需保证路径中的目录都已存在,或通过选项创建路径中缺失的目录。

 该命令支持的选项有:

选项

说明

-p

若路径中的目录不存在,则先创建目录

-v

查看文件创建过程

示例:

Java中切换目录执行cmd命令_Java中切换目录执行cmd命令_24

 

Java中切换目录执行cmd命令_用户组_25

 6、cp

      cp 命令的功能为将一个或多个源文件复制到指定的目录

命令格式:cp [ 选项 ] [ 源文件或目录 ] [ 目的目录 ]

 该命令支持的选项有:

选项

说明

-R

递归处理,将指定目录文件及子目录一并处理

-p

复制的同时不修改文件属性,包括所有者、所属组、权限和时间

-f

强行复制文件或目录,无论目标文件或目录是否已经存在

示例:将 a.txt 复制并且改名为 c.txt

Java中切换目录执行cmd命令_用户组_26

 将 b.txt 复制到 xxx 

Java中切换目录执行cmd命令_linux_27

 7、rm

      rm功能为删除目录中的文件或目录,该命令可同时删除多个对象

命令格式:rm [ 选项 ] 文件或目录

若要使用 rm 命令删除目录,需在参数前添加 -r 选项。

 该命令支持的选项有:

选项

说明

-f

强制删除文件或目录

-rf

选项 -r 与 -f 结合,删除目录中文件和子目录,并且不一一确认

-i

在删除文件或目录时对要删除的内容逐一进行确认(y/n)

示例:删除文件

Java中切换目录执行cmd命令_Java中切换目录执行cmd命令_28

 强制删除

Java中切换目录执行cmd命令_学习_29

 8、mv

       mv命令用于移动文件或目录,若同时指定两个以上的文件或目录,且最后的目标是一个已经存在的目录,则该命令会将前面指定的多个文件或目录复制到最后一个目录中;若该命令操作的对象是相同路径下的两个文件,则其功能为修改文件名。

命令格式:mv [ 选项 ] 源文件/目录 目标目录

 该命令支持的选项有:

选项

说明

-b

若目标目录中文件已存在,则覆盖前为其创建一个备份

-f

若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录

-i

若源文件与目标文件或目录中的文件重名,则在覆盖文件或目录前,对要覆盖大的内容逐一进行确认(y/n)

-u

只要源文件比目标文件新,或目标文件不存在时,才执行移动操作

示例:将 w.txt 移动到 xxx 目录下

Java中切换目录执行cmd命令_linux_30

9、rmdir

       与rm命令类似,该命令仅用于删除目录。

命令格式:rmdir [ -p ] 目录

      rmdir 命令可删除指定路径中的一个或多个空目录,若在命令中添加参数-p ,则此条命令将会在删除指定目录后检测其上层目录,若该目录的上层目录已变成空目录,则将该目录的上层目录一并删除。

六、查看文件

1、cat

      即连接和显示文件,cat 的功能为将文件中的内容打印输出设备

命令格式:cat  文件名

示例:打印etc目录下passwd文件中的内容

Java中切换目录执行cmd命令_学习_31

 2、more

     more 命令用于分页显示文件内容

命令格式:more [ 文件名 ]

可以使用快捷键进行翻页等操作:

快捷键

说明

f / Space

显示下一页

Enter

显示下一行

q / Q

退出

3、less

      使用more命令只能向下翻页,若想实现向前翻页的功能,则应使用 less 命令查看文件内容。用 less 命令显示文件时,使用 PageUp 键可向上翻页,使用 PageUp 键可向下翻页,使用 Q 键可退出分页显示。

less命令的用法例如:

Java中切换目录执行cmd命令_学习_32

 4、head

      head命令用于查看指定文件前n行内容

命令格式:head -n filename

以上格式中的n为要查看的行数,filename为待查看文件的文件名

示例:查看etc目录下passwd文件的前3行内容

Java中切换目录执行cmd命令_学习_33

 5、tail

     tail 命令用于查看指定文件的后n行内容

命令格式:tail -n filename

以上格式中的n为查看的行数,filename为待查看文件的文件名

示例:查看etc目录下passwd文件的后3行内容

Java中切换目录执行cmd命令_linux_34

 6、wc

     使用wc命令可计算文件的字节数、字数和列数

命令格式:wc [ 选项 ] 参数

 该命令支持的选项有:

选项

说明

-c

统计指定文件中文本的字节数

-l

统计指定文件中文本的行数

-w

统计指定文件中文本的字数

      wc命令的参数一般是文件名,若不指定文件名,或文件名为“ - " ,则wc命令会从标准输入设备读取数据。

示例:统计passwd文件的行数

Java中切换目录执行cmd命令_用户组_35

由运行结果可知,有24行 

七、文件搜索

1、which

     使用which命令可以获取指定命令的绝对路径

命令格式:which 命令

示例:搜索 ls 命令所在路径

Java中切换目录执行cmd命令_Java中切换目录执行cmd命令_36

 2、find

     命令格式:find [ 搜索路径 ] [ 选项 ] 搜索关键字

 该命令支持的选项有:

选项

说明

-name

根据文件名查找

-size

根据文件大小查找

-user

根据文件所有者查找

     若不指定搜索路径,则 find 命令默认在当前路径下搜索。若当前路径下存在目录,则 find 命令会进入目录中逐级搜索。find 命令使用的搜索关键字可以是文件名、文件大小、文件所有者等,通过选项可以指定 find 的搜索方式。

示例:

  • 按文件名passwd在etc目录下搜索

Java中切换目录执行cmd命令_linux_37

  •  在当前目录下寻找大于500M小于2G的文件

Java中切换目录执行cmd命令_centos_38

  •  查找带有a的文件

Java中切换目录执行cmd命令_学习_39

 3、locate

      locate 命令同样可以借助搜索关键字查找文件或目录

命令格式:locate [ 选项 ] 搜索关键字

     locate命令的搜索效率相当高,因为它搜索的是一个包含所有本地文件信息的数据库而非具体目录,这个数据库名为locatedb ,由Linux 系统自动创建,存储在 /var/lib 目录中,若不额外指定,locate命令默认搜索这个数据库,用户也可以通过 -d 选项指定搜索路径。

4、grep

命令格式:grep [ 选项 ] 指定字符 源文件

 该命令支持的选项有:

选项

说明

-c

统计文本中指定字符串匹配的行数

-E

使用扩展正则表达式进行匹配

-i

不区分大小写

示例:

查找 /etc/passwd 文件中包含root的行

Java中切换目录执行cmd命令_学习_40

 统计 /etc/passwd 文件中包含root的行数

Java中切换目录执行cmd命令_Java中切换目录执行cmd命令_41

 八、权限管理

权限说明

      权 限

对应字符

       文 件

                   目  录

读权限

       r

可查看文件内容

可以列出目录中的内容

写权限

       w

可修改文件内容

可以在目录中创建、删除文件

执行权限

       x

可执行该文件

可以进入目录

     使用” ls -l “ 命令可列出文件的属性信息,用户可借此查看不同用户对文件的权限。

示例:查看 xxx(文件名) 的属性信息

Java中切换目录执行cmd命令_学习_42

“ rw- ”“ rw- ” “ r- ”3组,分别表示文件所有者权限、同组用户权限和其他用户权限;每组中的3个字符又依次对应用户的读、写和执行权限,若对应权限为“ _ ”,则表示用户没有此项权限。
      常用的权限管理命令有chmod、chown、chgrp等,默认情况下,普通用户不能使用权限管理命令,下面分别对这3个权限管理命令进行讲解。

1、chmod

     chmod功能为变更文件或目录的权限

命令格式:chmod [ 选项 ] [ { augo } { + - = } ] [ 文件或目录 ]

以上格式中的 a 即 all ,表示所有用户; u 即 user ,表示用户名 user ;g 即 gruop,表示组名group;o 即 other,表示其他用户或其他用户组;“ + ”表示添加权限;“ - ”表示取消权限;“ = ”表示设定权限。

 该命令支持的选项有:

选项

说明

-f

不显示错误信息

-v

显示指令执行过程

-R

递归处理,处理指定目录及其中所有文件与子目录

对同组用户添加 w 写权限

Java中切换目录执行cmd命令_Java中切换目录执行cmd命令_43

对其他用户减去 r 读权限

Java中切换目录执行cmd命令_linux_44

对拥有者添加 x 执行权限

Java中切换目录执行cmd命令_学习_45

使用数值形式表示权限

读权限对应的数值为4,写权限对应的数值为2,执权限对应的数值为1 简单来说,若设置某个文件的权限为777,则表示所有用户对该文件或目录都有读权限、写权限和可执行权限。

 

Java中切换目录执行cmd命令_学习_46

从左至右用 0-9 这些数字来表示。

第 0 位确定文件类型,第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。

第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。

其中,第 1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 - 字符表示,则没有读权限;

第 2、5、8 位表示写权限,如果用 w 字符表示,则有写权限,如果用 - 字符表示没有写权限;第 3、6、9 位表示可执行权限,如果用 x 字符表示,则有执行权限,如果用 - 字符表示,则没有执行权限。

示例:使用chmod命令数值表示法为其添加权限的方式
 

Java中切换目录执行cmd命令_centos_47

     在管理权限时,若权限的变动较小,则可以使用字符方式进行方式进行设置;若权限的变动较大多个对象的多项权限都要发生改变,则使用数值表示进行设置更为方便。

2、chown

       chown功能为更改文件或目录的所有者。默认情况下文件的所有者为创建该文件的用户,或在文件被创建时通过命令指定的用户,但在需要时,可使用chown对文件的所有者进行修改。

命令格式:chown [ 选项 ] [ 用户 ] [ 文件或目录 ]

 该命令支持的选项有:

选项

说明

-f

不显示错误信息

-v

显示指令执行过程

-R

递归处理,处理指定目录及其中所有文件与子目录

示例:

chown:更改文件属主,也可以同时更改文件属组

语法格式:

chown [–R] 属主名 文件名

chown [-R] 属主名:属组名 文件名

Java中切换目录执行cmd命令_学习_48

3、chgrp

可通过chgrp命令更改文件的所属组。

命令格式:chgrp 组名 文件或目录

Java中切换目录执行cmd命令_用户组_49

 九、查看目录结构

1、    ls  /   

      查看根目录,只包含目录,不包含具体文件。

Java中切换目录执行cmd命令_centos_50

2、   ls /etc

      主要包括系统管理文件和配置文件。

Java中切换目录执行cmd命令_学习_51

3、  ls /bin

      存放可执行的文件,如常用命令 ls 、mkdir 、rm 等的二进制文件都存放在目录中。

Java中切换目录执行cmd命令_linux_52

4、  ls /home

      普通用户的工作目录,每个用户都有一个 /home 目录。

Java中切换目录执行cmd命令_linux_53

5、  ls /usr

 包含所有的用户程序(/usr/bin)、库文件(/usr/lib)、文档(/usr/share/doc)等,是占用空间最大的目录。

Java中切换目录执行cmd命令_用户组_54

6、  ls /dev

      存放设备文件,包括块设备文件(如磁盘对应的文件)、字符设备文件(如键盘对应的文件等)。

Java中切换目录执行cmd命令_centos_55

7、  ls /root

      超级用户,即管理员的工作目录。

Java中切换目录执行cmd命令_centos_56

8、  ls /lib

      主要存放动态链接共享库文件,类似于Windows中的 .dll 文件,该目录中的文件一般以 .a 、 .dll 、 .so 结尾(后缀不代表文件类型),也会存放于内核模块相关的文件。

Java中切换目录执行cmd命令_用户组_57

9、  ls /boot

      存放操作系统启动时需要用到的文件,如内核文件、引导程序文件等。

Java中切换目录执行cmd命令_Java中切换目录执行cmd命令_58

10、  ls /mnt

       存储挂载存储设备的挂载目录。

Java中切换目录执行cmd命令_Java中切换目录执行cmd命令_59

11、  ls /proc

      存放系统内存的映射,可直接通过访问该目录来获取系统信息。

Java中切换目录执行cmd命令_linux_60

12、  ls /opt

      存放附加的应用程序软件包。

Java中切换目录执行cmd命令_centos_61

13、  ls /tmp

      存放临时文件,重启系统后该目录的文件不会被保存。每个用户都能创建该目录,但不能删除其他用户的 /tmp。

Java中切换目录执行cmd命令_学习_62

14、  ls /swap

      存放虚拟内存交换时所有文件。 

Java中切换目录执行cmd命令_centos_63