前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第三章 系统基本命令

第三章 系统基本命令

作者头像
晓天
发布2019-07-04 11:26:45
1K0
发布2019-07-04 11:26:45
举报

3.1 基本操作

3.1.1 命令帮助查看

Linux中命令十分繁多,每个命令又会有很多的参数,所以在实际工作中我们经常会通过查看命令帮助文档的形式,来查找、学习命令的具体使用。查看命令帮助的方式有如下三种:

man ls ---查看命令的详细帮助,q键退出

info ls ---查看命令帮助

ls --help ---查看命令的精简帮助

其中我们日常使用比较多的是man和--help的方式,man是最为详尽的帮助显示,适合于初次学习命令时使用,而--help的显示结果较为简洁,适合于已基本了解命令功能,想要查看参数介绍时使用。

3.1.2 cd命令简介

在windows下,当我们看到一个文件夹时,通常会鼠标双击该文件夹,就会进入并显示出文件夹内容了,仔细分析下双击的操作,其实是有两个分解步骤完成的,一是进入该文件夹,二是显示文件夹内容。而在Linux的命令界面下,对于目录的进入和查看也是分为两步完成的,分别对应了两个命令:cd和ls。

cd命令就是进入文件夹的功能,其具体应用如下:

cd /var/spool/mail ---进入指定目录

cd .. ---进入父目录,..表示父目录即上一级目录

cd - ---跳转回前一次所在位置

cd ---返回用户家目录,等同于: cd ~

cd . --- .代表当前目录

注:指定路径时,开头处加/表示从根目录开始查找指定文件或目录,如: cd /mail,表示进入根下的mail;开头不加/,则表示从当前目录下查找指定文件,如: cd mail 表示进入当前目录下的mail。初学Linux时对于路径的指定容易混淆,需要多加练习和思考。

3.1.3 ls命令简介

上节讲过,字符界面下进入目录使用cd命令,而现实目录下的内容,则需要使用ls命令。ls命令参数十分繁多(可用man查看一下),日常最常用的大约4-5个参数,具体如下:

ls ---显示当前目录下内容

ls /var/spool ---显示指定目录下内容

ls -l ---显示目录下内容的详细信息,等同于 ll。

ls -a ---显示目录下所有文件,包括隐藏文件,Linux中 以 . 开头的文件视为隐藏文件。

ls -l 执行后具体显示结果表示的含义我们会在后续章节中介绍,这里介绍最后三项的意义,先来看下图:

其中最后三项表示:文件大小,单位字节、文件最近一次修改时间、文件名。

如:图中f1文件,大小为10字节 于4月2日19点38分修改,文件名为f1。

ls命令显示后,会见到不同文件会有不同颜色显示,这些颜色是为了帮助使用者区分文件类型而显示的,具体颜色对应如下

白色(GUI界面中是黑色)-二进制文件,即文本文档

蓝色-目录

绿色-可执行程序

青色-软链接,即快捷方式

红色-包文件

黄色-设备文件

3.2 文件管理

类似于windows,Linux中也可以对文件进行增删改查等操作,下面具体逐一介绍。

3.2.1查看文档

首先 vi /mnt/f1 ,写入多行文字,以便后续实验,如图

Linux中查看文档内容,一般有三种方式:

1)cat命令

cat /mnt/f1 ---查看文档的文字内容 , 缺点:无法回翻查看

cat -n /mnt/f1 --- -n 显示行号

注:当文档内容过多,屏幕一屏无法完全显示时,cat命令只会显示到最后一屏的内容,之前内容将被一闪而过,十分不便。所以若要显示内容较多的文件内容,需使用下面的两个命令。

2)more命令

more /etc/grub2.cfg ---分屏显示文档内容,

more界面中可用键:回车-翻行 空格-翻页 b键-回翻页 q键-退出

注:more命令可是实现分屏显示,但可用命令较少,功能不够完备,所以

较less相比使用率略低。

3)less命令

less /etc/grub2.cfg ---分屏显示文档内容

可用键增加了:上 下 按行翻 ,pagedown pageup 按页翻

less -N /etc/grub2.cfg --- -N 显示行号

另:输入 /字符 回车后,实现文档中查找指定的字符,所查找文字会被注黑

3.2.2 目录管理

关于目录管理,我们来介绍下目录的创建和删除操作,分别是mkdir和rm命令

cd /mnt ---进入某个目录,以便实验

mkdir d1 d2 d3 ---创建多个目录

mkdir -p d5/d6 --- -p表示若父目录不存在,则一并创建

rm -rf d1 d2 d3 d5 ---删除目录,具体参数 –r -f下节在做介绍

注:删除目录还有rmdir命令,但rmdir职能删除空目录,所有一般不用

3.2.3 文件管理

