Linux指令学习(更新中)

Linux学习

指令介绍模版

指令介绍模版

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

系统信息

uname

  1. 指令介绍:uname(UNIX name的缩写)是一个用于打印当前系统信息的Linux命令。它可以显示操作系统、内核版本、硬件架构等信息
  2. 指令使用格式:uname [选项]
  3. 参数说明:
    • -a, --all:显示所有可用系统信息。
    • -s, --kernel-name:显示内核名称。
    • -n, --nodename:显示网络节点的主机名。
    • -r, --kernel-release:显示内核发布号。
    • -v, --kernel-version:显示内核版本。
    • -m, --machine:显示机器硬件名称(处理器架构)。
    • -p, --processor:显示处理器类型或"unknown"。
    • -i, --hardware-platform:显示硬件平台或"unknown"。
    • -o, --operating-system:显示操作系统。
  4. 使用实例:
    1. 显示系统内核名称
      uname -s
    2. 显示全部信息
      uname -a
    3. 显示系统内核版本
      uname -v

hostname

  1. 指令介绍:hostname是一个用于显示或设置系统主机名的Linux命令。每台计算机在网络中都有一个唯一的主机名,用于识别设备。该命令可以用来查看当前系统的主机名,也可以用来修改它
  2. 指令使用格式:hostname [选项]/[新主机名]
  3. 参数说明:
    • 无参数:直接输入 hostname 命令将显示当前系统的主机名。
    • -a, --alias:显示主机的别名。
    • -d, --domain:显示DNS域名。
    • -f, --fqdn, --long:显示完全限定的域名(FQDN)。
    • -i, --ip-address:显示主机的IP地址。
    • -s, --short:只显示短主机名,不包括域名部分。
    • 新主机名:若指定了新主机名,则该命令会尝试将系统的主机名更改为提供的新主机名。通常需要管理员权限来更改主机名
  4. 使用实例:
    1. 显示当前系统的主机名
      hostname
    2. 设置新的主机名
      sudo hostname new-hostname
    3. 显示主机的IP地址
      hostname -i

uptime

  1. 指令介绍:uptime是一个用于显示系统运行时间、用户数量以及平均负载的Linux命令。它可以告诉你系统已经运行了多长时间,当前有多少登录用户,以及在过去的1分钟、5分钟和15分钟内系统的平均负载是多少
  2. 指令使用格式:uptime [选项]
  3. 参数说明:
    • 无参数:直接输入 uptime 命令将按照默认方式显示系统运行时间信息。
    • -p, --pretty:以易读的格式显示自上次系统启动以来经过的时间。
    • -h, --help:显示帮助信息并退出。
    • -s, --since:显示上次系统启动的日期和时间。
    • -V, --version:显示版本信息并退出。
  4. 使用实例:
    1. 显示系统运行时间、用户数量和平均负载
      uptime
    2. 以易读的格式显示系统运行时间
      uptime -p
    3. 显示自上次系统启动以来的时间点
      uptime -s

whoami

  1. 指令介绍:whoami 是一个显示当前已经认证用户的登录名的命令。当在终端会话中不确定自己的登陆用户名时,可以使用这个命令来查看
  2. 指令使用格式:whoami
  3. 参数说明:无
  4. 使用实例:
    1. 查看当用户登录名
      whoami

who

  1. 指令介绍:who是一个展示当前登录系统用户信息的Linux命令。它可以提供关于每个当前登录用户的信息,如用户名、用户登录的时间、在哪个终端上登录等
  2. 指令使用格式:who [选项] [文件]
  3. 参数说明:
    • 文件:通常是 /var/run/utmp。如果没有指定文件,who 将默认使用这个文件,该文件记录了所有当前登录的用户信息。
    • -a, --all:显示所有选项,包括隐藏用户。
    • -m:仅显示与当前终端相关的信息,相当于 who am i 命令。
    • -q, --count:显示当前登录用户的数量和名称列表。
    • -r, --runlevel:显示当前系统运行级别。
    • -H, --heading:打印列名标题。
    • -u, --users:显示当前登录用户的详细信息。
    • -b, --boot:显示上次系统启动的时间。
  4. 使用实例:
    1. 显示当前登录的所有用户以及其基本信息
      who
    2. 仅显示与当前终端相关的用户信息
      who m
    3. 显示当前登录用户的数量和名称列表
      who -q

文件操作

