【Linux常见指令以及权限理解】基本指令(2)

这篇具有很好参考价值的文章主要介绍了【Linux常见指令以及权限理解】基本指令(2)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

写在前面

今天我们继续学习Linux的基本指令,

这里是上一篇博客的链接:http://t.csdn.cn/9AgHP

接下来我会继续讲解Linux指令相关内容。

目录

写在前面

1. man

描述:

用法:

例子:

例1:

例2:

2. cp

描述:

用法:

例子:

例1:

例2:

例3:

例4:

3. mv

描述:

用法:

例子:

例1:

例2:

例3:

4. 扩展 

4.1 出现奇怪的问题咋办

4.2 如何理解指令?

4.3 别名

4.4 补充内容:(重定向)

输出重定向:

追加重定向:

补充:

输入重定向

5. cat

描述:

用法:

例子:

例1:

例2:

6. more 

描述:

用法:

例子:

例1:

例2:

7. less

描述:

用法:

例子:

例1:

 8, 9. head 和 tail

描述:

用法:

例子: 

例1:

例2:

补充内容:(管道) 

总结:

写在最后:


1. man

描述:

Linux的命令千千万,我们不可能全部都记住。

man手册可以用来查询一些我们忘记或者不了解的指令/接口。

用法:

man + (数字) + 指令名称

例子:

例1:

比如说我们可以用man手册学习一下ls命令:

【Linux常见指令以及权限理解】基本指令(2)

 我们可以看到有很多选项:

【Linux常见指令以及权限理解】基本指令(2)

 注:(如果man手册不起作用,可以输入:yum install -y man-pages )

例2:

既然man手册可以查看系统的指令,我们当然也可以用man手册学习如何使用man手册:

【Linux常见指令以及权限理解】基本指令(2)

 我们可以看见,man手册有很多选项:

【Linux常见指令以及权限理解】基本指令(2)

 这里我们只需要了解最常用的前3个:

1. 第一个,也就是直接使用man可以查询Linux自带指令

2. 第二个,使用 man 2 选项可以查询系统调用接口

例:

【Linux常见指令以及权限理解】基本指令(2)

fork就是一个系统调用接口,可以创建一个子进程:

【Linux常见指令以及权限理解】基本指令(2)

3. 第三个,使用 man 3 选项可以查看C语言的接口

例:

【Linux常见指令以及权限理解】基本指令(2)

相信大家对printf并不陌生:

【Linux常见指令以及权限理解】基本指令(2)

 这就是我们需要学习的三个选项。

2. cp

描述:

这是一个拷贝指令,可以拷贝文件、目录。

用法:

cp + 选项 + 源文件或目录 目标文件或目录        

常用选项:-r (递归拷贝)

例子:

例1:

【Linux常见指令以及权限理解】基本指令(2)

 拷贝文件到当前的目录下。

例2:

【Linux常见指令以及权限理解】基本指令(2)

拷贝目录到当前文件下。

 例3:

【Linux常见指令以及权限理解】基本指令(2)

可以把文件拷贝到上级目录,

所以,我们可以通过相对路径,将文件拷贝到我们想要的地方:

【Linux常见指令以及权限理解】基本指令(2)

 我们拷贝了一个文件进test目录里面。

例4:

当然,我们也可以验证一下,这个拷贝是否真的把整个文件拷贝了:

【Linux常见指令以及权限理解】基本指令(2)

我们可以观察到,test.txt文件里面的内容,

copy.txt里面也有,可以得出结论,cp确实拷贝了这个文件。

注:(补充一点:同一个目录下不能存在同名文件)

注:(echo 是输出指令,可以向屏幕输出)(举个例子)

例:(我们往屏幕输出了 hello Linux )

【Linux常见指令以及权限理解】基本指令(2)

注:( > 是输出重定向,我们将echo输出的内容重定向到了test.txt文件里面 )

注:(cat 指令可以查看文件内容) 

3. mv

描述:

可以用来移动文件或者给文件改名。

用法:

mv + 文件原名 + 新的名字

mv + 文件名 + 目录

例子:

例1:

修改名字:

【Linux常见指令以及权限理解】基本指令(2)

把test.txt 改名成name了。 

