Linux基础知识(二)常用操作命令

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_42738043/article/details/86222506

一、帮助文档操作

1.帮助文档简介

首先要清楚为什么要把帮助文档作为开篇的介绍,因为在踏入Linux的学习之旅的时候,我们最关心的就是如何在漆黑的命令行下面手足无措的时候,需要获得一丝心灵的慰藉,在前方给我们一线光明,引领我们跨过Linux的这道坎.

那么就不得不提到帮助文档的使用,因为帮助文档的系列命令正是我们的救命稻草,而且也是我们自学的利器.

那在学Linux的时候,我们常开玩笑的说,有命令不会啊,不会你问男人(man)啊,这个男人(man)肯定会告诉你的!

那么这个男人需要给他来点配饰(参数)才能尽显他的才华.当然除了man以外,他的兄弟姐妹也是众多的,那么我就给大家一一介绍,让他们各显神通.

那么ok,我们先必需要做的就是安装man帮助文档的包了.

以root用户身份在网络畅通的情况下输入

yum install man

http://ke.dajiangtai.com/content/513/1.png

然后,进行安装.

http://ke.dajiangtai.com/content/513/2.png

http://ke.dajiangtai.com/content/513/3.png

Ok,安装好之后我们就可以正式使用帮助相关的命令了.

2.查看命令的简要说明---whatis

我们在命令行中输入whatis

http://ke.dajiangtai.com/content/513/4.png

提示我们输入关键词,这个时候我们使用whatis man来进行查看.

http://ke.dajiangtai.com/content/513/5.png

呀,出问题了,为什么不能显示呢.老师是骗人的吧…不是这样的,请看下面的原因:

检索参数所查阅的资料库是位于Linux系统中一个名为whatis的资料库,这个资料库会搜集系统内所有指令的资讯,通常会在每天的午夜时分进行自动更新的作业,如果当你的主机可能没开启超过更新的时间时,该资料库便不会自动产生。此时,如果你又透过检索参数进行查阅时,会得到nothing appropriate这样的错误讯息回应。

这时候你可以透过root使用者执行makewhatis这个指令来手动建立此资料库

有了这个资料库才能使用whatis跟apropos这两个指令或是man的检索参数来查询指令。

所以说我们需要对其进行更新才能正确的使用.

http://ke.dajiangtai.com/content/513/6.png

这时候再试一次刚才的命令.

http://ke.dajiangtai.com/content/513/7.png

OK,这个时候显示成功,告诉我们man是一种带有格式的帮助文档而且会在线显示.

3.查看命令的详细说明---info

感觉whatis显示的太简单,毕竟没有相关的参数使用方式.那么这时候我们就可以使用info命令了.

http://ke.dajiangtai.com/content/513/8.png

这回详细了,所有的使用方法及介绍都出来了…

查看:我们可以上下进行光标的移动,可以使用Page Up或Page Down来进行翻页查看.当然也可以使用空格进行查看.

退出:我们直接按q可以退出帮助页面.

4.查看命令的所在位置---which或whereis

http://ke.dajiangtai.com/content/513/9.png

直接显示man所在的位置.

但当系统中安装了同一软件的多个版本时,不确定使用的是哪个版本时,whereis这个命令就派上用场了.

Whereis man

http://ke.dajiangtai.com/content/513/10.png

5.查看命令的具体详细使用方法---man

最后也是重中之重的男人(man)了!

我们使用man man

http://ke.dajiangtai.com/content/513/11.png

查看:我们可以上下进行光标的移动,可以使用Page Up或Page Down来进行翻页查看.当然也可以使用空格进行查看.

退出:我们直接按q可以退出帮助页面.

但是大家可能比较迷惑,这个man说了一大堆东西,有啥规律吗?

那么在man的帮助手册中,将帮助文档分为了9个类别,对于有的关键字可能存在多个类别中, 我们就需要指定特定的类别来查看;(一般我们查询bash命令,归类在1类中);

man页面所属的分类标识(常用的是分类1和分类3) :

(1)、用户可以操作的命令或者是可执行文件