ls

  1. 指令介绍:ls是最常用的Linux命令之一,用于列出目录内容。默认情况下,该命令会显示当前工作目录中的文件和子目录列表
  2. 指令使用格式:ls [选项] [文件或目录]
  3. 参数说明:
    • -a, --all:显示所有文件,包括以点(.)开头的隐藏文件。
    • -l:以长格式显示详细信息(例如文件权限、所有者、组、大小、最后修改日期等)。
    • -h, --human-readable:与 -l 一起使用,以便易于阅读的格式显示文件大小(如KB, MB)。
    • -d, --directory:显示目录本身而不是其内容。
    • -r, --reverse:反向排序显示。
    • -t:根据修改时间排序,与 -l 结合使用时特别有用。
    • -S:按文件大小排序。
    • --color[=WHEN]:控制是否使用颜色来区分文件类型。WHEN可以是'never'、'auto'或'always'(默认)。
    • -i, --inode:显示文件的inode号码。
    • -R, --recursive:递归地列出所有子目录的内容。
  4. 使用实例:
    1. 列出当前目录下的所有文件和目录
      ls
    2. 列出包含隐藏文件在内的所有文件
      ls -a
    3. 显示当前目录内容的详细信息,并且使用人类可阅读的文件大小单位
      ls -lh
    4. 根据文件最后修改时间排序
      ls -lt
    5. 只显示目录名称而不是其他内容(注意此命令的执行目录,确保有目录存在)
      ls -d */

cd

  1. 指令介绍:cd(change directory)命令用于在Linux中改变当前工作目录。它是一个内建于大多数shell中的命令,比如bash或zsh。使用此命令可以导航到文件系统中的不同目录
  2. 指令使用格式:cd [选项] [目录]
  3. 参数说明:
    • 目录:您想要切换到的目录路径。如果省略这个参数,默认切换到当前用户的主目录。
    • -:切换到上一次所在的目录。
    • ~:代表当前用户的主目录。
    • ..:代表当前目录的父目录。
    • /:代表根目录。
    • .:代表当前目录本身。
  4. 使用实例:
    1. 切换到当前用户的主目录
      cd
    2. 切换到指定目录
      cd [目录名]
    3. 切换到上一次所在的目录
      cd -
    4. 切换到上一层目录(注意:根目录没有上一层目录)
      cd ..

pwd

  1. 指令介绍:pwd(print working directory)是一个显示当前工作目录完整路径的Linux命令
  2. 指令使用格式:pwd
  3. 参数说明:无
  4. 使用实例:
    1. 显示当前工作目录的路径
      pwd

touch

  1. 指令介绍:touch 命令主要用于修改文件的访问和修改时间戳,如果文件不存在,它会创建一个空的新文件
  2. 指令使用格式:touch [选项] 文件...
  3. 参数说明:
    • -a:只更改访问时间。
    • -m:只更改修改时间。
    • -d, --date:使用指定的时间而不是当前时间;可以使用多种日期格式。
    • -t:使用 [YYMMDDhhmm] 格式来更新访问和修改时间。
    • -c, --no-create:不创建任何文件。
    • -r, --reference:使用另一文件的时间戳而非当前时间。
  4. 使用实例:
    1. 创建一个新的空文件或者更新已存在文件的访问和修改时间为当前时间
      touch newfile
    2. 使用另一个文件的时间戳来更新文件
      touch -r   referencefile.txt   targetfile.txt 
    3. 创建多个新文件
      touch file1.txt file2.txt file3.txt

mkdir

  1. 指令介绍:mkdir(make directory)是一个用于创建新目录的Linux命令。使用这个命令,你可以在文件系统中创建一个或多个新的空目录
  2. 指令使用格式:mkdir [选项] 目录...
  3. 参数说明:
    • -m, --mode:设置权限模式(如755或u+rwx),和chmod命令相同。
    • -p, --parents:允许递归创建目录,即同时创建父目录和子目录,如果已存在则忽略。
    • -v, --verbose:打印一条消息,每次创建新目录时都会显示。
  4. 使用实例:
    1. 创建一个新目录newdir
      mkdir newdir
    2. 递归创建多级目录
      mkdir -p newdir/subdir/subsubdir
    3. 创建目录并设置权限模式
      mkdir -m 755 newdir
    4. 创建多个目录
      mkdir dir1 dir2 dir3
    5. 使用详细模式创建目录,将显示额外的信息
      mkdir -v dir

