当前位置: 首页 > news >正文

Linux基本指令(2)

1. man指令


Linux的命令有很多参数,我们不可能全记住,可以通过查看联机手册获取帮助

语法: man[选项] 命令 

常用选项
• - k 根据关键字搜索联机帮助
• num 只在第num章节查找
• - a 将所有章节的都显示出来,比如 man printf它缺省从第一章开始搜索,知道就停止,用a选
项,当按下q退出,他会继续往后面搜索,直到所有章节都搜索完毕

解释:man手册分为9章(不同系统可能会有差别)
• 1是普通的命令
• 2是系统调用, 如open, write之类的(通过这个,⾄少可以很⽅便的查到调用这个函数,需要加什么头文件)
• 3是库函数, 如printf, fread4是特殊文件, 也就是 / dev下的各种设备文件
• 4略
• 5是指文件的格式, 比如passwd, 就会说明这个文件中各个字段的含义
• 6是给游戏留的, 由各个游戏自己定义
• 7是附件还有一些变量, ⽐如像environ这种全局变量在这⾥就有说明
• 8是系统管理⽤的命令, 这些命令只能由root使⽤, 如ifconfig
• 9略

例如:想查看c语言中的printf怎么用,就调用3号接口:man 3 printf

注意:如果不指定查找的手册,那么man命令会按照1-9号依次查询


2.cp指令

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

功能 : 复制文件或目录

说明:
• cp指令用于复制文件或目录
• 如同时指定两个以上的文件或目录,且最后的目的地是⼀个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中

常用选项
• - f或 --force 强⾏复制文件或目录,不论目的文件或目录是否已经存在
• - i或 --interactive 覆盖文件之前先询问用户
• - r递归处理,将指定目录下的文件与子目录⼀并处理。若源文件或目录的形态,不属于目录或符
号链接,则一律视为普通文件处理


3.echo指令(以及输出重定向)

(1)echo指令
语法:echo 字符串或任意要显示的东西 ( >  [目标文件] )

功能:把指令后面的东西写进对应的文件中(或者写入文件),如果后面目标文件为空,那么就是打印到显示器文件中

(2)输出重定向
1)定义
写入文件的这个操作叫做输出重定向:本来写入在显示器文件的内容,现在却要显示在目标文件中
例如:echo "I Love You" > tu.c
2)特点
但是这种输出重定向有一个特点:向目标文件写入时,会做两步:1.清空文件 2.写入新内容


2.1)根据这个特点,我们发现每次写入一个字符串或者其他东西时,总是会清空以前的东西,但是如果我们不向清空呢
那就将大于符号改成两个大于符号(中间不能有空格),这个重定向就叫追加重定向
例如:echo I Love You >> test.c
2.2)根据输出重定向的特点,如果我们想要清空文件,直接调用输出重定向即可
例如:清空文件a.out:> a.out


2.3)根据输出重定向的特点,如果我们想要创建文件,不止可以使用touch指令,直接调用输出重定向即可
例如创建文件test.txt:> test.txt

4.cat指令

语法: cat[选项][文件]

功能:查看目标文件的内容(打印目标文件的内容)

常用选项:
• - b 对非空输出行编号,空行不做编号


• - n 对输出的所有行编号


• - s 不输出多行空行(如果有连续的两个以上空行,只打印一行)

输入重定向:
(1)cat如果后面什么都不跟,那么就默认从键盘读取


(2)如果cat后面加 <(小于) 文件,这就是输入重定向,本来应该从文件中读取,现在不用从键盘读取,而是从指定文件读取,这就是输入重定向
例如: cat < out.txt(把out.txt文件中的数据读出,然后打印到屏幕里)


注:
esho和cat的区别:
(1)echo后面跟的不是文件,后面跟的时字符串或者要输出在显示器文件的东西,他会原封不动的将后面跟的东西打出来
(2)而cat后米娜跟的时文件名,cat打印出来的是文件的内容


5.mv指令(剪切并重命名)