(2)、系统核心可调用的函数与工具等

(3)、一些常用的函数与数据库

(4)、设备文件的说明

(5)、设置文件或者某些文件的格式

(6)、游戏

(7)、惯例与协议等。例如Linux标准文件系统、网络协议、ASCⅡ,码等说明内容

(8)、系统管理员可用的管理条令

(9)、与内核有关的文件

http://ke.dajiangtai.com/content/513/12.png

那么具体的意思可以看下下面的表格进行对照

手册页内容

描 述

NAME

程序或者命令的名称、手册节号及发布日期

SYNOPSIS

怎样调用命令,带有所有选项和参数的完整列表

DESCRIPTl0N

命令及其用法的简短小结

RETURN VALUES

程序或者库函数返回值,以及产生特定返回值的环境

EXIT STATUS

经常用来替代服TURNVALUS

OPTIONS

按字母顺序排列的选项和参数清单,如果有的话

FILES

命令使用的或者能使用的文件清单

USAGE

用程序的语言说明的简明语法,如果有的话

ENVIROMENT

命令使用的或者能使用的环境变量清单

DIAGNOSTICS

命令产生的错误信息及其解决办法的清单

NOTES

不能够归入其他任何一种类别下的所有信息

CONFORMING TO

列出程序遵循的任何标准,比如PoSIX或ISO

SEE ALSO

和命令有关的交叉索引和信息

BUGS

指出己知的bug和错误功能,以及怎样和程序的作者联系修正它们

AUTHOR

命令的作者或者维护者的名字,可能带有电子邮件地址或URL地址

 

二、文件目录操作

Linux在前面已经介绍了所有目录的相关概念,FHS也是标准化这些目录的.

那么接下来要给大家介绍的是关于档案的相关概念.因为在Linux系统中, 任何装置在Linux底下都是档案.

那么,在Linux系统中最常见的就是一般档案(-)和目录档案(d).

那么这两个档案怎么进行区分呢,我们进入到之前教大家修改网卡的/etc目录进行ls –l 查看(-l会显示详细信息).

http://ke.dajiangtai.com/content/514/1.png

那么,那么上面的一行代表的就是一般档案了,因为最左面是横杠(-).

而下面的那个就是目录,大家看到最桌面的是目录(d),同时这个文档在Xshell中也显示成了蓝色,这样易于区分.

那么除了以上这些文档以外,大家如果仔细看的话,应该还能看到最左面是这样的档案.

http://ke.dajiangtai.com/content/514/2.png

这个档案的标志是l,它其实跟Windows系统上的快捷方式很像,就是一个连结档,我们可以通过这个文档链接到后面所指向的具体文件.

这时候我们在进入/dev这个目录下.使用ll进行查看.

http://ke.dajiangtai.com/content/514/3.png

这个时候多出来一个C,S,b,然后这些都代表什么呢.

b:代表的是区块(block)设备档,就是一些储存资料,以提供系统随机存取的周边设备,举例来说,硬碟与软碟等就是啦,你可以随机的在硬碟的不同区块读写,这种装置就是区块装置啰!

c:代表的是字元(character)设备档,亦即是一些序列埠的周边设备,例如键盘、滑鼠等等!这些设备的特色就是‘一次性读取’的,不能够截断输出。

s: 代表的是资料接口档(sockets),既然被称为资料接口档, 想当然尔,这种类型的档案通常被用在网路上的资料承接了。我们可以启动一个程式来监听用户端的要求, 而用户端就可以透过这个socket来进行资料的沟通了。

大家可以看到虽然Linux的档案种类是较为繁多的,其实在我们的Windows系统上都是与之相对应的存在相关的文件,只不过Linux系统将所有设备,驱动及文件都抽象成了档案的概念,这样便于Linux的操作人员对其进行操作了解其底层的实现细节.

但是大家在学习的时候,只需要了解常用的档案就可以了,比如我前三个介绍的-,d,l.一般这三个档案是我们比较常用的,大家一定要熟记哦~

1.相对路径和绝对路径的概念

