【Linux第一章】Linux介绍与指令

【Linux第一章】Linux介绍与指令

Linux的介绍

Linux是一种免费使用和自由传播的类UNIX操作系统,最初由芬兰的林纳斯·托瓦兹(Linus Torvalds)于1991年发布。Linux操作系统以其开源、稳定、安全、多用户、多任务、强大的网络功能、灵活和可定制等特点著称。以下是关于Linux的详细介绍:

Linux的特点

  • 开源和自由软件:Linux内核和大多数发行版都是根据GNU通用公共许可证(GPL)发布的,用户可以自由使用、修改和分发。
  • 稳定和安全:Linux以其稳定性和安全性著称,适用于服务器环境和需要高可靠性的应用程序。
  • 多用户和多任务:支持多个用户同时使用,并能够同时运行多个任务。
  • 强大的网络功能:广泛用于服务器、路由器、防火墙等网络设备。
  • 灵活和可定制:用户可以根据需要定制Linux系统,选择合适的内核、软件包和桌面环境。

Linux的发行版本

Linux有许多不同的发行版,每个发行版在软件包管理、默认设置和目标用户方面有所不同。一些常见的发行版包括:

  • Ubuntu:面向桌面和服务器用户,提供友好的用户界面和广泛的社区支持。
  • Debian:以其稳定性和丰富的软件包著称,适合服务器和桌面环境。
  • Fedora:由Red Hat赞助,注重最新技术和创新,适合开发者和技术爱好者。
  • CentOS:基于Red Hat Enterprise Linux(RHEL)的社区版,适用于服务器和企业环境。

Linux的应用场景

Linux操作系统广泛应用于服务器、桌面、嵌入式系统等各种环境。它不仅是服务器领域的主流操作系统,也是科学计算、数据分析、嵌入式系统和物联网等领域的首选。在公司中,由于Linux是开源免费的,所以也是开发首选操作系统,是每个程序员必学课程之一。本专栏的Linux在xshell7下进行操作。

Linux的基本命令

基本介绍:

操作系统是一款进行软硬件资源管理的软件。

我们编写的程序通过操作系统访问了硬件(printf)。

一个文件没有内容,但是有修改日期,类型,大小,文件名,这些是文件的属性,属性也是数据,所以就算没有内容也会占用空间。

所以文件 = 内容 + 属性,本质都是数据,在磁盘或者硬盘保存,所以文件的操作无非是对内容的操作,对属性的操作。

Linux下一切皆文件。

对于文件,以 . 开头的文件,它是隐藏文件。

对于目录,. 是当前目录 ... 是上级目录。

指令本质是可执行程序(C、C++写的)。

Linux中可以取别名,我们可以用witch(查看命令指令)看到。

由此我们可以自己定制命令,并且使用。

路径的"/"是linux下的分隔符,称为路径分隔符 ,分割多个目录,当仅有一个"/"时,此时是根目录 ,目录的结构是多叉树结构 ,根目录这个名称也是因根节点而来,叶子结点要么是空目录要么是文件 。路径一定是唯一 的,所以我们可以用路径找到具体的文件。路径分为绝对路径和相对路径

Xshell的复制粘贴

复制:ctrl + insert(有的需要再加上fn)

粘贴:shift + insert

ls指令

语法:ls 选项 目录或文件

功能:查看当前路径文件名

常用选项:ls 查看当前路径文件名

ls -a 查看所有文件

ls -l 查看文件详细情况 (也可以用ll直接查看,ll是ls -l的别名)

pwd指令

语法:pwd

功能:显示用户当前所在的目录

mkdir指令

语法:mkdir 选项 name

功能:在当前目录下创建一个名为"name"的目录

常用选项:mkdir默认只能创建空目录,不能创建带路径的目录,但我们可以用mkdir -p创建路径目录

并且可以用tree(需要安装,在配置yum源的情况下可以用yum install -y tree安装)查看该目录结构

cd指令

Linux中,磁盘上的文件和目录组成一颗目录树,每个结点都是目录或者文件

语法:cd 目录名

功能:改变当前目录

常用命令:cd 更改目录

cd ... 返回上级目录

cd - 返回上一次的路径

cd ~ 返回当前用户家目录

cd /usr/bin 绝对路径更改目录

cd .../root 相对路径更改目录

touch指令

touch 在linux中创建普通文件,并且可以将已有文件的文件时间更新到最新

stat可以查看文件的更多信息,三个时间被称为ACM时间 ,modify和change对应内容修改和属性修改

语法:touch 选项 文件名

功能:touch可以更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件

rmdir和rm指令

语法:rmdir 选项 目录名

功能:删除空目录

语法:rm 选项 文件/目录名

功能:一般用于删除文件或者目录

常用选项:rm -f 强制删除,没有删除确认(仅root下,普通用户没有确认,原因在于root权限最高,怕误删除)

