前序
Linux中一切皆文件
对于文件又如何理解呢?从使用方面来说只是简单地用来存储数据;在点开一个普通文件之前,可以看到一些关于文件的数据,例如大小,日期,点开之后便是存储的数据(或者什么也没有)。所以这两种数据之间有何区别呢?
前一种称作文件的属性数据,用来介绍文件;后一种称作文件的内容数据,用来存放使用者的数据
所以文件便可表示为
文件=文件内容数据+文件属性数据
前面谈到的是文件的本身,文件与文件之间有什么关系呢?
文件之间一般存在两种关系:普通文件;文件夹中的文件
ls指令
语法:ls[选项][目录或文件]
功能:对于目录,该命令列出该目录下所有子目录与文件;对于文件,将列出文件名以及其他信息
常用选项
-a 列出目录下的所有文件,包括以.开头的隐含文件(a表示all) -d 将目录像文件一样显示,而不是显示其下的文件 -i 输出文件的i节点的索引信息 -k 以k字节的形式表示文件的大小 -l 列出文件的详细信息(一般缩写为 ll) -n 用数字的UID,GID代替名称 -F 在每个文件名后附上一个字符以说明该文件的类型 “*”表示可执行的普通文件;“/”表示目录;“@”表示符号链接 “|”表示套接字(目录类型识别) -r 对目录反向排序 -s 在文件名后输出该文件的大小 -R 列出所有子目录下的文件 -1 一行只输出一个文件
pwd指令
语法:pwd
功能:显示用户当前所在的目录
cd指令
Linux系统中,磁盘上的文件和目录被组成一颗目录树,每个节点都是目录或文件
几乎任何操作系统文件的目录组织结构都是一颗多叉树
一个目录里面可以是目录也可以是普通文件
叶子节点可以是目录也可以是普通文件;非叶子节点只能是目录
语法:cd目录名
功能:改变工作目录,将当前工作目录改变到指定的目录下
cd .. 返回上级目录 cd - 返回最近访问目录 cd ~ 进入用户家目录 进入/bin 绝对路径 cd /usr/bin 相对路径 此时在文件/local中 cd ../bin
touch指令
语法:touch[选项] 文件
功能:touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件
常用选项
-a 或--time=atime或--time=access或--time=use只更改存取时间 -c 或--no-create 不建立任何文档 -d 使用指定的日期时间,而非现在的时间 -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题 -m 或--time=mtime或--time=modify 只更改变动时间 -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同 -t 使用指定的日期时间,而非现在的时间
mkdir指令
语法:mkdir[选项] dirname
功能:在当前目录下创建一个名为"dirname"的目录(文件夹)
常用选项
-p,-parents 可以是一个路径名称,此时若路径中的某些目录尚不存在, 加上选项上后,系统将会自动建立尚不存在的目录,即一次可以建立多个目录
rmdir指令&&rm指令
rmdir是一个与mkdir像对应的命令。mkdir是建立目录,rmdir是删除命令
语法:rmdir[-p][dirname]
适用对象:具有当前目录操作权限的所有使用者
功能:删除空目录
常用选项
-p 当子目录被删除后如果父目录也变成空目录的话,就连带父目录一起删除
rm命令可以同时删除文件或目录
语法:rm[-f-i-r-v][dirname]
适用对象:所有使用者
功能:删除文件或目录
常见选项
-f 即使文件属性为只读,也直接删除 -i 删除前逐一询问确认 -r 删除目录及其下所有文件,递归删除 -rf 递归强制删除命令的目录,及其内部文件
man指令
linux命令的说明书
前三章较常用:指令,调用,C语言库
语法:man[选项]
常用选项
-k 根据关键字搜索联机帮助 num 只在第num章节找 -a 将所有章节都显示出来,默认从第一章开始查找
cp指令
语法:cp[选项]源文件或目录 目标文件或目录
功能:赋值文件或目录,即拷贝
说明:cp指令用于复制文件或目录,如果同时指定两个以上的文件或目录,且最后的目的地也是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中,若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息
常用选项
-f 或--force强行复制文件或目录,不论目的文件或目录是否已经存在 -i 或--interactive覆盖文件之前先询问用户 -r 递归处理,将指定目录下的文件与子目录一并处理;若源文件或目录的形态不属于目录或符号链接,一律视为普通文件处理
mv指令
move缩写,用来移动文件或者将文件改名,经常用来备份文件或目录
语法:mv[选项]源文件或目录 目标文件或目录,即剪切
功能
视mv命令中第二个参数类型的不同(目标文件或不是),mv命令将文件重命名或将其移至一个新的目录中
当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个,将所给的源文件或目录重命名为给定的目标文件名
当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中
常用选项
-f force强制,如果目标文件已经存在,不会询问而直接覆盖 -i 若目标文件已经,先询问是否覆盖
cat指令
语法:cat[选项][文件]
功能:查看目标文件的内容,适合小文本或代码段
常用选项
-b 对非空输出行编号 -n 对输出的所有行编号 -s 不输出多行空行
more指令
语法:more[选项][文件]
功能:more命令,功能类似cat,适用查看大文件
常用选项
-n 对输出的所有行编号 q 退出命令
less指令
语法:less[参数]文件
功能:less与more类似,但使用less可以随意浏览文件,而more仅能向前移动,less在查看之前不会加载整个文件
常用选项
-i 忽略搜索时的大小写 -N 显示每行的行号 / 字符串 向下搜索“字符串”的功能 ?字符串 向上搜素“字符串”的功能 n 重复前一个搜素 N 反向重复前一个搜素 q 退出命令
head指令
用来显示开头或结尾某个数量的文字区块,head用来显示档案的开头至标准输出中,tail也就是查看档案的结尾
语法:head[参数][文件]
功能:head用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行
常用选项
-n 显示行数
tail指令
tail命令从指定开始将文件写到标准输出中,使用tail命令的-f选项可以查阅正在改变的日志文件,tail-f会把文件里最尾部的内容显示在屏幕上,并且不断刷新,方便看到最新的文件内容
语法:tail[参数][选择参数][文件]
功能:用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理,常用来查看日志文件
常用选项
-f 循环读取 -n 显示行数
时间相关指令
date显示
date指定格式显示时间:date+%Y/%m/%d
用法:date[option]…[format]
1.显示方面,使用者可以设定欲显示的格式,格式设定一个加号后接标记,其中常用的标记列表如下
%H 小时 %M 分钟 %S 秒 %X 相当于%H/%M/%S %d 日 %m 月份 %Y 完整年份 %F 相当于%Y/%m/%d
实例如下
2.设定时间方面
date -s 设置时间
3,时间戳
时间->时间戳:date +%s
时间戳是从1970年1月1日开始所经过的秒数
从1970年1月1日到现在的秒数如下(2023.3.15)
Cal指令
cal命令可以用来显示公历。公历是现在国际通用的历法。
命令格式:cal[参数][月份][年份]
功能:用于查看日历等时间信息
常用选项
-3 显示系统前一个月,当前月,下一个月的月历 -j 显示在当年中的第几天 -y 显示当前年份的日历
实例如下
find指令: -name
linux下find命令在目录结构中搜索文件,并执行指定的操作。在进行find搜索时,可能需要访问磁盘进而导致效率低下
语法:find pathname
功能:用于在文件中查找文件,并作出相应的处理
常用选项
-name 按照文件名查找文件
which指令
语法:which [命令]
功能:只能用来搜索命令
在搜索ll时,出现新的指令alias,该指令与mv有些类似,功能时对指令进行重命名
where指令
语法:whereis [指令或文档]
功能:在特定的路径下,查找指定的文件名对应的指令或文档