🎊让我们一起走进Linux的奇妙世界!
在我们常用的Windows系统中,经常会遇到一些例如双击、右击、打开应用等操作,这些操作都是在使用Windows系统,同样,在接下来我们要学习的Linux系统中,输入的各种指令就是在使用Linux系统,这些指令本质上就是一些可执行程序,那么都有哪些指令呢?
目录
🎡01.ls指令
语法:ls [选项] [目录或文件]
功能:如果是目录,该命令会列出所有子目录与文件
如果是文件,会列出文件名和其他信息
常用选项:
- -a 列出目录下的所有文件,包括以.开头的隐含文件
- -d 将目录像文件一样显示(显示目录而不显示其下的文件)
- -l 列出文件的详细信息
- -t 以时间排序
- -1 一行只输出一个文件
- -i 输出文件的 i 节点的索引信息(查看文件的inode编号)
- -R 列出所有子目录下的文件
🎡02.pwd指令
语法:pwd
功能:显示用户当前所在的目录
常用选项:无
🎡03.cd指令
语法:cd 目录名
功能:改变工作目录(将当前的工作目录改变到指定的目录下)
举例:
cd .. 返回上级目录
cd /home/code/temp/ 绝对路径(从根目录开始)
cd /code/temp 相对路径(从当前目录开始)
cd ~ 进入用户的家目录(工作目录)
cd - 返回最近访问目录
🎡04.touch指令
语法:touch [选项] ...文件...
功能:更改文件或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的普通文件
常用选项:
- 无 若文件存在,则更新atime、mtime、ctime为当前时间;若文件不存在,则创建新文件
- -a(--time=atime、--time=access、--time=use) 更新atime和ctime为当前时间
- -m(--time=mtime、--time=modify) 更改mtime和ctime为当前时间
- -d 将文件的atime、mtime、ctime更改为指定时间 例如:touch -d "3 years ago"可以将文件的三个时间改为3年前
- -t 将文件的atime、mtime更改为指定时间
- -at 只修改atime时间为指定时间
- -mt 只修改mtime时间为指定时间
- -r 修改一个文件的时间属性为另一文件的时间属性 例如:touch -r file1 file2可以将file2的时间属性修改为file1文件的时间属性
- -h 更新真实的文件时间属性
什么是文件的时间属性呢?
在Linux系统中,文件的时间属性分为三种:访问时间、修改时间和状态改动时。
详细介绍请看这篇文章http://t.csdn.cn/XZ2wS
🎡05.mkdir指令(重要)
语法:mkdir [选项] dirname
功能:在当前目录下创建一个名为“dirname”的目录
常用选项:
-p(--parents) 可以是一个路径名称,若此路径中的某些目录上不存在,系统将自动建立好那些尚不存在的目录,即一次可以建立多个目录(递归创建目录)
🎡06.rmdir指令&&rm指令(重要)
rmdir指令是与mkdir相对应的指令,mkdir是建立目录,而rmdir是删除目录
语法:rmdir [选项] [dirname]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录
常用选项:
-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除
rm指令可以同时删除文件或目录
语法:rm [选项] [dirname]
适用对象:所有使用者
功能:删除文件或目录(若不加选项,则默认只能删除普通文件)
常用选项:
-f 即使文件属性为只读(即写保护),也可以删除(强制删除)
-i 删除前逐一询问确认
-r 删除目录及其下的所有文件
🎡07.man指令(重要)
Linux的指令有很多参数,我们又不可能全部记住,所以可以通过查看联机手册获取帮助。访问Linux手册的指令是man
语法:man [选项] [指令名称]
常用选项:
-k 根据关键字搜索联机帮助(搜索名字中含有对应指令名称的帮助)
num 只在第num章节查找
-a 把所有章节都显示出来,当按下q退出,会继续往后搜索,直到所有章节都搜索完毕
手册共分为八章(基本常用的就是前三个)
- 普通命令
- 系统调用,如open,write之类的(通过这个,至少可以很方便的查到调用这个函数,需要加什么头文件)
- 库函数,如printf,fread
- 特殊文件,也就是/dev下的各种设备文件
- 指文件的格式,比如passwd,就会说明这个文件中各个字段的含义
- 给游戏留的,由各个游戏自己定义
- 附件还有一些变量,比如像environ这种全局变量在这里就有说明
- 系统管理用的命令,这些命令只能由root使用,如ifconfig
🎡08.cp指令(重要)
语法:cp [选项] [源文件或目录] [目标文件或目录]
功能:复制文件或目录
说明:cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则会把前面指定的所有文件或目录复制到此目录中。若最后的目的地并非一个已存在的目录,则会出现错误信息
常用选项:
-f(--force) 强行复制文件或目录,不论目标文件或目录是否存在(没有就创建)
-i(--interactive) 覆盖文件之前先询问用户
-r(--recursive) 递归处理,将指定目录下的文件与子目录一并处理。若文件或目录的形态不属于目录或符号链接,则一律视为普通文件处理(只需记住复制目录一定要加“-r”指令)
🎡09.mv指令(重要)
mv指令是move的缩写,可以用来移动文件或重命名文件,是Linux系统下常用的指令,经常用来备份文件或目录(也就是剪切的功能)
语法:mv [选项] [源文件或目录] [目标文件或目录]
功能:
- 当第二个参数为文件名时,mv指令完成文件的重命名,此时,源文件或目录只能有一个,它将所给的源文件或目录重命名为给定的目标文件名
- 当第二个参数为已存在的目录名称时,源文件或目录可以有多个,mv命令将各参数指定的源文件或目录全部移至目标目录中
常用选项:
-f force强制的意思,如果目标文件已存在,不会询问而直接覆盖
-i 若目标文件已存在,就会询问是否覆盖
🎡10.cat指令
语法:cat [选项] [文件]
功能:查看目标文件的内容(将命令反着写“tac”就会逆向,也就是从最后一行开始向上打印 )
常用选项:
-b 对非空输出行编号
-n 对输出的所有行编号
-s 不输出多行空行
🎡11.more指令
more指令会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空格就往下一页显示,按 b 键就会往前一页显示,不能向前阅读
语法:more [选项] [文件]
功能:more指令功能与cat类似
常用选项:
-n 显示到第n行(按回车显示下一行)
q 退出more
🎡12.less指令(重要)
- less指令也是对文件或其他输出进行分页显示的工具,是Linux中正统查看文件内容的工具
- less的用法比more更具有弹性,more只能向后看,不能向前看,但less可以用[pageup][pagedown] 等按键来往前往后逐行翻看文件,更容易用来查看一个文件的内容
- less还具有更多的搜索功能,既可以向上搜索也可以向下搜索
语法:less [选项] [文件]
功能:less指令功能与more类似
常用选项:
-i 忽略搜索时的大小写
-N 显示每行行号
/字符串 向下搜索“字符串”的功能
?字符串 向上搜索“字符串”的功能
n 重复前一个搜索(与 / 或 ? 有关)
N 反向重复前一个搜索(与 / 或 ? 有关)
q 退出
🎡13.head指令
语法:head [参数] [文件]
功能:用来显示文件的开头到标准输出中,默认head指令打印其相对应文件的开头前十行
常用选项:
-n 显示的行数
🎡14.tail指令
tail指令从指定点开始将文件写到标准输出.使用tail命令的-f选项可以方便的查阅正在改变的日志文件,tail -f filename会把filename里最尾部的内容显示在屏幕上,并且不断刷新,使你看到最新的文件内容
语法:tail [参数] [文件]
功能:用来显示文件的末尾内容
常用选项:
-f 循环读取
-n 显示的行数
🎡15.date指令
语法:date [+标记]
功能:按格式输出时间
常用标记:
%H 小时(00-23)
%M 分钟(00-59)
%S 秒(00-59)
%X 相当于 %H:%M:%S
%d 日 (01-31)
%m 月份 (01-12)
%Y 完整年份 (0000-9999)
%F 相当于 %Y-%m-%d
时间戳:Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒
时间->时间戳 date +%s
时间戳->时间 date -d @[要转换的时间戳]
🎡16.cal指令
格式:cal [选项] [月份] [年份]
功能:用于查看日历等时间信息,如只有一个参数,则表示年份(1-9999),如有两个参数,则表示月份和年份
常用选项:
-3 显示系统前一个月,当前月,下一个月的月历
-j 显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)
-y 显示当前年份的日历
🎡17.find指令(非常重要)
Linux下的find指令提供了相当多的查找条件,功能很强大
语法:find [路径名] [选项]
功能:用于在文件树中查找文件,并作出相应处理
常用选项:
-name 按照文件名查找文件
选项很多很多~
🎡18.grep指令
语法: grep [选项] 搜寻字符串 文件
功能: 在文件中搜索字符串,将找到的行打印出来
常用选项:
-i 忽略大小写的不同
-n 输出行号
-v 反向选择,即显示出没有 '搜寻字符串' 内容的那一行
🎡19.zip/unzip指令
语法:zip [压缩文件名称.zip] [目录或文件]
功能:将目录或文件压缩成zip格式
常用选项:
-r 递归处理,将指定目录下的所有文件和子目录一并处理(若不加这个选项,则只压缩的是那个目录,而没有将该目录下的所有文件全部压缩)
-d 将压缩文件解压到指定的路径下
🎡20.tar指令
语法:tar [选项] 打包解包文件名称 目标文件与目录
功能:打包/解包,不打开它,直接看内容
常用选项:
-c 建立一个压缩文件的参数指令(create 的意思)
-x 解开一个压缩文件的参数指令
-t 查看 tarfile 里面的文件
-z 是否同时具有 gzip 的属性?即是否需要用 gzip 压缩
-j 是否同时具有 bzip2 的属性?即是否需要用 bzip2 压缩
-v 压缩的过程中显示文件!这个常用,但不建议用在背景执行过程
-f 使用档名,请留意,在 f 之后要立即接档名!不要再加参数
-C 解压到指定目录
注意!
- 若使用 z 选型,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file
- 若使用 j 选项,则以 .tar.bz2 来作为附档名
- 若使用 f 选项,则要放到最后,且后面要接档名
🎡20.bc指令
bc命令可以很方便的进行浮点运算(Linux中的计算器)
🎡21.uname指令
语法:uname [选项]
功能:uname用来获取电脑和操作系统的相关信息。如linux主机所用的操作系统的版本、硬件的名称等基本信息
常用选项:
-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称