Linux的基本指令

The Redefine Team Lv3

Linux的基本指令

1. ls 指令

语法 :

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

功能 :

对于目录,该命令列出该目录下的所有子目录与文件;

对于文件,将列出文件名及其详细信息;

常用选项

  1. -a:显示目录下的所有文件,包含以 . 开头的隐藏文件;
  2. -d:将目录像文件一样显示,而不是显示其下的文件;
  3. -i:输出文件的 i 节点的索引信息,i 节点即 inode 编号,包含文件的属性(如文件的所有者、权限、文件大小、最后修改时间等),但不包含文件名和内容;
  4. -k:以 k 字节的形式表示文件的大小。ls –alk 指定文件;
  5. -l:列出文件的详细信息;
  6. -n:输出文件的详细信息,同时将文件所有者和组名显示为它们对应的用户ID(UID)和组ID(GID)数字,而不是通常的人类可读的用户名和组名。
  7. -F:在每个文件名后附上一个字符以说明该文件的类型,“*”表示可执行的普通文件;“/”表示目录;“@”表 示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
  8. -r:对目录反向排序;
  9. -t:以时间排序;
  10. -s:在文件名后输出该文件的大小;可以通过与sort结合进行大小排序,快速找到目录下的最大文件;
  11. -R:列出所有子目录下的文件(递归);
  12. -1:一行只输出一个文件;

1. UID(User ID)

  • 定义:UID 是用于唯一标识系统中每个用户的数字。
  • 用途:系统通过 UID 来确定用户的身份,并控制用户对系统资源(如文件和目录)的访问权限。
  • 默认值:在大多数 Linux 系统中,普通用户的 UID 通常从 1000 或 500 开始递增。root 用户(超级用户)的 UID 通常为 0,因为它具有系统的全部权限。
  • 用户文件:系统中的每个用户及其对应的 UID 都记录在 /etc/passwd 文件中。

2. GID(Group ID)

  • 定义:GID 是用于唯一标识系统中每个组的数字。
  • 用途:每个用户都可以属于一个或多个组,系统通过 GID 来管理组的权限。一个文件或目录的权限可以设置为特定组成员可以访问,这些权限是基于 GID 控制的。
  • 默认值:系统在创建用户时,通常也会为该用户创建一个与其 UID 相同的 GID(称为私有组),并将用户添加到该组。
  • 组文件:系统中的每个组及其对应的 GID 都记录在 /etc/group 文件中。

2. pwd 命令

语法

pwd

功能

显示用户当前所在的目录

3. cd 指令

Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目或文件;

这个可以联想到平衡二叉搜索树,这样有助于快速的找到对应目录下的文件;

语法

cd [目录名]

功能

改变工作目录,将当前工作目录改变到指定的目录下;

举例

  1. cd ..:返回上级目录
  2. cd /home/user/linux :绝对路径;
  3. cd ../folder1:相对路径;
  4. cd ~:进入用户家目录;
  5. cd - :返回最近访问目录;

4. touch 指令

语法

touch [选项].. 文件..

功能

touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件;

常用选项

  1. -a 或 –time=atime 或 –time=use :只用于更改存取时间;

  2. -c 或 –no-creat :不建立任何文档;

  3. -d :使用指定的日期时间,而非现在的时间;

  4. -f : 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;

  5. -m 或 –time=mtime 或 –time=modify :只更改变变动时间;

  6. -r :把指定文档或目录的日期时间,统一设成和参考文档或目录的日期时间相同;

  7. -t :使用指定的日期时间,而非现在的时间;

    注意:这里的-t-d选项虽然效果类似,但是具体实现的格式却有所不同:

    1. -t选项使用特定的格式指定文件的时间戳:

      touch -t [[CC]YY]MMDDhhmm[.ss] <文件名>

      CC:世纪(两位数,可选)

      YY:年份的后两位(可选)

      MM:月份(两位数)

      DD:日期(两位数)

      hh:小时(两位数,24 小时制)

      mm:分钟(两位数)

      .ss:秒(可选)

      示例:

      touch -t 202408301230.45 myfile.txt

    2. -d 选项允许你使用人类可读的格式来指定时间戳,可以输入自然语言格式的时间描述

      touch -d "<时间描述>" <文件名>

      示例:

      touch -d "2024-08-30 12:30:45" myfile.txt

      touch -d "yesterday" myfile.txt
      touch -d "2 days ago" myfile.txt

