软件测试之Linxu(1):Linux基本概念和操作

Linux 系统最早诞生于 1991 年。1991 年,芬兰计算机科学家林纳斯·托瓦兹(Linus Torvalds)在赫尔辛基大学学习时创建了 Linux 内核。随后,许多开发者参与到 Linux 项目中,逐渐发展成了一个庞大的开源操作系统。

因为Linux的开源特性,它衍生出了大量的发行版本(如Ubuntu、Fedora、Debian等),同时也赢得了全球开发者和企业的喜爱,截至2021年,Linux发行版中,Ubuntu 20.04 LTS和Debian 10 (Buster) 是相对较多人使用的版本。这些版本在服务器、桌面和开发者社区中有广泛的用户。然而,需要注意的是,这些数据可能会随着时间的推移发生变化,而且有很多不同的 Linux 发行版适用于不同的场景和用户群体。

以下将介绍Linux的一些基本概念与操作:

1. Linux简介

Linux是基于POSIX(可移植操作系统接口)标准开发的,遵循自由软件和开源软件开发和分发模式,允许用户修改、共享和再分发源代码。Linux的内核是其核心组件, 是操作系统执行用户级应用程序和硬件设备之间的底层通道。

2. 目录结构

Linux采用了树状目录结构,以"/"(斜杠)作为根目录。以下是一些常见的重要目录:

  • /bin:基本的系统可执行文件
  • /boot:引导文件
  • /dev:设备文件
  • /etc:系统配置文件
  • /home:用户目录
  • /lib:系统库文件
  • /root:系统管理员的家目录
  • /tmp:临时文件
  • /usr:用户程序和数据文件
  • /var:各种日志文件和其他变量数据文件

3.常用基本命令

在 Linux 系统上,有许多基本的命令可以帮助用户执行各种操作,例如创建文件、管理进程、修改文本等,接下来,为您详解一些常用的 Linux 基本命令:

	(1) `-f` 通常用于指定一个输入文件,或强制执行某个操作。例如,在 `tar` 命令中,`tar -xf archive.tar` 会使用 `-f` 选项将 `archive.tar` 解压;而在 `rm` 命令中,`rm -f file.txt` 会强制删除 `file.txt`,即使它是只读的。

	(2)`-n` 通常用于指定数值参数,或者执行“试运行”模式。例如,在 `head` 命令中,`head -n 10 file.txt` 会显示 `file.txt` 的前 10 行;而在 `grep` 命令中,`grep -n pattern file.txt` 会显示匹配到模式 `pattern` 的行号。
	
	(3)"-r" 通常表示 "recursive"(递归)。例如,在 cp(复制文件)命令中,"-r" 选项表示复制目录及其子目录下的所有文件和子目录。此外,rm -r 表示递归删除目录及其内容。注意,-R 选项在某些命令中具有相同的递归含义。例如:cp -R 和 cp -r 都表示递归复制。
  1. pwd(print working directory):显示当前工作目录。

  2. ls:列出目录中的文件。

  3. cd(change directory):切换到指定目录。

    • cd ..:进入上级目录。
    • cd ~:回到用户的主目录。
  4. mkdir(make directory):创建一个新目录。

    • 示例:mkdir new_directory
  5. rmdir(remove directory):删除空目录(递归删除使用rm -rf)。

    • 示例:rmdir directory_name
  6. touch:创建一个新的空文件。

    • 示例:touch new_file.txt
  7. rm(remove):删除一个文件或目录。

    • 示例:rm file_name
    • 若要递归删除一个目录及其子目录和文件,请使用:rm -rf directory_name
  8. cp(copy):复制一个文件或目录。

    • 示例:cp source_file destination
    • 若要复制一个目录,使用:cp -r source_directory destination
  9. mv(move):移动或重命名一个文件或目录。

    • 示例:mv old_name new_name
  10. cat:显示文件的内容。

  • 示例:cat file_name
  1. head:显示文件的前几行。
  • 示例:head -n 5 file_name
  1. tail:显示文件的末尾几行。
  • 示例:tail -n 5 file_name
  • 要在 Linux 中实时监控一个日志文件,可以使用 tail 命令。tail 命令默认显示文件的最后几行,但是可以通过传递 -f 选项来实时显示新增的内容。例如,要实时监控一个名为 /var/log/syslog 的日志文件,可以执行以下命令:
tail -f /var/log/syslog

这将持续显示日志文件的最新内容。当有新的日志条目添加到文件中时,它们会自动显示在屏幕上。要停止监控,可以按 Ctrl + C

还可以使用 multitail 实现实时监控多个日志文件。multitail 不是所有 Linux 发行版的标准组件,但是可以在大多数发行版中安装。在 Debian 或 Ubuntu 上,可以使用以下命令安装 multitail

sudo apt-get install multitail

安装后,可以使用 -i 选项指定要监控的多个文件,如下所示:

multitail -i /var/log/syslog -i /var/log/auth.log

这将同时监控 /var/log/syslog/var/log/auth.log 文件,并在屏幕上实时显示它们的内容。

还有一个功能强大的工具是less,实时监控日志可以使用 less 命令,如下所示:

less +F /var/log/syslog