rm

  1. 指令介绍:rm(remove)命令用于删除文件或目录。该命令默认只删除文件,若要删除目录,需要使用特定的选项
  2. 指令使用格式:rm [选项] 文件...
  3. 参数说明:
    • -f, --force:强制删除文件或目录,忽略不存在的文件,不会出现提示。
    • -i:在删除前逐一询问确认。
    • -r, -R, --recursive:递归地删除目录及其内容;对于目录,必须使用此选项。
    • --no-preserve-root:允许递归删除根目录(/)(默认情况下,rm 不允许这样做作为安全措施)。
    • --preserve-root:防止递归删除根目录(/)。
    • -v, --verbose:显示详细信息,列出正在被删除的文件。
  4. 使用实例:
    1. 删除一个文件
      rm example.txt
    2. 逐一确认后删除多个文件
      rm -i fiel.txt1 file.txt2 file.txt3
    3. 强制删除文件,即使它不存在也不会报错
      rm -f sample.txt
    4. 递归删除一个目录及其内部所有文件和子目录
      rm -r dir

cp

  1. 指令介绍:cp(copy)命令用于复制文件或目录。它可以将文件或目录从一个位置复制到另一个位置
  2. 指令使用格式:cp [选项] 源文件... 目标文件/目录
  3. 参数说明:
    • -a, --archive:归档模式,相当于 -dR --preserve=all,尽可能保留原始文件的结构和属性。
    • -i, --interactive:覆盖前提示用户确认。
    • -r, -R, --recursive:递归地复制目录及其内容。
    • -u, --update:仅当源文件更新于目标文件时才复制文件。
    • -v, --verbose:详细模式,显示命令执行过程中被复制的文件。
    • --preserve:保留指定的属性(如时间戳和权限),例如 --preserve=mode,ownership。
    • -f, --force:如果有需要,强制覆盖目标文件。
    • -l, --link:不复制原始文件,而是创建硬链接。
    • -s, --symbolic-link:不复制原始文件,而是创建符号链接。
    • --no-clobber:不会覆盖已存在的文件或目录。
  4. 使用实例:
    1. 将file1.txt复制一份新的到当前目录下,命名为file2.txt
      cp file1.txt file2.txt
    2. 以交互方式复制文件,若目标文件已存在则提醒用户
      cp -i source.txt destination.txt
    3. 复制一个目录的内容到另一个目录下,包括其所有子目录和文件
      cp -r dir1 dir2
    4. 更新模式复制,只有当源文件比目标文件新,或者目标文件不存在时才进行复制
      cp -u source.txt destination/

mv

  1. 指令介绍:mv(move)命令用于移动或重命名文件和目录。这个命令可以将文件或目录从一个位置转移到另一个位置,或者在同一位置更改名称
  2. 指令使用格式:mv [选项] 源文件... 目标文件/目录
  3. 参数说明:
    • -i, --interactive:存在同名文件时,提示用户确认是否覆盖。
    • -u, --update:只有当源文件比目标文件新,或者目标文件不存在时,才进行移动。
    • -v, --verbose:在移动文件时显示详细的信息。
    • -f, --force:强制移动文件而不提示,即使目标文件已经存在。
    • --no-clobber:不会覆盖已存在的目标文件。
  4. 使用实例:
    1. 将file1.txt重命名为file2.txt
      mv file1.txt file2.txt
    2. 将多个文件移动到指定目录下
      mv file1.txt file2.txt dir/
    3. 若目标文件存在则提醒用户
      mv -i source.txt dir/
    4. 强制移动文件到已存在的目标路径,并且不会提示是否覆盖
      mv -f source.txt dir/

find

  1. 指令介绍:find 命令在Linux中用于基于各种条件搜索文件系统中的文件和目录。它可以按照文件名、大小、修改日期等属性来查找文件,并执行对找到的文件进行操作的命令
  2. 指令使用格式:find [路径...] [选项] [表达式]
  3. 参数说明:
    • 路径...:指定开始搜索的目录。如果不指定,默认在当前目录及其子目录下搜索。
    • -name:根据文件名搜索。
    • -iname:类似 -name,但搜索是大小写不敏感的。
    • -type:根据文件类型搜索(例如,f 表示普通文件,d 表示目录)。
    • -size:根据文件大小搜索(可使用 + 和 - 指定大于或小于某个大小的文件)。
    • -perm:根据文件权限进行搜索。
    • -user:根据文件所有者进行搜索。
    • -group:根据文件所属的组进行搜索。
    • -mtime, -ctime, -atime:根据文件的修改时间、改变时间或访问时间进行搜索。
    • -exec:对匹配的文件执行指定的命令。
    • -delete:删除匹配的文件。
  4. 使用实例:
    1. 在当前目录及其子目录中查找名称为myfile.txt的文件
      find . -name myfile.txt
    2. 在/home目录中查找所有以.txt结尾的文件,并且忽略大小写
      find /home -iname '*.txt'
    3. 在/var/log 目录中查找超过7天没被修改过的.log文件
      find /var/log -name '*.log' -mtime +7
    4. 查找当前用户主目录中所有的目录
      find ~ -type d
    5. 查找/data目录中属于用户tom的文件
      find /data -user tom
    6. 查找/etc目录中所有权限为664的文件
      find /etc -type f -perm 644
    7. 找到并删除当前目录中所有.bak结尾的备份文件
      find . -name '*.bak' -delete

