Linux入门

1.引入

我们都知道Linux作为一个操作系统而闻名,由于其稳定性,安全性和低成本,一般web项目服务器部署都会放在Linux系统上

  • Linux操作系统主要分成两层,一个是系统级应用程序,例如安装好Linux系统后自带的桌面应用程序,另一个是Linux系统内核,这个系统内核的作用就是和计算机底层硬件打交道,比如通过这个内核调用计算机的cpu,内存等等

这个Linux内核作为Linux操作系统的核心,它本身是开源的,任何人都可以获取并且使用,在此基础上,再加上系统级应用程序,就成了Linux发行版,市面上的较热门的发行版,如ubuntu,centOS等等,这里是不是就理解了Linux为何有这么多的版本了? 

2.Linux运行环境

一般初学者都会在虚拟机上运行Linux系统,这里来简单说说虚拟机又是个什么东西?

刚刚在上面说了,任何一个系统要想运行,都得要有调用底层硬件的内核,那么虚拟机就是通过自身电脑软件来模拟底层硬件的一个应用,然后再添加一个真实的操作系统就可以模拟一台电脑了

3.使用finalshell

我们在使用Linux系统命令行时,用centOS自带的页面,略显不方便,所以这里采用finalshell这款软件来代替centOS自带的终端命令行页面

下载好之后,我们需要先在centOS命令行输入以下指令来查看自己这台虚拟机的ip

  • ifconfig 

该红颜色框选中的地方就是自己虚拟机的ip 

打开finalshell之后,点击如下所示 

打开ssh连接页面之后,如下

4.Linux目录结构

Linux没有盘符的概念,例如在windows系统的电脑上,有C、F、E等盘,而在Linux系统中只有一个根目录‘/’(作为顶级目录)

  • windows描述一个目录结构:E:\c语言         表示在E盘下的C语言文件
  • 要描述一个目录结构:/usr/local                  表示在usr文件夹中的local文件  

5.Linux命令基础

Linux命令基本格式:command  [-options]  [parameter]

  • command:命令本身
  • -options:可选,命令的一些选项,可以通过选项控制命令的行为细节
  • parameter:可选,命令的参数,多数用于命令的指向目标等

比如:ls -l /home/it    这行命令的意思是以列表的形式显示/home/it目录下的内容 

5.1.ls命令

语法如下:

ls [-l  -a  -h] [Linux路径]

  • -l -a -h是可选的选项
  • Linux路径是此命令可选的参数

当不使用选项和参数,直接使用命令体ls,表示:以平铺形式,列出当前工作目录下的内容 

我们对比下图形化页面的目录和命令行里输出的目录是否一样,在图形化页面里的Home文件夹里存放的就是上面命令行输出的这些文件夹

注意点: 

  • 刚刚在上面说了工作目录,当Linux系统终端在启动的时候,会默认加载当前登录用户的HOME目录作为当前工作目录,所以ls命令列出的是HOME目录的东西
  • 那么这个HOME目录在哪呢?HOME目录作为每个Linux操作用户在Linux系统的个人账户目录,其路径在:/home/用户名

这里我通过两种方式列出HOME目录的文件,结果是一样的,那也就表示,/home/用户名,就是HOME文件的目录 

HOME文件位置: 

下面来说说ls命令的选项,刚刚在上面说到选项有三个


  • -l  表示列表(竖向排列)的形式显示文件


  • -a  表示显示所有文件(包括隐藏文件),下面前缀带了点的都是隐藏文件


  • -h  显示文件大小的单位,必须得跟着-l选项使用,否则无效(没有带单位都是byte)


看了第三个-h的使用,我们也就知道了选项是可以混合使用的,混合使用之后,选项的功能都可以体现出来,例如-a和-l   表示既以列表形式显示,又要展示所有文件

5.2.目录切换相关命令

cd(Change Directory):切换目录

语法:cd [Linux参数] 

cd指令后面的参数可带可不带,但是意义不同

  • cd [指定切换的目录]  

  • cd    表示切换到当前用户的HOME目录 

pwd(Print Word Directory):展示当前所在的工作目录

语法:pwd

