Linux常用命令

Linux常用命令

一、Linux命令基础

Linux系统中凡是能在字符串操作界面中输入的能够完成特定操作和任务的字符串都可以称为“命令”。通常“命令”只代表了实现某一类功能的指令或程序的名称。

1、命令的分类和格式

Linux命令的执行需要依赖于shell命令解析器。shell是在Linux系统中运行的一种特殊程序,它位于操作系统和用户之间,负责接受用户输入的命令并进行解释,将需要执行的操作传递给系统内核执行,shell在用户和内核之间充当“翻译官”的角色。当用户登录到Linux系统时,会自动加载一个shell程序,以便给用户提供可以输入命令的操作系统。

根据Linux命令与shell程序的关系,一般吧命令分为内部命令和外部命令:

  • 内部命令:

1)指的是集成于shell解释器程序内部的一些特殊指令,也成为内建(Built-in)指令;

2)属于shell的一部分,所以没有单独对应的系统文件,只要shell解释器被运行,内部指令就自动载入内存,用户可以直接使用;

3)内部命令无需从硬盘中重新读取文件,因此执行效率较高。

  • 外部命令:

1)指的是Linux系统中能够完成特定功能的脚本文件或二进制程序;

2)属于shell解释器程序之外的命令,每个外部命令对应了系统中的一个文件;

3)Linux系统中必须知道外部命令对应的文件位置,才能够由shell加载并运行。

2、 Linux命令行的格式

1) 通用的命令行格式: 命令字 [选项] [参数]

  • 命令字:命令字即命令名称,在Linux的字符操作界面中,使用命令字唯一确定一条命令。并且在Linux的命令环境中,无论文件名或者命令名,英文字符需要区分大小写;

  • 选项:选项的作用是调节命令的具体功能,决定这条命令如何执行。选项可以是单个或者多个组合使用;

  • 参数:命令参数是命令字的处理对象,通常情况下命令参数可以是文件名、目录(路径)名或者用户名等内容。根据使用的命令字的不同,命令参数的个数可以是零到多个。

2) 编辑命令行的辅助操作:

  • Tab键:可以将不完整命令字或者文件、目录名自动补齐,但只能向后补齐,且必须是以已输入的部分字符开头,能够唯一定位一个命令字或者文件、目录名;按两次Tab键,系统会输出可用的名称列表。

  • 反斜杠“\”:如果输入的一行命令内容太长,终端会自动换行。有时候为了美观和方便查看,可以插入“"来进行强制换行,在下一行出现的”>“提示符后可以继续输入内容,作为上一行命令的延续。

  • Ctrl+U快捷键:快速删除当前光标处之前的所有字符内容。

  • Ctrl+K快捷键:快速删除从当前光标处之后的所有字符内容。

  • Ctrl+L快捷键:快速清空当前屏幕内容的显示内容,只在左上角显示命令提示符。

  • Ctrl+C快捷键:取消当前命令行的编辑,并切换为新的一行命令提示符。

3、 获得命令帮助

Linux系统中能够使用的命令数量繁多,具体选项也各不相同,使用格式也存在细微区别。对于Linux系统命令的更多选项和使用格式,可以通过在线帮助查询。

1) 使用help命令

help命令本身是Linux shell中的一个内建指令,用途是查看各shell各内部命令的帮助信息。使用help命令时,只需要添加内部指令的名称作为参数即可。例如“help pwd”、“help cd”等;

2) 使用“–help”选项

对于大多数Linux外部命令,可以使用一个通用的命令选项“–help”,用于显示对应命令字的格式及选项等帮助信息。若该命令字没有“–help”选项,一般只会提示简单的命令格式。例如执行“ls–help”

3) 使用man手册

man手册页(manual page)是Linux系统中最常用的一种在线帮助形式。绝大部分的外部软件在安装时为执行程序、配置文件提供了详细的帮助手册页。例如执行“man cd”。