cat

  1. 指令介绍:cat(concatenate)命令是一个用于查看、创建和合并文件的Unix/Linux工具。该命令最常用来显示文件内容、合并多个文件或者创建新的文本文件
  2. 指令使用格式:cat [选项] 文件...
  3. 参数说明:
    • -n, --number:显示所有输出行的行号。
    • -b, --number-nonblank:只对非空输出行显示行号。
    • -s, --squeeze-blank:压缩连续的空白行为一行。
    • -E, --show-ends:在每行结束处显示 $ 符号。
    • -T, --show-tabs:将制表符显示为 ^I。
    • -A, --show-all:等同于 -vET 的效果,即显示所有控制字符。
  4. 使用实例:
    1. 显示文件fiel.txt的内容
      cat file.txt
    2. 合并多个文件,并显示其内容(依次显示文件内容)
      cat file1.txt file2.txt
    3. 查看文件内容并显示行号
      cat -n file.txt
    4. 压缩连续多个空行为一个空行后显示文件内容
      cat -s file.txt
    5. 查看文件内容,同时显示行尾符号$和制表符^I
      cat -A file.txt

more

  1. 指令介绍:more 命令是一个基本的文本文件查看器,用于在UNIX和类UNIX系统中浏览文本文件内容。它允许用户逐屏(或逐行)浏览文件,并提供了一些导航命令
  2. 指令使用格式:more [选项] 文件...
  3. 参数说明:
    • -d:显示帮助信息(显示 [Press space to continue, 'q' to quit.] 和 [Press 'h' for instructions.] 等提示)。
    • -l:忽略换页字符(通常是 Control-L)。
    • -f:计算实际的行数,折叠过长的行。
    • -p:清除屏幕并显示文本。
    • -s:将多个连续的空白行压缩成一行输出。
    • -u:关闭下划线的特殊输出处理。
  4. 使用实例:
    1. 交互式运行 more 时的控制键:
      • 空格键:显示下一页。
      • Enter键/Return键:显示下一行。
      • b或 Control-B:回滚至上一页(仅当 more 使用管道作为输入时有效)。
      • q:退出 more。
      • =:显示当前行号。
      • /pattern:搜索向前匹配的文本 pattern。
      • n:重复最后一次搜索(向下搜索)。
      • h 或 ?:显示帮助屏幕,列出可用的命令。

less

  1. 指令介绍:less 命令是一个功能强大的文本文件查看器,允许用户向前和向后浏览文件内容。与 more 命令相比,它的优势在于能够随机访问文件,这意味着即使是大型文件也可以快速跳转到任意位置进行查看。此外,less 不需要读取整个文件就可以开始显示内容,这在查看较大文件时非常有用
  2. 指令使用格式:less [选项] 文件...
  3. 参数说明:
    • -N, --LINE-NUMBERS:显示行号。
    • -I:搜索时忽略大小写。
    • -i:搜索时只在非输入模式下忽略大小写。
    • -R:显示颜色,能够显示ANSI颜色码表示的颜色。
    • -S:截断长行,而不是折叠显示(水平滚动)。
    • -X:禁止发送初始化和清除终端的字符串到终端(不会清除屏幕上的内容)。
    • -F:如果文件的内容适合在一个屏幕内显示,则直接显示内容并退出。
    • -P pattern:使用自定义提示栏格式。
    • -m:类似 -M,但提示信息较少,只显示百分比。
  4. 使用实例:
    1. 交互式运行 less 时的控制键: 
      • 空格键:向下翻一页。
      • b:向上翻一页。
      • /pattern:向下搜索 pattern。
      • ?pattern:向上搜索 pattern。
      • n:重复之前的搜索(向下)。
      • N:重复之前的搜索(向上)。
      • G:跳转到文件末尾。
      • g:跳转到文件开头。
      • q:退出 less。
      • h:显示帮助。

head

  1. 指令介绍:head 命令用于输出文件的开头部分到标准输出。在默认情况下,head 会打印文件的前10行
  2. 指令使用格式:head [选项] [文件...]
  3. 参数说明:
    • -n [数字] 或 -[数字]:显示文件开始的[数字]行。如果不指定[数字],默认为10。
    • -c [字节数]:显示文件开头的[字节数]字符。
  4. 使用实例:
    1. 显示file.txt的前10行
      head file.txt
    2. 显示file.txt的前100个字符
      head -c 100 file.txt
    3. 使用管道将另一个命令的前10行显示出来
      some_command | head