rm -r 删除目录,rm -rf 直接删除目录

man指令

语法:man 选项 命令

功能:查看该命令的手册

常用选项:man -k 根据关键字搜索联机帮助

man num 只在第num章节找 手册分为8个章节

​ 1是普通的命令

​ 2是系统调用,如open,write之类的,可以更方便看加什么头文件

​ 3是库函数,如printf,fread

​ 4是特殊文件,也就是/dev下的各种设备文件

​ 5是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义

​ 6是给游戏留的,由各个游戏自己定义

​ 7是附件还有一些变量,比如向environ这种全局变量在这里就有说明

​ 8是系统管理用的命令,这些命令只能由root使用,如ifconfig

​ man -a 将所有章节的都显示出来

cp指令

语法:cp 选项 源文件或目录 目标文件或目录

功能:复制文件或者目录

常用选项:

cp -f 强行拷贝文件或者目录,无论目的文件或目录是否存在

cp -r 递归拷贝,将目录中的文件和子目录一同拷贝

mv指令

语法: mv 选项 源文件或目录 目标文件或目录

功能:移动(剪切)文件或者文件夹,当第二个参数类型是文件时,mv命令完成文件重命名 ,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中

常用选项: mv -f 强制剪切,会覆盖同名文件

cat指令

语法:cat 选项 文件

功能:查看目标文件的内容 ,tac指令可以倒着查看文本

常用选项:cat -b 对非空输出行编号

​ cat -n 对输出的所有行编号

​ cat -s 不输出多行空行

重定向

输出重定向

输出重定向">"将本来应该写入到显示器文件中的内容,改写到指定文件中,也因此引入,Linux下一切皆文件,每次输出重定向时,会清除文件原有内容再进行写入,类似于C语言文件操作的"w"。

追加重定向

追加重定向">>"会在文件末尾加上内容,不会清除原有内容,类似于"a"。

输入重定向

输入重定向是将本来从键盘中读入数据,变为从指定文件中读取相应数据。

less、more指令

cat可以用于查看小文件内容,但当需要查看大文件内容时,可以用less和more,其中,less支持上翻、搜索功能,more不支持。

head、tail指令

head可以查看起始位置到某一行的所有内容,tail可以查看末尾到某一行的所有内容。

如果我们需要取中间某几行的内容,可以用上管道("|",将左侧的输出内容交给右侧执行)进行查看。

uniq指令

uniq可以去重,但前提是相邻情况下才能去重

date指令

获取年月日时分秒,可以自定义格式。

时间戳显示,从1970年累积的秒数,具有唯一性。

2000年的千年虫问题就是因为时间戳溢出,因为当时能存储的数据量不够大。

cal指令

查看日历。

find指令

查找文件路径,如下图是在/root下严格查找所有名称符合log.txt的文件路径。

which指令

搜索某个指令的路径。

grep指令

-n行号 -i 取消严格大小写 -v过滤匹配内容

行过滤工具

快速查找文件中的指定内容

zip指令

zip/unzip 压缩/解压

zip -r递归压缩,不加-r只会打包空文件夹,不会打包文件夹中的内容

unzip name -d 指定路径解压

unzip解压文件夹

tar指令

tar -cxtzjvf 文件与目录 ... 参数

压缩

解压

打包指令的区别在于算法不同,不同算法用不同打包方式

结尾👍

以上便是Linux介绍与指令的全部内容,如果有疑问或者建议都可以私信笔者交流,大家互相学习,互相进步!🌹

相关推荐
HLC++7 小时前
Linux的进程间通信
android·linux·服务器
华清远见IT开放实验室8 小时前
实验室建设案例 | 石家庄科技信息职业学院嵌入式实验室——从底层硬件到系统应用,一所应用型高校的嵌入式人才培养这样落地
linux·arm开发·stm32·嵌入式硬件·高校·实验室建设
groundhappy10 小时前
idalib安装和codex ida-mcp配置
linux·开发语言·python
通信小小昕11 小时前
Ubuntu 26.04 中文输入法安装
linux·运维·ubuntu
张小姐的猫12 小时前
【Linux】网络编程 —— HTTP协议(上)
linux·运维·服务器·网络·http·单例模式·策略模式
栩栩云生13 小时前
AI 写代码犯的错,早被写进了错题集
linux·安全·ai编程
imc.1114 小时前
linux基础IO
linux·运维·服务器
BelongPanda16 小时前
Linux Nginx 纯手动 Let‘s Encrypt 泛域名证书配置教程
linux·nginx
酷可达拉斯16 小时前
Linux操作系统-shell编程(0)
linux·运维·服务器·python·云计算
2301_7779983416 小时前
Linux中断机制:操作系统如何高效运行
linux·运维·服务器