Linux中的基础知识

【技术积累】Linux中的基础知识【一】

Linux系统是什么

Linux系统是一种开源操作系统,它极具可定制性和灵活性,因此受到了许多人的欢迎。Linux系统以简单,强大和兼容性而著称。它可用于各种设备,从个人计算机到超级计算机,从移动设备到智能家居。

Linux系统遵循GNU公共许可证(GPL)下的自由和开源软件原则,这意味着它是免费的、可定制的和具有开放性。由于这种自由和开放性,Linux系统成为了许多人喜欢的选择,特别是开发人员和厂商。

Linux系统与其他操作系统相比,它对硬件的适应性要更好,因为它是开放的,允许开发人员编写适配程序。另外,由于Linux系统的可扩展性,用户可以添加或删除软件,从而增强其功能。

Linux系统还支持多用户、多任务、多进程和多线程,并且具有强大的命令行模式,这使得更加高效和方便使用。它还具有高安全性,并且为网络服务提供了优异的支持。

总之,Linux系统是一个非常强大、可定制和适应性强的操作系统。

Linux系统的特点

Linux系统的特点如下:

  1. 开源免费:Linux系统是开源的,任何人可以免费获取、使用、修改和分发。这也为Linux系统的普及打下了坚实的基础。
  2. 多用户和多任务:Linux系统支持多用户和多任务,可以同时运行多个应用程序,每个用户都可以在自己的环境中进行操作,不会干扰其他用户的操作。
  3. 稳定性好:Linux系统非常稳定,可以持续运行数月或数年而不需要重新启动或关机。这是由于Linux系统采用了分层架构、统一驱动模型等技术。
  4. 安全性高:Linux系统在设计时就注重了安全性,系统的漏洞可以迅速得到修补。此外,Linux系统支持安全模型和安全机制,可以保护用户数据和系统安全。
  5. 灵活性和扩展性:Linux系统非常灵活,可以根据需求定制,安装各种开发工具和应用程序。对 Linux 系统进行修改、补丁和扩展也非常容易。
  6. 支持多种硬件架构:Linux系统不仅支持通用计算机硬件,还支持嵌入式系统、移动设备、超级计算机等各种硬件架构。
  7. 众多的应用程序:Linux系统上有大量的免费和商业的应用程序,包括桌面办公软件、开发工具、服务器应用程序等。

综上所述,Linux系统具有开源免费、稳定性好、安全性高、灵活性和扩展性强等特点,这些特点使得Linux系统在服务器、嵌入式系统和超级计算机等领域得到广泛应用。

Linux系统的分类

Linux系统可以根据不同的目的和特点进行分类,以下是常见的分类方式:

1. 基于用途的分类

  • 桌面操作系统:如Ubuntu、Fedora、Debian等,主要针对普通用户,提供图形化界面和易用性。
  • 服务器操作系统:如CentOS、Red Hat Enterprise Linux、Suse等,主要针对企业用户,提供稳定性和安全性。
  • 嵌入式操作系统:如OpenWRT、Buildroot等,主要针对嵌入式设备,提供精简的系统和高度定制化。

2. 基于体系结构的分类

  • x86架构:如Ubuntu、Fedora、Debian等,主要针对普通桌面和服务器使用。
  • ARM架构:如Raspbian、OpenWRT等,主要针对嵌入式设备和小型计算机使用。
  • PowerPC架构:如Yellow Dog Linux等,主要针对IBM PowerPC处理器使用。

3. 基于发行版的分类

  • Debian系:如Debian、Ubuntu、Linux Mint等,以Debian作为基础系统,注重稳定性和易用性。
  • RedHat系:如CentOS、Red Hat Enterprise Linux、Fedora等,以RedHat作为基础系统,注重企业级应用和支持。
  • Slackware系:如Slackware、Zenwalk等,注重简洁、可靠和自由。

综上所述,Linux系统的分类根据不同的目的和特点进行划分,也可根据不同的体系结构和发行版进行区分。