tail

  1. 指令介绍:tail 命令在Unix和类Unix系统中用于输出文件的尾部内容,默认情况下它会打印文件的最后10行
  2. 指令使用格式:tail [选项] [文件...]
  3. 参数说明:
    • -n [数字] 或 -[数字]:显示文件末尾的[数字]行。如果不指定[数字],默认为10。
    • -c [字节数]:显示文件末尾的[字节数]字符。
    • -f:跟踪显示文件新追加的内容。当文件正在被写入时,这个选项非常有用,通常用于监控日志文件。
  4. 使用实例:
    1. 显示file.txt的最后10行内容
      tail file.txt
    2. 显示file.txt的最后20行内容
      tail -n 20 file.txt或者tail -20 file.txt
    3. 显示file.txt的最后100个字符
      tail -c 100 file.txt
    4. 实时跟踪显示file.txt文件新增的内容
      tail -f file.txt

grep

  1. 指令介绍:grep(global regular expression print)命令用于在文本中搜索匹配指定模式的行,并输出这些行。它是基于正则表达式来进行文本搜索的强大工具
  2. 指令使用格式:grep [选项] 模式 [文件...]
  3. 参数说明:
    • -i:忽略大小写差异。
    • -v:反转匹配,选择不匹配模式的行。
    • -c:计数匹配行的数量,而不是显示匹配行内容。
    • -n:打印每行的行号。
    • -r 或 -R:递归地搜索目录下所有文件。
    • -l:只显示匹配模式的文件名,而不显示具体匹配的内容。
    • -e:允许使用多个模式进行匹配。
  4. 使用实例:
    1. 在file.txt中搜索pattern并输出匹配的行
      grep "pattern" file.txt
    2. 在file.txt中搜索pattern并计数有多少行匹配
      grep -c "pattern" file.txt
    3. 在file.txt中显示不包含pattern的所有行
      grep -v "patern" file.txt
    4. 显示file.txt中包含pattern的行及其行号
      grep -n "pattern" file.txt
    5. 递归地搜索当前目录及子目录中所有文件,找出包含pattern的文件
      grep -r "pattern"
    6. 只输出包含pattern的文件名称,不输出匹配行
      grep -l "pattern"
    7. 使用多个模式搜索file.txt
      grep -e "pattern1" -e "pattern2" file.txt

文件权限和所有权

chmod

  1. 指令介绍:chmod 是用于更改文件或目录访问权限的 Linux/Unix 命令。通过该命令可以控制用户、用户组以及其他人对文件或目录的读、写和执行权限
  2. 指令使用格式:chmod [选项] 权限 文件...
  3. 参数说明:
    • 选项:
      • -R:递归地更改目录及其内容的权限。
      • -v:为处理的每个文件输出详细的诊断信息。
      • --reference=<文件>:使用参考文件的权限而不是显式指定权限。
    • 指定权限(模式)有两种主要方式:
      • 符号模式:使用符号来表示不同用户类别及其适用的权限。基本组成部分如下:
        • 用户类别
          • u 代表用户(文件的所有者),
          • g 代表群组,
          • o 代表其他人(其他所有人),
          • a 代表所有(用户、群组和其他人)。
        • 操作
          • + 表示添加一个权限,
          • - 表示移除一个权限,
          • = 表示设置一个权限并移除其他权限。
        • 权限
          • r 表示读权限,
          • w 表示写权限,
          • x 表示执行权限。
      • 八进制模式:使用三位数字一次性为所有三个用户类别设置权限。每一位数字是赋予每个权限的值之和:
        • 读(r)的值为4。
        • 写(w)的值为2。
        • 执行(x)的值为1。
  4. 使用实例:
    1. 给文件所有者添加执行权限
      chmod u+x filename
    2. 移除群组和其他人的写权限
      chmod go-w filename
    3. 设置精确的权限(所有者读、写、执行权限,群组拥有读、执行权限,其他人拥有读权限)
      chmod 754 filename
    4. 递归地更改目录权限
      chmod -R 755 directory/

注意:修改文件权限的时候,只有文件的所有者或者超级用户才可以。

chown

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

su

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

sudo

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

groups

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

磁盘操作