你必须要先了解一下路径(PATH)这个概念, 路径就是我们找到一个文档所经过的”路”,也就是它的位置.

绝对路径:路径的写法(一定由根目录 / 写起),例如:/usr/share/doc 这个目录。

相对路径:路径的写法(不是由 / 写起),例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成:cd ../man这就是相对路径的写法!相对路径指的是:相对于当前工作目录的路径.

相对路径的用途

假设你写了一个档案, 这个软件共需要三个目录,分别是 etc, bin, man 这三个目录,然而由于不同的人喜欢安装在不同的目录下, 假设甲安装的目录是/usr/local/packages/etc,/usr/local/packages/bin及/usr/local/packages/man,而却喜欢安装在/home/packages/etc, /home/packages/bin, /home/packages/man 这三个目录中,请问如果要切换目录,使用绝对路径的话,是不是很麻烦?

那么如果我们用相对路径进行切换的话,在/usr/local/packages/etc这个目录,想进入/usr/local/packages/bin及/usr/local/packages/man这两个目录,我们只需要cd ../bin及cd ../man就可以了.是不是很简单?

绝对路径的用途

但是对于档案名的正确性来说,绝对路径是不会出错的,比如我们要在不同的Linux系统中配置shell脚本的话,使用相对路径会由于当前位置的不同它的上一级目录也不同,这样非常容易出现各种各样的问题.所以,为了避免这种情况的发生,我们在编写shell脚本的时候,我们一般会使用绝对路径来进行编写.

2.目录操作相关命令

cd (变换目录)

cd是Change Directory的缩写,就是用来变换工作目录的命令.目录名称与cd命令中间是有个空格的.

那么刚登入系统的时候,我们使用root用户会默认进入到root用户的家目录中.

具体的cd命令使用如下:

cd [相对路径与绝对路径]

进入指定的相对或者绝对目录中

cd ~dajiangtai

进入到dajiangtai用户的家目录

cd ~

表示回到自己的家目录

cd ..

表示进入当前目录的上级目录

cd

同样表示进入自己的家目录

cd -

切换到刚刚进入那个目录

cd ../home

在root用户的家目录中输入此命令后,会进到上级目录即:/目录,然后再进入到/目录下的home目录中.

pwd(显示当前所在的目录)

pwd是Print Working Directory的缩写,就是显示当前所在的目录.

mkdir(建立新目录)

mkdir是make directory的缩写,表示在当前目录中创建一个新的空的目录.

当然我们可以使用mkdir –p参数来创建多级目录.

http://ke.dajiangtai.com/content/514/4.png

http://ke.dajiangtai.com/content/514/5.png

我们使用ls进行当前文件的查看.加上lR参数可以查看多级的目录.

http://ke.dajiangtai.com/content/514/6.png

rmdir(删除(空)目录)

这个是remove directory的缩写,意思移除空目录.如果目录中有文件的话我们不能这样进行删除.

那么删除多级的目录,我们可以使用rmdir –p 进行删除.

但是要注意的是,这个命令删除的只是目录,如果目录中有一般文档的话就删除不了啦.

ls(档案与目录检视)

那么这个命令就会以列表的形式列出目录中的文件.

那么我们常用的是这两个参数.

ls –a:显示所有的档案.包括隐藏文件.

http://ke.dajiangtai.com/content/514/7.png

其中的档案前面有个.的档案就是隐藏档案.

ls –l:显示文档的详细信息.

http://ke.dajiangtai.com/content/514/8.png

大家可以看到文档的详细信息都列出来了,包括文件的档案类型,文件的属性,所属的用户及用户组,文件的大小,及修改的时间,都显示出来了.

3.文档操作相关命令

cp (复制档案与目录)

cp [-adfilprsu] 来源文件(source) 目标文件(destination).

cp [options] source1 source2 source3 .... directory

把虚拟机的中的文件可以让物理机进行访问.

参数列表:

-a :相当于-pdr 的意思,至于pdr请参考下列说明;(常用)

-i :若目标文件(destination)已经存在时,在覆盖时会先询问动作的进行(常用)