cd /mnt ---统一在/mnt下进行实验,因为默认/mnt/下为空,实验效果明显,对系统本身也不会产生影响

1)创建文件

创建文件有三个命令可以实现:touch、>符、vi,具体如下:

touch f1 f2 f3 ---创建空文件,ls -l后可见文件大小为0

echo "aaaaaa" > f4 ---创建单行文字的文件

注:echo 命令,功能向屏幕输出一句话,如图; >符,导入功能,即把前面命令的结果,导入存储到后面的文档中

注意: echo "aaaa" >f4 若目标文件f4已存在,则直接覆盖

vi f5 ---创建并编辑文档,可编辑多行文字.

2)删除文件

删除文件我们使用rm命令,格式、案例如下:

rm -rf f1 f2 f3 d1 d2 d3 ---删除文件、目录

-r 删除目标中允许存在目录,-f 强制删除不询问

读者可以自己试一下rm f1 f2 f3后提示询问是否确定删除的效果,对比加了-f参数后的效果,以便更深入的理解rm命令参数

注:以上删除的实验,读者可根据实验命令,自行事先创建相关文件,如:

touch f1 f2 f3

mkdir d1 d2 d3

以便验证删除命令的实验结果

3)文件复制

对应于windows的操作,Linux中也有文件复制的命令:cp。关于复制,我们首先搭建一个小环境,以便理解,命令如下

cd /mnt

mkdir d1 d2

cd d1

echo ”aaaaaa” > f1

环境说明:在/mnt/下创建两个目录:d1和d2,d1下创建文件f1,内容是一串a字母。

下面来详细介绍下复制命令的格式:

cp 源 目标 ---将源文件复制到目标

例:cp /mnt/d1/f1 /mnt/d2/f2 ---复制文件f1到d2下,并改名为f2

cp /mnt/d1/f1 /mnt/d2 --- 复制文件f1到d2下,不改名

注:本次操作,由于d2原空目录,所以两个复制命令均可成功

实验:再次执行以上两个复制命令,会发现有了提示是否覆盖的

询问,输入y则覆盖,输入n则不覆盖,如图:

解释:由于第一次执行两个复制命令后,d2下已有f1、f2两个文

件,所以第二次执行两个复制命令时,会产生文件名冲突,所以

会有询问。

总结:复制文件时:若目标文件无,则复制成功;若目标文件已

存在,则提示、覆盖

cp -r /mnt/d1 /mnt/d2/d3 ---将d1复制入d2下,并改名为d2

注:复制目录,需要添加-r参数

cp -r /mnt/d1 /mnt/d2 ---将d1复制入d2下,但不改名

查看结果,如图:

分析:cp -r d1 d2/d3 命令执行时,由于d2下为空,目标d3不存

在,所以此命令被视为复制后改名

cp -r d1 d2 命令执行时,由于目标d2已存在,所以此命令被视为复制入d2下,不改名

总结:复制目录时,若目标无,则复制并改名;若目标已存在,则

复制、存入目标目录

4)文件移动

文件移动,即文件的剪切、粘贴,在Linux中称为移动,使用的命令是:mv

mv与cp操作十分相似,唯一不同的是cp后源文件仍然存在,而mv后源文件不存在了。

实验前,先恢复到cp命令前搭建的实验环境状态,可用rm命令删除d2下的所有文件及目录,让d2恢复到空目录状态。

mv的具体操作如下:

mv 源 目标 ---剪切移动命令的格式

mv /mnt/d1/f1 /mnt/d2/f2 ---移动文件f1到d2下并改名为f2

mv /mnt/d1/f1 /mnt/d2 ---移动文件f1到d2下,不改名

注:若目标文件无,则移动成功;若目标文件已存在,则提示、覆盖

mv d1 d2/d3 ---移动目录d1到d2下,并改名为d3

mv d1 d2 ---移动d1

注:若目标无,则移动并改名;若目标已存在,移动、存入目标目录

mv命令可实现文件改名功能,例:mv f1 f2 原理:剪切f1,粘

贴到当前目录下并改名为f2

小结:a.mv命令移动目录时不需要-r参数

b.mv命令与cp命令相比,除了命令执行后源文件不存在了之外,

对于目标文件是否已存在的处理方式几乎相同

5)链接文件

说到链接文件,其实windows中的快捷方式就是链接文件的一种,而Linux中对于链接文件会更复杂一些,将链接文件分为了两种:软链接、硬链接。二者区别如图:

软连接 ---又称为符号文件

软链接文件(s1)指向原文件名(f1),再通过原文件,查找到磁盘空

间,读写数据,等同于windows的快捷方式,删除原文件,则软链接失效不

可再用

命令格式:ln -s 原文件 软链接文

