为什么要学linux命令以及linux(ubuntu)的文件与目录命令

今天补充学习了一下linux的文件与目录操作,来复习一下


明明linux发行版的图形操作界面做的已经完全足够我们日常使用了,为什么我们还是一定要学linux的命令?
那是由linux的主要功能决定的,目前来说linux操作系统主要应用于服务器与嵌入式设备当中。
嵌入式设备不用多说,大部分的嵌入式设备是不可能拥有像是我们电脑这样完善的界面和操作方式的。
那么对于服务器来说,服务器就是一台电脑,装载了linux系统,被放置在公司或者学校的机房中,像这样。
为什么要学linux命令以及linux(ubuntu)的文件与目录命令
为了电脑的散热和安全,机房里面温度十分低,并且机房里面噪音非常大。难道我们还能每个人搬个小板凳坐在机房里面,一群人围着柜子操作嘛?环境与效率都不允许我们这么做。
那么我们怎么做呢?记住一点,linux是基于Unix开发的,而Unix设计的初衷就是为了多个用户同时在一台电脑上工作,共享一台电脑的硬件,我们通常是远程来对服务器进行维护。
这里又扯远一点,远程维护,如果我们使用的是苹果系统,那么直接可以在终端连上服务器对它进行维护,如果是Windows上我们需要安装工具连上服务器对它进行操作。但是无论是哪种方式。都是没有界面的!!!只有一个黑框框,也就是终端命令框! 这也就是为什么我们要学命令的原因。

下面我们开始讲一下基础命令


目录操作

这里讲两个最最最常用重要的命令,ls和cd

ls(选项)(参数)

选项:
-a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为影藏,不会列出);
-C:多列显示输出结果。这是默认选项;
-l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
-i:显示文件索引节点号(inode)。一个索引节点代表一个文件;
-t:用文件和目录的更改时间排序;

拿我自己的ubuntu举例子:
为什么要学linux命令以及linux(ubuntu)的文件与目录命令
↑↑↑这是默认情况下,可以看到呈多行显示,并且只显示个文件名
为什么要学linux命令以及linux(ubuntu)的文件与目录命令
↑↑↑这个是加了选项 -a之后,我们发现以 . 开头的隐藏文件也显示出来了
为什么要学linux命令以及linux(ubuntu)的文件与目录命令
↑↑↑ 这个就是长格式显示文件和目录,出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等。

剩下的选项请自己去尝试喔

有个小提示:我们可以多个选项一起使用,放在一个 - 后面,例如 ls -al

又有一个小提示:平时我们喜欢用 ls -al ,用的多了觉得它麻烦怎么办,这里有个 ll 操作,是它的别名, ls -al == ll 。相信我你会喜欢上它的。

cd (选项) (参数)

关于cd命令,一般情况下我们也是不需要使用选项的,直接带着参数跑

但是这里有些特殊的参数需要记忆一下