阅读man手册页时,按page up键和page down可以向上向下翻页显示,按“Q"或”q“可以随时退出手册页的阅读环境。按”/"键后可以对手册内容进行查找,若找到的结果有多个,可以按“n"或者”N“分别向下、向上进行定位选择。

二、目录和文件基本操作

1、查看目录或文件属性信息

1) ls命令–列表(list)显示目录内容

ls命令主要用于显示目录中的内容,包括子目录和文件的相关属性信息等。使用的参数可以是目录名或者文件名,允许在同一条命令中同时使用多个参数。

ls命令的常用选项:

  • -l:以长格式(long)显示文件和目录的的列表,包括权限、大小、最后更新时间等详细信息。不使用-l选项时,ls命令默认以短格式显示目录名或者文件名信息。

  • -a:显示所有(all)子目录和文件的信息,包括名称以点号”."开头的隐藏目录和隐藏文件。

  • -A:与“-a”选项作用基本类似,但是不显示当前目录和上一层目录。

  • -d:显示目录(directory)本身的属性,而不是显示目录中的内容。

  • -h:以更人性化(human)的方式显示出目录或文件的大小,默认的大小单位为字节byte,使用-h选项后将显示为Kb、Mb等单位。

  • -R:以递归(recursive)的方式显示指定目录及其子目录中的所有内容。

在使用ls命令时,可以结合通配符问号”?“或星号“ * ”提高命令编写效率,且通配符可适用于shell环境中的其他命令。其中:

问号“?”可以匹配文件名中的一个未知字符,

星号“ * ”可以匹配文件命中的任意多个(0~多个)字符。

ps:对于常用的比较长的命令行,可以通过alias别名机制进行简化。例如,执行alias hs=‘hostnamectl set-hostname’定义一个名为hs的命令别名(注意=与字符串之间不要空格),以后执行hs命令时相当于执行“hostnamectl hostname”。

2)du命令–统计目录及文件的空间占用情况

du命令可用于统计指定目录或文件所占用磁盘空间的大小。使用目录或文件的名称作为参数。du命令常用的几个选项如下:

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

  • -h:以更人性化的方式显示出统计结果。

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

    如果需要统计一个文件夹内所有文件总共占用的空间大小,可以结合“-sh”选项,将要统计的目录作为参数,例如,执行“du -sh /var/log"命令可以统计处/var/log目录所占用空间的大小。

    如果需要分别统计多个文件所占用的空间大小,可以结合”ah“选项,使用目录作为参数时,最后将列出该目录总共占用的空间大小。例如,执行”du -ah /boot"命令将分别统计/boot目录中所有文件、子目录各自占用的空间大小。

2、创建目录和文件

1) touch–创建空文件

使用文件名作为参数,可以同时创建多个文件。如果目标文件已存在,将更新该文件的时间标记,否则将创建指定名称的空文件。例如在/opt目录下创建两个空文件,文件名分别为FP、YYL:

2)mkdir命令–创建新的目录(make directory)

mkdir命令用于创建新的空目录,使用要创建的目录位置作为参数(可以有多个)。例如执行”mkdir test”命令将在当前目录下创建名为test的子目录。

如果需要一次性创建嵌套的多层目录,必须结合“-p”选项完成递归创建。例如执行“mkdir -p test1/test2/test3"将在当前目录创建一个test1目录,并在目录test1下创建test2,再在test2目录下创建目test3。

3、复制、删除、移动目录和文件

1) cp–复制(copy)文件和目录

cp命令用于复制文件或目录,将需要复制的文件或目录重建一份并保存为新的文件或目录(可保存到其他目录中)。cp命令基本格式为

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

当需要复制多个文件或目录时,目标位置必须时目录,而且目标目录必须已经存在。cp命令常用的选项有:

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

  • -i:覆盖目标同名文件或目录时提醒用户确认(interactive,交互式)。

  • -p:复制时保持(preserve)源文件的权限、属主以及时间标记等属性不变。

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

2)rm命令–删除(remove)文件或目录