df

  1. 指令介绍:df (disk free) 指令用于显示文件系统的磁盘空间使用情况。它会列出所有已挂载文件系统的可用和已用空间,以及使用百分比等信息
  2. 指令使用格式:df [选项]... [文件]...
  3. 参数说明:
    • -h, --human-readable:以容易阅读的格式(例如 KB, MB, GB)显示数值。
    • -a, --all:包括所有的文件系统,包括系统特有的文件系统,如 proc 文件系统。
    • -T, --print-type:显示每个文件系统的类型。
    • --total:在输出的最后一行显示所有文件系统的总计。
    • -i, --inodes:显示inode信息而非块使用量。
  4. 使用实例:
    1. 显示所有文件系统的磁盘使用情况,以人类可读的形式显示
      df -h
    2. 显示每个文件系统包括其类型
      df -T
    3. 显示所有文件系统总计的磁盘使用情况和可用空间
      df --total

du

  1. 指令介绍:du(disk usage)指令用于统计目录或文件的磁盘使用空间。该指令可以递归地计算目录中所有文件的总大小,并显示每个子目录和文件占用的磁盘空间
  2. 指令使用格式:du [选项]...  [文件]...
  3. 参数说明:
    • -h, --human-readable:以人类可读的格式(例如 KB, MB, GB)显示大小。
    • -a, --all:列出所有文件和目录的大小,而不只是目录。
    • -c, --total:在最后输出总计的磁盘使用量。
    • -s, --summarize:仅显示总计,仅给出每个指定文件或目录的大小。
    • --max-depth=N:打印N层目录树的信息。
  4. 使用实例:
    1. 显示当前目录的磁盘使用情况,包括子目录
      du
    2. 只显示指定目录的总磁盘使用量,不显示目录详情
      du -sh /path/dir
    3. 显示当前目录的详细磁盘使用情况,包括每个文件,并显示总计
      du -ahc
    4. 显示当前目录中两层深度内的磁盘使用情况
      du --max-depth=2

fdisk

  1. 指令介绍:fdisk 是一个用于磁盘分区的命令行工具。它可以创建、删除、调整、复制和操纵磁盘分区表。通常,fdisk 用于管理 MBR 分区表(Master Boot Record)
  2. 指令使用格式:fdisk [选项] 设备
  3. 参数说明:
    • -l:列出指定磁盘的分区表信息。
    • -u:显示分区的大小单位;可选择 'sectors' 或 'cylinders'。
    • -b:设置 sector 大小,默认为 512。
    • -s:输出指定分区的大小(仅限于单个分区)。
    • -t:更改分区系统 ID(即更改分区类型)。
    • -n:添加一个新的分区。
    • -d:删除一个分区。
    • -w:将修改写入磁盘并退出。
  4. 使用实例:
    1. 列出所有磁盘分区表情况
      fdisk -l
    2. 列出特定设备的磁盘分区表
      fdisk -l /dev/sda

注意:错误的使用可能会导致数据丢失!

mount指令

  1. 指令介绍:挂载文件系统
  2. 指令使用格式:
    mount [选项] 设备文件名 挂载点
  3. 参数说明
    • “-t 文件系统类型”:指定要挂载的文件系统类型,如:ext4、ntfs。
    • “-o 选项”:指定挂载选项,如读写权限、挂载点权限等(ro、rw、nolock)
    • “设备文件名”:要挂载的设备文件名
    • “挂载点”:指定挂载到文件系统的目录
  4. 使用实例
    1. mount:查看已挂载的设备
    2. mount -t ext4 /dev/sdb1 /mnt/:将硬盘设备sdb1挂载到/mnt下,-t ext4会自动检测文件系统类型是否为ext4
    3. umount dir:卸载dir目录下的文件系统
    4. umount -a:卸载所有文件系统
    5. umount -lf dir:强制卸载dir目录下的文件系统
    6. mount -o nolock hostname:/dir1 /dir2:与远程网络文件系统进行挂载,nolock表示禁止文件锁定

umount

  1. 指令介绍:umount 指令用于卸载已经挂载的文件系统。确保所有未写入的数据被正确地同步到存储设备上,并且避免文件系统损坏
  2. 指令使用格式:umount [选项] {目录或设备}
  3. 参数说明:
    • -l:延迟卸载。即使设备当前正忙,也立即返回,并且在设备不再使用时自动卸载。
    • -f:强制卸载,在一些情况下文件系统处于繁忙状态无法正常卸载时使用。
    • -r:如果卸载操作失败,尝试以只读方式重新挂载。
    • -v:详细模式,显示卸载过程的详细信息。
    • -n:不更新 /etc/mtab 文件。通常在系统启动或关闭时使用。
  4. 使用实例:
    1. 卸载/mnt/usb目录下挂载的文件系统
      umount /mnt/usb