5. mkdir 指令

语法

mkdir [选项] dir_name

功能

在当前目录下创建一个名为dirname的目录

常用选项

-p 或 -parent :可以是一个路径名称,此时若路径中的某些目录尚不存在,加上此选项后裔,系统将自动建立好那些不存在的目录,即一次可以建立多个目录;

举例

mkdir -p test/test1 :递归建立多个目录;

6. rmdir 指令 && rm 指令

rmdir

rmdir是一个与mkdir相对应的指令,即删除目录;

语法

rmdir [-p] [dir_name]

适用对象

具有当前目录操作权限的所有使用者

功能

删除空目录

常用选项

-p :当子目录被删除后,如果父目录也变成空目录的话,就连带父目录一起删除(递归删除目录)

rm

该指令可以同时删除文件或目录

语法

rm [-f / -i / -r / -v] [dir_name/ dir]

适用对象

所有使用者

功能

删除文件或目录

常用选项

  1. -f :即使文件属性为只读(即写保护),亦可直接删除
  2. -i :删除前逐一询问确认
  3. -r :删除目录及其下所有文件

7. man指令

Linux的命令有很多参数,不可能完全记住,我们可以通过查看联机手册获取帮助,即使用man指令访问Linux手册页

语法

man [选项] 命令

常用选项

  1. -k :根据关键字搜索联机帮助
  2. num :只在第num章节查找
  3. -a :将所有章节都显示出来,比如有的信息会存在于多个章节中,如果不加-a选项则当其第一次找到时就停止,但是在-a选项下,会显示所有章节的内容(如果可以查询到的话);

man手册的内容

  1. 第一章:用户命令(General Commands)

    • 普通用户可以执行的命令和程序,如 lsecho 等。

    第二章:系统调用(System Calls)

    • 内核提供的系统调用接口,如 openreadwrite 等。

    第三章:库函数(Library Functions)

    • C 标准库和其他库中的函数,如 printfmalloc 等。

    第四章:特殊文件(Special Files)

    • 设备文件的描述,通常在 /dev 目录下,如硬件设备驱动程序的接口。

    第五章:文件格式(File Formats and Conventions)

    • 配置文件、数据格式和协议的描述,如 /etc/passwdfstab 等。

    第六章:游戏(Games)

    • 各种游戏和娱乐程序。

    第七章:杂项(Miscellaneous)

    • 与系统相关的杂项信息,包括宏包、惯例、标准等。

    第八章:系统管理命令(System Administration Commands)

    • 系统管理员使用的命令和维护工具,如 ifconfigiptablesmount 等。通常只有具有管理员权限的用户才能执行这些命令。

cp 指令

语法

cp [选项] 源文件或目录 目标文件或目录

功能

复制文件或目录

说明

当目标为目录时,cp指令要求其必须存在;如果目标目录不存在,则会出现错误信息;且源文件或目录支持多个同时操作,但必须满足目标目录存在;

常用选项

  1. -f 或 –force:强制复制文件或目录,而不论目标文件或目录是否存在;
  2. -i 或 –interative:覆盖文件之前先询问用户;
  3. -r:递归处理,将指定目录下的文件与子目录一并处理;
  4. -R 或 –recursive:递归处理,同上;

mv指令

语法

mv [选项] 源文件或目录 目标文件或目录

功能

  1. 重命名
  2. 移动
  3. 支持多个源文件或目录同时操作

常用选项

  1. -f:强制执行,如果目标文件已经存在,则不会询问而直接覆盖;
  2. -i:若目标文件已经存在,会询问是否覆盖;

cat指令

用于查看目标文件内容

常用选项

  1. -b:对非空输出行编号;
  2. -n:对输出的所有行编号
  3. -s:不输出多行空行;
  • 标题: Linux的基本指令
  • 作者: The Redefine Team
  • 创建于 : 2025-05-31 00:00:00
  • 更新于 : 2025-05-31 01:16:48
  • 链接: https://redefine.ohevan.com/2025/05/31/Linux基本指令/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论