1、创建文件
- touch
一般格式:touch [选项][文件或目录名]
功能介绍:修改文件或者目录的时间属性,创建文件
常用选项:
选项 | 说明 |
---|---|
a | 改变档案的读取时间记录 |
m | 改变档案的修改时间记录 |
c | 假如目的档案不存在,不会建立新的档案。与–no-create的效果一样 |
r | 使用参考档的时间记录,与–file的效果一样 |
d | 设定时间与日期,可以使用各种不同的格式 |
t | 设定档案的时间记录,格式与date指令相同 |
–help | 列出指令格式 |
–version | 列出版本讯息 |
注意:若文件不存在,系统会创建一个新的文件
示例:touch testfile testfile文件已存在查看该文件的时间属性
touch test.txt test.txt在当前工作目录下不存在,将创建一个名为“test”的txt文件
2、修改文件
- vi/vim
一般格式:无一般格式
功能介绍:文本编辑器/程序开发工具,内置3种工作模式,分别为命令模式(Command mode),输入模式(Insert mode)和底线命令模式(Last line mode)
常用选项:用户刚启动vi/vim,便进入了命令模式,此状态下敲击键盘动作会被vim识别成命令,常用的命令选项有:
选项 | 说明 |
---|---|
i/a/o | 切换到输入模式,以输入字符 |
x | 删除当前光标所在处的字符 |
: | 切换到底线命令模式,以在最底一行输入命令 |
输入模式:用户在命令模式按下i/a/o就进入了命令模式,在输入模式中可以按照通用编辑规则对文本进行编辑。
底线命令模式:在命令模式按下:(英文冒号)即可进入底线命令模式。底线命令模式可以输入单个或多个字符的命令,可用的命令非常多,基本的命令选项有:
选项 | 说明 |
---|---|
q | 退出程序 |
w | 保存文件 |
注意:命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令
vim工作模式切换流程如下图所示:
示例:vim /etc/sysctl.conf ,打开配置文件
vim text.txt 打开txt文件
3、文件查看
- cat
一般格式:cat [选项] [文件路径]
功能介绍:用于查看内容较少的纯文本文件
常用选项:
选项 | 说明 |
---|---|
-n | 对输出的所有内容,显示行编号 |
-b | 对非空文件内容,显示行编号 |
-E | 在每行结束处显示$ |
注意:无
示例:cat -n textfile1 > textfile2 、把textfile1的文档内容加上行号后输入到textfile2文档中
cat /dev/null > /etc/test.txt 清空 /etc/test.txt文档内容
- more
一般格式:more [选项] [文件路径]
功能介绍:查看内容较多的纯文本文件
常用选项:
选项 | 说明 |
---|---|
-num | 一次显示的行数 |
-s | 当遇到有连续两行以上的空白行,就代换为一行的空白行 |
+/pattern | 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示 |
+num | 从第num行开始显示 |
注意:more命令类似cat,不过会以一页一页的形式显示,更方便使用者逐页阅读,常用操作有查看下一页(空格键)和查看上一页(b键)
示例:more -s testfile 逐页显示testfile文档内容,如有连续两行以上空白行则以一行空白行显示
more +20 text.txt 从第20行起开始显示text文档内容
- tail
一般格式:tail [选项] [文件路径]
功能介绍:查看文件的后N行内容或持续刷新内容
常用选项:
选项 | 说明 |
---|---|
-f | 循环读取 |
-v | 显示详细的处理信息 |
-c<数目> | 显示文件末尾的字节数 |
-n<行数> | 显示文件的尾部n行内容 |
注意:tail命令默认显示文件最后10行
示例:tail -f notes.log 实时查看文件notes.log的最新信息
tail -n +20 notes.log 显示文件notes.log的内容,从第20行至文章末尾
4、文件查找
- grep
一般格式:grep [选项] [范本样式] [文件或目录]
功能介绍:查找文件里符合要求的字符串
常用选项:
选项 | 说明 |
---|---|
-c | 显示符合范本样式的行数总数 |
-n | 打印匹配行的内容并显示行号 |
-v | 显示不包含范本样式的所有行 |
-i | 忽略大小写 |
注意:若不指定任何文件名称,或是所给予的文件名为-,则grep指令会从标准输入设备读取数据
示例:grep test *file ,在当前目录中,查找后缀有file字样的文件中包含test字符串的文件,并打印出该字符串的行
grep -in moon text.txt,忽略大小写,在text.txt文件中搜寻moon并显示匹配行号
grep -n a$ 123.txt 搜寻以a为行尾的内容,并显示行号
- diff
一般格式:diff [选项] [文件或目录1] [文件或目录2]
功能介绍:比较文件的差异
常用选项:
选项 | 说明 |
---|---|
-b | 不检查空格字符的不同 |
-c | 显示全部内容并标注不同之处 |
-i | 不检查大小写的不同 |
-r | 当file1和file2是目录时,递归作用到各文件和目录上 |
注意:diff以逐行的方式,比较文本文件的异同处,如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录
示例:diff -i files1 files2 不检查大小写的不同,比较文件files1和files2的差异
- echo
一般格式:echo 字符串
功能介绍:在终端输出字符串或变量提取后的值
常用选项:
选项 | 说明 |
---|---|
-n | 不换行输出 |
-e | 出现特殊字符特别加以处理而不会按照一般形式输出 |
注意:无
示例:echo hello world 输出hello world
echo $JAVA_HOME 输出java的环境变量JAVA_HOME的路径
5、创建文件链接
- ln
一般格式:ln [选项] [源文件或目录] [目标文件或目录]
功能介绍:为某一个文件在另外一个位置建立一个同步的链接
常用选项:
选项 | 说明 |
---|---|
-b | 删除,覆盖以前建立的链接 |
-i | 交互模式,文件存在则提示用户是否覆盖 |
-n | 把符号链接视为一般目录 |
-s | 创建软链接(符号链接) |
注意:使用ln命令创建的文件链接(无论是硬链接还是软链接)都不会将原本的档案复制一份只会占用非常少的磁盘空间
示例:ln -s log2022.log link2022 为文件log2022.log文件创建软连接link2022,如果log2022.log文件丢失,则此软连接将失效。
ln log2022.log ln2022 为文件log2022.log创建硬链接ln2022,ln2022与log2022的各项属性相同
Linux文件链接
Linux文件系统中,有所谓的链接,我们可以视作档案的别名,而链接又分为两种,分别为硬链接和软链接,其示意图如下图所示:
硬链接的意思是一个档案可以有多个名称并允许出现在多个目录中,这样它就有多个硬链接。文件拥有的硬链接数目称为文件在整个系统中的链接数,当文件的链接数降为0时,说明文件已经孤立于文件系统之外,这样的文件会被Linux系统删除
软链接可以理解为创建一个特殊的档案,该档案的内容是指向另一个档案的位置。软链接的本质是一个文件,它的文件类型是symbolic link。
硬链接的特点
- 硬链接以文件副本的形式存在,但不占用实际空间
- 不允许给目录创建硬链接
- 硬链接只有在同一个文件系统中才能创建
- 同一个文件的多个硬链接,会破坏Linux树状的文件系统
软链接的特点
- 软链接以路径的形式存在,类似于Windows操作系统中的快捷方式
- 软链接可以跨文件系统,硬链接不可以
- 软链接可以对一个不存在的文件名进行链接
- 软链接可以对目录进行链接
6、文件压缩/打包
- tar
一般格式:tar [选项] [文件或目录]
功能介绍:用于建立、还原备份文件,tar命令可以把一系列文件打包到一个大文件中,也可以把一个打包的大文件恢复成一系列文件
常用选项:
选项 | 说明 |
---|---|
-c | 创建打包文件,生成新的备份文件 |
-x | 从备份文件中还原文件(逆过程) |
-v | 列出归档解档的详细过程,显示进度 |
-f | 指定档案(备份)文件名称,-f选项必须后接.tar文件,所以必须放选项最后 |
注意:tar命令的选项-z,可以调用gzip命令,从而实现文件的打包和压缩
示例:tar -czvf test.tar.gz docfile 打包、压缩docfile文件为test.tar.gz
tar -tzvf test.tar.gz 列出压缩文件内容
- gzip
一般格式:gzip [选项] [文件目录]
功能介绍:压缩/解压缩文件
常用选项:
选项 | 说明 |
---|---|
-c | 解压到指定目录(把压缩后的文件输出到标准输出目录) |
-r | 递归处理,将指定目录下的所有文件及子目录一并处理 |
-d | 解开压缩文件 |
-v | 显示gzip,指令的执行过程 |
注意:文件经gzip压缩后,其名称后面会多出“gz”的拓展名
tar与gzip命令结合可以实现文件的打包和压缩,用gzip压缩tar打包后的文件,其拓展名一般为xxx.tar.gz
示例:gzip * 压缩当前目录下的所有文件
gzip -dv * 解开压缩文件,并显示解压的详细过程
7、软件包管理
- apt
一般格式:apt [选项] [要进行的操作] [安装的包名]
功能介绍:Shell前端软件包管理器,能实现查找、安装、升级、删除某一个或一系列软件包的操作
常用选项:
选项 | 说明 |
---|---|
-h | 帮助 |
-y | 当安装过程提示选择全部为“yes” |
-q | 不显示安装的过程 |
注意:apt指令在Linux的Debian系列中可用,Linux其余系列可选取其它命令实现等效功能如yum
apt命令执行需要系统管理者(root)的执行权限
示例:sudo apt update 查看一些可更新的包
sudo apt upgrade 升级安装包
sudo apt install mplayer --only-upgrade 只升级mplayer,如果不存在就不要安装它
sudo apt package 查看package包的相关信息