Linux系统的优缺点

优点:

  1. 安全稳定:Linux是一个高度安全和稳定的操作系统,在安全性方面表现优异,相比其他操作系统更少受到病毒和恶意软件攻击。
  2. 开源性:Linux是开源操作系统,可自由定制和修改操作系统,可以轻松添加新的功能,也可以识别和修复错误。
  3. 多用户系统:作为多用户系统,Linux可以同时支持多个用户使用,并提供严密的权限管理机制,保证数据安全性。
  4. 免费:Linux是免费的,可以节省版权授权等高昂的费用,尤其适合个人和小企业使用。
  5. 可定制性和灵活性:Linux可以根据需要配置软件和服务,定制自己的工具集,提升效率和可靠性。
  6. 开发便捷:Linux有广泛的用户和开发者社区,可以轻松找到并解决问题,提供的各类技术和文档资料,可使用户进一步深入学习和开发。

缺点:

  1. 困难的学习曲线:Linux相比其他操作系统需要更多的学习和技术知识,需要不断学习和实践才能够熟练掌握。
  2. 兼容性问题:由于Linux的市场份额相对较小,可能会存在不完全兼容的软件或硬件设备,使得一些软件在Linux上无法正常运行。
  3. 缺乏支持:Linux适合专业用户,因此缺少像微软和苹果那样完善的技术支持体系,需要自己解决问题。
  4. 软件数量不足:相比Windows和macOS,Linux上可用的软件数量可能有限,尤其是一些商业软件,可能需要使用虚拟机或其他工具来运行。
  5. 门槛高:对于普通用户来说,使用Linux可能过于复杂和不简易,缺少直观易用的图形界面。

Linux系统的组成

Linux是一种自由开源的操作系统,由内核、系统库、命令行工具、图形界面和应用程序组成。

  1. 内核:是操作系统的核心部分,控制系统的硬件资源和提供各种服务,如进程管理、内存管理、文件系统驱动、网络协议栈等。
  2. 系统库:是一组程序和函数,提供常用的系统调用接口,方便应用程序访问和使用内核服务,如C标准库和GNU libc等。
  3. 命令行工具:是通过命令行界面运行的程序,提供各种系统管理、文件处理、网络通信等功能,如Shell、sed、awk、grep、find、netstat等。
  4. 图形界面:是通过窗口系统提供的图形用户界面运行的程序,提供交互式的应用程序和系统管理工具,如GNOME、KDE、Xfce等。
  5. 应用程序:是在操作系统上运行的应用程序,包括文本编辑器、办公软件、浏览器、媒体播放器、数据库管理等。

总的来说,Linux操作系统的基本组成包括内核、系统库、命令行工具、图形界面和应用程序,它们相互协作,实现了操作系统的各种功能。同时,由于Linux是开源的,用户可以自由地修改、扩展和定制操作系统,满足各种需求。

什么是Linux命令行

Linux命令行是指在Linux操作系统上通过键盘输入命令进行操作的方法。Linux命令行界面(CLI)是用户与操作系统交互的主要方式,其通过命令行提示符接收用户的命令,并输出命令结果。通过命令行,用户可以访问文件系统、运行程序、管理网络、进程等各种系统资源。

在Linux命令行中,每个命令由一个或多个关键字组成,这些关键字通常需要指定参数和选项来指定命令的具体操作。命令可以通过简写(如ls代替list)或别名(如ll代替ls -l)来更为简便地输入。

Linux命令行相比图形用户界面,其最大的优势是可以通过批处理脚本进行自动化操作。同时,在某些特定场景下,比如服务器管理、网络配置等,也更为便捷和高效。因此,Linux命令行在服务器操作和系统管理等领域得到了广泛应用。

Linux命令行的基本结构

Linux命令行的基本结构分为三个部分:命令、选项和参数。

命令是Linux命令行的核心,用于执行各种操作。命令由一个或多个单词组成,每个单词代表一个不同的操作或功能。例如,ls、cp、mkdir、cd等都是常用的命令。

