一.快速认识6-8个简单指令
1.pwd
pwd指令是用来查看用户当前所处在的目录(目录的概念在理解上可以等效为文件夹)。
(1)在windows系统中我们通过文件路径表示唯一的文件,在linux中也是一样的,所以pwd是一个很重要的指令。
(2)在windows或者linux系统登陆成功后都会默认进入一个默认的路径。在windows系统下这个默认路径就是桌面,只不过将这个文件以图形化界面的形式呈现了出来。
2.whoami
从字面意思很好理解,就是查看当前是谁在访问linux系统。
root权限是linux系统中最高的管理权限。第一次登录linux系统的时候pwd和whoami所呈现的内容完全取决于你是谁。
3.clear
就是一个简单的清屏操作。
4.ls
ls指令是查看当前目录下有那些文件和文件夹:
如图所示,罗列在下面的就是当前目录所有的文件或者文件夹。 (这个操作相当于你在windows系统下双击鼠标打开一个文件夹并查看看面内容的操作)
5.mkdir
mkdir指令是在当前目录下新建一个目录(文件夹)。
可以看到新建一个116_117之后,ls查看当前目录下的 文件或者文件夹,多出来一个116_117文件夹。
6.cd
cd指令的作用是进入所指定的目录或者文件夹(默认创建一个空的文件夹(目录))。
紧接着上图已有的代码,继续输入cd 116_117再加回车,就会进入116_117这个文件夹,想要验证是很简单的,上述操作后使用pwd就可以了验证了。
7.touch
touch指令是在指定目录下创建一个文件。 格式:touch+空格+文件名称。 (和mkdir不一样,mkdir是用来创建文件夹的)。
二.细化指令
1.ls
引出:在创建一个空文件的时候,这个空文件也是会占据磁盘空间的,就算它的内容为空,但是文件自身的属性也是一种数据(文件名,创建日期等),所以会占据。
那么就有以下结论:文件 = 文件内容+文件属性。
ls指令可以查看当前目录下有的文件和文件夹的名字。更多的体现的是文件的属性。
(1)-l指令
ls -l 可以显示文件的更多属性:
ls后面也可以跟绝对路径或者相对路径
(2)-a指令
在linux系统中,可以存在隐藏文件,这些文件名一般以.开头,而-a可以用来显示当前路径下的隐藏文件或者文件夹。
以以下代码为例:
首先ls查看当前目录有的文件和文件夹,再用ls -l查看文件夹的更多属性,再用ls -l -a来查看所有隐藏文件,发现其中显示出来了一个名为.youcanseeme的隐藏文件,再mkdir在当前目录下创建一个.notseemedir的文件夹, 重复之前的操作确实可以发现-a可以查看当前路径下存在的隐藏文件或文件夹。
2.pwd和cd
(1)先解释以下代码:
先pwd查看当前目录(在/root/116_117中,/叫做路径分隔符,路径分隔符的两边都是目录),然后mkdir在116_117里面创建一个叫dira的文件夹,ls _l再查看116_117这个文件夹里面的文件或文件夹,然后cd dira进入这个文件夹,再pwd,可以看到路径发生了变化,再用相同的方法进入创建并进入到一个新的dirb文件夹里面。
(2)在linux里面.文件夹表示当前路径,..文件夹表示上级路径,所以cd . 是不会改变文件路径的,而cd ..则是回退到上级路径。我们一直回退到(一直cd ..),最终会回退到/这个目录。(其中/也叫做根目录)。
在linux系统中,任何目录都会存在.和..目录,.命令有许多的使用场景,用于后面的内容。
cd后面也可以直接跟绝对路径或者相对路径,访问对应的目录。
在linux下,整个文件结构,是树状结构的:
由上述图片中可以得到结论:
-》 每个叶子结点都是普通文件或者空的文件夹。
-》路上的结点(非叶子结点)都是文件夹或者目录。
我们把从根目录开始定位文件的方式叫做绝对路径。(父亲结点的唯一性确保了路径的唯一性)
(2)绝对路径与相对路径:
从根目录直接定位到一个目录,就是绝对路径,相对于当前所在目录定位目标目录的路径叫做相对路径。
eg:对于上图而言,想要定位左下角的bin目录,绝对路径为/usr/bin,假设当前所处目录在passwd下,那么相对路径为:../../usr/bin
(3)cd 加上特殊符号:
(1)cd ~
cd ~使用在返回当前用户的家目录的,在windows系统中允许存在多个用户,在linux系统中也存在,在linux系统中有root用户和普通用户,root用户的家目录是/root,而普通用户的家目录是/home
什么是家目录呢,进入一个家目录就相当于进入一个账号,账号里面存放着这个账号里面所对应的东西,就跟进入多个不同游戏账号所看到的数据是不同的。
(2)cd -
cd -的意思是回到上一次所处的路径(注意这里并不是指的上一级路径),在路径进行改变后,可以使用cd -回退到上一次所处的路径。
3.tree
如果你想要验证各个目录之间的关系或者查看目录之间的结构,我们可以使用tree指令。tree命令是需要下载的,对于ubuntu系统里面,只需要输入apt install -y tree这一句命令,就可以安装tree命令了。
演示一下效果:
可以看到当前在dirc目录,tree查看以上级目录为根目录的树形目录关系,就会得到如图的结果。
4.touch
touch就是用来创建文本文件的,与touch相关的指令还有stat,这个后面跟文件名,用来查看当前文件的三种时间:
在上面stat后,在最后几排可以看到三种时间(后面再说),touch一个已有的文件,可以修改文件的三种时间:
5.mkdir
(1) mkdir -p
mkdir -p可以用来创建一串路径
eg:mkdir -p a/b/c/d 这串指令的意思就是创建了一串路径。
(2)关于linux文件类型的浅知识
linux系统是不以文件后缀来表示文件类型的,linux系统的文件在这里先提两部分,目录文件和文本文件,就像上面的图片里面,ls -l后,每个文件或者文件夹的最前面一个字符,如果是d那么这个文件就是目录文件,如果这个文件是-,那么这个文件就是文本文件(在linux中,文本,二进制可执行文件,图片,音频等都是文本文件)。是以首符号来看这个文件或者文件夹的类型(与文件后缀无关),那么如果我想查看dira的详细类型,需要用到file指令,file 后面跟上指定的文件名称即可。
虽然linux系统里面不以文件后缀区分文件,但是并不能说明不需要后缀,带后缀会使得可读性提高。
6.rmdir与rm
(1) rmdir指令用来进行空目录的删除。(不为重点)
(2)rm
rm可以随意删除文件,如果是root权限下,由于误操作可能导致的损失,在使用rm时会进行提示:
上述我想删除一个a.out文件,rm之后,系统会问我是否要删除如果你在后面输入y,则是yes的意思,同理的n就是不删除的意思。
(1)rm -f
当然在linux系统下也有强制删除文件,那就是rm -f +文件名。
rm的行为默认是删除普通文件,且不经过回收站。且默认不能删除目录,如果要删除目录,则会给出提示:rm: cannot remove 'dir/': Is a directory
。(其中dir是一个目录名)
(2)rm -r与rm -rf
rm -r是递归删除一个目录,但是在删的过程中需要反复确认yes
rm -rf是递归删除并且是强制删除。