EKsumic's Blog

let today = new Beginning();

Click the left button to use the catalog.

OR

Linux新手入门第五天——基本指令入门和理解(二)

touch命令:用于创建一个文件。

 

Q:为什么是touch而不是create?

A:没有为什么,不要问为什么,touch本来的作用不是来创建文件的,它的主要的用途是update editTime,副作用是当文件不存在的时候创建文件。

 

mkdir命令:用于创建文件夹。

注意,mkdir是用于创建子文件夹,即父文件夹不存在的情况下,是会返回错误的。

我们需要通过加-p来确保父文件夹存在,不存在就创建一个。

举例:

mkdir -p BBB/Test

注:本例若不加 -p,且父文件夹BBB不存在,则产生错误。

 

好的,[创建]就到这里为止,[删除]准备重开一期讲。

 

关于linux里面的文本格式

之前有命名过file.txt的文件,此txt非彼txt,linux里面的txt格式是和Windows里面的是不一样的。

 

一、区别

换行符:   

1.windows中的换行符是\r\n,

2. linux/unix下的换行符是\n。

 

二、文件格式互转命令

1.unix2dos:将具有unix风格的格式文件转化为具有window下的格式文件。

2.dos2unix:将具有windows风格的格式文件转化为unix下的格式文件。

 

 

关于压缩文件格式:

Zip、tar、tar.gz、tar.bz2 先说这4种,

Zip是非常常见的格式,它与windows是通用的。

另外3种格式,在Windows上一般能打开。

tar仅仅打包,没有压缩。

tar.bz2 是先打包,后压缩。

具体使用方法,另外开一期讲。

 

讲一下使用频率最高的——ls。

ls是list的缩写,用于查看当前文件夹有哪些文件。

默认刚启动Terminal的初始位置在「你的用户名文件夹」里面,而「你的用户名文件夹」在「home」文件夹里面,「home」文件夹在根目录里面。

Sample

这就解释了昨天cat指令,虽然是以List的形式输出的,但是就是要用cat,cat作为查看内容的指令还具有连结和输出的作用,所以单一个list是不能准确描述其功能的。

 

当你每次想chmod的时候,必然会先查看文件信息。

故新手可能最先接触的ls指令是:

ls -l

它用于查看详情信息,

比如文件的权限、大小、所有者、修改日期等等。

这个l代表的是long listing format,简称l。

输入指令man ls可查看详细关于ls的说明,因为用法太多这里只列举最常用的。

 

 

最后说一下echo和su,

Echo,回声,来自于古希腊神话里的echo,她因为得罪了宙斯的妻子赫拉而被惩罚,丧失了说话的能力,变得只能重复人说话的后几个字,所以echo就变成「回声」的意思。

同样,在Linux中输入

echo hello

控制台会输出hello。

 

如果你想把hello输出到file1.txt,那么需要这么写:

echo hello > file1.txt

如果你想追加内容,则:

echo hello >> file1.txt

注意,追加内容是另起一行的。

 

echo主要用于打印变量的值,如:

echo $HOME

则会输出当前用户的根路径。

 

举例:

Sample

注意大写!(Linux大小写敏感的)

 

命令:

su

切换到root用户,注意,刚用这个指令基本上会这样:

Sample

输入密码,认证失败。

原因是没有设置root密码,

Sample

按上图操作一遍就可以了。

 

Q:su和su -的区别在哪?

A:su只是切换了root身份,但Shell环境仍然是普通用户的Shell;而su -连用户和Shell环境一起切换成root身份了。

 

 

额外补充一个东西,

Linux的terminal被翻译为终端,也被称作shell,实际上称作shell并没有任何问题。

Shell理解为命令解释器,介于应用程序与系统内核之间。

 

 

但是有些人把终端给理解错了,

终端和Shell本质上完全不是同一个东西,

终端一般是指硬件设备,这些终端本身不具备计算能力,仅仅承担信息输入输出的工作。

因为早期个人电脑异常昂贵,一台设备一般会有多个终端。

(多个终端之间可以互相通讯)

 

现在,我们在Ubuntu 18.04 上运行的terminal实际上就是直接打开的shell。

 

 

参考文档:

[1] 为什么linux 创建文件是touch 而不是create

[2] Linux与Windows下txt文件区别

[3] LINUX终端是不是就是SHELL?

[4] su认证失败

[5]Linux下su与su -命令的区别

This article was last edited at 2020-04-28 22:44:03

* *