例2:

移动文件:

【Linux常见指令以及权限理解】基本指令(2)

 我们把test目录移动到了上级目录。

例3:

移动并改名:

【Linux常见指令以及权限理解】基本指令(2)

 我们可以发现,移动到上级目录的test被改名成了name。

以上是mv命令。

4. 扩展 

4.1 出现奇怪的问题咋办

比如说,Linux的命令行输出命令用不了了:

【Linux常见指令以及权限理解】基本指令(2)

你好像输什么他都不停止,这个时候,可以:

Ctrl + c 

【Linux常见指令以及权限理解】基本指令(2)

如果遇到解决不了的问题或者死循环之类的,可以用这个指令杀掉当前的进程。

注:(可以解决大部分问题(但不是万能的!))

4.2 如何理解指令?

1. 我们发现指令是可以运行的,

指令和可执行程序都可以运行->指令就是可执行程序!

那我们的指令放在哪里呢?

【Linux常见指令以及权限理解】基本指令(2)

我们可以看到,随便输入的字符,当前的shell跟我们说 not found 找不到指令,

那系统是在哪找我们的指令的?

2. 指令在执行前,做了什么?

先在系统中查找对应的指令(指令一定是在系统的某一个位置存在的!)

问题来了:指令究竟在哪里?

【Linux常见指令以及权限理解】基本指令(2)

 实际上,指令就在这个目录里面:

【Linux常见指令以及权限理解】基本指令(2)

 我们发现这些指令都是存在的!

【Linux常见指令以及权限理解】基本指令(2)

因此我们可以得出这样一个结论,

指令是在系统特定的路径下存在的!

 而这些指令一定是某种可执行程序(而且一定是用C/C++/shell...这些语言写出来的!)

那么,现在我们就要做一个实验了:

【Linux常见指令以及权限理解】基本指令(2)

我们用nano(记事本)写一段C语言程序

 【Linux常见指令以及权限理解】基本指令(2)

 然后执行:

【Linux常见指令以及权限理解】基本指令(2)

注:(这里是用gcc编译这段代码)

然后改名:

【Linux常见指令以及权限理解】基本指令(2) 

既然我们这个是可执行程序,如果我们把它放到指令的位置,

只不是也能像指令一样执行呢???

确实是这样的!!!

 (但是把程序放进指令的地方需要比较高的权限,我们这里切换到root用户)

【Linux常见指令以及权限理解】基本指令(2)

注:(我用su 命令切换到root用户(输入su,然后输入root的密码))

我们将mytest 拷贝进指令的位置:

 【Linux常见指令以及权限理解】基本指令(2)

 发现没有,mytest真的可以像指令一样使用了。

结论:

指令的本质就是可执行程序,

和我们自己写的代码编译好的可执行程序没有本质区别!(唯一的区别可能是别写的比你好...)

注:(我们把这个可执行程序拷贝到系统,这其实就是一种安装)

当然,最后别乱污染系统的指令:

【Linux常见指令以及权限理解】基本指令(2)

我们就直接把它删除了。 (这其实就是卸载) 

所以:系统的指令其实就是别人写好的可执行程序放到系统里面,仅此而已。

最后总结:指令的本质就是一个文件(一个可执行的文件)安装到了系统的某种路径下。

(可以在我们要使用的时候自动查找,仅此而已。)

4.3 别名

那话又说回来,ls -l 为什么可以写成 ll 呢?

例:

【Linux常见指令以及权限理解】基本指令(2)

我们可以看看 ll 指令是啥:

【Linux常见指令以及权限理解】基本指令(2)

注:(which 指令可以看一条指令是啥,第二行是该指令的位置)

例:(我们也可以看看其他指令,比如:rm)

【Linux常见指令以及权限理解】基本指令(2)

这里就不再去看其他指令了,感兴趣的话可以自己去试试。

我们观察 ll 指令可以发现,他有个:alias ll = 'ls -l -- color=auto'

 这个意思其实就是 ll 是 ls -l 的别名,而后面那个 -- color=auto 是配色方案。

注:(有时候为了方便使用,就可以给指令设置别名)

例:(比如说我们想起个别名)