-p :连同档案的属性一起复制过去,而非使用默认属性(备份常用);

-r :递归持续复制,用于目录的复制行为;(常用)

-s :复制成为符号链接文件 (symbolic link),亦即”快捷方式”档案;

-u :若 destination 比 source 旧才更新 destination !

最后需要注意的是,如果来源档案有两个以上,则最后一个目标档案一定要是目录才行.

rm(移除档案或目录)

rm [-fir] 档案或目录

选项与参数:

-f :就是 force 的意思,忽略不存在的档案,不会出现警告讯息;

-i :互动模式,在删除前会询问使用者是否动作

-r :递归删除啊!最常用在目录删除了!这是非常危险的选项!!!

所以这个命令的在使用的时候一定要谨慎,如果删错了文件的话,是找不回来的,在企业中删错了就直接被劝退了哦.

mv(移动档案或目录,或重命名)

mv [-fiu] source destination

mv [options] source1 source2 source3 .... directory

选项与参数:

-f :force 强制的意思,如果目标档案已经存在,不会询问而直接覆盖;

-i :若目标档案 (destination) 已经存在时,就会询问是否覆盖!

-u :若目标档案已经存在,且source 比较新,才会更新 (update).

这个命令很有用,因为它不只是一个功能哦.

touch (修改文档的时间或新建文档)

而我们主要用这个命令来新建文档.touch一下就出来啦.

4.查看相关命令

cat (concatenate)

cat [-AbEnTv] source

常用的参数:

-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!

-n :打印出行号,连同空白行也会有行号,与-b的选项不同;

http://ke.dajiangtai.com/content/514/9.png

http://ke.dajiangtai.com/content/514/10.png

more (一页一页翻动)

命令的相关操作:

空格键 (space):代表向下翻一页;

Enter :代表向下翻『一行』;

/字符串 :代表在这个显示的内容当中,向下搜寻『字符串』这个关键词;

:f :立刻显示出文件名以及目前显示的行数;

q :代表立刻离开 more ,不再显示该档案内容。

b 或 [ctrl]-b :代表往回翻页,不过这动作只对档案有用,对管线无用。

less (一页一页翻动)

它和more的不同在于:more只能向后翻页,不能向前翻页,而less可以哦.

操作列表:

空格键 :向下翻动一页;

[pagedown]:向下翻动一页;

[pageup] :向上翻动一页;

/字符串 :向下搜寻『字符串』的功能;

?字符串 :向上搜寻『字符串』的功能;

n :重复前一个搜寻 (与 / 或 ? 有关!)

N :反向的重复前一个搜寻 (与 / 或 ? 有关!)

q :离开 less 这个程序;

head (取出前面几行)

head就是显示前几行,我们常用的命令是head –n NUMBER,显示前面的NUMBER行.

tail (取出后面几行)

tail的意思是显示后面的几行.

参数列表:

-n :后面接数字,代表显示几行的意思

-f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c 才会结束

tail 的侦测.(这个命令非常有用,因为当我们动态的查看日志的时候就可以使用这个命令来进行监视)

6.查找相关命令

在查找的相关命令中,主要包括两种方式的查找:1.脚本文件名(指令)的查找;2.档案名的查找.

1. 脚本文件名(指令)的查找

which (寻找”执行档”)

which [-a] command

选项或参数:

-a :将所有由 PATH 目录中可以找到的指令均列出,而不止第一个被找到的指令名称

2.档案名的查找

whereis (寻找特定档案)

whereis [-bmsu] 档案或目录名

选项与参数:

-b :叧找 binary 格式的档案

-m :叧找在说明文件 manual 路径下的档案

-s :叧找 source 来源档案

-u :搜寻不在上述三个项目当中的其他特殊档案

Locate

locate [-ir] keyword

选项与参数:

-i :忽略大小写的差异;

-r :后面可接正则表示法的显示方式

Find

高级查找绝对好使.使用这个命令可以根据自己的定义查找.

猜你喜欢

转载自blog.csdn.net/weixin_42738043/article/details/86222506
今日推荐