【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介绍与指令的全部内容,如果有疑问或者建议都可以私信笔者交流,大家互相学习,互相进步!🌹