ln -s f1 s1 ---创建软链接文件

ln -sf f2 s1 ---更改软链接指向的原文件, -f 强制操作

ls -l ---可查看到软链接的指向

硬链接

硬链接文件(h1)通过原文件(f1),直接指向磁盘空间,直接读写。相

当于一块磁盘空间,有两个文件名。删除原文件,则硬链接仍可用

命令格式:ln 原文件 软链接文

ln f1 h1 ---创建硬链接,格式:ln 原文件 硬链接文件

ls -l --- 显示结果中,第二项的数字,表示该文件的硬链接数,即

磁盘空间有几个文件名的指向

如图:数字2所在列即为磁盘空间的硬链接数。我们一般认为,指

向磁盘空间的一个文件名视为一个硬链接,所以显示结果会为2

ls -i ---查看文件的inode编号,编号相同的为同一组硬链接

注:inode编号可暂时理解为文件在Linux系统中的唯一编号,类似于身份证号的功能。具体inode的功能,会在后续章节介绍。

硬链接文件说明:由于硬链接是两个文件名指向同一块磁盘的存储空间,所以针对一个文件名做更改,另一个文件名也会看到效果。

如:echo bbbbbb > h1

cat f1 ---查看到的是 “bbbbbb”的结果

3.2.4 路径的表示

Linux中对于文件路径的书写,有两种表示表示方法:绝对路径、相对路径。在做文件操作时,路径的指定尤为重要,可以根据当前所在目录的位置,使用某种方式来对文件进行操作。

1)相对路径

不书写完整路径,仅书写文件名,则系统仅在当前目录下查找目标文件

如:cat f1

2)绝对路径

书写时,从/开始,书写到文件所在目录的完整路径

如:cat /mnt/d1/f1

建议:创建软链接时,使用绝对路径指定原文件,便于软链接文件的剪

切复制等操作

3.2.5 文件查找

类似于windows的文件搜索,Linux中也有查找文件的命令。当然,Linux中查找文件的命令不只一个,这里我们只介绍日常工作中最常用的find命令,有兴趣者可以自行查找相关文档,拓展学习。

命令格式:find 查找范围 查找类型 参数

例:find / -name *.txt ---查找所有txt文档, -name 是按文件

名查找

find /var -size +100M ---查找/var下所有大于100M的文件,

-size 按文件大小查找 +大于

-小于

find / -inum 133330 ---查找inode编号为133330的文件

-inum表示按inode编号查找,可用于

查找硬链接文件

find命令还有很多可用参照类型,可以使用find --help查看。随着后面课程的深入,我们也会陆续增加各种查找类型以作示例。

3.2.6 历史命令查看

我们知道,在字符界面中,单击上、下键,可以查找历史命令,那么系统中一共会记录多少个历史命令呢?答案是1000个。我们可以采用如下命令来查看:

history ---查看本用户的所有历史命令

history 20 ---查看本用户最近使用的的20条历史命令

另外,我们可以思考一下,这些历史命令存放在哪里呢?如果完全存放于内存中,则会浪费内存空间,而且不可能永久保存,因为内存中的数据注销、重启后将被清空。所以,历史命令是存放在磁盘上的。但是Linux系统允许多用户登录,那么不同用户的历史命令需要分别存放,所以最合适的存放位置是每个用户各自的家目录中存放自己的历史命令。具体文件是:~/.bash_history,可以通过ls –a命令查看到。

3.3 Linux中 / 目录下目录功能的划分

Linux的/目录是所有文件的总目录,其下按功能又划分了很多二级目录。我们在系统安装的章节中介绍过其中的几个,现在将/下常用目录的功能做一个小的总结:

/etc/ ---所有的配置文件存放目录

/usr/ ---存放系统程序和帮助文档

/boot/ ---存放开机启动程序

/var/ ---存放所有辅助性文件

/home/ ---用户家目录默认存放位置

/dev/ ---存放本机所有硬件设备文件

/mnt/ ---人为做后续挂载操作时,习惯在/mnt/下创建挂载点

/tmp/ ---临时文件存放位置

3.4 结语

本章内容命令较多,对于文件的管理命令更有多重情况的分析,需要读者多加练习并思考才可以熟练掌握。另外,在操作过程中,最容易犯的错误是文件路径的掌控,经常在多次跳转后,找不到文件或效果与预期的有误,需要仔细检查操作过程对于路径的指定是否正确,从头梳理路径的指向,查找错误原因。总之,多练多思考是Linux初学者必须坚持的学习方法。

另外,很多命令是英文单词的简写,所以可以通过查找相关英文单词的方法帮助读者记忆命令,如:ls-list,mkdir-makedirectory,cp-copy,mv-move,rm-remove等。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-04-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 教主小筑 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档