Linux基础

Windows与Linux的区别?

开源性: Linux是开源的,任何人都可以查看和修改其源代码,而Windows是闭源的,只有微软拥有其源代码,并且Windows是需要购买的一款系统;
使用对象: Linux适合企业公司服务器系统架构,而Windows适合大众使用;
用户界面: Windows的用户界面相对直观易用(易上手),而Linux则需要一定的学习成本(基本命令的认识);
文件格式: Windows操作系统内核是NT,而Linux是shell;
安全性: Linux通常被认为比Windows更安全,因为它没有像Windows那样频繁地更新和修补漏洞。
程序可移植性: Windows的程序可移植性差,程序基本不兼容Linux,而Linux程序的可移植性好,不仅可以在不同的Linux之间移植,还可以移植到Windows上面来。
多用户、多任务: Linux支持多用户,各个用户对于自己的文件设备有自己特殊的权利,保证了各用户之间互不影响。多任务则是现代电脑最主要的一个特点,Linux可以使多个程序同时并独立地运行。

Linux系统种类

Ubuntu: Ubuntu是最广泛使用的Linux发行版之一,它以易用、易安装和易维护著称。优点包括免费且开放源代码、社区支持强大、易于安装和配置、附带大量软件包等等。
Debian: Debian是一个可靠且稳定的Linux发行版,适用于服务器和桌面环境。优点包括极为稳定、软件更新频繁、系统安全性高、兼容性好等等。
CentOS: CentOS是基于Red Hat Enterprise Linux编译而成的开源发行版,主要用于服务器环境。优点包括长期支持、安全性高、软件更新频繁、可靠性高等等。
Fedora: Fedora是由Red Hat赞助的开源Linux发行版,它以快速、创新和最新技术著称。优点包括最新软件支持、充满活力的社区、可扩展性强等等。
Arch Linux: Arch Linux是轻量级、灵活和自定义程度高的Linux发行版,适用于有一定Linux使用经验的用户。优点包括简洁、灵活、可自定义程度高,提供最新的软件版本等等。
OpenSUSE: OpenSUSE是一个稳定、易用、功能丰富的Linux发行版,适用于服务器和桌面环境。优点包括易于使用、自动化配置、兼容性好、功能强大等等。
Mageia: Mageia是一个开源的Linux发行版,以稳定性和易用性著称。它提供了广泛的软件包选择和用户友好的工具。优点包括易于安装和使用、社区支持良好、提供广泛的软件包选择等等。
Manjaro: Manjaro是基于Arch Linux开发的发行版,旨在提供易于使用的桌面环境。它提供了易于使用的安装程序和简单的系统配置。优点包括易于使用、无需深入了解Linux知识、提供大量易于安装的软件等等。
Gentoo: Gentoo是一种源码驱动的Linux发行版,适用于有经验的Linux用户。它提供了完全自定义的系统设置和配置,可让用户根据需求定制其系统。优点包括高度自定义、最小化软件包安装、系统性能优秀等等。
Red Hat Enterprise Linux (RHEL): RHEL是一个由Red Hat发布并支持的商业级Linux发行版,主要用于企业级应用和服务器环境。它提供了高度稳定性、安全性和可扩展性。优点包括商业级支持、高度稳定性、安全性强、兼容性良好等等。
Kali Linux: Kali Linux是专门用于网络安全测试和渗透测试的Linux发行版,提供了大量的安全工具和软件包。优点包括预装了大量安全工具、易于使用、注重隐私保护等等。
Linux Mint: Linux Mint是一种基于Ubuntu的Linux发行版,以提供易于使用的桌面环境而著名。它提供了自定义的桌面环境和易于使用的工具。优点包括易于使用、美观的界面、稳定性良好等等。
Slackware: Slackware是一个老牌的Linux发行版,适用于有经验的Linux用户。它提供了完整的Unix风格的系统设置和配置,让用户可以定制其系统。优点包括可完全控制、对Linux的理解更深、系统稳定性好等等。
Elementary OS: Elementary OS是一种基于Ubuntu的Linux发行版,以其简洁美观的用户界面和易用性著名。它提供了自己独特的应用程序和桌面环境。优点包括美观易用、直观的用户体验、可定制程度高等。
MX Linux: MX Linux是一个基于Debian的Linux发行版,旨在提供快速、稳定和易用的操作系统。它提供了许多实用工具和易于使用的界面。优点包括易于使用、快速启动和响应、支持多个桌面环境等等。
CentOS Stream: CentOS Stream是CentOS项目的一个变体,提供了比传统CentOS更快的更新。它旨在为应用程序开发人员和服务器管理员提供一个平台,以测试并预测Red Hat Enterprise Linux的新功能。优点包括提供最新软件更新、更快的特性流程、与RHEL兼容等等。
Ubuntu Studio: Ubuntu Studio是专门为音频、视频、图形和出版工作流程而设计的Ubuntu Linux发行版。它预装了各种开源应用程序,旨在提供一种稳定而易于使用的多媒体创作平台。优点包括预装多种多媒体软件、稳定性良好、易于使用等等。
红帽企业版 Linux : RHEL 是全世界内使用最广泛的 Linux 系统。它具有极强的性能与稳定性,是众多生成环境中使用的(收费的)系统。
Debian : 稳定性、安全性强,提供了免费的基础支持,在国外拥有很高的认可度和使用率。

