[Linux][入门系列]CentOS 的基础命令详解-磁盘基础操作

版权声明: https://blog.csdn.net/tlytg/article/details/56295640

[Linux][入门系列]CentOS 的基础命令详解-磁盘基础操作

前言

继上次我们安装完CentOS之后,我们就要在CentOS进行一波操作了。OS,顾名思义,就是操作系统。既然是操作系统,那它就是可以进行一系列基础操作的。操作系统的操作我们可以简单的分为几类:
1. 磁盘操作。类似于我们在Windows中,打开“我的电脑”,在里面进行新建文件夹、新建文件、删除等。
2. 软件的安装与卸载。 类似于我们在Windows打开电脑中的EXE文件执行,然后安装相应软件。
3. 软件的使用。类似于我们打开桌面上的QQ,使用一些常用的软件一样。
4. 系统操作。类似于我们使用Windows中的控制面板,来进行系统设置。
5. 其他操作。

这几类操作共同形成了我们使用Cent OS(也同时包括其他Liunx)的常用操作,我们将对如上所说的操作逐一讲解。
在此之前,我们可以看到,当我们启动了电脑之后,我们进入了如下的命令行界面。
这里写图片描述

在进入这个界面之后,我们将要使用一些命令(键盘操作),来控制电脑,可能刚开始会有点难受哦,因为习惯了图形界面的我们,可能还需要一些时间适应黑白的shell操作。

可能在众多操作中,磁盘操作是最频繁的OS操作。就像我们在使用Windows的时候,可能桌面上打开最多的图标就是“我的电脑”。我们在其中拷贝图片,打开电影……同样,在Cent中,我们如何进行操作呢?
本期主要讲述LInux系统诸多操作中的磁盘基础操作命令。包括 cd/ls/pwd/cp/mv/rm/mkdir。

cd (Change Directory)

cd命令是Cent使用人员最常用的命令之一,英文名为change directory,就是改变当前的目录,比如,我们要进入某一个目录,只需要cd+空格+目录名称就可以了,如下我们展示了root用户进入/root目录的命令

[root@localhost ~]# cd /root

TIPS - Linux系统磁盘目录

想使用cd进入某一目录,就需要了解我们输入怎么样的目录名字才可以进入到我们想进的目录,在Windows下,我们在图形界面上,看地址栏是这样的。
这里写图片描述

这个时候,Windows会自动把路径解析为你看到的目录,即此时,你在我的电脑-》E盘-》DNSnew目录下。

但是我们把鼠标点到地址栏上,我们可以到地址栏的目录展示方式变了,变成了如下
这里写图片描述

这里我们能够看到目录是E盘DNSnew目录下,如果后续还有文件夹的话,会加一个反斜杠(\,键盘回车键上方的键)然后加入目录名字。
而在使用Linux的时候,我们通过刚才的例子可以看到,LInux本身并没有盘符的概念(不是没有分区,有关分区的知识我们额外再讲),而是直接使用正斜杠(/,右手shift左面的那个斜杠键)加上我们想进的文件夹。
此时,Linux规定,正斜杠代表的是整个系统的根目录(如果是只有一块磁盘,那就是整块磁盘的根目录)。如图展示的是系统根目录下的默认文件夹。
这里写图片描述
所以如果我们想进根目录,只需要输入
[root@localhost ~]# cd /
但是,假如我们进入了根目录下的usr目录下的local文件夹,想返回usr目录,我们应该怎么做呢?
当然,我们可以直接进入根目录,然后进入usr目录。
[root@localhost local]# cd /
[root@localhost /]# cd usr
同时我们也可以直接使用全路径
[root@localhost local]# cd /usr
这两种方法在此时都对,但是请注意,我现在的目录是/usr/local,而我想进入/usr,我们想进入的目录是当前目录的父目录。
在Windows下,如果我们想进入当前目录的父目录,只需要点击管理器的上一级就行了。
这里写图片描述
在Linux中,路径可以使用“..”来进入上一级。以本情况为例,我们在local目录时,可以使用如下进入上一级。
[root@localhost local]# cd ..
在LInux使用场景中,..的使用会非常的灵活和使用,这在之后我们的工作中会遇到很多。

-

TIPS - 巧妙使用tab键

在你输入目录的时候,如果你当前路径下的文件有你所要的文件,且前几个字母会匹配,此时点击tab键,系统会自动补全你的目录,如
[root@localhost testDir]# ls
testFile
[root@localhost testDir]# cd test
此时点解tab键,我们可以看到路径就会被补全。
如果我们在目录下,连续点击两次tab键,会发生什么呢?

同样,cd 命令还有

[root@localhost usr]# cd ~
[root@localhost ~]# cd -

请同学们自行尝试这样的命令会有什么效果。

ls (List)

在Windows中,如果你进入了一个目录,那么文件浏览器会自动的展现当前目录的所有文件和文件夹,同样,在Linux中,如果你进入一个目录,可以使用ls命令来展现文件中的所有内容。我们之前的图,展示了当我们在根目录下使用ls命令时系统展示的情况
这里写图片描述
ls在平时的使用中是不加参数的,当然你也可以因为不同的命令而加参数。比如我们使用-a(all)参数

[root@localhost ~]# ls -a
.  ..  anaconda-ks.cfg  .bash_history  .bash_logout  .bash_profile  .bashrc  .cshrc  .tcshrc

当我们使用-a参数时,展现的是此目录下所有的文件,包括前面带“.”的文件,在LInux中,带“.”的文件我们默认为隐藏文件,即使用普通ls命令看不到,只有加上-a参数后我们擦可能看到。
同时在使用时,还有一些比较习惯的用法,这里一并给出。