dd指令

  1. 指令介绍:
    用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换
  2. 指令使用格式:
    dd 选项=值
  3. 参数说明
    • if=文件名:输入文件名,缺省为标准输入。即指定源文件。<if=inputfile>
    • of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >
    • ibs=bytes:一次读入bytes个字节,即指定一个块大小为bytes个字节。
    • obs=bytes:一次输出bytes个字节,即指定一个块大小为bytes个字节。
    • bs=bytes:同时设置读入/输出的块大小为bytes个字节。
    • cbs=bytes:一次转换bytes个字节,即指定转换缓冲区大小。
    • skip=blocks:从输入文件开头跳过blocks个块后再开始复制。
    • seek=blocks:从输出文件开头跳过blocks个块后再开始复制。
      注意:通常只用当输出文件是磁盘或磁带时才有效,即备份到磁盘或磁带时才有效。
    • count=blocks:仅拷贝blocks个块,块大小等于ibs指定的字节数。
    • conv=conversion:用指定的参数转换文件。
      • ascii:转换ebcdic为ascii
      • ebcdic:转换ascii为ebcdic
      • ibm:转换ascii为alternateebcdic
      • block:把每一行转换为长度为cbs,不足部分用空格填充
      • unblock:使每一行的长度都为cbs,不足部分用空格填充
      • lcase:把大写字符转换为小写字符
      • ucase:把小写字符转换为大写字符
      • swab:交换输入的每对字节
      • noerror:出错时不停止
      • notrunc:不截短输出文件
      • sync:将每个输入块填充到ibs个字节,不足部分用空(NUL)字符补齐
  4. 使用实例
    1. 将本地的/dev/hdb整盘备份到/dev/hdd
      dd if=/dev/hdb  of=/dev/hdd
    2. 备份/dev/hdb全盘数据,并利用gzip工具进行压缩,保存到指定路径
      dd if=/dev/hdb | gzip > /root/image.gz
    3. 将压缩的备份文件恢复到指定盘
      gzip -dc /root/image.gz | dd of=/dev/hdb
    4. 备份磁盘开始的512字节大小信息到指定文件
      dd if=/dev/hda of=/root/image count=1 bs=512
    5. 将文件转换为大写
      dd if=filename of=filename1 conv=uvase

进程管理

ps

  1. 指令介绍:ps 是一个用于显示当前系统中活动进程的信息的命令。它能够提供关于正在运行的进程的详细信息,如进程ID(PID)、所属用户、CPU使用率、内存使用率等
  2. 指令使用格式:ps [选项]
  3. 参数说明:
    • -e 或 -A: 显示所有进程。
    • -f: 全格式显示,这通常包含更多的详细信息,例如父进程ID、启动时间等。
    • -u 用户名: 显示指定用户的进程。
    • x: 显示没有控制终端的进程。
    • -l: 长列表格式显示。
    • p PID: 根据进程ID显示进程。
  4. 使用实例:
    1. 查看系统重所有的进程
      ps -e或ps -A
    2. 查看特定用户的进程
      ps -u username
    3. 查看单个进程的详细信息
      ps -fp pid

top

  1. 指令介绍:top 命令用于实时显示系统中进程的动态运行信息。它可以提供关于系统运行时间、CPU 使用率、内存使用情况、正在执行的进程等重要信息,并以列表形式实时更新显示
  2. 指令使用格式:top [选项]
  3. 参数说明:
    • -b: 批处理模式,适合需要输出到文件或另一个进程。
    • -c: 显示完整的命令行路径而不是仅显示命令名。
    • -d: 指定两次屏幕刷新之间的延迟时间间隔,单位为秒。
    • -H: 显示线程而不是进程。
    • -n: 设置 top 命令更新的次数,之后将退出。
    • -p: 通过指定进程ID来监控特定进程。
    • -u: 显示特定用户的进程。
  4. 使用实例:
    1. 查看所有进程信息
      top
    2. 监控特定用户的进程
      top -u username
    3. 以批处理模式启动top,并将输出重定向到文件
      top -b -n 10 > topoutfile.txt

kill

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

pkill

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

网络

ping

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

ifconfig和ipconfig

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

netstat

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

scp

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

ssh

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

curl和wget

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

归档和压缩