上面的例子表示刚开始展示工作目录是/home/itheima,然后我切换到了子目录/Pictures中,然后再使用pwd展示

5.2.1.相对路径和绝对路径

我们要访问切换路径,方式有两种,一种用绝对定位,一种用相对定位

  • 绝对定位:cd /home/itheima/Pictures    从根目录开始一级一级定位
  • 相对定位:cd Pictures                           从默认的HOME目录开始,此时前面不需要加/

 可见这两种方式结果是一样的


5.2.2.特殊路径符

  • .   表示当前路径,cd ./Pictures 表示切换到当前路径下的Pictures目录
  • ..   表示上一级目录,cd ..  表示切换到上一级目录,cd ../..  表示切换到上两级目录
  • ~   表示HOME目录,cd ~  表示切换到HOME目录,cd ~/Pictures  表示切换到HOME目录下的Pictures目录 

6.mkdir命令

mkdir(Make Directory):在指定目录创建一个新文件夹

命令语法:mkdir [-p] [Linux路径] 

  • mkdir ./Pictures/pic2  表示在当前目录下的Pictures目录里创建一个pic2文件夹


  • mkdir -p Pictures/pic/666/good  表示在Pictures目录里的pic目录里链式的创建666、good目录,-p选项的意思就是可以链式创建多层级目录(在这个链式中原本有的就不用创建,直接进入到这个目录里,没有的就会创建出来)


注意:创建文件夹要修改权限,只能是在HOME目录内创建文件夹 

7.文件相关命令

 刚刚在上面讲了创建文件夹相关的命令,接下来讲一下创建文件相关的命令

7.1.touch命令

touch命令:用来创建文件

命令语法:touch Linux路径 


7.2.cat命令 

cat命令:用来查看文件内容

命令语法:cat Linux路径


7.3.more命令 

more命令:也是用来查看文件内容,但是如果文件内容较多,more命令支持分页

命令语法:more Linux路径

 7.4.cp命令

cp(copy)命令:用于复制文件、文件夹

命令语法:cp [-r] 参数1 参数2

  • -r  在执行复制文件夹的时候要添加上这个选项,在执行文件复制的时候添不添无所谓
  • 参数1  表示被复制的文件、文件夹
  • 参数2  表示要复制的目的地

表示将111这个文件,复制到当前目录下的syz文件夹里的kzjj文件夹里的222文件中 

表示将syz这个文件夹移动到Pictures文件夹中

7.5.mv命令

mv(move):用于移动文件、文件夹

命令语法: mv 参数1 参数2

  • 参数1  表示要移动的文件、文件夹
  • 参数2  表示要移动的目的地 

 表示将Pictures目录里的pic2文件夹移动到HOME目录下

7.6.rm命令

rm(remove):用于删除文件、文件夹

命令语法:rm [-r -f] 参数1 参数2 ... 参数n

  • -r  在删除文件夹的时候要带上这个选项
  • -f  在身份是root的时候,删除东西,系统会跳出来是否删除的提示,在输出rm命令的时候加上-f选项,就不会跳出来这个提示,直接删除完成
  • 参数可以跟多个,表示一次可以删除多个文件 

表示删除syz这个文件 

 表示一次性删除syz1和pic2这两个文件

7.6.1.通配符

rm命令支持使用通配符*,来进行模糊匹配,然后进行删除

  • syz*   表示匹配以syz开头的内容
  • *syz   表示匹配以syz结尾的内容
  • *syz*  表示匹配包含syz的内容 

 删除包含syz的文件夹

