目录

Shell

1、Linux命令的分类

    1.1、查看内部命令

           禁用内部命令

2、Linux命令行的格式

3、编辑Linux命令行的辅助操作

4、获得命令帮助的方法

5、查看当前的工作目录-----pwd

6、切换工作目录  ------cd

7、列表显示目录内容--------ls

8、设置别名-----alias

9、统计目录文件空间占用情况 ---------  du

10、创建新目录 -----------mkdir

11、创建空文件  --------touch

12、创建链接文件 -----ln

13、复制文件或目录 ------cp

14、删除文件或目录 ------rm

15、移动文件或目录-------mv

16、查找命令/文件存放目录---------which

17、查找文件或目录 -----------find

总结

引言:看完本章内容后,我们会了解什么是shell,以及Linux的基本命令,以及实现一些Linux的简单操作,对Linux操作系统更加熟练。

Shell

Linux系统中运行的一种特殊程序

在用户和内核之间充当“翻译官”

用户登录Linux系统时,自动加载一个shell程序

bash是Linux系统中默认使用的shell程序

 内核:用于调用计算机硬件资源

1、Linux命令的分类

 内部命令与外部命令的区别

内部命令 外部命令
集成于shell解释器程序内部的一些特殊指令,也称为内建指令 Linux系统中能够完成特点功能的脚本文件或二进制程序
属于shell的一部分 属于Shell解释器程序之外的命令
没有单独对应的系统文件 每个外部命令对应了系统中的一个文件
自动载入载入内存,可以直接使用 必须知道其对应的文件位置,由Shell加载后才能执行

    内部命令属于shell的一部分,外部命令属于shell程序之外的命令。

    内部命令属于shell的一部分(/bin/bash)没有单独的文件,外部命令一般由脚本文件或者二进制文件组成。

    1.1、查看内部命令

help

enable

type

查看cd  和ls  命令为内部命令和外部命令 

           禁用内部命令

enable -n   命令                禁用该命令

enable      命令                 启用该命令

2、Linux命令行的格式

通用的命令行使用格式

命令字           [选项]               [参数]

   命令字

        是整条命令中最关键的一部分

        唯一确定一条命令

选项

        短格式选项:使用 -  符号引导

        长格式选项:使用 --  符号引导

参数

         命令字的处理对象

         可以是文件名、目录(路径)名或用户名等内容

         个数可以是零到多个

3、编辑Linux命令行的辅助操作

(1)Tab键:自动补齐/按两下帮忙查询相同前缀的目录或文件(cd会显示目录,vim会显示文件)

(2)反斜杠“\”强制换行(在长命令的情况下使用便于排错,更加工整)

(3)Ctrl+U组合键:清空至行首

(4)Ctrl+K组合键:清空至行尾

(5)Ctrl+L组合键:清屏,或者clear

(6)Ctrl+C组合键:取消本次命令编辑

(7)Ctrl+A组合键:切换到行首

(8)Ctrl+E组合键:切换到行尾

4、获得命令帮助的方法

内部命令          help

        查看shell内部命令的帮助信息

命令的           “--help”选项

        适用于大多数Linux外部命令

使用man命令阅读手册页

        使用“↑”、“↓”方向键滚动一行文本

        使用Page Up和Page Down键翻页

        按Q或q键退出阅读环境

        按“\”键查找内容

5、查看当前的工作目录-----pwd

显示用户当前所在的工作目录位置

6、切换工作目录  ------cd

cd /home #后面跟绝对路径,切换到home目录

cd ./home #后面跟相对路径,切换到home目录

cd ~ #切换到当前用户的家目录

cd #切换到当前用户的家日录

cd ~user #切换到某一个用户的家目录,只有root才行,别的用户只能在自己家

cd - #切换到上一次执行操作的目录

cd .. #切换到上一层目录(父目录)

cd ../../ #切换到父目录的父目录

绝对路径:以/开头,根目录为起点

相对路径:以当前目录为起点

7、列表显示目录内容--------ls

显示目录中内容,包括子目录和文件相关属性信息

ls    [选项]        [文件或目录.....]

常用选项

 -l 、 -a 、-A、-d、-h、-R、--color

结合通配符

 “?”匹配文件名中的一个未知字符

 “*”匹配文件名中的任意多个字符

    列表显示目录内容ls(常用选项、可结合通配符)

命令符                       [选项]                       [参数]

操作                         功能                          要执行的对象

-l            将文件信息属性详细列出,通常直接使用ll,因为设置了别名

-R          递归显示,比如一个目录下还有文件,则把那个文件也一起列出

-d           查看目录本身信息,不显示目录下的内容

-i            显示inode值

-h           友好显示文件文件大小

-a           遍历所有文件及目录(ls内定将文件名或目录名称开头为""的视为隐藏档,不会列出)

-A           跟-a唯一的不同是不列出当前目录和上一层目录

通常情况下
白色:数据文件  txt
深蓝色:目录
白色(黑色):一般文件
绿色:可执行的文件(脚本/程序)
黄色:块设备文件
红色:压缩包
淡蓝色:链接文件/快捷方式