mv命令是move的缩写,可以用来移动文件或者文件改名(move (rename) files, 经常用来备份文件或者目录

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

功能:
1. 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中
2. 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文文件只能有一个(也可以是源目
录名),它将所给的源文件或目录重命名为给定的目标文件名。
3. 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源
文件均移至目标目录中。

常用选项:
• - f:force 强制的意思,如果目标文件已经存在,不会询问⽽直接覆盖
• - i:若目标文件 (destination) 已经存在时,就会询问是否覆盖


6.两个问题:


(1)你是如何看待指令的?
其实指令和可执行程序都是可以被执行的,所以,也就是说指令就是可执行程序
(2)再执行指令之前,会做什么呢?
因为我们输入一个非法指令,系统会报错,也就是说,在执行指令之前,系统会先查找对应的指令。

总结:
(1)查看系统的所有指令:在root用户下,使用指令 ls /usr/bin/即可查看,说明指令在系统的特定路径下存在的
(2)指令本质就是可执行程序,和我们写的代码编译好的程序没有本质区别

补充:
1.查看指令所在路径:使用 which 指令,例如:which pwd
2.Linux下一切皆文件,比如:键盘(从键盘进行读取)、显示器(向显示器打印(写入))、普通文件等


7.alias指令(重命名)

语法:alias [名字] = '指令';

功能:给一堆复杂的指令取别名

例如:系统中的ll就是:alias ll='ls - l';


8.more指令

由于cat不适合看大文本,知识和看小文本,于是便有了more指令

语法: more[选项] 文本

功能:more命令,功能类似cat当使用more指令时,more会先将这个文本中的内容占满屏幕,然后不会继续向下打印,当按下
enter的时候,more便继续缓慢向下打印,按q退出

常用选项:
• - n 指定输出行数(n是行数)
• q 退出more


9.less命令(最常用)

• less工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极其强⼤
• less的用法比起 more 更加的有弹性,在 more 的时候,我们并没有办法向前面翻, 只能往后面看
• 但若使用了 less 时,就可以使用 [pageup] [pagedown] 等按键的功能来往前往后翻看文件,更
容易用来查看一个文件的内容
• 除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。 

语法: less [参数] 文件

功能:less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,却不能向后移动,⽽
且less在查看之前不会加载整个文件。

选项:
• - i 忽略搜索时的大小写
• - N 显示每行的行号
• / 字符串:向下搜索“字符串”的功能
• ? 字符串:向上搜索“字符串”的功能
• n:重复前一个搜索(与 / 或  ?  有关)
• N:反向重复前一个搜索(与 / 或 ? 有关)
• q : 退出less

10.head指令


head与 tail 就像它的名字一样的浅显易懂,它是用来显示开头或结尾某个数量的文字区块,head用
来显示档案的开头至标准输出中,而tail想当然就是看档案的结尾。

语法:head [参数]... [文件]...

功能:head用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行

选项:
• - n<行数> :显示的行数


11.tail指令

tail命令从指定点开始将文件写到标准输出.使用tail命令的 - f选项可以方便的查阅正在改变的日志文
件, tail  - f filename会把filename里最尾部的内容显示在屏幕上, 并且不断刷新, 使你看到最新的文件内容

语法: tail 必要参数[文件]

功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。

选项:
• - f: 循环读取
• - n<行数>: 显示行数

注:
如果想要获取一个文件中间的某n行,从1000行到1000+n行(使用head和tail):
方法1:用head取出前1000+n行放到一个临时文件中,然后使用tail指令对创建的临时文件取最后的n行
管道
如果不想创建临时的文件,怎么办呢?可以使用这个指令:head -1000+n log.txt |tail -n
那么就要引入一个新知识了----管道,上面这个指令中的 | 就是管道
|  是一种符号,后面会被系统解释成为管道文件,这个文件是个内级的文件
管道通常是支持流水线工作的

 

http://www.dtcms.com/a/449149.html

相关文章:

  • 从工具到中枢:2025 年 AI 重构实体经济的实践图景
  • 虚幻基础:攻击 与 受击 之间的联动
  • 如何在不降低画质的前提下缩小图片体积?附实操方案
  • 个人网站注册费用互联网广告价格
  • 【学习笔记02】C++面向对象编程核心技术详解
  • vite与ts的结合
  • arcgis如何将一部分shp地图截取下来并处理成networkx格式
  • .NET Aspire深度解析:重新定义云原生分布式应用开发的“秘密武器“
  • 标准件网站开发手机淘宝网页版
  • 【网络编程】揭秘 HTTPS 数据安全:加密方案与证书体系的协同防护
  • Windows Server 2022 安装教程(从 ISO 文件安装 Server STD CORE 2022 64位系统)​
  • 【STM32】墨水屏驱动开发
  • Java 大视界 -- 基于 Java 的大数据实时流处理在工业物联网设备故障预测与智能运维中的应用
  • 【MySQL】SQL的分类
  • Flutter GridView 使用指南
  • day86——有效的字母异位词(LeetCode-242)
  • 企业的网站建设费用重庆seo什么意思
  • 网站搭建介绍网站建设的原因
  • 怎么建免费网站建设公司网站新闻宣传管理制度
  • Deep Code Research:当 Deep Research 遇上 ABCoder
  • JavaEE初阶——中秋特辑:网络编程送祝福从 Socket 基础到 TCP/UDP 实战
  • 多模卫星导航定位与应用-原理与实践(RTKLib)3
  • 数字婵娟:一部关于中秋节的计算主义宣言
  • ED2K技术
  • 【数据结构】顺序表0基础知识讲解 + 实战演练
  • GPU即服务:Linux与云原生如何联手开启AI算力“自来水“时代
  • 【数据结构】算法复杂度
  • 校园网门户网站建设招聘网站如何做
  • 深度学习(十六):数据归一化处理
  • 力扣70.爬楼梯