Linux入门讲解 2

一、Linux 基础命令详解

(一)文件与目录操作

在 Linux 系统中,文件和目录操作是日常使用中最为频繁的操作之一。熟练掌握这些操作命令,能够帮助我们高效地管理文件系统,提高工作效率。下面将详细介绍一些常用的文件与目录操作命令。

  1. ls 命令:用于列出目录内容。它是英文单词 “list” 的简写,类似于 Windows 系统中的 “dir” 命令。ls 命令的基本语法为:

ls [选项] [目录或是文件]

常用选项包括:

  • -a:显示当前目录下的所有文件和目录,包括隐藏文件(以 “.” 开头的文件)。例如,执行 “ls -a” 命令,可以查看当前目录下的所有文件和目录,包括隐藏的配置文件等。
  • -l:以列表的方式显示文件和目录的详细信息,包括文件权限、所有者、大小、修改时间等。例如,“ls -l” 命令会输出类似如下的信息:

-rw-r--r-- 1 user user 1024 2024-05-10 10:00 file.txt

drwxr-xr-x 2 user user 4096 2024-05-10 10:05 directory

其中,第一列表示文件类型和权限,“-” 表示普通文件,“d” 表示目录;第二列表示文件的硬链接数;第三列表示文件所有者;第四列表示文件所属组;第五列表示文件大小;第六列表示文件的最后修改时间;第七列表示文件或目录的名称。

  • -h:与 “-l” 选项结合使用,以更易读的方式显示文件大小,例如将文件大小以 K(KB)、M(MB)、G(GB)等单位表示。如 “ls -lh” 命令会将文件大小显示为 “1.2M”“2.5K” 等形式,方便我们直观地了解文件大小。
  1. cd 命令:用于切换当前工作目录,是 “change directory” 的简写。其基本语法为:

cd [参数]

参数可以是绝对路径或相对路径。例如:

  • 绝对路径:“cd /home/user”,该命令会将当前工作目录切换到 “/home/user” 目录下,无论当前处于哪个目录,都会直接切换到指定的绝对路径目录。
  • 相对路径:如果当前目录是 “/home/user/Documents”,执行 “cd../Music” 命令,会切换到上一级目录(“/home/user”)下的 “Music” 目录。其中,“..” 表示上一级目录,“.” 表示当前目录。
  • 特殊用法:“cd ~” 命令会回到当前用户的家目录,例如,如果当前用户是 “user”,执行该命令会切换到 “/home/user” 目录;“cd -” 命令会返回上一次所在的目录,方便我们在不同目录之间快速切换。
  1. mkdir 命令:用于创建新的目录,是 “make directory” 的简写。基本语法为:

mkdir [选项] 目录名

常用选项为 “-p”,用于递归创建目录。例如,要创建一个名为 “parent/child” 的目录结构,其中 “parent” 和 “child” 目录都不存在,如果直接使用 “mkdir parent/child” 命令会报错,因为 “parent” 目录不存在。而使用 “mkdir -p parent/child” 命令,则会先创建 “parent” 目录,再在 “parent” 目录下创建 “child” 目录,成功创建整个目录结构。

  1. rm 命令:用于移除文件或目录,是 “remove” 的简写。基本语法为:

rm [选项] 要删除的文件或目录

常用选项包括:

  • -r:递归删除整个目录及其子目录和文件。例如,“rm -r directory” 命令会删除名为 “directory” 的目录及其下的所有文件和子目录,使用时需谨慎,因为删除后文件无法恢复。
  • -f:强制删除,不提示确认。在删除一些只读文件或目录时,加上 “-f” 选项可以跳过确认提示,直接删除文件。但同样要注意,此选项可能会导致误删,使用前请确保操作的正确性。例如,“rm -rf /home/user/directory” 命令会强制递归删除 “/home/user/directory” 目录及其下的所有内容,务必谨慎使用。

(二)文本处理

在 Linux 系统中,经常需要对文本文件进行查看、搜索和处理。下面介绍一些常用的文本处理命令,这些命令能够帮助我们高效地处理文本信息。

  1. cat 命令:用于连接文件并打印输出到标准输出设备,通常用来显示文本文件的内容,也可以把几个文件内容附加到另一个文件中。基本语法为:

cat [选项] 文件名

常用选项包括:

  • -n:显示行号。例如,“cat -n file.txt” 命令会显示 “file.txt” 文件的内容,并在每行前面加上行号,方便我们查看和定位文本内容。
  • -A:显示文本中的所有隐藏符号,包括回车符($)、Tab 键(^I)等。这在查看一些包含特殊字符的文本文件时非常有用,可以帮助我们了解文本的实际格式。
  1. more 命令:用于分页显示文件内容,一次显示一屏文本,满屏后停下来,并在屏幕底部显示已显示的文件百分比,方便逐页阅读。基本语法为:

more 文件名

在使用 more 命令查看文件时,可以使用以下交互命令:

  • 回车键:往下一行显示。
  • 空格键:往下一页显示。
  • b 键:往回(back)一页显示。
  1. less 命令:与 more 命令类似,也用于分屏查看文件内容,但 less 命令比 more 命令更强大,支持向前翻页,并且在显示文件内容时,不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于显示大型文件具有较高的效率。基本语法为:

less 文件名

在 less 命令的交互界面中,可以使用以下常用操作:

  • Page Up:向上翻页。
  • Page Down:向下翻页。
  • / 字符串:在文件中搜索指定的字符串,输入 “/” 后,再输入要搜索的字符串,按回车键即可开始搜索,找到匹配的字符串后会高亮显示。
  • n 键:查找下一个匹配的字符串。
  1. grep 命令:用于在文件中查找符合条件的字符串,支持正则表达式匹配,是一个非常强大和常用的文本搜索工具。基本语法为:

grep [选项] 查找条件 目标文件

常用选项包括:

  • -i:忽略大小写进行搜索。例如,“grep -i 'hello' file.txt” 命令会在 “file.txt” 文件中搜索 “hello” 字符串,无论其大小写形式,如 “Hello”“HELLO” 等都会被匹配到。
  • -r:递归搜索指定目录及其子目录下的所有文件。当需要在一个目录及其子目录中查找包含特定字符串的文件时,使用 “-r” 选项非常方便。例如,“grep -r 'error' /var/log” 命令会在 “/var/log” 目录及其子目录下的所有文件中搜索包含 “error” 字符串的行,并输出所在文件和行号等信息。

(三)用户与权限管理

在 Linux 系统中,用户和权限管理是系统安全和稳定运行的重要组成部分。合理的用户和权限设置可以有效地保护系统免受未经授权的访问和误操作的影响。下面介绍一些常用的用户与权限管理命令。

  1. 用户和组的概念
    • 用户:在 Linux 系统中,用户是指与系统交互的个体或实体,每个用户都有自己的用户名(Username)和用户 ID(User ID,简称 UID),用于标识其在系统中的身份。用户可以登录系统并执行各种操作,例如运行程序、访问文件等。用户账号类型主要包括:
      • root 超级管理员用户:在系统里默认超级管理员为 root 用户,该用户的 UID 和 GID(组 ID)都是 0,拥有系统的最高权限,几乎可以执行任何操作,负责管理系统和其他普通用户。
      • 普通用户:由 root 用户创建,普通用户可以自由登录系统,拥有属于自己的家目录,其权限由超级管理员用户分配。在 CentOS 7 中,普通用户的 UID 范围为 1000 - 60000。普通用户只能在自己的权限范围内操作,例如对自己家目录下的文件进行访问和修改等。
      • 程序用户:也称为系统用户,这类用户主要用于运行系统服务和程序,一般不可以登录系统,无家目录。在 CentOS 7 中,程序用户的 UID 范围是 1 - 999。
    • 用户组:用户组(User Group)是将用户组织起来的一种方式,它可以包含一个或多个用户。用户组有一个组名(Group Name)和一个组 ID(Group ID,简称 GID),用于标识组在系统中的身份。用户组可以帮助管理和控制文件和目录的访问权限,通过将多个用户放置在同一用户组中,可以方便地对这些用户进行统一的权限管理。组账号类型主要包括:
      • 基本组(私有组):创建用户账号时,如果没有指定用户所属的组,系统会建立一个和用户名相同的组,这个组就是基本组,默认只容纳一个用户。在用户所属组中的第一个组称为基本组,基本组在 “/etc/passwd” 文件中指定,且基本组只能是唯一的。
      • 附加组(公共组):在用户所属组中,除了第一个组(基本组)以外的其他组就是附加组,附加组在 “/etc/group” 文件中指定。一个用户可以有多个附加组,通过加入不同的附加组,用户可以获得不同的权限。
  1. 用户管理命令
    • useradd 命令:用于添加新用户。基本语法为:

sudo useradd [选项] 用户名

常用选项包括:

  • -u:指定用户的 UID 号,要求该 UID 号码未被其他用户使用。例如,“sudo useradd -u 1001 user1” 命令会创建一个 UID 为 1001 的用户 “user1”。
  • -e:指定用户的账户失效时间,可使用 “YYYY - MM - DD” 的日期格式。如 “sudo useradd -e 2024 - 12 - 31 user2” 命令会创建一个账户在 2024 年 12 月 31 日失效的用户 “user2”。
  • -g:指定用户的基本组,组名必须是已存在的组。例如,“sudo useradd -g group1 user3” 命令会创建一个属于 “group1” 组的用户 “user3”,如果 “group1” 组不存在,命令会报错。
  • passwd 命令:用于设置用户密码。基本语法为:

sudo passwd 用户名

如果是普通用户执行 “passwd” 命令,不指定用户名时,会修改当前用户自己的密码;root 用户可以指定用户名作为参数,对指定账号的密码进行管理。例如,“sudo passwd user1” 命令会提示输入新密码,为用户 “user1” 设置密码。另外,还可以使用 “echo 密码 | passwd --stdin 用户名” 的方式来非交互式地设置用户密码,这种方式在自动化脚本中比较常用,但要注意密码的安全性,避免密码泄露。

  • userdel 命令:用于删除用户。基本语法为:

sudo userdel 用户名

默认情况下,userdel 命令只会删除用户账号,不会删除用户的家目录和相关文件。如果要同时删除用户的家目录和邮件等相关文件,可以使用 “-r” 选项,例如 “sudo userdel -r user1” 命令会删除用户 “user1” 及其家目录和相关文件。

  1. 权限管理命令
    • chmod 命令:用于修改文件或目录的权限。在 Linux 系统中,文件和目录的权限分为读(r)、写(w)和执行(x)三种,分别对应数字 4、2 和 1。通过 chmod 命令可以改变文件或目录的权限模式,以控制用户对文件的访问权限。基本语法有两种方式:
      • 符号模式:chmod [ugoa] [+-=] [rwx] [文件或目录]

其中,[ugoa] 表示用户身份,u 代表所有者(user),g 代表所属组(group),o 代表其他人(other),a 代表全部身份(all);[+-=] 表示赋予方式,+ 表示加入权限,- 表示减去权限,= 表示设置权限;[rwx] 表示权限,r 表示读取权限,w 表示写权限,x 表示执行权限。例如,“chmod u+x file.txt” 命令会给文件 “file.txt” 的所有者添加执行权限;“chmod g+w,o-r directory” 命令会给目录 “directory” 的所属组添加写权限,同时去除其他人的读权限。

      • 数字模式:chmod 权限数字 文件名

权限数字是由 r、w、x 对应的数字相加得到的。例如,rwxrw-r-- 对应的权限数字是 764(4 + 2 + 1 = 7,4 + 2 = 6,4 = 4),执行 “chmod 764 file.txt” 命令会将文件 “file.txt” 的权限设置为所有者具有读、写、执行权限,所属组具有读、写权限,其他人具有读权限。

    • chown 命令:用于修改文件或目录的所有者。基本语法为:

sudo chown [选项] 用户名:组名 文件名

例如,“sudo chown user1:group1 file.txt” 命令会将文件 “file.txt” 的所有者改为 “user1”,所属组改为 “group1”。如果只需要修改所有者,可以省略组名,如 “sudo chown user1 file.txt”。

  • chgrp 命令:用于修改文件或目录的所属组。基本语法为:

sudo chgrp 组名 文件名

例如,“sudo chgrp group2 file.txt” 命令会将文件 “file.txt” 的所属组改为 “group2”。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值