【Linux】命令为桥,存在为岸,穿越虚拟世界的哲学之道

文章目录

  • Linux基础入门:探索操作系统的内核与命令
    • 一、Linux背景与发展历史
      • [1.1 Linux的起源与发展](#1.1 Linux的起源与发展)
      • [1.2 Linux与Windows的对比](#1.2 Linux与Windows的对比)
    • 二、Linux的常用命令
      • [2.1 ls命令 - "List"(列出文件)](#2.1 ls命令 - "List"(列出文件))
      • [2.2 pwd命令 - "Print Working Directory"(打印当前工作目录)](#2.2 pwd命令 - "Print Working Directory"(打印当前工作目录))
      • [2.3 cd命令 - "Change Directory"(更改目录)](#2.3 cd命令 - "Change Directory"(更改目录))
      • [2.4 touch命令 - "Create or Update file"(创建或更新文件)](#2.4 touch命令 - "Create or Update file"(创建或更新文件))
      • [2.5 mkdir命令 - "Make Directory"(创建目录)](#2.5 mkdir命令 - "Make Directory"(创建目录))
    • 三、文件权限与管理
      • [3.1 文件访问权限](#3.1 文件访问权限)
    • 四、文件操作与管理命令
      • [4.1 rm命令 - "Remove"(删除文件或目录)](#4.1 rm命令 - "Remove"(删除文件或目录))
      • [4.2 cp命令 - "Copy"(复制文件或目录)](#4.2 cp命令 - "Copy"(复制文件或目录))
      • [4.3 mv命令 - "Move"(移动或重命名文件/目录)](#4.3 mv命令 - "Move"(移动或重命名文件/目录))
      • [4.4 cat命令 - "Concatenate"(连接文件内容并显示)](#4.4 cat命令 - "Concatenate"(连接文件内容并显示))
      • [4.5 more命令 - "View"(分页显示文件内容)](#4.5 more命令 - "View"(分页显示文件内容))
      • [4.6 less命令 - "View"(更灵活地查看文件内容)](#4.6 less命令 - "View"(更灵活地查看文件内容))
    • 五、Linux权限管理命令
      • [5.1 chmod命令 - "Change Mode"(改变文件权限)](#5.1 chmod命令 - "Change Mode"(改变文件权限))
      • [5.2 chown命令 - "Change Owner"(更改文件拥有者)](#5.2 chown命令 - "Change Owner"(更改文件拥有者))
      • [5.3 chgrp命令 - "Change Group"(更改文件组)](#5.3 chgrp命令 - "Change Group"(更改文件组))
    • 六、文本处理命令
      • [6.1 grep命令 - "Global Regular Expression Print"(全局正则表达式打印)](#6.1 grep命令 - "Global Regular Expression Print"(全局正则表达式打印))
      • [6.2 awk命令 - "Aho, Weinberger, Kernighan"(文本处理工具)](#6.2 awk命令 - "Aho, Weinberger, Kernighan"(文本处理工具))
      • [6.3 sed命令 - "Stream Editor"(流编辑器)](#6.3 sed命令 - "Stream Editor"(流编辑器))
      • [6.4 sort命令 - "Sort"(排序)](#6.4 sort命令 - "Sort"(排序))
    • 七、系统管理与监控命令
      • [7.1 top命令 - "Task Manager"(任务管理器)](#7.1 top命令 - "Task Manager"(任务管理器))
      • [7.2 ps命令 - "Process Status"(查看进程状态)](#7.2 ps命令 - "Process Status"(查看进程状态))
      • [7.3 df命令 - "Disk Free"(磁盘空间查看)](#7.3 df命令 - "Disk Free"(磁盘空间查看))
      • [7.4 free命令 - "Memory Usage"(查看内存使用情况)](#7.4 free命令 - "Memory Usage"(查看内存使用情况))
    • 八、总结与实践

Linux基础入门:探索操作系统的内核与命令

💬 欢迎讨论:如果你在学习过程中有任何疑问或想要进一步探讨的内容,欢迎在评论区留言!我们一起学习、一起成长。

👍 点赞、收藏与分享:如果你觉得这篇文章对你有帮助,记得点赞、收藏并分享给更多想了解Linux的朋友!

🚀 开启Linux之旅:我们将通过了解Linux的背景和发展历史,揭开这个强大系统的神秘面纱。本篇将深入了解Linux的基本命令,帮助你顺利进入Linux的世界。


一、Linux背景与发展历史

1.1 Linux的起源与发展

Linux的起源可以追溯到UNIX操作系统。UNIX最早由贝尔实验室的Ken Thompson和Dennis Ritchie于1970年开发,用于科研和学术环境。随着时间的推移,UNIX经过多个版本的演化,并成为商业化的操作系统。Linux的诞生正是基于UNIX的思想和架构。

1991年,Linus Torvalds在芬兰赫尔辛基大学发布了第一个Linux版本,最初它是一个类似UNIX的小型操作系统,随着开源社区的参与,Linux不断壮大,迅速发展成为全球最流行的操作系统之一。Linux的开放源代码和自由授权(GNU GPL)吸引了大量开发者和用户,使其成为全球领先的服务器操作系统。

1.2 Linux与Windows的对比

Linux与Windows是两种截然不同的操作系统。Linux是开源的,可以自由修改和再发布,而Windows则是专有的操作系统。Linux广泛应用于服务器、嵌入式系统和云计算平台,而Windows则以桌面操作系统为主。Linux的稳定性、灵活性和安全性使其在许多企业和科研领域成为首选。


二、Linux的常用命令

在Linux系统中,命令行是与操作系统交互的主要方式,了解和熟练掌握常用命令是每个Linux新手的重要步骤。以下是一些常用的Linux命令,每个命令都附带了英文全称和中文翻译,帮助你更好地理解并记住每个命令。

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

2.1 ls命令 - "List"(列出文件)

命令格式

bash 复制代码
ls [选项] [目录或文件]

功能:列出指定目录中的文件和子目录。

英文全称ls 代表 list(列出),用于列出目录中的文件和目录。

常用选项

  • -a:列出所有文件,包括隐藏文件(以.开头的文件)。
  • -l:详细列出文件的权限、拥有者、大小、修改时间等信息。
  • -F:在文件名后附加文件类型的标志,如*表示可执行文件,/表示目录等。

示例

bash 复制代码
ls -l /home

此命令会列出/home目录下的所有文件和目录,并显示详细信息。

其他:


2.2 pwd命令 - "Print Working Directory"(打印当前工作目录)

命令格式

bash 复制代码
pwd

功能:显示当前所在的目录的绝对路径。

英文全称pwd 代表 print working directory(打印当前工作目录),用于显示当前终端所在的路径。

示例

bash 复制代码
pwd

此命令会返回当前工作目录的路径,例如:/home/user


2.3 cd命令 - "Change Directory"(更改目录)

命令格式

bash 复制代码
cd [目录]

功能:改变当前工作目录。

英文全称cd 代表 change directory(更改目录),用于切换到指定目录。

常用选项

  • cd ..:返回上一级目录。
  • cd ~:进入当前用户的家目录。
  • cd -:返回最近访问的目录。

示例

bash 复制代码
cd /home/user/Documents

此命令会将当前工作目录切换到/home/user/Documents


2.4 touch命令 - "Create or Update file"(创建或更新文件)

命令格式

bash 复制代码
touch [选项] 文件

功能:创建一个空文件,或者更新已有文件的修改时间。

英文全称touch 代表 create or update file(创建或更新文件),如果文件存在,会更新文件的时间戳;如果文件不存在,会创建一个新的空文件。

常用选项

  • -a:只更改文件的访问时间。
  • -m:只更改文件的修改时间。

示例

bash 复制代码
touch myfile.txt

此命令会创建一个空文件myfile.txt,如果文件已存在,则更新其访问和修改时间。

其他:


2.5 mkdir命令 - "Make Directory"(创建目录)

命令格式

bash 复制代码
mkdir [选项] 目录名

功能:创建新目录。

英文全称mkdir 代表 make directory(创建目录),用于创建一个新的目录。

常用选项

  • -p:创建多级目录,如果某些目录不存在,系统会自动创建。

示例

bash 复制代码
mkdir -p /home/user/newdir

此命令会在/home/user/路径下创建一个名为newdir的目录,如果路径中的任何目录不存在,系统会自动创建。


三、文件权限与管理

Linux的一个重要特性是文件和目录的权限管理。文件和目录的权限控制是Linux安全的基础,理解文件权限的概念对于管理和使用Linux系统至关重要。

3.1 文件访问权限

在Linux中,每个文件和目录都有访问权限,控制谁可以读、写和执行该文件。文件的访问权限分为三类:

  • r(读):表示可以读取文件的内容(对于目录,表示可以列出该目录的文件)。
  • w(写):表示可以修改文件的内容(对于目录,表示可以在目录中创建、删除文件)。
  • x(执行):表示可以执行该文件(对于目录,表示可以进入该目录)。

文件权限采用三组符号表示:文件所有者(User,u)、文件所属组(Group,g)和其他用户(Others,o)。

示例

bash 复制代码
-rwxr-xr-x 1 root root 12345 May  1 12:00 myfile.txt

在这个例子中,rwx表示文件所有者具有读、写和执行权限;r-x表示文件所属组具有读和执行权限;r-x表示其他用户具有读和执行权限。


四、文件操作与管理命令

Linux为用户提供了一系列强大的文件管理命令,用于文件的操作、查看和处理。掌握这些命令将大大提升你使用Linux系统的效率。

4.1 rm命令 - "Remove"(删除文件或目录)

命令格式

bash 复制代码
rm [选项] 文件/目录

功能:删除指定的文件或目录。

英文全称rm 代表 remove(删除),用于删除一个或多个文件或目录。

常用选项

  • -r:递归删除目录及其内部所有文件。
  • -f:强制删除,即使文件被标记为只读,系统也不询问确认。
  • -i:删除前逐一确认,确保不会误删重要文件。

示例

bash 复制代码
rm -rf /home/user/oldfiles

此命令会递归地删除/home/user/oldfiles目录及其所有文件,不会询问确认。


4.2 cp命令 - "Copy"(复制文件或目录)

命令格式

bash 复制代码
cp [选项] 源文件/目录 目标文件/目录

功能:复制文件或目录。

英文全称cp 代表 copy(复制),用于将文件或目录从一个位置复制到另一个位置。

常用选项

  • -r:递归复制整个目录。
  • -i:复制前进行确认,如果目标文件已存在,询问是否覆盖。
  • -f:强制复制,不会询问覆盖确认。

示例

bash 复制代码
cp -r /home/user/docs /home/user/backup

此命令会将/home/user/docs目录及其内容复制到/home/user/backup目录中。


4.3 mv命令 - "Move"(移动或重命名文件/目录)

命令格式

bash 复制代码
mv [选项] 源文件/目录 目标文件/目录

功能:移动或重命名文件或目录。

英文全称mv 代表 move(移动),可以用于将文件或目录移动到其他位置,或重命名文件。

常用选项

  • -i:在目标文件已存在时,询问是否覆盖。
  • -f:强制执行,不进行任何提示。

示例

bash 复制代码
mv /home/user/oldfile.txt /home/user/newfile.txt

此命令会将oldfile.txt重命名为newfile.txt

补充:

bash 复制代码
将rm改造成mv
vim ~/.bashrc #修改这个文件
mkdir -p ~/.trash
alias rm=trash
alias ur=undelfile
undelfile() {
 mv -i ~/.trash/\$@ ./
}
trash() {
 mv $@ ~/.trash/
}

4.4 cat命令 - "Concatenate"(连接文件内容并显示)

命令格式

bash 复制代码
cat [选项] 文件

功能:显示文件内容,或将多个文件合并成一个文件。

英文全称cat 代表 concatenate(连接),用于查看文件内容,或者将多个文件合并为一个。

常用选项

  • -n:为所有输出的行加上行号。
  • -b:为非空行加上行号。
  • -s:去除多余的空白行。

示例

bash 复制代码
cat myfile.txt

此命令会显示myfile.txt文件的内容。


4.5 more命令 - "View"(分页显示文件内容)

命令格式

bash 复制代码
more 文件

功能:分页显示文件内容,适合查看长文件。

英文全称more,即"更多",用于分页显示文件内容。

常用选项

  • -n:显示行号。
  • q:退出more命令的查看。

示例

bash 复制代码
more /var/log/syslog

此命令会分页显示/var/log/syslog日志文件的内容。


4.6 less命令 - "View"(更灵活地查看文件内容)

命令格式

bash 复制代码
less 文件

功能 :类似于more命令,但less支持向前和向后滚动,操作更加灵活。

英文全称less,是more的改进版,提供更强的文件浏览功能。

常用选项

  • -i:忽略搜索时的大小写。
  • -N:显示每行的行号。
  • /字符串:向下搜索指定字符串。
  • ?字符串:向上搜索指定字符串。
  • n:重复前一个搜索。

示例

bash 复制代码
less /var/log/syslog

此命令会使用less命令查看/var/log/syslog文件,可以随意上下滚动查看文件内容。


五、Linux权限管理命令

Linux系统的一个重要特性是文件和目录的权限管理。权限控制是确保系统安全和文件管理的重要工具。掌握Linux的权限管理命令对于系统管理至关重要。

5.1 chmod命令 - "Change Mode"(改变文件权限)

命令格式

bash 复制代码
chmod [选项] 权限 文件

功能:修改文件或目录的访问权限。

英文全称chmod 代表 change mode(改变模式),用于修改文件或目录的权限。

常用选项

  • -R:递归地修改目录及其下所有文件的权限。
  • ugo:分别表示文件的用户、组和其他用户。

示例

bash 复制代码
chmod u+x myscript.sh

此命令为myscript.sh文件的所有者添加执行权限。


5.2 chown命令 - "Change Owner"(更改文件拥有者)

命令格式

bash 复制代码
chown [选项] 用户 文件

功能:改变文件或目录的拥有者。

英文全称chown 代表 change owner(更改拥有者),用于修改文件或目录的所有者。

常用选项

  • -R:递归更改目录及其下所有文件的拥有者。

示例

bash 复制代码
chown user1 myfile.txt

此命令将myfile.txt文件的所有者更改为user1


5.3 chgrp命令 - "Change Group"(更改文件组)

命令格式

bash 复制代码
chgrp [选项] 用户组 文件

功能:修改文件或目录的所属组。

英文全称chgrp 代表 change group(更改组),用于修改文件或目录的所属组。

常用选项

  • -R:递归更改目录及其下所有文件的所属组。

示例

bash 复制代码
chgrp admins myfile.txt

此命令将myfile.txt文件的所属组更改为admins


六、文本处理命令

Linux系统中的文本处理命令是处理文件内容的强大工具,能够帮助用户快速查看、编辑和操作文本数据。

6.1 grep命令 - "Global Regular Expression Print"(全局正则表达式打印)

命令格式

bash 复制代码
grep [选项] '模式' 文件

功能:在文件中搜索匹配的内容,并将匹配的行打印出来。

英文全称grep 代表 global regular expression print(全局正则表达式打印),用于在文件中查找符合指定模式的内容。

常用选项

  • -i:忽略大小写进行搜索。
  • -r:递归搜索目录及其子目录中的文件。
  • -l:只显示匹配的文件名,而不显示文件内容。
  • -n:显示匹配行的行号。

示例

bash 复制代码
grep -i 'error' /var/log/syslog

此命令会在/var/log/syslog日志文件中查找不区分大小写的error,并显示匹配的行。


6.2 awk命令 - "Aho, Weinberger, Kernighan"(文本处理工具)

命令格式

bash 复制代码
awk '{action}' 文件

功能:基于模式匹配处理文件中的文本数据,适用于格式化输出和数据处理。

英文全称awk 代表该工具的发明者 Aho, Weinberger, Kernighan(阿霍、温伯格、凯尔尼汉)。

常用选项

  • -F:指定字段分隔符。
  • '{print $1}':打印每行的第一个字段。

示例

bash 复制代码
awk '{print $1}' myfile.txt

此命令会打印myfile.txt文件中每行的第一个字段。


6.3 sed命令 - "Stream Editor"(流编辑器)

命令格式

bash 复制代码
sed [选项] '命令' 文件

功能:流编辑器,能够快速处理和编辑文件内容,常用于替换、插入和删除操作。

英文全称sed 代表 stream editor(流编辑器),用于流式处理文件内容。

常用选项

  • -i:直接修改文件。
  • s/old/new/g:替换文本中的oldnewg表示全局替换。

示例

bash 复制代码
sed -i 's/foo/bar/g' myfile.txt

此命令会在myfile.txt文件中将所有foo替换为bar


6.4 sort命令 - "Sort"(排序)

命令格式

bash 复制代码
sort [选项] 文件

功能:将文件中的文本按行进行排序。

英文全称sort 代表 sort(排序),用于对文本文件中的行进行排序。

常用选项

  • -n:按照数值大小排序。
  • -r:逆序排序。
  • -u:去除重复的行。

示例

bash 复制代码
sort -n myfile.txt

此命令会按数值顺序对myfile.txt文件的内容进行排序。


七、系统管理与监控命令

在Linux中,系统管理和监控命令用于管理系统资源、监视系统性能以及进行系统的健康检查。掌握这些命令对于管理员来说至关重要。

7.1 top命令 - "Task Manager"(任务管理器)

命令格式

bash 复制代码
top

功能:实时显示系统中的进程信息和系统资源使用情况。

英文全称top 代表 task manager(任务管理器),用于显示系统中的各类进程及其资源使用情况。

常用选项

  • -u:显示指定用户的进程。
  • -p:显示指定进程的资源使用情况。

示例

bash 复制代码
top -u user1

此命令会显示user1用户运行的进程及其资源使用情况。


7.2 ps命令 - "Process Status"(查看进程状态)

命令格式

bash 复制代码
ps [选项]

功能:显示当前系统中运行的进程信息。

英文全称ps 代表 process status(进程状态),用于查看当前系统的进程状态。

常用选项

  • -e:显示所有进程。
  • -f:显示详细信息,包括父进程ID、启动时间等。

示例

bash 复制代码
ps -ef

此命令会显示所有进程的详细信息。


7.3 df命令 - "Disk Free"(磁盘空间查看)

命令格式

bash 复制代码
df [选项]

功能:显示文件系统的磁盘空间使用情况。

英文全称df 代表 disk free(磁盘空闲),用于查看磁盘空间的使用情况。

常用选项

  • -h:以人类可读的格式(如GB、MB)显示磁盘空间。
  • -T:显示文件系统的类型。

示例

bash 复制代码
df -h

此命令会以易于阅读的格式显示磁盘空间的使用情况。


7.4 free命令 - "Memory Usage"(查看内存使用情况)

命令格式

bash 复制代码
free [选项]

功能:查看系统内存的使用情况。

英文全称free 代表 memory usage(内存使用),用于显示当前系统的内存使用情况。

常用选项

  • -h:以人类可读的格式显示内存使用情况。
  • -t:显示总的内存使用情况。

示例

bash 复制代码
free -h

此命令会显示系统内存的使用情况,单位为MB或GB。


八、总结与实践

Linux是一款非常强大、灵活的操作系统,了解它的基本命令是每个新手必须掌握的技能。从历史上看,Linux的诞生与UNIX有着紧密的联系,而它的开放性和自由性让很多开发者愿意贡献代码,使它在服务器和嵌入式设备上成为主流。

在使用Linux时,命令行是最重要的交互方式。通过命令,我们能快速查看目录、管理文件、监控系统等。本文提到的命令,如ls(列出文件)、pwd(显示当前目录)、cd(切换目录)等,是你日常操作Linux时的基础。而chmodchowngrep等命令帮助你管理文件权限和处理文本数据,也是Linux的强项。

掌握这些基础命令,你就能开始高效地使用Linux了。当然,Linux的深度还有很多,随着使用的深入,你会发现它的强大不仅体现在命令本身,还包括如何灵活配置和自动化管理系统。

如果你是刚刚接触Linux,最好的方法就是动手实践。尝试在自己的机器上安装一个Linux系统,运行一些命令,逐渐积累经验。随着时间的推移,你会发现Linux系统的魅力和强大,甚至会爱上它的简洁与高效!


以上就是关于【Linux】命令为桥,存在为岸,穿越虚拟世界的哲学之道的内容啦,各位大佬有什么问题欢迎在评论区指正,或者私信我也是可以的啦,您的支持是我创作的最大动力!❤️

相关推荐
珊瑚里的鱼2 分钟前
【单链表算法实战】解锁数据结构核心谜题——环形链表
数据结构·学习·程序人生·算法·leetcode·链表·visual studio
林涧泣4 分钟前
图的矩阵表示
学习·线性代数·矩阵
chimchim6611 分钟前
【starrocks学习】之catalog
学习
小林想被监督学习28 分钟前
RabbitMQ 仲裁队列 -- 解决 RabbitMQ 集群数据不同步的问题
linux·分布式·rabbitmq
xf8079891 小时前
cursor远程调试Ubuntu以及打开Ubuntu里面的项目
linux·运维·ubuntu
梦云澜1 小时前
论文阅读(二):理解概率图模型的两个要点:关于推理和学习的知识
论文阅读·深度学习·学习
dot to one1 小时前
Linux 入门 常用指令 详细版
linux·服务器·centos
Ronin-Lotus2 小时前
上位机知识篇---CMake
c语言·c++·笔记·学习·跨平台·编译·cmake
lxl13072 小时前
学习数据结构(2)空间复杂度+顺序表
数据结构·学习
Golinie2 小时前
记一次Linux共享内存段排除Bug:key值为0x0000000的共享内存段删除不了
linux·bug·共享内存段