选项用于调整或扩展命令的功能。选项通常由一个短横线“-”或两个短横线“--”开始,后面跟随一个字母或单词。例如,ls命令可以使用选项“-l”来显示详细信息,使用选项“-a”来显示隐藏文件。

参数是命令行中的其他信息,用于指定命令的具体操作对象或参数。参数通常是命令名称、文件名、目录名或其他需要操作的内容。例如,cp命令需要指定源文件和目标文件,这些就是cp命令的参数。

综上所述,Linux命令行的基本结构如下:
命令 [选项] [参数]

其中,命令是必需的,选项和参数均为可选的,多个选项和参数可以连续使用。例如,ls命令可以这样使用:
ls -l /home/username

其中,“-l”是选项,“/home/username”是参数。

Linux基本命令行【一】

1. 创建一个新的文件夹:

在Linux的命令行中,使用 "mkdir" 命令来创建一个新文件夹。例如,假如你要在当前目录下创建一个名为 "test" 的文件夹,可以输入以下命令:

mkdir test

这将在你的当前目录下创建一个名为 "test" 的新文件夹。如果你要在别的目录下创建一个新文件夹,需要在 "mkdir" 命令后面加上目录的路径。例如,如果你要在 "/home" 目录下创建一个名为 "projects" 的文件夹,可以输入以下命令:

mkdir /home/projects

2. 在文件夹中创建一个新的文件:

使用 "touch" 命令创建一个新文件。例如,你可以在当前目录下创建一个名为 "testfile.txt" 的文件,输入以下命令:

touch testfile.txt

这会在当前目录下创建一个空的文件。

3. 查看当前目录下的文件和文件夹:

使用 "ls" 命令来列出当前目录下的所有文件和文件夹。例如,输入以下命令将列出当前目录下的所有文件和文件夹:

ls

如果你想列出当前目录下的所有文件和文件夹的详细信息,例如权限、所有者、大小等等,可以添加 "-l" 选项。例如:

ls -l

4. 查看文件内容:

使用 "cat" 命令来查看文件的内容。例如,如果你想查看名为 "myfile.txt" 的文件的内容,可以输入以下命令:

cat myfile.txt

这将输出 "myfile.txt" 文件的内容。

5. 将一个文件从一个文件夹移动到另一个文件夹:

使用 "mv" 命令移动文件。例如,如果你想将名为 "myfile.txt" 的文件从当前目录移动到名为 "newfolder" 的文件夹中,可以输入以下命令:

mv myfile.txt newfolder/

这将 "myfile.txt" 文件移动到名为 "newfolder" 的文件夹中。如果你想将整个文件夹移动到另一个目录下,可以使用 "mv" 命令加上文件夹的名称和新目录的路径。例如,如果你要将名为 "myfolder" 的文件夹移动到 "/home/newlocation" 目录下,可以输入以下命令:

mv myfolder /home/newlocation/

Linux基本命令行【二】

复制文件到另一个文件夹

cp /path/to/file /path/to/folder

删除文件

rm /path/to/file

删除文件夹及其所有内容

rm -r /path/to/folder

重命名文件

mv /path/to/file /path/to/newfilename

创建新的空文件

touch /path/to/newfile

Linux基本命令行【三】

生成一个随机的密码

可以使用以下命令生成一个随机的密码: 

openssl rand -base64 12

这将生成一个12个字符长的随机密码。

列出当前用户可用的所有命令

可以使用以下命令列出当前用户可用的所有命令: 

compgen -c

这将列出所有当前用户可用的命令。

查看当前登录用户的用户名

可以使用下面的命令查看当前登录用户的用户名:

whoami

这将返回当前登录用户的用户名。

查看当前登录用户的主目录

可以使用下面的命令查看当前登录用户的主目录:

echo $HOME

这将返回当前登录用户的主目录的路径。

查看文件的权限

可以使用下面的命令查看文件的权限:

ls -l filename 

这将返回文件的详细信息,包括权限信息。

Linux基本命令行【四】

给一个文件或文件夹授予读、写、执行权限

chmod +rwx /path/to/file_or_folder

从一个文本文件中查找特定的字符串

grep "string_to_search" /path/to/file

查看Linux操作系统的版本

lsb_release -a

或者

cat /etc/*release

查看系统的CPU信息?

lscpu

查看系统的内存使用情况

free -m

 

 

出处:https://www.cnblogs.com/yyyyfly1/p/17482512.html

=======================================================================================

【技术积累】Linux中的基础知识【二】

Linux的发行版本

Linux是一个开源操作系统,有许多发行版,每个发行版都有自己的特点和优势。以下是一些常见的Linux发行版:

  1. Ubuntu:Ubuntu是最受欢迎的Linux发行版之一,它拥有一个庞大的社区,提供了易于使用的界面和大量的软件。

  2. Debian:Debian是最古老的Linux发行版之一,也是一个非常稳定和可靠的发行版,其软件库非常丰富。

  3. Red Hat Enterprise Linux(RHEL):RHEL是一个商业级Linux发行版,由Red Hat公司开发和支持。

  4. CentOS:CentOS是RHEL的社区版,在企业和开发者之间非常流行。

  5. Fedora:Fedora是由Red Hat公司支持的社区发行版,具有最新的特性和技术支持。

  6. Arch Linux:Arch Linux是一个非常领先的发行版,它强调自定义和精简。它适合高级用户和开发者的需求。

  7. Gentoo:Gentoo是一个源代码驱动的发行版,用户必须从源代码编译安装软件包。它适合有编程经验的用户。

  8. Mint:Mint是一个基于Ubuntu的发行版,提供了易于使用的界面和各种桌面环境。

这些都是Linux发行版本中比较受欢迎的一些,当然还有其他各种不同的版本,用户可以根据自己的需求进行选择。

Linux的应用领域

Linux应用广泛,从服务器到移动设备、桌面和嵌入式系统都有广泛的应用。以下是Linux的主要应用领域:

  1. 服务器:Linux在服务器领域应用非常广泛,包括Web服务器、邮件服务器、文件服务器、数据库服务器、DNS服务器等等。许多大型互联网公司使用 Linux 作为其主要服务器操作系统,例如谷歌、Facebook、Twitter等等。
  2. 桌面:虽然Linux的市场份额相对较低,但是在开源社区中,Linux桌面应用程序的生态系统正在快速成长。常见的Linux桌面环境有 GNOME、KDE、Xfce等等。
  3. 移动设备:Android 操作系统由Linux内核构建,被广泛应用于智能手机、平板电脑等移动设备上。 Android 在智能手机市场占有相当大的份额。
  4. 嵌入式系统:Linux在嵌入式系统中也被广泛应用,例如网络路由器、智能电视、数字录音机、工业控制设备等等。
  5. 云计算:Linux是云计算时代的主导操作系统,许多公共云如Amazon Web Services、Microsoft Azure等均基于Linux操作系统。

总之,由于其开源、免费、灵活、安全等优点,Linux在许多领域都有着广泛的应用。

忘记Windows的思维方式

学习Linux需要忘记Windows的思维方式,因为两种操作系统在很多方面存在差异,包括文件系统,命令行和软件安装等。

  • 首先,Linux的文件系统与Windows有所不同。Linux采用一种层次化的根目录结构,每个文件和目录都有一个绝对路径,而Windows采用了驱动器字母的方式来表示不同的逻辑分区。在Linux中,文件和目录都被视为文件,无论是硬件或者软件都被视为文件对象,这很不同于Windows。
  • 其次,Linux的命令行与Windows有所不同。Linux的命令行被认为是更加高效和强大的,因为在Linux中可以通过组合多个命令来完成更加复杂的任务。而且在Linux中,命令行工具是更加广泛使用的,而Windows则更加依靠GUI。
  • 最后,软件安装也是Linux和Windows区别之一。在Windows中,软件通常需要安装程序进行安装,而在Linux中则可以通过软件包管理器进行安装和卸载软件。这些软件包是为特定的Linux发行版打包的,因此需要选择适合自己Linux发行版的软件包。
  • 因此,学习Linux需要忘记Windows的思维方式,从Linux的角度去理解和学习这个操作系统。这需要重新设定思考方式,主要是从命令行操作和系统管理的角度进行学习和思考。

Linux大小写问题

在Linux操作系统中,文件和文件夹名称是区分大小写的。这意味着,如果你有两个文件或文件夹的名称仅在大小写上不同,那么Linux将认为它们是两个不同的实体。例如,"file.txt"和"File.txt"在Linux中被视为两个不同的文件。

这种区分大小写的功能对于操作系统的文件系统非常重要,因为它可以帮助保持文件和目录结构的完整性和正确性。而如果没有这种区分大小写的功能,文件和文件夹的名称就会混淆,导致数据混乱,文件找不到,程序无法正常运行等问题。

此外,还有一些编程语言是区分大小写的,例如C语言。在C语言中,例如"Hello"和"hello"是不同的变量名称。因此,在编写Linux下的C语言程序时,需要注意大小写的区别。

Linux扩展名问题

Linux不依赖扩展名

Linux是一种基于Unix的操作系统,与Windows不同的是,它不是通过文件扩展名来判断文件类型的,而是通过文件的属性和内容来进行判断。这种方法有以下好处:

1. 减少误判:由于文件扩展名可以随时更改,而且可能被恶意程序修改,所以文件的扩展名并不是可靠的标识符。相反,Linux利用文件类型'类型标识符'(type identifier)来确定文件类型。在文件系统中,每个文件都有一个文件类型标识符,这个标识符是由文件属性中的信息生成的。

2. 容易扩展:在Linux中新增一个文件类型只需要在文件系统中增加一个对应符号的解析器程序即可。而在Windows中,新增一个文件类型则需要添加一个映射表,再修改几个注册表信息。

举个例子:在Linux系统中,如果文件没加扩展名,可以通过“file <文件名>”命令来查看文件类型。如下所示:

$ file myfile
myfile: ASCII text

上面的命令会告诉我们myfile文件是ASCII文本。

另一个例子是,Linux中的可执行文件可以没有扩展名,但是必须具有可执行权限和正确的格式,例如:

$ ./myprogram

这里的myprogram文件没有扩展名,但是它是一个可执行文件,操作系统可以正确地运行该程序。

扩展名仍然有实用性

虽然Linux不像Windows那样依赖于扩展名来确定文件类型,但是仍然可以在Linux文件名中包含扩展名。这是因为扩展名在一些情况下仍然具有一定的实用性,例如:

  1. 文件名的可读性:人们对于文件名的理解和记忆往往是与文件的扩展名相关的。即便文件系统中并不依据扩展名来识别文件类型,给文件名附加一个合适的扩展名仍然能够方便人们对其进行理解和识别。

  2. 兼容性:与某些软件和操作系统的兼容性有关。有一些软件在处理文件时依赖于扩展名或者文件名的规范性,因此为了方便与这些软件进行交互,文件名必须包含扩展名,以满足软件和操作系统的要求。例如有些应用程序或者运行环境(如Java虚拟机)可能会需要文件扩展名来正确地执行或识别文件。这就是为什么在Linux系统上,有些文件可能会仍然具有扩展名的原因。

  3. 方便性:在Linux中,扩展名并不影响文件的实际内容和处理方式,但是添加文件扩展名可以使文件在命令行工具和文件管理器中更易于识别和访问。例如,在命令行中输入“ls”命令时,文件扩展名可以快速地显示文件类型,这可以帮助用户更轻松地识别文件。

  4. 提供默认应用程序:在Linux中,文件扩展名可以用于确定默认应用程序。例如,将.txt文件扩展名添加到文件名后,可以使Linux系统默认使用文本编辑器打开该文件,而不是其他类型的应用程序。

  5. 避免文件冲突:在Linux中,不同类型的文件可能具有相同的名称,添加扩展名可以帮助避免文件名冲突和混淆。例如,在Linux中,可以同时存在名为“file”的文本文件和名为“file”的二进制文件,但是添加相应的扩展名可以使它们更易于区分。

总的来说,Linux的文件系统不需要依赖于扩展名来确定文件类型,但是扩展名仍然具有一定的实用性。因此,在实际的使用中,文件名是否包含扩展名,以及扩展名的具体命名方式,可以由用户根据自己的需求和习惯进行选择。

Linux的常用扩展名有哪些

在Linux文件系统中,扩展名虽然不是必须的,但通常为了方便管理和识别文件,人们还是会为文件名添加一个特定的扩展名。以下是一些常用的Linux文件扩展名:

  1. .sh:Bash shell脚本文件。

  2. .py:Python源代码文件。

  3. .c:C语言源代码文件。

  4. .cpp:C++源代码文件。

  5. .java:Java源代码文件。

  6. .pl:Perl脚本文件。

  7. .txt:纯文本文件,例如README、LICENSE等文本文件。

  8. .html/.htm:HTML网页文件。

  9. .xml:XML文件,用于存储数据或配置信息。

  10. .json:JSON文件,用于存储数据。

  11. .tar:tar压缩文件。

  12. .gz:gzip压缩文件。

  13. .zip:zip压缩文件。

  14. .rar:rar压缩文件。

  15. .pdf:Adobe PDF文档。

  16. .doc/.docx:Microsoft Word文档。

  17. .xls/.xlsx:Microsoft Excel电子表格文件。

  18. .ppt/.pptx:Microsoft PowerPoint演示文稿。

  19. .jpg/.jpeg:JPEG图像文件。

  20. .png:PNG图像文件。

  21. .gif:GIF动态图片文件。

  22. .mp3:MP3音频文件。

  23. .mp4:MP4视频文件。

  24. .avi:AVI视频文件。

  25. .svg:SVG矢量图像文件。

Linux的基本命令行【一】

列出当前的进程

可以使用以下命令列出当前所有正在运行的进程:

ps -aux

该命令将显示每个进程的详细信息,包括进程ID(PID)、父进程ID(PPID)、CPU利用率、内存使用量等。

使用ps命令:在命令行输入ps即可列出当前的进程。ps命令的常用参数如下:

  • -a 显示所有用户的进程
  • -u 显示进程所有者的用户名及其他信息
  • -x 显示不与终端有关的所有进程
  • -e 与-a选项相同
  • -f 显示全格式信息

使用top命令:在命令行输入top即可列出当前正在运行的进程。top命令也可以实时地显示进程信息,可以用于监视系统运行状态。top命令的常用选项如下:

  • -p 显示指定PID进程信息
  • -u 显示指定用户名的进程信息
  • -d 指定刷新时间

查找某个进程

可以使用命令行ps或pgrep来查找某个进程。

使用ps命令:在命令行输入ps | grep keyword即可查找关键字为“keyword”的进程。ps命令的常用参数如下:

  • -e 显示所有进程
  • -f 显示详细信息
  • -C 列出指定命令名的进程

例如,要查找名称中包含“firefox”的进程,可以输入命令。

ps -ef | grep firefox

使用pgrep命令:在命令行输入pgrep keyword即可查找关键字为“keyword”的进程。pgrep命令的常用选项如下:

  • -u 指定用户名
  • -f 包含命令行参数

例如,要查找名称中包含“firefox”的进程,可以输入命令。

pgrep -u username -f firefox

结束一个进程

可以使用以下命令结束一个进程:

kill <PID>

其中,PID是要结束的进程的进程ID。如果您不知道进程的PID,请先使用ps命令查找它。

还可以使用以下强制结束进程的命令(请谨慎使用):

kill -9 <PID>

上述命令将立即结束指定PID的进程,而不会等待它优雅地退出。

 

使用kill命令:在命令行输入kill PID即可结束指定PID的进程。

kill命令的常用选项如下:

  • -9 强制结束进程
  • -15 发送终止信号

例如,要结束PID为123的进程,可以输入命令

kill 123

使用pkill命令:

在命令行输入pkill process_name即可结束名称为“process_name”的进程。

pkill命令的常用选项与pgrep类似。

例如,要结束名称中包含“firefox”的进程,可以输入命令。

pkill -f firefox

查看系统的磁盘使用情况

可以使用命令行df或du来查看系统的磁盘使用情况。

使用df命令:在命令行输入df即可显示所有磁盘的空间使用情况。

df命令的常用选项如下:

  • -h 以人类可读的形式显示

例如,要以人类可读的形式显示系统磁盘的使用情况,可以输入命令

df -h

使用du命令:在命令行输入du directory_name即可显示指定目录的空间使用情况。

du命令的常用选项如下:

  • -h 以人类可读的形式显示 -
  • s 只显示总计

例如,要以人类可读的形式显示当前目录的空间使用情况,可以输入命令

du -sh

在Linux中压缩和解压缩文件

Linux用户可以使用tar命令压缩和解压缩文件。以下是一些基本命令示例:

压缩文件夹为.tar.gz格式:

tar -czvf <压缩文件名>.tar.gz <要压缩的文件夹名称>

解压缩.tar.gz格式文件:

tar -xzvf <文件名>.tar.gz

其中,选项说明:

  • -c:创建新的归档文件。
  • -z:gzip压缩归档文件(.tar.gz)。
  • -x:解压缩文件。
  • -v:显示操作进度。
  • -f:指定文件名。

Linux的基本命令行【二】

如何将多个文件组成一个归档文件?

归档文件是将多个文件合并为一个文件,并压缩存储的文件形式。常见的归档文件格式有.tar,.gz,.zip等。在Linux系统中,使用命令行可以轻松地将多个文件组成一个归档文件。

使用.tar命令创建归档文件

可以使用tar命令将多个文件组合成一个归档文件,并将其压缩。例如,将当前目录下的所有txt文件组合成一个归档文件:

tar -czvf archive.tar.gz *.txt

命令说明:

  • -c: 建立新的归档文件
  • -z: 对归档文件进行gzip压缩
  • -v: 显示归档过程
  • -f: 指定归档文件名

使用zip命令创建归档文件

Zip是一种常见的归档文件格式,在Linux系统中,可以使用zip命令打包和压缩文件:

zip archive.zip *.txt

命令说明:

*.txt:表示将当前目录下所有的txt文件打包压缩为archive.zip

如何提取归档文件中的文件?

解压归档文件是常见的操作,Linux系统中,也有对应的命令行工具支持解压归档文件。

1.使用tar命令解压缩归档文件

可以使用tar命令将一个tar包或tar.gz包解压为原文件:

tar -xzvf archive.tar.gz

命令说明:

  • -x: 解压缩文件
  • -z: 解压缩gzip压缩的文件
  • -f: 指定归档文件名

2.使用unzip命令解压缩zip归档文件

可以使用unzip命令将一个zip包解压为原文件:

unzip archive.zip

如何检查文件的完整性?

在将文件进行传输或备份的过程中,很容易发生文件损坏或数据丢失的问题。因此,我们需要检查文件的完整性,确保文件没有被篡改或损坏。

1.使用md5sum命令检查文件完整性

可以使用md5sum命令检查文件的MD5值,来判断文件是否完整:

md5sum file.txt

命令说明:file.txt:待检查完整性的文件。

2.使用sha1sum或sha256sum命令检查文件完整性

可以使用sha1sum或sha256sum命令检查文件的SHA1或SHA256值,来判断文件是否完整:

sha1sum file.txt

sha256sum file.txt

命令说明:file.txt:待检查完整性的文件。

如何对文件进行加密和解密?

在对重要文件进行传输或备份的过程中,往往需要加密文件,保护文件内容不被泄露或篡改。

1.使用openssl命令对文件进行加密

可以使用openssl命令对文件进行加密,生成加密后的文件:

openssl enc -aes-256-cbc -salt -in file.txt -out file.enc

命令说明:

  • -aes-256-cbc:使用AES-256位加密算法
  • -salt:使用随机盐值进行加密
  • -in file.txt:输入要加密的文件
  • -out file.enc:输出加密后的文件

2.使用openssl命令对文件进行解密

可以使用openssl命令对加密文件进行解密,生成原文件:

openssl enc -d -aes-256-cbc -in file.enc -out file.txt

命令说明:

  • -d:解密加密文件
  • -aes-256-cbc:使用AES-256位加密算法
  • -in file.enc:输入要解密的文件
  • -out file.txt:输出解密后的文件

如何为文件设置备份?

在对文件进行维护或备份时,往往需要设置文件的备份。在Linux系统中,可以使用cp命令或rsync命令进行文件备份。

1.使用cp命令进行备份

使用cp命令可以将一个文件复制到另一个位置,完成备份操作:

cp /src/file.txt /backup/file.bak

命令说明:

  • /src/file.txt:源文件
  • /backup/file.bak:备份文件

2.使用rsync命令进行备份

rsync是一个强大的文件同步工具,可以将本地或远程文件夹备份到其他位置或服务器。例如,将本地的/home目录备份到/backup目录:

rsync -avz /home /backup

命令说明:

  • -avz:同步文件夹内容,并保留文件属性和权限
  • /home:源文件夹
  • /backup:备份文件夹

Linux的基本命令行【三】

如何将文件内容追加到另一个文件中?

可以使用Linux的“>>”运算符将一个文件的内容追加到另一个文件中。示例代码如下所示:

cat file1.txt >> file2.txt

这将把file1.txt文件的内容追加到file2.txt文件的末尾。

如何在Linux中查找文件?

可以使用Linux的“find”命令来查找文件。示例代码如下所示:

find / -name filename.txt

这将在整个文件系统中搜索名为filename.txt的文件。 /代表要搜索整个文件系统。还可以使用其他参数来指定搜索范围、文件类型等。例如,使用“-type”参数来指定文件类型,使用“-mtime”参数来指定修改日期等。可以使用“man find”命令查看详细信息。

如何使用文本编辑器在Linux中编辑文件?

可以使用Linux中的多种文本编辑器来编辑文件,最常用的包括vi、nano和emacs。以下是使用vi编辑器编辑文件的示例代码:

vi filename.txt

打开文件后,在命令模式下可以使用各种命令来编辑文件,例如删除、复制、粘贴和查找。要保存更改并退出vi编辑器,请使用以下命令:

:wq

如何在命令行中进行带密码的SSH登录?

可以使用Linux的“sshpass”工具在命令行中进行带密码的SSH登录。示例代码如下所示:

sshpass -p 'password' ssh username@hostname

在上面的命令中,“password”代表SSH登录密码,“username”代表要登录的用户名,“hostname”代表要登录的远程主机名。请注意,此方法被视为不安全,因为密码会以明文形式存储在命令历史记录中,建议使用公钥/私钥身份验证方法。

如何查看Linux系统中的网络状态?

可以使用Linux的“netstat”命令来查看系统的网络状态。以下是使用netstat命令查看当前网络连接列表的示例代码:

netstat -a

该命令将列出当前打开的所有网络连接,包括TCP和UDP连接。还可以使用其他参数来过滤结果,例如“-n”参数只显示IP地址和端口号,而不显示域名和服务名称。可以使用“man netstat”命令查看更多选项。

 

出处:https://www.cnblogs.com/yyyyfly1/p/17487362.html

posted on 2023-06-21 10:19  jack_Meng  阅读(114)  评论(0编辑  收藏  举报

导航