rm命令用于删除指定的文件或目录,使用要删除的文件或目录名作为参数。常用的选项有:

  • -f:删除文件或目录时不进行提醒,直接强制删除。

  • -i:删除文件或者目录时提醒用户确认。

  • -r:删除目录时必须使用此选项,表示递归删除整个目录树。

ps:使用rm命令删除重要文件时需谨慎,尤其时rm -rf命令的使用。

3) mv命令–移动(move)文件或目录

mv命令用于将指定的文件或目录转移位置,如果目标位置与源位置相同,则效果相当于为文件或目录改名。mv命令基本使用格式为:

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

需要移动多个文件或目录时,目标位置必须时目录,而且目标目录必须已经存在。

如果在同一个目录下移动文件或目录,则相当于执行重命名操作。例如:

如果移动一个文件或目录到已存在的文件夹中,可以只指定目标文件夹位置。例如:以下操作将目录3移动到了目录4中。

4、查找目录和文件

1)which命令–查找用户所执行的命令文件存放的目录

which命令用于查找Linux命令程序并显示所在的具体位置,其搜索范围主要由用户的环境变量PATH决定,这个范围也是Linux系统执行命令或者程序时默认搜索路径。which命令使用要查找的命令或程序名作为参数,默认查找到第一个目标后即不再继续查找,若希望在所有搜索路径中查找,可以添加”-a“选项。

2)find命令–查找文件或目录

find命令可以根据目标的名称、类型、大小等不同属性进行精细查找。find命令的基本使用格式为:

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

其中,查找范围对应的是在其中查找文件或子目录的目录位置(可以有多个),而查找条件则决定了find命令根据哪些属性、特征来进行查找。常用的几种查找条件类型有:

  • 按名称查找:关键字为“-name”,根据目标文件的名称进行查找,可以结合通配符使用。

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

  • 按文件属性查找:关键字为”-user“,根据文件是否属于目标用户进行查找。

  • 按照文件类型查找:关键字为”type",根据文件的类型进行查找,这里的文件类型包括普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等。块设备文件值得是成块读取数据的设备如硬盘、内存等,而字符设备文件指的是按单个字符读取数据的设备如键盘鼠标等。

    设置find命令的查找条件时,若需要使用通配符“*”、“?”,最好将文件名用双引号括起来,以避免当前目录下符合条件的文件干扰查找结果。例如:以下操作将在/etc目录中递归查找名称以“resol”开头,以“.conf”结尾的文件。

使用“-type”查找条件可以过滤出指定类型的文件。例如,以下操作将在/boot目录中查找出所有的文件夹,而忽略其他类型的文件。

需要同时使用多个条件查找时,各表达式之间可以用逻辑运算符“-a”、“-o”分别表示而且(and)、或者(or)。例如以下两个操作使用了两个查找条件,即”类型是目录“且”名称以ky开头“,但分别使用”-a“、”-o“组合两个条件,其中”-a“表示两个条件必须同时满足,而”-o“表示只需满足其中任一一个条件即可。

系统管理员还可以根据文件属主(-user)查找,也就是根据文件是否属于目标用户进行查找。例如执行以下命令可以递归查找/var/目录中属主为FANG用户的文件。

find命令的其他很多用法可参考man手册学习。

三、 小结

  • Linux命令行的一般格式中包括命令字、选项、参数。

  • 通过以下方式可以获取命令帮助:help、man和–help命令选项。

  • 执行ls、du命令可以查看目录相关属性。

  • 执行mkdir、touch命令可以创建目录和文件。

  • 执行cp、mv、rm命令可以复制、移动、删除目录和文件。

  • 执行which、find命令可以查找目录和文件。

    find命令的其他很多用法可参考man手册学习。

三、 小结

  • Linux命令行的一般格式中包括命令字、选项、参数。
  • 通过以下方式可以获取命令帮助:help、man和–help命令选项。
  • 执行ls、du命令可以查看目录相关属性。
  • 执行mkdir、touch命令可以创建目录和文件。
  • 执行cp、mv、rm命令可以复制、移动、删除目录和文件。
  • 执行which、find命令可以查找目录和文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值