【Linux系统】Linux基础指令(一)
文章目录
- pwd、whoami、clear
- mkdir、touch、tree
- cd
- ls
- rmdir、rm
开始学习使用Linux,我们首先要掌握一些Linux的基础指令。在我们常用的Windows系统中,各种基础功能大多是靠鼠标、键盘完成的,这是Windows提供的指令利用硬件来完成的相应操作。而Linux中,我们要学会一些指令语句:
今天我们来接触pwd、whoami、clear、ls、mkdir、cd、touch、tree、rmdir和rm。
pwd、whoami、clear
计算机中的数据存储,无非可以认为只有两种方式:文件和文件夹。可以认为文件是存储的最小单元,文件夹中可以存文件,也可以有其他文件夹,也可以为空。我们也可以称文件夹为目录。Linux的这整个文件系统,是一种树形结构!既然是树,就有根,Linux中根目录名为/
。由于树形结构的特点,文件的唯一性是通过路径标识的。无论是Linux还是Windows,登录后都会处在一个默认的路径下,Windows是桌面文件夹,Linux中通过pwd指令查看。
-
pwd指令,功能是显示用户当前所在的目录
打开我们的XShell,进入机器,连接到云服务器后,输入pwd,回车,就能看到:
这就表明我当前所在的目录是/root。 -
whoami指令,功能是显示当前登录的用户,输入whoami,回车:
表明我现在是root账号登录的。 -
clear指令:清空当前屏幕。
很简单,写了满满一屏幕指令后,可以用clear后清屏再从上面开始写:
mkdir、touch、tree
mkdir指令,用来创建目录,可以一次创建一个目录,也可以通过选项-p
一次创建一串目录:
语法:
mkdir a
,在当前目录下创建一个目录a。mkdir -p a/b/c/d
,在当前目录下创建一串目录a、b、c、d,它们的结构是当前目录包含目录a,目录a包含目录b,目录b包含目录c,目录c包含目录d。
touch指令,用来创建文件或修改文件信息:
最简单的用法,touch后加新建的文件名:
touch test.c
,在当前目录下创建一个test.c文件
举例,如果输入以下指令:
显然,当前/root路径下是这样的树形结构:
这个图像是用tree指令生成的,但tree指令需要额外下载:我们使用的是CentOS版本系统,输入指令yum install -y tree
,系统就会自动下载了(不同的系统下载指令可能不一样)。稍等几秒,显示complete后就下载好了,我们就可以使用tree指令了:
tree
指令,显示出以当前所处路径为根的树形结构。tree 指定路径
指令,显示出以指定路径为根的树形结构(路径指定方式有两种,见下文)。
我们当前还处在/root目录下,所以使用tree
指令,就得到了上图:
(可以看到它还能显式出当前结构中有几个文件夹和几个文件,后面我们都以这个文件结构举例子
除此之外,还可以使用tree a
,显示出以a目录为根的树形结构:
还可以使用tree dir1
,显示出以dir1目录为根的树形结构,当然dir1是空目录,什么都没有:
刚才还提到过,整个Linux系统的文件结构的根目录名是
/
,所以我们可以试试tree /
指令,由于系统中还有很多其他内部文件,屏幕上就会刷新很长时间文件信息。可以用ctrl c快捷键,中断指令执行的过程。
cd
我们创建了不同的目录,肯定需要进去再进去别的操作。cd的功能就是进入指定的路径。指定路径有两种方式:绝对路径和相对路径。
-
绝对路径指定:用
cd 绝对路径名
,即可进入指定的路径:
-
相对路径指定:相对于当前所处的目录,指定目录。通过
..
和.
完成,..
指上级路径,.
指本身所在路径。.
的主要作用是找到当前路径下的可执行程序并执行。此时我们主要使用..
和路径分隔符/
,比如我现在在a目录下,想进入上一层目录/root,用绝对路径表示是cd /root
,用相对路径表示是cd ..
;我在a目录下,想进入上一层目录/root的子目录dir1,用绝对路径表示是cd /root/dir1
,用相对路径表示是cd ../dir1
。
-
除此之外,如果只是想去当前目录下的子目录,可以直接使用
cd 目录名
,这种写法对跨层次或逆层次的进入不起作用:
绝对路径一般不会随着用户的路径变化失去唯一性,一般在特定服务的配置文件中经常被使用。而相对路径可能会随着用户的路径变化失效,但由于它的便携性,一般在命令行中使用比较多。
cd指令还有一种选项用法:cd -
指令,可以回到上一次所处的路径。连续使用cd -
,就会在两个路径见反复横跳:
ls
ls指令用来罗列指定目录下的内容。
ls
,直接罗列出当前目录下的文件名和文件夹名:
一个文件或文件夹通常由内容和属性组成,就算内容是空的,也一定有属性,如名字、创建时间、类型、修改时间、内容大小等等。上面的ls
指令仅仅列出文件和文件夹名字,而ls -l
可以列出它们的详细信息:
前面的还看不懂没事,知道每一行是一个文件或文件夹的详细信息就好。
但是,Linux系统中还可以存在隐藏文件(夹),一般以.
开头。隐藏文件(夹)大多是不想被修改,因此直接隐藏起来的文件(夹)。想要把这些隐藏的内容也列出来,使用ls -a
指令:
-a
和-l
都是ls
指令的选项,选项间可以组合使用,写成ls -al 或 ls -la 或 ls -a -l
都是一样的效果。这个指令功能不言而喻,就是把当前目录下的所有文件和文件夹包括隐藏文件,把它们的详细信息都列出来:
值得注意的是,每一个目录,都有两个隐藏文件夹,名字就是
.
和..
。实际上,.
就是自己当前目录,..
就是上一级目录。刚才说的相对路径中的.
和..
就是这么来的。
除此之外,ls也可以指定目录罗列其下的内容,也可以搭配-a和-l等选项使用,指定目录写在选项后:
rmdir、rm
学了新建目录和文件,当然也要学会删除。
- rmdir是与mkdir相对的指令,用于删除空目录:
rmdir还有一个选项-p。rmdir -p dir
,会删除空目录dir,并且如果子目录删除后父目录也空了,父目录也删除。循环直至某一个目录不为空或到当前所处路径:
- rm相对更泛用,能删除文件或目录。
一般情况下,为了安全考虑,系统还会询问一次是否要删除,输入y为是,输入n为否。如果不想让系统提醒,想要不废话果断删除,就加上-f选项,可以强制删除。
只是这样,一次只能删除一项。我们可以使用-r选项,删除指定目录及其下所有文件。
这样删除,也会一次次询问。所以,最强硬的删除方式就是rm -rf 指定目录
了,一口气通通删掉。当然,风险也相当大,Linux中删除文件可是无法恢复的。
Linux系统的根目录是/
,如果写下rm -rf /
,后果可就不堪设想了!
本篇完,感谢阅读!