Linux基本命令
- 前言
- ls命令
- pwd命令
- cd命令
- touch命令
- mkdir
- rmdir指令
- rm命令
前言
本文主要简单介绍一下高频使用的Linux基本命令和一些比较快捷的热键;
废话不多说,直接进入主题!!!
ls命令
语法:
ls +选项+目录或文件
;(首先在Linux环境下目录的意思就相当于Windows环境下的文件夹);
功能: 展示出该目录或文件下的文件或普通文件,并列出其详细信息;
常用选项:
-l: 列出文件的详细信息;
-a: 将所有文件列出(包括隐藏文件);
-1: 在每一行值列出一个文件;
-s: 在文件名前面输出其文件大小(单位为byte)
-S: 将文件以大小排序;
-r: 对当前目录下的文件进行反向排序;
-R: 以递归的方式展现出当前目录下所有文件及其子文件;
-t: 对当前目录下的文件按照时间为顺序排序;
-d: 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录;
-i: 输出文件的 i 节点的索引信息。 如 ls –ai 指定文件;
-k: 以 k 字节的形式表示文件的大小。ls –alk 指定文件;
-n: 用数字的 UID,GID 代替名称。 (介绍 UID, GID)
-F: 在每个文件名后附上一个字符以说明该文件的类型,“ * ”表示可执行的普通文件;“/”表示目录;“@”表
示符号链接;“|”表示FIFOs;“=”表示套接字(sockets)。(目录类型识别)
实战演示:
ls 然后什么也不加,默认展示当前路径下的所有可见文件;
当然如果ls后面只有选项而没有目录的话,就会默认对当前目录指向命令;
如果我们想要看看这些文件的具体信息的话我们可以加上 “-l
”选项:
我们可以发现明显比上一次多了一些详细信息,比如时间、所有者等信息;
当然对于ls -l
命令我们也可以简写成:ll
也能达到上图的效果;
当然我们除了用以上命令查看文件的详细信息,我们还可以通过指令:stat 文件名
获得更加详细的信息:
其中:
Access:表示访问时间;
Change:表示文件属性修改时间;
Modify:表示文件内容修改时间;
三个时间简称ACM 时间😁😁😁
上面说了,在不做特殊处理的情况下,ls命令默认是展现当前目录下的可见文件,如果我们想要 看当前目录下的所有文件(包括隐藏文件) 嘞?那么我们就可以利用命令“-a
”:
我们可以看到多出来3个文件,这3个文件都是隐藏文件,在Linux中以**.** 开头的文件都是隐藏文件;
其中 . 表示当前路径 . . 表示上一级路径;后面我们将cd命令的时候也会用到它们;
当然我们在这里也可以利用一下,比如 我们想看一下当前目录的上一级目录都有什么内容,我们就看以利用:“ls -l ..
” 来查看:
好了刚才是题外话,我们现在接着来讲解ls命令;
当然ls 后面除了可以跟单个选项外,我们也可以跟多个选项,多个选项可以只用一个
-连接起来,多个选项组合在一起就是与的关系,Linux会同时满足这些命令的要求;
比如:“ls -al1
” //该命令的意思就是以每一行展现一个文件的格式展现当前所有文件的详细信息:
其中al1三个选项的顺序无所谓啦,自己想先写那个就可以先写那个;
同时你也可以将这几个选项分开写也是没问题的,:“ls -a -l -1
” ,也是同样的效果;
剩下的选项读者可以自行下去研究,我们点到为止!!!😁😁😁
pwd命令
语法: 就是单走一个
pwd
== 功能:== 显示出当前用户所处的目录;(非常适合“路痴”的小伙伴!😁😁)
选项: 无选项;
实战演示:
就比如现在我们在lInux系统中迷失了方向,那么我们是直接输入命令“pwd
”就可以知道自己处于哪个位置了:
红圈表示我们现在所处位置;
cd命令
语法:
cd 目录名
功能: 进入所指定的目录中去;
选项: 无;
常见配合:
cd .
//进入当前目录;
cd ..
//回到当前目录的上一级目录;
cd ~
//回到家目录;
cd -
//回到最近一次访问过的目录(有点类似于Windows系统下的快捷键Tab+Alt窗口间的来回切换,这里是实现目录之间的来回切换)实战演示:
上面显示当前路径为/root,然后我们输入命令cd . 跳转到当前路径,就跟啥也没做一样,还是原来的目录;
当前目录是/root,我们输入命令cd . .跳转到当前目录的上一级目录;
我们会发现只有一个/
,这是Linux的根目录
,再往上cd也跳不动了,相当于到顶了;
在Linux系统和Windows系统中,文件多是以多叉树的形式存在的;
接下来我们再来介绍一下什么是绝对路径和相对路径
绝对路径:绝对路径是指目录下的绝对位置,直接到达目标位置;
比如上图:我们如果需要找到test.c文件,在Linux中我们就可以根据路径/home/bit/test.c
来找到它,而且绝对不会出错,因为改路径具有唯一性!!!;
相对路径: 相对路径是指以当前文件资源所在的目录为参照基础,链接到目标文件资源(或文件夹)的路径。
在Linux系统中,/
才是路径分割符,这一定需要和Window环境区分一下,因为在Window环境中\
才是路径分隔符;
接着演示:
回到用户家目录,由于我是用root身份登录的所以我的家是root,但是如果我们是用普通用户的身份登录的话,我们就会回到/home目录下;
剩下的命令,读者也可以下去自己尝试!!!😁😁😁
touch命令
语法:
touch 文件
功能: 创建一个具体的文件(不是文件夹!!!),touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件
选项:
-a: 或–time=atime或–time=access或–time=use只更改存取时间。
-c: 或–no-create 不建立任何文档。
-d: 使用指定的日期时间,而非现在的时间。
-f: 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
-m: 或–time=mtime或–time=modify 只更改变动时间。
-r: 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
-t: 使用指定的日期时间,而非现在的时间。;
实战演示:
我们利用touch命令在/root/Code目录下建立了一个test.c文件;
当然我们可以对其进行操作:
我们可以用nano文件打开它并对其进行操作,一般云服务器都内置了 nano 编辑器,如果没有,可以自己安装:直接输入命令即可:yum install -y nano
现在我们有了nano,我们直接输入命令nano +文件名
,就可以对对应文件进行操作了;
然后我们就会出现这样的界面,然后我们直接写代码就可以了;
比如我们先写个九九乘法表:
然后按Ctrl+X退出即可;然后他会问你是否保存修改,直接输入y即可,表示同意;
然后我们利用gcc编译器先编译这段代码:
输入命令:gcc test.c
然后我们会发现,在当前路径下多了个a.out文件,这个文件就相当于Window下的exe文件,我们直接输入命令./a.out
执行它!;
当然如果我们想要查看文件里面的内容怎么办?
1、我们可以利用nano 文件名直接进去查看;
2、利用 命令cat 文件名
;
就可以查看了:
比如:
我们直利用命令查看test.c文件里面的内容;
同理我们还可以查看a.out的文件:
只不过这全是二进制文件;
mkdir
上面介绍了touch命令是用来专门建立普通文件的,接下来这个命令是专门用来建立文件夹的;
语法:
mkdir 选项 文件名
功能: 创建指定文件夹;
常用选项:
-p:, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录;
实战演示:
我们利用mkdir命令建立一个文件夹;
我们配合着常用选项,我们可以在文件夹中建立文件夹:
我们在Code4文件夹中建立了Code5到Code8的文件夹;
为了方便检查,我们可以利用tree命令来查看,如果tree命令不能用的话,则使用该命令下载一下:
#yum install -y tree
接着我们tree 目录
,就能将当前目录下的所有文件按按照树枝一样全部展现出来:
我们可以发现的确按照我们之前的想法,建立了多个文件夹;
rmdir指令
上面我们似乎只讲了如何创建,却没讲如何删除,这不删除指令不就来了!!;
语法:
rmdir 选项 文件名
功能: 删除空文件按夹,注意一定要是空的才能删除,不是空文件夹会报错!!
常用选项:
-p: 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除。
适用对象 具有当前目录操作权限的所有使用者;
实战演示:
删除Code4内所有文件夹(包括Code4)
同时通过上图可以看见删除不为空的文件夹,的确会报错;
rm命令
上面是只能删文件夹而且还必须为空,感觉有点鸡肋,接下来我们认识一个比较厉害的删除指令:
可以同时删除文件或目录;
语法:
rm 选项 目录
功能: 删除文件或目录
常用选项: ;
-f: 即使文件属性为只读(即写保护),亦直接删除
-i: 删除前逐一询问确认
-r: 删除目录及其下所有文件
使用对象: 所有使用者;
实战练习:
我们想要删除 Code目录,为了避免误操作,系统会一个一个的让我们确认,最后确定完了才会删除,如果我就像一次性删除,不要在问我了,那么我们直接加上-f
强制删除:
这一次删除就很顺利,系统也没有追着问我们了,直接就删除了;
那如果我们只是想删除文件夹里面的内容,但是对于这个文件夹我们还向留着,我们改怎么办?
我们直接输入命令:rm -rf Code/*
就好了:
Code文件里面啥也没有,只剩一个空文件夹;
既然rm这么强,那么我的/
(根目录里面的内容)能不能删?当然可以!
输入命令:rm -rf /*
;这也就是程序员经常开玩笑的删库跑路,很刑!!!
我们演示一下:(读者们不要轻易尝试,博主用的是云服务器,删了就删了,没啥重要的东西)
就会出现这样疯狂刷屏的现象,如果想要这种现象停下来(Ctrl+C)
最后系统直接崩溃,输入啥命令都没用!!!(如果数云服务器,去后台重装一下系统就行了);