[root@localhost usr]# ls -lht
总用量 100K
dr-xr-xr-x.  2 root root  12K 2月  21 19:02 sbin
dr-xr-xr-x.  2 root root  20K 2月  21 19:02 bin
dr-xr-xr-x. 40 root root  20K 2月  17 13:01 lib64
drwxr-xr-x. 16 root root 4.0K 2月  17 13:00 libexec

ls的参数中, -l代表使用长列表展示,h代表使用可读方式进行读取,t代表根据时间从新到旧进行排序。同时我们也可以使用如下命令,达到同样的效果。

[root@localhost usr]# ll
总用量 100
dr-xr-xr-x.  2 root root 20480 2月  21 19:02 bin
drwxr-xr-x.  2 root root     6 11月  5 23:38 etc
drwxr-xr-x.  2 root root     6 11月  5 23:38 games
drwxr-xr-x.  3 root root    23 2月  17 13:00 include

在返回的几列中,第一列代表文件的权限,有关权限的内容我们后续再。
第二列代表文件硬链接数或目录子目录数,第三列代表文件的拥有着,第四列代表文件拥有者所在组,第五列代表文件的大小(默认以字节为单位),之后是日期以及文件的名字。具体详情如下:

权限 | 子目录数 | 拥有者 | 所在组 | 文件大小 | 日期 | 名字
dr-xr-xr-x. 2 root root 20480 221 19:02 bin

有关更多ls的用法,可以使用ls的help文档获得

[root@localhost usr]# ls -help

pwd (print name of current/working directory)

pwd命令是我们在使用中不怎么频繁,但是较为有用的命令,它的主要作用是输入当前所在目录的路径,比如

[root@localhost ~]# pwd -P
/root

结合这个命令,我们很方便的看到目录名称。

cp(copy)

cp是拷贝文件的常用命令,在Windows中,如果我们要拷贝一个文件或者文件夹,只需要到资源管理器中,右击该文件,点击复制,到你想拷贝到的目录,点击粘贴,即可完成操作。
所以我们可以看到,拷贝操作有如下几个要素:
1. 源目录A(从哪拷贝)
2. 目的目录B (拷贝到哪)
3. 文件名字
4. 拷贝参数(拷贝方式)
先不看第四个参数,我们可以发现一个有趣的问题,文件名字和源目录应当是一个条件,因为我们在拷贝时需要指定是哪个目录的下的哪个文件,所以我们拷贝最基础的要素应当是两个,文件(包含目录)+目的目录。请看如下代码

[root@localhost ~]# ls
testDir  testFile
[root@localhost ~]# cp testFile testDir/
[root@localhost ~]# cd testDir/
[root@localhost testDir]# ls
testFile

在例子中,我们将目录下testFile拷贝至了当前目录下的testDir,之后我们进入了目录看到了我们拷贝的文件。
当然,这里的两个参数我使用了相对路径(相对于当前路径),同样可以灵活的使用绝对路径进行拷贝。
但是当我们拷贝文件夹的时候出了问题。

[root@localhost ~]# cp testDir/ /
cp: 略过目录"testDir/"

当我们想把testDir文件夹拷贝至根目录下时,我们发现系统略过了目录,不进行拷贝,这是为什么呢?
原来我们cp默认是不拷贝目录(文件夹)的,当我们想要拷贝文件夹到另一个目录时,需要加一个命令参数,就是我们上面提到的第四点

[root@localhost ~]# cp -r testDir/

-r参数帮助我们递归地拷贝文件夹(就是把文件夹中的文件夹什么的都拷贝过去)
当然,cp还有许许多多中用法,包括是否覆盖同名文件等等。详细的请参照

[root@localhost ~]# cp --help

mv(move)

mv英文中是移动,就是我们在Windows上面常用的剪切功能,具体基本参数和cp一样,需要源文件(夹)和目的目录,如

[root@localhost ~]# mv testFile testDir/

需要注意的是,mv命令不用-r参数就可以移动文件夹。

TIPS - mv更改文件名

mv命令还有一些其他用法,比如更改文件/文件夹名字。
其实很简单,mv操作时,两个参数写成一样的,在后面的参数里,更改文件名,如下列代码
[root@localhost ~]# mv /root/testFile /root/testFile2
这段代码叙述的是吧明文testFile的文件更名为testFile2,

rm(remove)

rm在英文中就是移除的意思,顾名思义,就是删除的意思,像使用cd一样,我们可以在rm加上一个路径上的文件名,删除文件。如果你加的是一个路径,需要增加-r参数删除路径所代表的文件夹

[root@localhost ~]# rm -r testDir/
rm:是否进入目录"testDir/"? y

这里rm会询问是否删除,输入y回车就删除成功。但是有时一个目录里很多文件,针对每一个文件,系统都会问是否删除,就有点烦了,于是我们就有-f参数,使用时通常和-r参数一起使用.

[root@localhost ~]# rm -rf testDir/

一定要注意,-rf参数一定不能随便使用,请看如下代码(千万不要尝试!!!)

[root@localhost ~]# rm -rf /

这个代码代表删除根目录里所有文件,即系统的所有文件,在有root用户的支持下,你所有的文件将被清空!!

mkdir(make directory)

这个命令时用来创建文件夹的,同时也可以使用-r参数递归创建路径(就是假设里/root目录下什么都没有,如果创建/root/father/son,系统会同时创建father和son两个文件夹)。通常情况下它都是单独使用。

总结

我们本次大体叙述了一些基础的磁盘命令操作,同时我们其实还有很多文件操作的命令,这些有些需要使用其他软件来实现,相关的实现我们下次再说。
如果你有相关的问题,欢迎探讨,邮箱 [email protected]

猜你喜欢

转载自blog.csdn.net/tlytg/article/details/56295640