tar

  1. 指令介绍:tar(Tape Archive)指令是Linux系统中用于打包文件和目录到一个归档文件(通常称为tarball)的工具。除了打包,tar 还可以与压缩工具(如gzip、bzip2)结合使用以减小归档文件的大小。tar 可以用来创建新的归档文件、展开已有的归档文件、列出归档内容等
  2. 指令使用格式:tar [选项]...  [文件]...
  3. 参数说明:
    • -c, --create: 创建一个新的归档文件。
    • -x, --extract, --get: 从归档文件中提取文件。
    • -t, --list: 列出归档文件的内容。
    • -f, --file: 指定归档文件名。
    • -v, --verbose: 显示详细过程信息。
    • -z, --gzip: 使用GNU zip (gzip) 程序对归档进行压缩或解压。
    • -j, --bzip2: 使用bzip2程序对归档进行压缩或解压。
    • -J, --xz: 使用XZ程序对归档进行压缩或解压。
    • -p, --preserve-permissions: 在提取文件时保留原始文件权限。
  4. 使用实例:
    1. 创建一个新的tar归档文件archive.tar包含dir目录
      tar -cvf archive.tar dir
    2. 创建一个gzip压缩的tar归档文件arichive.tar.gz
      tar -czvf archive.tar.gz file1 file2
    3. 展开一个tar归档文件archive.tar当当前目录
      tar -xvf archive.tar
    4. 列出gzip压缩的tar归档文件archive.tar.gz的内容
      tar -tzvf archive.tar.gz

gzip和bzip2

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

zip和unzip

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

Bash脚本

echo

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

read

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

export

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

printf

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

seq

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

控制语句(if、for、while、case等)

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

其他指令

date

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

alias

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

history

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

man

  1. 指令介绍:
  2. 指令使用格式:
  3. 参数说明:
  4. 使用实例:

linux指令测试题

liunx指令测试题

  • 解释`ls`命令的作用,并列举至少三个常用选项。
    列出当前目录下的文件
    -l 使用长格式列出文件信息
    -a 列出所有文件,包括隐藏文件
    -h 和-l一起使用,会以人类可读的模式列出文件大小

  • 用一条命令创建名为`data`的目录,并确保其父目录存在。(创建的目录路径为/home/jony/test/data, 父目录是否存在未知)
    mkdir -p /home/jony/test/data
    -p:如果创建目录的父目录不存在,会自动帮助创建

  • 使用`chmod`命令将文件`script.sh`设置为只有所有者可执行的权限。
    chmod 700 script.sh
    chmod u+x go= script.sh
    u+x:u表示用户(owner),+x表示添加执行权
    go=:将组(group)和其他人(othres)的权限设置为空,=后面就是给定的权限,这里为空表示不授权

  • 使用`grep`命令在文件`log.txt`中查找包含字符串`error`的所有行。
    grep “error” log.txt

  • 使用`ps`命令列出当前用户的所有进程。
    ps -u $USER

  • 使用`mv`命令将文件`document.pdf`移动到`documents`目录,并确保目录存在。
    mkdir -p documents
    mv document.pdf documents/

  • 用一条命令查看系统中当前的日期和时间。
    dete

  • 使用`tar`命令创建一个名为`archive.tar.gz`的压缩文件,包含目录`source`中的所有文件。
    tar -czvf archive.tar.gz source/

  • 使用`df`命令查看系统中所有挂载点的磁盘使用情况。
    df -h

  • 使用`echo`命令创建一个名为`hello.txt`的文件,并向其中写入文本消息"Hello, Linux!"。
    echo "Hello, Linux!" > hello.txt

  • 使用`tail`命令查看文件`logfile.txt`的最后10行。
    tail -n 10 logfile.txt

  • 使用`find`命令在当前目录及其子目录中查找所有扩展名为`.log`的文件。
    find . -name "*.log"

  • 使用`sed`命令将文件`data.txt`中所有的"apple"替换为"orange"。
    sed -i 's/apple/orange/g' data.txt
    -i:表示将修改直接输入到文件中
    s:表示替换操作
    /apple:指定要被替换的文本
    /orange:指定要替换的文本
    /g:全局替换标记,表示文本中的内容全部都要替换

  • 使用`chown`命令将文件`file.txt`的所有权更改为用户`user1`。
    chown -u user1 file.txt

  • 使用`echo`和重定向将文本消息"Linux Basics"追加到文件`notes.txt`的末尾。
    echo "Linux Basics" >> notes.txt

  • 使用`ps`和`grep`命令查找所有包含关键词`python`的进程。
    ps | grep python

  • 使用`scp`命令将本地文件`localfile.txt`复制到远程服务器的`/home/user/`目录中。
    scp localfile.txt user@ip:/home/user/

  • 使用`awk`命令查找并打印文件`data.csv`中第二列(字段)包含值"123"的行。
    awk -F, '$2 ~ /123/ {print}' data.csv

  • 使用`alias`命令创建一个别名,使得`ll`等同于`ls -l`。
    alias ll="ls -l"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值