【Linux常见指令以及权限理解】基本指令(2)

 我给mycmd 起了个别名,就能直接使用了。(就是 ls -al )

注:(这个重命名方法只存在于这一次(你关掉xshell重进就会没了))

那为什么 ll 一直都在呢?因为他被写在了配置文件里面。

注:(不建议自己重命名,学好系统的指令再说)

4.4 补充内容:(重定向)

我在这里抛出一个概念:(或者说是理解Linux的一种思想)

Linux下一切皆文件 - 比如:显示器、键盘、普通文件...

比如说:(我用这三个例子进行说明)

1. 我们向显示器写入,不就是对显示器写入吗:write()(对显示器文件进行写入操作)

实际上,我们是不能读取显示器文件的信息的,但是我们也认为在显示器文件

里面是存在:read() 这样的一个函数/方法,但是这是个空方法,无法使用而已。

2. 系统从键盘读取数据,那么可以想见,键盘具有:read() 这样的一个函数,

系统不可能往键盘里写入什么数据,总不可能系统给键盘写入一个a,你键盘的a建就跳起来吧,

所以我们可以推断出键盘文件中:write() 写入函数是一个空函数,无法使用。

3. 而普通文件,我们可以对文件进行读取 read() 和 写入 write()。

根据这三个例子,我们可以发现他们都可以具有读写方法,所以我们当然可以把他们当文件!

注:(当然,文件操作的方法肯定不止读写,这里我使用读写方法作为例子举例。)

