【Linux】Linux基本指令2

目录

1.man指令(重要):

2.echo指令

3.cp指令(重要):

4.mv指令

5.cat指令/echo指令+重定向

6.more指令

7.less指令(重要)

8.head指令

9.tail指令


我们接着上一篇:http://t.csdnimg.cn/bSJx8

我们接着完善ls指令

我们可以直接匹配对应格式的文件匹配出来

1.man指令(重要):

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

访问Linux手册页的命令是man指令

cpp 复制代码
man [选项] 命令

常用选项

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

解释一下,面手册分为8章

  • 1 是普通的命令
  • 2 是系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文 件)
  • 3 是库函数,如printf,fread
  • 4是特殊文件,也就是/dev下的各种设备文件
  • 5 是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
  • 6 是给游戏留的,由各个游戏自己定义
  • 7 是附件还有一些变量,比如向environ这种全局变量在这里就有说明
  • 8 是系统管理用的命令,这些命令只能由root使用,如ifconfig

我们看个例子

就会有 ls 的所有使用方法显示出来

按q可以退出

我们再看

我们可以

我们往下翻

第一个是查基本指令,第二个是查系统调用接口

第三个是查c语言

我们可以用用printf

但是这个printf和c语言的是没有半毛钱关系的,和老婆饼一样

我们应该查3号手册

cpp 复制代码
man 3 printf

注意:我们有的同学可能man手册可能不全,把这个安装一下

cpp 复制代码
sudo yum install man-pages

我们再查

man指令没有带手册的,默认从一号手册开始搜索,一号没有搜2号,依次类推

找不到的会显示下面这个

2.echo指令

我们可以往文件里写入东西

echo指令默认情况下会把后面的字符串原封不动的打印到显示器

我们创建一个txt文件,再使用echo指令便可往txt里写入东西

echo指加个>便可把文件打进文件里

同时显示器也没有显示出来了

我们也看到test.txt刚好12个字符

我们再来验证一下,我们可以使用cat指令------打印文件内容

结果很明显了啊

3.cp指令(重要):

语法:

cpp 复制代码
cp [选项] 源文件或目录 目标文件或目录

把源文件拷贝到目标文件里

功能: 复制文件或目录

说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录, 则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存 在的目录,则会出现错误信息

常用选项:

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

我们直接看例子好吧

我们先拷贝普通文件

很简单

有一点要注意,不能像下面这样使用cp,因为当前目录有相同名字的文件了

在同一个目录下,不能存在同名的文件,windows也是如此

cp默认拷贝到当前路径下

我们可以把它拷贝到上一级目录下

很简单
我们要拷贝目录呢?

我们要拷贝108_class,,就需要加选项-r

太酷了

我们把它删掉,再继续演示

我们演示

4.mv指令

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

语法:

cpp 复制代码
mv [选项] 源文件或目录 目标文件或目录

功能:

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

常用选项:

举例:

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

我们先看它的重命名的作用

有点像windows的重命名
mv还能用来剪切(windows下的ctrl+x)

我们再看几个例子


它既可以一起剪切和重命名

这个很明显了

mv就可以认为是剪切并重名,默认使用原名而已

未来我们可能执行某些指令,系统不管我们了------疯狂打印什么的

我们点ctrl+c终止所有因为程序和指令异常,而导致我们无法进行指令输入

你不知道怎么退出来------无脑ctrl+c
指令是可执行程序**------和我们自己写的代码编译的可执行程序(.exe)是没有任何区别的**

指令一定是在系统某一个位置存在的

你猜对了,在/usr/bin里面

我们也可以用c语言生成自己的可执行程序

我们可以将自己的可执行程序放到这里------这就是指令安装(相当于我们添加了一条指令)

不要随便添加

windows中也有类似的------快捷方式
我们可以验证一番

which指令专门找指令是啥,在哪里的

我们也可以使用alias指令来给指令起别名

万一我们不要这个别名了,我们可以

5.cat指令/echo指令+重定向

我们先讲重定向的概念

Linux下一切皆是文件------比如显示器,键盘,网卡,cpu,话筒,扬声器,普通文件......

因为它们都可以输入和输出

很震惊吧!于是就有了重定向的概念

我们看

cat是用来输出文件内容的

我们看个例子

