基本介绍:
操作系统是一款进行软硬件资源管理的软件。
我们编写的程序通过操作系统访问了硬件(printf)。
一个文件没有内容,但是有修改日期,类型,大小,文件名,这些是文件的属性,属性也是数据,所以就算没有内容也会占用空间。
所以文件 = 内容 + 属性,本质都是数据,在磁盘或者硬盘保存,所以文件的操作无非是对内容的操作,对属性的操作。
Linux下一切皆文件。
指令本质是可执行程序(C、C++写的)。
Linux中可以取别名,我们可以用witch(查看命令指令)看到。
由此我们可以自己定制命令,并且使用。
Xshell的复制粘贴
复制:ctrl + insert(有的需要再加上fn)
粘贴:shift + insert
ls指令
功能:查看当前路径文件名
常用选项:ls 查看当前路径文件名
ls -a 查看所有文件
ls -l 查看文件详细情况 (也可以用ll直接查看,ll是ls -l的别名)
pwd指令
语法:pwd
mkdir指令
语法:mkdir [选项] name
cd指令
touch指令
touch 在linux中创建普通文件,并且可以将已有文件的文件时间更新到最新
stat可以查看文件的更多信息,三个时间被称为ACM时间,modify和change对应内容修改和属性修改
语法:touch [选项] 文件名
rmdir和rm指令
man指令
语法:man [选项] 命令
功能:查看该命令的手册
常用选项:man -k 根据关键字搜索联机帮助
man num 只在第num章节找 手册分为8个章节
1是普通的命令
2是系统调用,如open,write之类的,可以更方便看加什么头文件
3是库函数,如printf,fread
4是特殊文件,也就是/dev下的各种设备文件
5是指文件的格式,比如passwd, 就会说明这个文件中各个字段的含义
6是给游戏留的,由各个游戏自己定义
7是附件还有一些变量,比如向environ这种全局变量在这里就有说明
8是系统管理用的命令,这些命令只能由root使用,如ifconfig
man -a 将所有章节的都显示出来
cp指令
mv指令
常用选项: mv -f 强制剪切,会覆盖同名文件
cat指令
语法:cat [选项] [文件]
功能:查看目标文件的内容 ,tac指令可以倒着查看文本
常用选项:cat -b 对非空输出行编号
cat -n 对输出的所有行编号
cat -s 不输出多行空行
重定向
输出重定向
输出重定向">“将本来应该写入到显示器文件中的内容,改写到指定文件中,也因此引入,Linux下一切皆文件,每次输出重定向时,会清除文件原有内容再进行写入,类似于C语言文件操作的"w”。
追加重定向
追加重定向">>“会在文件末尾加上内容,不会清除原有内容,类似于"a”。
输入重定向
输入重定向是将本来从键盘中读入数据,变为从指定文件中读取相应数据。
less、more指令
cat可以用于查看小文件内容,但当需要查看大文件内容时,可以用less和more,其中,less支持上翻、搜索功能,more不支持。
head、tail指令
head可以查看起始位置到某一行的所有内容,tail可以查看末尾到某一行的所有内容。
如果我们需要取中间某几行的内容,可以用上管道(“|”,将左侧的输出内容交给右侧执行)进行查看。
uniq指令
uniq可以去重,但前提是相邻情况下才能去重
date指令
获取年月日时分秒,可以自定义格式。
时间戳显示,从1970年累积的秒数,具有唯一性。
2000年的千年虫问题就是因为时间戳溢出,因为当时能存储的数据量不够大。
cal指令
查看日历。
find指令
查找文件路径,如下图是在/root下严格查找所有名称符合log.txt的文件路径。
which指令
搜索某个指令的路径。
grep指令
-n行号 -i 取消严格大小写 -v过滤匹配内容
行过滤工具
快速查找文件中的指定内容
zip指令
zip/unzip 压缩/解压
zip -r递归压缩,不加-r只会打包空文件夹,不会打包文件夹中的内容
unzip [name] -d 指定路径解压
unzip解压文件夹
tar指令
压缩
解压
打包指令的区别在于算法不同,不同算法用不同打包方式