8、设置别名-----alias

通过别名机制简化常用的、比较长的命令设置成便于记忆和操作的指令

alias命令别名=命令

vim /root/.bash            永久生效

alias 命令别名=‘命令’          临时设置

补充:别名>内部>hash>外部命令  (先查找别名再查找内部命令,缓存最后外部)

 永久设置别名

9、统计目录文件空间占用情况 ---------  du

du    [选项]    [文件或目录....]

 常用选项

-a    统计磁盘空间占用时包括所有的文件,而不仅仅只统计目录

-h    以更人性化(友好)的方式(默认以KB计数,但不显示单位)显示出统计结果

-s    只统计所占用空间总的大小,而不是统计每个子目录、文件的大小

  如果统计总共大小,显示每一个目录大小用-a

例:

du -ah  以友好的方式显示所有文件

du -sh   以友好的方式查看当前目录大小

du -sh lly/  指定目录大小

du -sh * 表示当前目录下所有空间占用情况

10、创建新目录 -----------mkdir

创建新的空目录

mkdir  [选项]   目录位置及名称..

              -p:一次性创建嵌套的多层目录

例:

mkdir  -p  aa/bb/cc         多次创建新目录  创建目录/aa,在/aa目录下创建子目录bb,在/aa/bb目录下创建子目录cc

11、创建空文件  --------touch

更新文件的时间标记

经常用于创建多个新的空文件

touch    文件....

文件和目录区别:文件可以存放内容或者命令,目录分为根目录和子目录

例:

touch   aa   bb         创建两个空文件,文件名分别为aa和bb

touch  {a,b,c,d}.log           创建a,b,c,d 日志文件

12、创建链接文件 -----ln

为文件或目录建立链接文件,类似于windows系统的快捷方式

链接文件类型

软连接(又称为符号链接)

创建软链接: ln -s  相当于创建一个快捷方式

硬链接

创建硬链接: ln     相当于复制了一份副本(复制文件)

软链接与硬链接的区别:

硬链接不能跨分区建立连接 无法对文件夹创建

删除硬件连接可以继续访问硬链接

软连接可以跨设备  可以支持文件夹

软连接删除源文件不能访问

创建一个软连接,test.txt  我们查看text.txt也可以查看a.txt里的内容 

13、复制文件或目录 ------cp

将需要复制的文件或目录重建一份,并保存为新的文件或目录

cp  [选项] ....源文件或目录......目标文件或目录....

常用选项:

 -f  覆盖目标同名文件或目录时不进行提醒,直接强制复制

 -i  覆盖目标同名文件或目录时提醒用户确认

 -p  复制时保持源文件的权限、属主及时间标记等属性不变

 -r  复制目录时必须使用此选项,表示递归复制所有文件及子目录

 -a  保留权限,相当于复制目录本身,递归复制

14、删除文件或目录 ------rm

删除指定的文件或目录

rm    [选项]  要删除的文件或目录

常用选项

-f 不进行提醒,直接强制复制

-i  提醒用户确认

-r  递归删除所有文件及子目录

15、移动文件或目录-------mv

将指定的文件或目录转移位置

如果目标位置与源位置相同,则相当于执行重命名操作

mv    [选项] ....源文件或目录.....目标文件或目录

16、查找命令/文件存放目录---------which

搜索范围由环境变量 PATH决定 (echo $PATH)

which 命令  程序名

which  -a  命令 程序名

例:

which   ls        查找ls命令存放位置

which   cd       查找cd命令存放位置

17、查找文件或目录 -----------find

采用递归方式,根据目标的名称、类型、大小等不同属性进行精细查找

find   [查找范围]    [查找条件表达式]

      查找文件或子目录的目录位置               查找条件类型

     常用查找条件类型

-name 按名称查找: 根据目标文件的名称进行查找,允许使用“*” 及“?”通配符

-size 按大小查找:根据目标文件大小进行查找,一般使用“+”、“-”号设置超过或小于指定大小作文查找条件

-user 按文件属主:根据文件是否属于目标用户进行查找

-type按文件类型查找:根据文件的类型进行查找

            文件类型包括普通文件(f)、目录(d)、设备文件(b)、字符设备文件(c)

各表达式之间使用逻辑运算符

 “-a” 表示  而且  (and)

"-o" 表示   或者(or)

列: 1  -a  2  表示1和2同时满足的情况下才能运行

列:1 -o  2  表示1和2满足一个就可以

找到/home下所有“*.txt”并删除

总结

通过上述描述了解了shell是在用户和内核之间充当“翻译官”,Linux的基本命令和Linux命令分为内部和外部命令,以及格式和使用方法和Linux的常用命令:

查看及切换目录(pwd、cd、ls、du)

创建目录和文件(mkdir、touch、ln)

复制、删除、移动目录和文件(cp、rm、mv)

查找目录和文件(which、find)

原文链接:https://blog.csdn.net/weixin_56270746/article/details/123612754

最后修改:2023 年 10 月 26 日
如果觉得我的文章对你有用,请随意赞赏