本篇讲解的是一些Linux使用的一些基础常用的指令,非常适合Linux小白学习。所以那么如果你是刚刚开始接触Linux(无图形化操作界面)的小白,那么请从头到尾仔细地阅读这篇文章(也可以跟着操作),本篇文章将逐步为你讲解一些Linux系统中基础常用的指令,这些指令基本满足你在Linux系统中的日常操作需求。
当然,本篇文章的内容很干,看完甚至你会觉得没有什么收获,指令也压根记不住。但是没关系,因为这些指令事实上这些操作和指令只是Linux使用的一些基本的东西,没有什么技巧理论性可言。我们只需要能做到,认识这些操作和指令,然后在以后的日常Linux使用的时候,慢慢地熟悉这些指令和操作就行。所以,希望本篇文章能够帮助你初步熟悉Linux的操作。并初步建立对Linux系统的认知。
语法:ls [选项] [目录或文件]
功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息
常用选项:
演示:
可以看出来以上选项可以结合起来使用的,事实上,对于Linux的大多数指令选项的使用也是如此。
而对于显示出来的内容,例如使用指令ll时显示的文件相较于ls显示的信息更加详细,那么这些具体多出来的一个个信息是什么呢?有一些简单的信息,例如时间,大小自然是很容易就能看出来,但是其他信息由于涉及到权限或者其他的问题,我就暂且现在这按下不表,之后会在关于Linux权限的博文里讲解。
还有,使用ls -a时相较于ls指令多出来两个目录,一个是一个点,另一个是两个点。这又是什么呢,为什么会有这个呢?首先,一个点代表的目录即是当前目录,两点代表的是上级目录。而为什么呢?对于初学者来说,目前我们只能建立的一个浅显的理解就是为了能够管理使用当前目录文件(例如ls指令不指定文件或目录默认当前目录)以及能在各级目录之间跳转。
语法:pwd
功能:显示用户当前所在目录
使用演示:
Linux系统中,磁盘上的文件和目录是以树的形式管理起来的,树上的每个节点都是目录或文件。对于有过win系统使用经验的人来说,理解起来很容易。通过树的形式,我们可以通过路径确定并找到磁盘中对应的文件而cd指令的功能就类似于此。
此外,在win系统中,通常将存储文件的集合叫做文件夹,而在Linux系统中,我们通常称之为目录。
语法:cd 目录名
功能:改变工作目录。将当前工作目录改变到指定的目录下
使用演示:
语法:touch [选项] [文件]
功能:touch指令可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
常用选项:
使用演示:
语法:mkdir [选项] dirname
功能:在当前目录下创建一个名为"dirname"的目录
常用选项:
-p,–parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统自动建立好那些尚不存在的目录,即一次可以建立多个目录
使用演示:
与mkdir指令相对,rmdir是针对目录的删除命令
语法:rmdir [-p] [dirname]
适用对象:具有当前目录操作权限的所有使用者(对于权限的知识,我之后专门发表一篇blog讲解)
功能;删除空目录
常用选项:
-p 当子目录被删除后,如果父目录也变成空目录则连带空目录一并删除
使用演示:
而rm指令可以用来删除文件或目录
语法:rm [选项] [dirneme/filename]
适用对象:所有使用者
功能:删除文件或目录
常用选项:
使用演示:
学完以上几个指令会发现,Linux的指令常常带有很多选项,事实上上文的指令选项都是不齐的,那么这么多选项需要一个个记无疑大大提升Linux的使用成本,所以为了解决这个问题,Linux可以通过man指令访问联机手册来查询命令详情。
语法:man [选项] 命令
常用选项:
-k 根据关键字搜索联机帮助
num 即一个数字,只在第num章节找
-a 将所有章节的对应内容都显示出来
简单解释一下,手册分为8章
1 普通命令
2 系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
3 库函数,如printf,fread
4 特殊文件,也就是/dev下的各种设备文件
5 文件的格式,比如passwd,就会说明这个文件中各个字段的含义
6 给游戏留的,由各个游戏自己定义
7 附件以及一些变量,比如environ这种全局变量在这章就由说明
8 系统管理用的命令,这些命令只能由root(超级管理员)使用,如ifconfig
使用演示:
man man
man -a printf 前面说过,手册分别有8章,如果在选项带数字的话就定向在该章中寻找。如果不带任何选项的话就默认找到顺序搜索找到的第一个就停止。而-a选项则是会找完最后一个才停止,或者用户主动暂停。
语法:cp [选项] 源文件或目录 目标文件或目录
功能:复制文件或目录
说明:cp指令用于复制文件或目录,如果同时指定两个以上文件或目录,且最后目的地是一个已经存在的目录,则会把前面指定的所有文件或目录复制到此目录中。但是,同时指定复制多个文件或目录且最后目的地并非是一个已存在的目录则会出现错误信息。
常用选项:
使用演示:
简单演示一些cp -r
mv,即move的缩写,那么mv指令自然是用来移动文件的,除此之外,mv指令还能使文件重命名。
语法:mv [选项] 源文件或目录 目标文件或目录
功能:
最后一个参数名(目录名或文件名)对应的文件或目录是存在的时,mv指令的功能就是移动指定的文件或目录,但是目标参数对应的必须是目录,如果是文件就会报错
最后一个参数名(目录名或文件名)对应的文件或目录是不存在的时,mv指令的功能就是将目录或文件重命名
常用选项:
语法:cat [选项] [文件]
功能:查看目标文件的内容
常用选项:
使用演示:
功能类似于cat
语法:more [选项] [文件]
常用选项:
使用演示;
less工具也是对文件或其它输出进行分页显示的工具,可以说是linux正统查看文件内容的工具,功能极其强大。less的用法比起more更加的有弹性。在more的时候,我们并没有办法向前面翻,只能往后面看。但若使用了less时,就可以使用[pageup][pagedown]等按键的功能来往前往后翻看文件,更容易用来查看一个文件的内容! 除此之外,在less里头可以拥有更多的搜索功能,不止可以向下搜,也可以向上搜
语法:less [参数] 文件
选项:
使用演示:
head和tail指令的功能正如名字所写,用于显示开头或结尾n行的文字块。
head用于显示档案的开头至标准输出中,默认显示10行
语法:head [参数] [文件]
选项:
-n<行数> 显示的行数
使用演示:
tail命令从指定点开始将文件写到标准输出。不指定文件时用于对输入信息进行处理,最常见的场景还是查看日志文件。
使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,为你显示最新的文件内容。
语法:tail [必要参数] [选择参数] [文件]
常用选项:
使用演示:
可以看到,我在右边窗口对demo文件进行写入时,[tail -f demo]命令在实时的更新显示内容。
date指定格式显示时间:date +%Y:%m:%d
语法:date [OPTION]… [+FORMAT]
常用参数:
设定显示格式,使用加号,在加号后接标记,常用标记如下:
设定时间:
时间戳
时间 -> 时间戳:date +%s
时间戳 -> 时间:date -d@“时间戳”
Unix时间戳 (英文为Unix epoch,Unix time,POSIX time或Unix timestamp)是从1970年1月1日 (UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
用于显示公历(日历)的指令。没有参数时默认显示当前月份,只有一个数字作参数默认当作年份(1~9999)显示该年月历。
语法:cal [参数] [月份] [年份]
常用选项:
使用演示:
在Linux系统中,可以使用find命令在目录结构(文件树)中搜索文件,并执行指定的操作。find命令提供了相当多的查找条件,功能很强大。一个强大的搜索指令的选项自然很多,其中大部分选项都值得我们花时间来了解一下。即使系统中含有网络文件系统(NFS),find命令在该文件系统中同样有效,只要你具有相应的权限。对于,Linux使用来说,这是一个很常用很重要的命令。
在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间(这里是指30G字节以上的文件系统)。
语法:find pathname -options
常用选项:
-name 按照文件名查找文件
使用演示:
关键字检索筛选,可与find命令结合使用。
语法:grep [选项] “搜寻字符串” 文件
功能:在文件中搜索字符串,将找到的行打印出来
常用选项:
使用演示:
.zip文件应该都不陌生吧。在Linux中,zip指令用于压缩文件,将目录或文件压缩成zip格式。
语法:zip [参数] [打包后的文件名] [目录或文件]
常用选项:
-r 递归处理,将指定目录下的所有文件和子目录一并处理
使用演示:
语法:unzip [参数] [待解压文件]
常用选项:
-d 指定解压路径
使用演示:
打包/解包命令,同样是一个非常实用的命令。
语法:tar [选项] [文件或目录]
常用选项:
使用演示:
打包
参数f之后的文档名是自己取的,但是,我们通常习惯以.tar为标识。
如果加z参数,则以.tar.gz或.tgz来代表gzip压缩过的tar file
如果加j参数,则以.tart.bz2为标识
查看打包/压缩文件的信息 -t
解压缩 -x
只解压缩压缩文件中的一个文件,与前面查看压缩包信息配合使用
用于浮点运算,bash(按下不表,之后会有提及)内置了对整数四则运算的支持,但不支持浮点数,故有bc指令。
语法:uname [选项]
功能:uname用来获取主机所有硬件的名称、操作系统的版本等相关信息
常用选项:
-a 或-all详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称
演示:
管道符|,也是一个非常实用的符号,本篇文章就已经多次使用过此符号。管道在显示生活中是一种用来传输某种物质的工具,而Linux系统中,管道符也是用来传输东西的!在Linux系统中,管道符会将管道符左侧指令原本需要输出的信息传输到管道右侧的指令,为该指令提供操作对象,即左侧命令的输出会变成右侧命令的输入。 并且可以同时使用多个管道符。
演示:
以上就是关于Linux中一些基本操作及指令的讲解,就如开头我所写,本篇内容基本上都是干货,读起来大概会枯燥乏味,而如果你能读到这里,那么恭喜你啃完了这些“用处不大”,非常基本非常基础的东西,日后只需要在Linux使用中慢慢多使用,多熟悉,自然就能消化了。
如果你觉得本篇写得还不错的话请多多点赞收藏加分享,当然如果发现我写的有错误或者对文章内容排版之类的有建议给我的话也欢迎在评论区或者私信告诉我。