cd 进入用户主目录;
cd ~ 进入用户主目录;
cd - 返回进入此目录之前所在的目录;
cd … 返回上级目录(若当前目录为“/“,则执行完后还在“/";"…"为上级目录的意思);
cd …/… 返回上两级目录;

其中cd 和cd ~ 的效果是一样的,但是这里有一点,如果我们使用的是普通账户的话,我们的主目录就是账户主目录,如果我们比较牛批,是root账户,那么使用这个操作是会直接到达根目录下的 root/ 目录下面。
为什么要学linux命令以及linux(ubuntu)的文件与目录命令
cd的命令都很简单啦,相信你肯定可以的。


文件操作

这部分讲一下 touch, mkdir, rm, cp, mv, cat, more, less 这几个命令,各个都是很常用的命令!

touch(选项)(参数)

touch命令有两个用法,第一个用法是创建一个空文件,就是啥都没有的文件,前提是这个文件如果在当前目录不存在的话。

第二个用法,就是改变一个已经存在的文件的存取时间,又拿我的Ubuntu举例子:
为什么要学linux命令以及linux(ubuntu)的文件与目录命令

mkdir (选项)(参数)

mkdir是一个创建目录的命令,默认是在当前路径下创建新的目录,这里着重介绍一个选项 -r
这个选项能干嘛呢?先用我的Ubuntu(我的Ubuntu:你没完没了了啊!)来给大家演示一下:
为什么要学linux命令以及linux(ubuntu)的文件与目录命令
ok,演练结果如上,首先我在桌面利用mkdir创建了一个目录csdn,但是如果我想直接用mkdir创建多级目录的时候,它不干活了,于是我加上了一个 -r 选项,就可以了,如图我已经成功创建了三级目录 a/b/c , 所以大家就将-r选项理解成可以帮助我们创建多级目录的选项好了

rm (选项)(参数)
rm命令可以删除一个目录中的一个或多个文件或目录,也可以将某个目录及其下属的所有文件及其子目录均删除掉。对于链接文件,只是删除整个链接文件,而原有文件保持不变。
注意:使用rm命令要格外小心。因为一旦删除了一个文件,就无法再恢复它。所以,在删除文件之前,最好再看一下文件的内容,确定是否真要删除。rm命令可以用-i选项,这个选项在使用文件扩展名字符删除多个文件时特别有用。使用这个选项,系统会要求你逐一确定是否要删除。这时,必须输入y并按Enter键,才能删除文件。如果仅按Enter键或其他字符,文件不会被删除。

选项
-d:直接把欲删除的目录的硬连接数据删除成0,删除该目录;
-f:强制删除文件或目录;
-i:删除已有文件或目录之前先询问用户;
-r或-R:递归处理,将指定目录下的所有文件与子目录一并处理;
-v:显示指令的详细执行过程。

这可是个大杀器啊,首先,听我一句话,千万不要获取了root权限之后跑到根目录 rm -rf *, (或者你也可以试试,如果是公司的服务器的话,先把逃生机票买好)。这个我就不用我的Ubuntu来演示了。
rm,由remove简化而来,是一个删除文件和目录的命令,如果想要删除目录就要加上-r 选项,代表递归删除,否则只能删除文件。话不多说,用我的Ubuntu给大家演示一下

为什么要学linux命令以及linux(ubuntu)的文件与目录命令

cp(选项)(参数)
cp命令用来将一个或多个源文件或者目录复制到指定的目的文件或目录。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。cp命令还支持同时复制多个文件,当一次复制多个文件时,目标文件参数必须是一个已经存在的目录,否则将出现错误。

这个选项就介绍一个吧,递归复制

-R/r:递归处理,将指定目录下的所有文件与子目录一并处理;

不多说,我的Ubuntu,上:
为什么要学linux命令以及linux(ubuntu)的文件与目录命令

mv(选项)(参数)

mv, 由move简化而来,顾名思义,移动,这就是移动文件的命令

选项
-b:当文件存在时,覆盖前,为其创建一个备份;
-f:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录;
-i:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。

我的Ubuntu,开始演练:
为什么要学linux命令以及linux(ubuntu)的文件与目录命令
写多了就开始懒,我这里演练的是最基础的用法,各种选项请大家自行尝试,毕竟写的还是很清楚滴。

cat(选项)(参数)
cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容

选项:
-n或-number:有1开始对所有输出的行数编号;
-b或–number-nonblank:和-n相似,只不过对于空白行不编号;

我的Ubuntu,发功:
为什么要学linux命令以及linux(ubuntu)的文件与目录命令
这里我用了-b参数,空白行不记录行号,如果是-n的话空白行也有行号,我们平时用的比较多的是-n 喔!

more, less这两个命令都是读取文件内容并打印在终端上的。就我个人来说我更钟情于less,没别的原因,因为less比more强!

less(选项)(参数)

选项
-e:文件内容显示完毕后,自动退出;
-N:每一行行首显示行号;
-s:将连续多个空行压缩成一行显示;
-S:在单行显示较长的内容,而不换行显示;

less与more的共同点在哪呢?都是可以一屏一屏显示文档内容。啥?什么叫一屏一屏显示?我的Ubuntu,上!
为什么要学linux命令以及linux(ubuntu)的文件与目录命令
来围观一下,我使用cat直接读取我写的hello.txt 文件,因为太多行了,我一显示,直接给我窜底部来了,那我还要自己滑进度条滑上去看嘛?太不人性化了,这就叫,不是一屏一屏显示。
现在开始我们的一屏一屏显示,我的Ubuntu(Ubuntu:明白了您嘞):
为什么要学linux命令以及linux(ubuntu)的文件与目录命令
看到第一行没有!“我是开头!”,这就是第一行,刚刚直接给我窜到底,现在我能看见第一行了,并且我只要按一下空格,它就给我翻一屏,对,翻一屏,而如果我按回车,它就给我翻到下一行!按q退出,按方向键的↑还可以向上翻——这就是和more不同的地方,more是不支持向上翻的,但是less支持!所以我选less,其他地方less和more基本相同。

好了,好累啊,让我的Ubuntu来跟大家道个别:(Ubuntu:*******(口吐芬芳))
为什么要学linux命令以及linux(ubuntu)的文件与目录命令

谢谢你来看我!
我的个人博客hsluoyang.club
网址是 http://hsluoyan.club
欢迎来访