shell

Shell 这个单词的原意是“外壳”,跟 kernel(内核)相对应,比喻内核外面的一层,即用户跟内核交互的对话界面。
Shell 是一个程序,提供一个与用户对话的环境。这个环境只有一个命令提示符,让用户从键盘输入命令,所以又称为命令行环境(command line interface ,简写为 CLI )。 Shell 接收到用户输入的命令,将命令送入操作系统执行,并将结果返回给用户。
Shell 是一个命令解释器,解释用户输入的命令。它支持变量、条件判断、循环操作等语法,所以用户可以用 Shell 命令写出各种小程序,又称为 Shell 脚本。这些脚本都通过 Shell 的解释执行,而不通过编译。
Shell 是一个工具箱,提供了各种小工具,供用户方便地使用操作系统的功能。
shell存在的意义: 帮忙进行命令行传递和返回结果;保护操作系统。

shell的种类

Shell 有很多种,只要能给用户提供命令行环境的程序,都可以看作是 Shell 。
sh(Bourne Shell): Bourne Shell是Unix和Unix-like系统中的一种命令行shell程序,它是早期Unix系统中默认的命令行解释器。
bash(Bourne Again Shell): Bash是最常用的Unix shell和Linux默认的命令行解释器。它提供了一套丰富的命令和脚本语言功能,并兼容许多其他的Unix shell。
csh(C Shell): C Shell是类Unix系统上的一种常见命令行shell,具有C语言风格的语法和特性。它提供了命令别名、作业控制和历史编辑功能。
tcsh(TENEX C Shell): tcsh是C Shell的扩展版本,提供了更多的功能和改进。它增加了命令行编辑、命令补全、历史命令等特性,使得交互式使用更加方便。
ksh(Korn Shell): Korn Shell是由AT&T Bell实验室开发的命令行shell,功能较Bash更强大。它提供了高级编程功能、作业控制和命令行编辑等特性。
zsh(Z Shell): Zsh是一种功能强大的Unix shell,是Bash的扩展和替代品。它具有增强的命令行历史、自动补全、插件支持等功能。
**dash(Debian Almquist Shell):**是一种轻量级的Shell,它是Bourne Shell的替代品,它遵循POSIX标准,旨在提供更快的启动速度和更低的内存消耗。dash主要用于Unix和Linux系统中的脚本执行,特别是在Debian和Ubuntu等发行版中作为默认的/bin/sh解释器。缺点是较少的扩展功能。
FISH(friendly interactive shell): FISH(friendly interactive shell)是一个用户友好的命令行 shell,主要是用来进行交互式使用。shell 就是一个用来执行其他程序的程序。

其中 Bash 是目前最常用的 Shell 。 MacOS 中的默认 Shell 就是 Bash 。
通过执行 echo $SHELL 命令可以查看到当前正在使用的 Shell 。还可以通过 cat /etc/shells 查看当前系统安装的所有 Shell 种类。

命令

命令行提示符
进入命令行环境以后,用户会看到 Shell 的提示符。提示符往往是一串前缀,最后以一个美元符号 $ 结尾,用户可以在这个符号后面输入各种命令。

执行pwd命令查看当前目录的路径
执行 whoami 命令可以查看当前用户名;
执行 hostname 命令可以查看当前主机名;

在这里插入图片描述
命令解析:
@前面的kali:表示用户名;
@后面的kali:表示主机名;
~:表示目前所在目录为家目录,其中 root 用户的家目录是 /root 普通用户的家目录在 /home下;
#:指示你所具有的权限( root 用户为 # ,普通用户为 $ )。

root用户终端界面:
在这里插入图片描述