注意:如果身份是超级管理员root时,请慎用rm命令,稍有不慎就会删除不该删的东西,尤其是rm -rf /*    这行命令意思就是删除所有文件,并且不予删除提示,就是我们熟知的删库跑路,小心吃牢饭>_< 

7.7.find命令

find:查找文件位置,支持按文件名称和文件大小来查询,注意,是查找文件,不是文件夹


7.7.1.按文件名称查询

命令语法:find 起始路径 -name 被查找的文件名称 

 表示从HOME目录开始,查找名字是111的文件


同样的,find命令支持通配符,使用方法和7.6.1小节一致,这里不做演示了 

7.7.2.按文件大小查询

命令语法:find 起始路径 -size +|-n[kMG]

  • +或者-  表示大于和小于
  • n  表示文件大小,这里n是一个整数
  • [kMG]  表示文件大小的单位,k是kb,M是Mb,G是Gb,注意k是要小写,M和G是大写  

表示从HOME目录开始查找文件大小小于10kb的文件

表示从HOME目录开始查找文件大小大于1G的文件

7.8.grep命令

grep:从文件中通过关键字来过滤文件的行

命令语法:grep [-n] “关键字” 文件路径

  • -n  可选,表示在结果中显示匹配到的行的行号
  • 关键字  参数,表示要过滤的关键字,最好是带上双引号
  • 文件路径  表示要过滤的文件的路径,可作为管道符的输入(这里在后面的管道符会讲解) 

有一个hello.txt文件,内容如下

现在使用grep命令过滤一下,查找关键字S,结果如下,1和3代表的是行数

7.9.wc命令

wc:统计文件的行数,单词数量,字节数,字符数

命令语法:wc [-c -m -l -w] 文件路径

  • -c  字节数
  • -m  字符数
  • -l  行数
  • -w  单词数
  • 如果不带选项,则默认统计行数,字符数,字节数
  • 文件路径  参数,可以作为管道符的输入(也是在之后会讲解管道符)

7.10.管道符

| :将管道符左边的命令结果当做右边命令的输入

  • 刚刚在上面说的grep和wc命令,可以作为管道符的输入,就是说这些命令放在管道符的右边,当做左边命令结果的输入,下面举个例子就明白了

管道符|的左边的命令是读取Pictures目录下的hello.txt文件内容,其结果就是这个hello.txt文件的内容,管道符|右边的命令是过滤含有S的行,注意看,这条命令没有指定文件路径,其实这个文件路径就是管道符左边这个文件,现在理解了将管道符左边的命令结果当做右边命令的输入吗?

管道符的左边是读取Pictures目录下的hello.txt文件,右边是统计这个文件的行数的命令,本来wc命令后面要跟文件路径,但是现在有管道符,左边命令的结果作为这个文件路径

7.11.echo命令

echo:向控制台输出内容,有点像print

命令语法:echo 输出内容

当我想输出的内容是一个命令的结果,那么该如何呢?例如,echo pwd 正常输出的就是pwd而不是pwd这个命令执行之后的结果 

这个时候,用反引号把pwd引住,那么这里面的内容就会当做命令来执行

如果反引号内的不是命令,则会输出'不是命令'的提示

7.12.重定向符

作用:将重定向符左边的命令结果写到右边的文件中

  • 重定向符有两个,一个是>,另一个是>>
  • >的作用是将结果写入文件中,并且覆盖原有的内容
  • >>的作用是将结果写入文件中,但是是以追加的方式 

 7.13.tail命令

tail:查看文件尾部内容

命令语法:tail [-f -num] Linux路径

  • -f  表示持续跟踪文件,若文件被修改,tail命令也能及时检测到
  • -num  这里的num填一个实际的数字,表示要查看文件多少行,不填默认10行 

 上面的命令表示,将hello.txt文件的后两行展示出来

 

使用-f选项,可以实时检测指定的文件内容,在上面给文件加一句,那么这个tail命令就能检测到这个文件多了一句话,并且展示出来

8.vi\vim编辑器

vi\vim编辑器,就是命令行模式下的文本编辑器,用来编辑文件

vim是vi的升级版,包含vi的全部功能

8.1.基础命令

  • vi 文件路径
  • vim 文件路径

以上两个命令,是进入文件编辑页面的命令,进入之后,会优先进入命令模式,如下图:

 

  • 命令模式:默认的模式,可以通过键盘快捷键控制文件内容
  • 输入模式:通过命令模式进入,可以输入内容进行编辑,按ESC退回命令模式
  • 底线命令模式:通过命令模式进入,可以对文件进行保存,关闭等操作 

其中,命令模式和底线命令模式,有许多的键盘快捷键,这里不做详细介绍,只罗列一些

底线命令模式快捷键:

  • :wq       保存并退出
  • :q          仅退出
  • :q!      强制退出
  • :w         仅保存
  • :set nu  显示行号
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值