这将打开日志文件并实时显示新增内容。要退出实时监控并浏览文件,可以按 Ctrl + C,此时可以使用 less 的所有功能,如搜索和翻页。要再次进入实时监控,可以按 F。要退出 less,可以按 q

  1. grep:在文件中搜索指定字符串或正则表达式。
  • 示例:grep "pattern" file_name
  1. echo: 在命令行显示字符串或变量值。
  • 示例:echo "Hello World!"
  1. man:显示命令的手册,以获取所需命令的详细说明及用法。
  • 示例:man ls
  1. ps:查看当前运行的进程。

  2. kill:杀死指定的进程 ID。

  • 示例:kill 12345
  1. tophtop:显示系统的实时进程信息。

  2. df:查看磁盘空间使用情况。

  3. du:查看目录的磁盘空间使用情况。

  • 示例:du -sh directory_name
  1. chmod:修改文件或目录的权限。
  • 示例:chmod 755 file_name
  1. chown:更改文件或目录的属主和属组。
  • 示例:chown user:group file_name
  1. wget:从互联网上下载文件。
  • 示例:wget http://example.com/file.txt
  1. curl:向服务器发送 HTTP 请求,并获取返回的数据。
  • 示例:curl http://example.com
  1. nanovivim:在命令行中打开文本编辑器以编辑文件。

4. 权限管理

Linux中对文件和目录的访问权限分为只读(r)、可写(w)和可执行(x)。所有用户分为文件或目录的所有者、组内用户和其他用户三类。可以使用chmod命令修改权限,例如"chmod 755 文件名"。

5. 帮助命令

获取命令帮助的常用方法有:

  • 命令 --help:显示命令的用法和选项说明
  • man 命令:显示命令的手册页
  • info 命令:显示命令的信息页面

6.压缩、解压命令详解

Linux 系统中有多种压缩和解压缩工具,这里详解常见的几种工具及其命令:

  1. gzip/gunzip

gzip 是用于压缩文件的命令,它会将原文件压缩成一个新的带有 .gz 扩展名的文件。原文件在压缩后将被删除。

语法:gzip [options] [file]

常用选项:

  • -k:保留原文件,不删除。
  • -d:解压缩文件(此时命令等同于 gunzip)。
  • -c:将解压缩的内容输出到标准输出(可用于管道命令)。
  • -r:递归地压缩目录中的所有文件。
  • -l:查看压缩文件的信息。
  • -v:显示压缩/解压缩过程中的信息。

例子:

  • 压缩文件:gzip file.txt (产生 file.txt.gz,删除 file.txt)
  • 解压缩文件:gzip -d file.txt.gz
  1. tar

tar 命令用于将多个文件打包成一个文件,也可以用于解包。配合 gzip 或其他压缩方式,可以实现压缩和解压缩。tar 支持多种文件格式,如 .tar.tar.gz.tar.bz2 等。

语法:tar [options] [file]

常用选项:

  • -c:创建新的归档文件。
  • -x:解包已有的归档文件。
  • -z:与 gzip 一起使用,进行 .tar.gz 格式的压缩或解压缩。
  • -j:与 bzip2 一起使用,进行 .tar.bz2 格式的压缩或解压缩。
  • -f:指定归档文件名。
  • -v:显示处理过程中的详细信息。
  • -r:将文件追加到已有的归档文件末尾。
  • -t:查看归档文件内容。

例子:

  • 压缩文件:tar -czvf archive.tar.gz file1 file2
  • 解压缩文件:tar -xzvf archive.tar.gz
  • 查看归档文件内容:tar -tvf archive.tar.gz
  1. zip/unzip

zip 是用于创建和管理 .zip 格式的压缩文件的命令。

语法:zip [options] [zipfile] [files]

常用选项:

  • -r:递归地压缩目录中的所有文件。
  • -d:从 zipfile 中删除指定的文件。
  • -u:更新 zipfile 中的文件。
  • -v:显示详细信息。

unzip 则用于解压缩 .zip 文件。

语法:unzip [options] [zipfile]

常用选项:

  • -d:指定解压缩后的目标目录。
  • -l:查看 zipfile 中的文件内容。
  • -o:覆盖解压缩目录中的同名文件。
  • -n:仅解压 zipfile 中的新文件。

例子:

  • 压缩文件:zip archive.zip file1 file2
  • 解压缩文件:unzip archive.zip
  1. rar/unrar

rar 是一个商业软件,需要在官网下载安装。它的功能与 zip/unzip 类似,但使用的是 .rar 格式。

安装:
在 CentOS/RHEL:

sudo yum install rar unrar

在 Ubuntu/Debian:

sudo apt-get install rar unrar

语法:rar [options] [rarfile] [files]

常用选项:

  • a:添加文件到压缩包。
  • e:解压缩文件到当前目录。
  • x:解压缩文件到指定目录。
  • v:查看压缩包内容。

例子:

  • 压缩文件:rar a archive.rar file1 file2
  • 解压缩文件:rar x archive.rar

这些命令涵盖了 Linux 系统中主要的压缩和解压缩工具。使用这些命令,可以方便地对文件进行打包和解包。

PS:sudo yumsudo apt-get 是两种 Linux 包管理工具,用于在 Linux 发行版中安装、更新和卸载软件。具体来说,yum 通常用于基于 Red Hat Enterprise Linux (RHEL) 或 Fedora 的发行版,而 apt-get 用于基于 Debian 的发行版,如 Ubuntu。

  1. sudo:这是一个命令行实用程序,表示 “SuperUser DO”,允许用户以管理员(或 root)权限运行命令。在使用包管理器时,通常需要管理员权限,因为它们可能会修改系统级文件和配置。

  2. yum:是一个软件包管理器,适用于基于 RPM 的 Linux 发行版(如 Red Hat Enterprise Linux 及其衍生版,如 Fedora 和 CentOS)。yum 可以搜索、安装、升级、降级、删除软件包及其依赖关系。

  3. apt-get:是 Debian 及其衍生版本(如 Ubuntu)的软件包管理器。它的功能类似于 yum,用于搜索、安装、升级、降级、删除软件包及其依赖关系。

虽然 yumapt-get 相似,但它们在软件源、软件包格式及管理方式上有所不同。简而言之,sudo yumsudo apt-get 都是以管理员权限执行包管理命令。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值