注意: root 是超级用户,具备操作系统的一切权限。

快捷方式

Ctrl + U:从光标位置剪切到行首;
Ctrl + K:从光标位置剪切到行尾;
Ctrl + Y:粘贴 Ctrl + U | K | Y 剪切的命令;

通过上下方向键 ↑ ↓ 来调取过往执行过的 Linux 命令;
命令或参数仅需输入前几位就可以用 Tab 键补全;
Ctrl + R :用于查找使用过的命令(history 命令用于列出之前使用过的所有命令,然后输入 ! 命
令加上编号( !2 )就可以直接执行该历史命令);
Ctrl + L:清除屏幕并将当前行移到页面顶部;
Ctrl + C:中止当前正在执行的命令;
Ctrl + W:剪切光标左侧的一个单词;
Ctrl + A:光标跳到命令行的开头;
Ctrl + E:光标跳到命令行的结尾;
Ctrl + D:关闭 Shell 会话;
补充:
Ctrl + a/Home 切换到命令行开始
Ctrl + e/End 切换到命令行末尾
Ctrl + z 转入后台运行 , 但在当前用户退出后就会终止
Ctrl + t 颠倒光标所在处及其之前的字符位置,并将光标移动到下一个字符
Alt + t 交换当前与以前单词的位置
Alt + d 剪切光标之后的词

文件和目录

文件的组织

在这里插入图片描述

which
查看命令的可执行文件所在路径, Linux 下,每一条命令其实都对应一个可执行程序,在终端中输入命令,按回车的时候,就是执行了对应的那个程序, which 命令本身对应的程序也存在于Linux 中。
总的来说一个命令就是一个可执行程序

在这里插入图片描述

浏览和切换目录

ls

列出文件和目录,它是 Linux 最常用的命令之一。
常用参数:
-a 显示所有文件和目录包括隐藏的
-l 显示详细列表
-h 适合人类阅读的
-t 按文件最近一次修改时间排序
-i 显示文件的 inode ( inode 是文件内容的标识)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

cd

cd 是英语 change directory 的缩写,表示切换目录。

cd / --> 跳转到根目录
cd ~ --> 跳转到家目录
cd .. --> 跳转到上级目录
cd ./home --> 跳转到当前目录的home目录下
cd /home/lion --> 跳转到根目录下的home目录下的lion目录
cd --> 不添加任何参数,也是回到家目录

**注意:**输入cd /ho + 单次 tab 键会自动补全路径 + 两次 tab 键会列出所有可能的目录列表。
在这里插入图片描述

du

列举目录大小信息。
常用参数:
-h 适合人类阅读的;
-a 同时列举出目录下文件的大小信息;
-s 只显示总计大小,不显示具体信息。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

浏览和创建文件

cat

一次性显示文件所有内容,更适合查看小的文件。
常用参数:
-n 显示行号。

cat > 文件名            #写的内容覆盖掉文件原先的内容
cat >> 文件名           #在该文件的后面追加内容

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

less

分页显示文件内容,更适合查看大的文件。
格式:
less [参数] filename
参数有:
-N:显示每行的行号
-i:忽略搜索时的大小写

less 文件名

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
快捷操作:
空格键:前进一页(一个屏幕);
b 键:后退一页;
回车键:前进一行;
y 键:后退一行;
上下键:回退或前进一行;
d 键:前进半页;
u 键:后退半页;
q 键:停止读取文件,中止 less 命令;
= 键:显示当前页面的内容是文件中的第几行到第几行以及一些其它关于本页内容的详细信息;
h 键:显示帮助文档;
/ 键:进入搜索模式后,按 n 键跳到一个符合项目,按 N 键跳到上一个符合项目,同时也可以输入正则表达式匹配。

head

显示文件的开头几行(默认是10行)
参数:
-n 指定行数 head 1.txt -n 2
在这里插入图片描述
在这里插入图片描述

tail

显示文件的结尾几行(默认是10行)
参数:
-n 指定行数 tail 1.txt -n 2
-f 会每过1秒检查下文件是否有更新内容,也可以用 -s 参数指定间隔时间 tail -f -s 4 xxx.txt
在这里插入图片描述
在这里插入图片描述
截取文件中的第五行(这里也可以用sed截取)
在这里插入图片描述

touch

创建一个文件

touch 文件名

在这里插入图片描述

mkdir

创建一个目录

mkdir 文件夹名
mkdir -p one/two/three //递归的常见目录结构

在这里插入图片描述

  • 10
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值