注:(系统里面还有很多很多东西,还有硬件设备,在Linux下,他们都是文件吗?是!!!

总结:Linux下一切皆文件!(初步理解)

输出重定向:

 所以:(我们使用 echo 指令往显示器上打印这串字符)

【Linux常见指令以及权限理解】基本指令(2)

 现在我们把这句话说成:echo 指令将这串字符写入到显示器文件中。

【Linux常见指令以及权限理解】基本指令(2)

而我们使用 > 重定向,显示器上就没有显示出这段话了,

将原本应该写入到显示器文件的内容写入到out.txt文件里面,

这种操作就叫做重定向。

而 cat out.txt 就相当于把out.txt文件的数据写入到显示器文件里面。

输出重定向有一个特点:

例2:

【Linux常见指令以及权限理解】基本指令(2)

 实际上进行输出重定向的时候会覆盖原内容,具体操作如下:

1. 清空文件

2. 写入新内容

例2:

【Linux常见指令以及权限理解】基本指令(2)

我们发现如果重定向往文件写入空,文件就清空了(对应上面的操作)

追加重定向:

【Linux常见指令以及权限理解】基本指令(2)

 我们发现用 >> 追加重定向,就不会清空文件,并在文件尾写入。

注:(在C语言文件操作中,使用 -a 选项其实就是追加(append))

注:(echo 指令自带换行)(printf 指令不自带换行(有兴趣可以试试))

补充:

如果我们使用cat指令,后面什么都不加会怎么样?

【Linux常见指令以及权限理解】基本指令(2)

 我们输入什么,他就自动输出什么,

结合我们刚刚学的,cat 指令默认就是从输入设备(键盘)读取,写入到显示器文件中。

输入重定向

【Linux常见指令以及权限理解】基本指令(2)

本来 cat 应该从键盘文件读取数据,现在变成从指定文件读取了,

这就是输入重定向。 

那么补充知识暂时到这里了,我们继续学习指令。

5. cat

描述:

cat 命令可以查看文件内容。

用法:

cat + 文件名

例子:

例1:

用cat 查看test.c文件内容。

【Linux常见指令以及权限理解】基本指令(2)

例2:

如果一个文件内容很多会咋样?

【Linux常见指令以及权限理解】基本指令(2)

我们用shell 脚步写一万行hello Linux进test.txt文件

注:( cnt=1; while [ $cnt -le 10000 ]; do echo "hello Linux $cnt"; let cnt++; done > test.txt ) 

【Linux常见指令以及权限理解】基本指令(2)

我们发现用cat 查看该文件内容,直接被刷屏了,

如果我们想要看开头咋办,那就会很麻烦。

6. more 

描述:

可以查看文件内容。

用法:

more + 文件名

选项 -n (可以选择看哪行)

例子:

例1:

【Linux常见指令以及权限理解】基本指令(2)

用more查看test.txt文件:

【Linux常见指令以及权限理解】基本指令(2)

会从头开始查看。

注:(按 enter 下翻)(按 q 键退出) 

实际上,我们没办法上翻(more只支持下翻...)

【Linux常见指令以及权限理解】基本指令(2) 

我们可以用 / 查找文件内容:

【Linux常见指令以及权限理解】基本指令(2) 

例2:

我们可以在用more的时候就选择看哪行:

【Linux常见指令以及权限理解】基本指令(2)

这样就直接跳转到这里了: 

【Linux常见指令以及权限理解】基本指令(2) 

实际上我们用more用的不多(因为其实不太好用)

7. less

描述:

可以查看文件内容的命令。

用法:

less + 文件名

例子:

例1:

【Linux常见指令以及权限理解】基本指令(2)

用less指令查看test.txt文件:

【Linux常见指令以及权限理解】基本指令(2) 

less 命令也支持用 / 查找内容:

【Linux常见指令以及权限理解】基本指令(2)

这样就能找到999出现的地方:

【Linux常见指令以及权限理解】基本指令(2) 

注:(less 支持上下翻(直接用键盘的上下键即可))

 8, 9. head 和 tail

描述:

head可以查看文件头部内容,tail可以查看文件尾部内容。

用法:

head -n 文件名

tail -n 文件名

选项:n代表你选择的行数(也可以不加)

例子: 

例1:

用head查看文件头:

【Linux常见指令以及权限理解】基本指令(2)

用head从上往下查看文件指定位置:
【Linux常见指令以及权限理解】基本指令(2)  【Linux常见指令以及权限理解】基本指令(2)

注:(查看头1000行内容)

例2:

用less查看文件尾:

【Linux常见指令以及权限理解】基本指令(2)

 用tail从下往上查看文件大小:

【Linux常见指令以及权限理解】基本指令(2)

 【Linux常见指令以及权限理解】基本指令(2)

注:(查看尾5行的内容)

补充内容:(管道) 

如果有这样一种场景,

我们想要查看这个文本的1000~1020行,我们可以怎么做?

我们当然可以用less直接去查找,

但是,我们也可以这样:

 【Linux常见指令以及权限理解】基本指令(2)

那么问题来了,这个 |   是什么?

这个 | 就是管道文件。

管道文件是一个内存级的文件,(我们该怎么理解这个‘内存级’?)

比如说:

我们要修改一个文件,系统是直接在磁盘了修改,还是先加载到内存呢?

答案显而易见,系统需要先把文件加载到内存

换句话说,所有的文件都需要被加载到内存再进行操作,

所以这些文件在一定的生命周期里他们都是内存文件,

一个程序把自己的执行结果写到管道文件里,另一个文件再把数据从管道里读出来,

这就是管道。

所以上面的那张图片的工作原理就是这样的。

注:(管道通常可以支持流水线工作(将数据一步步加工直到我们满意))

总结:

我们今天学习了Linux一些新的指令,

还加深了对Linux系统的理解,接触了Linux下一切皆文件的思想,

认识到指令其实就是Linux系统下的软件,一个可执行程序,而且我们能在系统找到他们,

了解了重定向以及管道相关的知识。

想要和我一起继续学习和探索Linux的奥秘,可以订阅这个专栏哟~Linux从入门到精通。

写在最后:

以上就是本篇文章的内容了,感谢你的阅读。

如果感到有所收获的话可以给博主点一个哦。

如果文章内容有遗漏或者错误的地方欢迎私信博主或者在评论区指出~文章来源地址https://www.toymoban.com/news/detail-427500.html

到了这里,关于【Linux常见指令以及权限理解】基本指令(2)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Linux】——常见指令及权限理解

    今天开始带大家来学习Linux系统编程,Linux是一个纯指令操作的操作系统,所以熟悉Linux的常见指令是最重要的第一步,本文作为Linux板块第一篇文章,首先为大家介绍Linux中常见的指令及Linux中权限的理解。 首先我们要学习的是用户管理的指令,这是必须的。如果不添加普通用

    2024年02月05日
    浏览(41)
  • Linux权限(+Linux基本指令(下))

    目录 一.基本指令补充 1.date指令 2.find指令 3.tar指令 4.Linux下的常用热键 二.Linux权限 1.Shell 2.Linux权限的概念 3.Linux文件的默认权限值 Linux下的文件权限的起始值:   文件权限掩码与文件权限默认值:  4.Linux的文件权限修改 文件拥有者属性修改: 文件权限值(可操作属性)修改: 5.特

    2024年02月05日
    浏览(36)
  • 【Linux】3. 基本权限与文件指令

    角色和文件属性是一一对应的关系: 拥有者-所属组-其他人 rwx - rwx - rwx 首先要明确一点: 粘滞键是用于公共目录下的,也就是777 (原因:other用户可以删除拥有者的文件,需要写入权限) 1.目录的可执行权限是表示你可否在目录下执行命令。 2.如果目录没有-x权限,则无法

    2024年02月01日
    浏览(44)
  • Linux的基本指令和权限的知识

    学前的建议: 大家不要太关注指令是啥,记不住怎么办(没事,想用时去查就好了),这篇文章重点部分是围绕指令的周边知识。毕竟指令是“死肌肉”,而一些关于Linux和操作系统的 理论知识才是最重要滴!!! 加红的选项, 需要多练,在日常使用频繁!!! 目录 1. L

    2024年02月04日
    浏览(34)
  • 【Linux】Linux下常见基本指令

    🌱博客主页:大寄一场. 🌱系列专栏:Linux 😘博客制作不易欢迎各位👍点赞+⭐收藏+➕关注   目录 前言 一、文件和目录操作指令 ls指令 pwd指令 cd指令 touch指令 rmdir指令 rm 指令: man指令: mv指令: cp指令 二、文件内容查看指令 cat指令 less指令 more指令 head指令 tail指令 gr

    2024年02月02日
    浏览(37)
  • Linux常见基本指令

            本文将详细的介绍Linux中各常见指令的用法,并且在每个指令都有使用样例。一共有以下指令:         1. man指令         2.目录基础指令:2.1 pwd指令、2.2 ls指令、2.3 cd指令         3.文件创建与删除:3.1 touch指令、3.2 mkdir指令、3.3 rmdir 指令 rm 指令   

    2024年02月22日
    浏览(42)
  • 【Linux】常见基本指令

    目录 1. ls指令 1.1、ls  1.2、ls -l或 ll 1.3、ls - a 1.4、ls -d 1.5、ls -i  1.6、ls -n  1.7、ls -F 1.8、ls -R 2、pwd指令  3、cd指令 4、touch指令 5、mkdir 指令 6、rmdir指令  rm 指令(重要)  7、man 指令(重要) 8、cp指令(重要) 9、mv指令(重要)  10、cat指令 11、more指令  12、less指令(重

    2024年02月03日
    浏览(48)
  • 【Linux】Linux背景&&常见的基本指令

    Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由 林纳斯托瓦兹 在1991年首次发布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。严格来讲,Linux只是操作系统内核本身,但通常采用“Linux内核”来表达该意思。而Linux则常用来指基于Linu

    2023年04月19日
    浏览(34)
  • 【Linux】常见的基本指令详解

    对于不了解 Linux 的同学来说,可能根本不懂 Linux 是什么,接下来我会简单介绍一下 Linux。大家可能对操作系统不太了解,那么我们常用的电脑中的 windows 系统大家应该听过,windows 系统和 Linux 系统都是一款 操作系统 。 Linux是一种自由和开放源代码的类UNIX操作系统,该操作

    2024年02月15日
    浏览(39)
  • 【Linux基本指令(2)】几十条指令快速入手Linux/深入理解什么是指令

    本文思维导图: *号匹配。 功能:可以匹配任何东西。 比如: 可以看到,*号可以匹配任何东西, 2.ctrl + c指令:终止因为程序或者指令异常,而导致我们无法进行指令输入。 3.Linux下一切皆文件 对于显示器来说,显示器文件有写方法(fwrite),有读方法(fread),但是读方法

    2024年02月06日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包