echo把它后面的全当作字符串,打印到显示器

cat是打印文件的内容打印到显示器

我们接着看

输出重定向的特点:向目标文件进行写入时,是从文件最开始的地方覆盖旧的东西

  • 1.清空文件
  • 2.写入新内容

我们清空文件很简单

重定向扩展:我们怎么解决上面那个问题?

我们使用追加重定向(>>)即可,这个特别像append

我们发现这个echo会换行,我们可以使用printf,这个不会换行

我们回到cat

如果我们什么也不加

我们发现cat默认从键盘获取数据

我们看看下面这个

这个就代表cat从A.txt获取信息,这个叫输入重定向

我们甚至能使用重定向来创建新文件

我们正式介绍cat

语法:

cpp 复制代码
cat [选项][文件]

功能: 查看目标文件的内容

常用选项:

  • -b 对非空输出行编号
  • -n 对输出的所有行编号
  • -s 不输出多行空行

cat最基本的功能

我们看看cat的选项

我们加几个空行进去


我们上面使用cat打印比较短的文件,展示效果很好

那比较长的文件呢?

我们来构建一个比较长的文件

我们想看第1000行,发现cat不行

cat就不适合大文本

cat就适合小文本

cat不适合大文本,那谁适合?

当然是more

6.more指令

语法:

cpp 复制代码
more [选项][文件]

功能:more命令,功能类似 cat

常用选项:

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

我们看看即可

数据只显示一页,我们按enter就能往下走

按q就能退出去

我们可以直接跳到第1000行

more只能往下翻

这个我们用的很少**,我们一般用less**

7.less指令(重要)

less 工具也是对文件或其它输出进行分页显示的工具,应该说是linux正统查看文件内容的工具,功能极 其强大。

less 的用法比起 more 更加的有弹性。在 more 的时候,我们并没有办法向前面翻, 只能往后面看 但若使用了 less 时,就可以使用 [pageup][pagedown] 等按键的功能来往前往后翻看文件,更容易用 来查看一个文件的内容! 除此之外,在 less 里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜。

语法:

cpp 复制代码
less [参数] 文件

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

选项:

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

我们按enter往下翻 , 按[pageup][pagedown] 等按键来往前往后翻看文件

搜索文本

我们为什么要看大文本?什么才是大文本

项目 ,日志

8.head指令

我们只想看大文件的前n行,就使用head指令

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

语法:

cpp 复制代码
 head [参数]... [文件]... 

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

选项:

  • -n 显示的行数

9.tail指令

tail 命令从指定点开始将文件写到标准输出.

使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不但刷新,使你看到最新的文件内容.

语法:

cpp 复制代码
tail[必要参数][选择参数][文件] 

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

选项:

  • -f 循环读取
  • -n 显示行数

tail也是默认显示10行

我们可以修改一波

我们想看第1000-1020行,怎么做?

第一种方法------辅助文件

我们再提取

我们看看第二种方法 ------管道文件

|是一种符号,被系统解释成管道文件(不会在磁盘存在,它是内存级别文件)

什么是管道?

我们再用用

管道支持流水线式使用

未完待续......

相关推荐
wavemap16 分钟前
AWS 新加坡EC2 VPS 性能、线路评测及免费注意事项
linux·网络·云计算·aws·aws-ec2·vps评测
BAGAE2 小时前
tomcat,appche,nginix,jboss区别
java·linux·数据库·ubuntu·tomcat
zqzgng2 小时前
裸金属服务器和专属主机的区别是什么?
linux·运维·服务器
Mr.kanglong2 小时前
【Linux】TCP网络编程
linux·运维·服务器
yylの博客2 小时前
windows下生成的脚本,linux无法正常运行问题
linux·windows·go
孤邑2 小时前
【Linux】select,poll和epoll
linux·网络·笔记·学习
OkeyProxy2 小时前
Linux系統中修改IP地址詳細教程
linux·代理模式·proxy模式·ip地址·代理ip
粥啊、2 小时前
八、Linux下的火墙管理及优化
linux·运维·服务器
雾间云2 小时前
【Linux】基础-文件系统
linux·运维·服务器
歌笑爱学习2 小时前
【软件国产化】| Windows和Linux下文件名后缀是否区分大小写
linux·c语言·c++·windows