本文最后更新于:December 3, 2021 pm
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统。主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux有上百种不同的发行版。
Linux不仅系统性能稳定,而且是开源软件。其核心防火墙组件性能高效、配置简单,保证了系统的安全。在很多企业网络中,为了追求速度和安全,Linux不仅仅是被网络运维人员当作服务器使用,甚至当作网络防火墙。Linux具有开放源码、没有版权、技术社区用户多等特点,开放源码使得用户可以自由裁剪,灵活性高,功能强大,成本低。尤其系统中内嵌网络协议栈,经过适当的配置就可实现路由器的功能。
目录
1.文件管理
1.1 文件类型
符号 |
文件类型 |
- |
普通文件 |
d |
目录文件 |
i |
链接文件 |
c |
字符设备 |
b |
块设备 |
1.2 ls 命令
- 显示当前目录下所有的文件和文件夹
- 显示指定目录下所有子目录与文件,包括隐藏文件
其中,Linux文件或者目录名称最长可以有265个字符,点号(.)表示当前目录,两点(..)表示上一级目录,以点号(.)开头的文件为隐藏文件,需要用 -a 参数才能显示。
- 以列表方式显示文件的详细信息
- 配合 -i 以人性化的方式显示文件大小
1.2.1 通配符
- 文件代表文件名中所有字符
- 查找以 te 开头的文件
- 查找结尾为 html 的文件
- 代表文件名中任意一个字符
- 只找 第一个字符任意,后缀为 .c 的文件
- 只找 只有 3 个字符,前 2 个字符为 a. ,最后一个字符任意的文件
- “[“ 和 “]” 将字符组括起来,表示可以匹配字符组中的任意一个。“-” 用于表示字符范围
- 匹配 a、b、c中任意一个
- 匹配从 a 到 f 范围内的任意一个字符
- 找到从 a 到 f 范围内的任意一个字符开头的文件
- 查找文件名为 a-f 的文件,当 “-” 处于方括号之外失去通配符的作用
- 如果要使通配符作为普通字符使用,可以在其前面加上转义字符。 “?” 和 “*”处于方括号内时不用使用转义字符就失去通配符的作用。
- 查找文件名为 *a 的文件
1.3 pwd 命令
显示当前的工作目录。
1.4 cd 命令
切换工作目录。需要注意的是,cd 后面可跟绝对路径,也可以跟相对路径
1.4.1 特色用法
- 切换到当前用户的主目录(/home/用户目录),用户登录的时候,默认的目录就是用户的主目录
- 切换到当前用户的主目录(/home/用户目录)
- 切换到当前目录
- 切换到上级目录
- 可进入上次所在的目录
1.5 > 命令
输出重定向,Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。
需要注意的是,如果文件不存在,则创建,存在则覆盖其内容。
1.6 >> 命令
输出重定向,Linux允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。
需要注意的是,如果文件不存在,则创建,存在则追加到文件尾部。
1.7 cat 命令
查看或者合并文件内容。
| cat test1.txt test2.txt > test.txt
|
1.8 head 命令
查看文件。
- 默认显示前 10 行
- 显示前 n 行
1.9 tail 命令
查看文件。
- 默认显示前 10 行
- 显示后 n 行
1.10 less 命令
查看文件。
敲 Enter 键往下走一行,敲空格键,往下走一页,可以向上翻页,键盘上的 pageup,pagedown。
1.11 more 命令
分屏显示,查看内容时,在信息过长无法在一屏上显示时,会出现快速滚屏,使得用户无法看清文件的内容,此时可以使用 more 命令,每次只显示一页,按下空格键可以显示下一页,按 q 键退出显示,按 h 键可以获取帮助。
1.12 wc 命令
一次显示文件行数、字节数、文件名信息。
1.13 |(管道) 命令
名称:管道。
一个命令的输出可以通过管道做为另一个命令的输入。
管道 我们可以理解现实生活中的管子,管子的一头塞东西进去,另一头取出来,这里 “|” 的左右分为两端,左端塞东西(写),右端取东西(读)。
1.14 echo 命令
输出内容。
1.15 clear 命令
清除终端上的显示。
1.16 mkdir 命令
创建一个新的目录(文件夹)。
需要注意的是,是新建目录的名称不能与当前目录中已有的目录或文件同名,并且目录创建者必须对当前目录具有写权限。
- 递归创建目录
1.17 touch 命令
创建一个新的普通文件。
1.18 rmdir 命令
删除一个目录。需要注意的是,目录必须为空目录。
1.19 rm 命令
删除文件或目录,删除的文件不能恢复。
1.19.1 参数
- -i 以进行交互式方式执行
- -f 强制删除,忽略不存在的文件,无需提示
- -r 递归地删除目录下的内容,删除文件夹时必须加此参数
1.20 cp 命令
将给出的文件或目录复制到另一个文件或目录中。
格式:
1.20.1 选项
- -a 该选项通常在复制目录时使用,它保留链接、文件属性,并递归地复制目录,简单而言,保持文件原有属性
- -f 已经存在的目标文件而不提示
- -i 交互式复制,在覆盖目标文件之前将给出提示要求用户确认
- -r 若给出的源文件是目录文件,则 cp 将递归复制该目录下的所有子目录和文件,目标文件必须为一个目录名
- -v 显示拷贝进度
1.21 mv 命令
- 移动文件或目录。
- 重命名
1.21.1 参数
- -f 禁止交互式操作,如有覆盖也不会给出提示
- -i 确认交互方式操作,如果 mv 操作将导致对已存在的目标文件的覆盖,系统会询问是否重写,要求用户回答以避免误覆盖文件
- -v 显示移动进度
1.22 ln 命令
建立链接文件,Linux 链接文件类似于Windows下的快捷方式。
1.22.1 分类
1.22.1.1 软连接
软链接不占用磁盘空间,源文件删除则软链接失效。
创建:
需要注意的是,如果软连接文件和源文件不在同一个目录,源文件要使用绝对路径,不能使用相对路径。
1.22.1.2 硬链接
硬链接只能链接普通文件,不能链接目录。
创建:
需要注意的是,两个文件占用相同大小的硬盘空间,即使删除了源文件,链接文件还是存在,所以 -s 选项是更常见的形式。
1.23 grep 命令
文本搜索,强大的文本搜索工具,grep允许对文本文件进行模式查找,如果找到匹配模式,grep打印包含模式的所有行。
其中,选项有:
- -v :显示不包含匹配文本的所有行(相当于求反)
- -n :显示匹配行及行号
- -l :忽略大小写
1.24 find 命令
查找文件。
1.24.1 示例
- 查找当前目录下所有名为 test.sh 的文件
- 查找当前目录下所有后缀为 .sh 的文件
- 查找当前目录下所有以大写字母开头的文件
- 查找在 /tmp 目录下等于 2M 的文件
- 查找在 /tmp 目录下大于 2M 的文件
- 查找在 /tmp 目录下小于 2M 的文件
- 查找当前目录下大于 4K,小于 5M 的文件
| find ./ -size +4k -size -5M
|
- 查找当前目录下权限为 777 的文件或目录
1.25 which 命令
查看命令位置。
1.26 tar 命令
归档管理,计算机中的数据经常需要备份, tar 是 Unix/Linux 中最常用的备份工具,此命令可以把一系列文件归档到一个大文件中,也可以把档案文件解开以恢复数据。
1.26.1 参数
- -C :生成档案文件,创建打包文件
- -v :列出归档解档的详细过程,显示进度
- -f :指定档案文件名称,f 后面一定是 .tar 文件,所以必须放选项最后
- -t :列出档案中包含的文件
- -x :解开档案文件
需要注意的是,参数前面可以使用 “-“,也可以不使用;除了 f 需要放在参数的最后,其他参数的顺序任意。
1.27 gzip 命令
tar 与 gzip 命令结合使用实现文件打包、压缩。tar 只负责打包文件,但不压缩,用 gzip 压缩 tar 打包后的文件,其拓展名一般用 xxxx.tar.gz 。
1.27.1 解压
1.27.2 压缩
1.27.3 选项
- -f 压缩所有子目录
- -d 解压
需要注意的是,tar 这个命令并没有压缩的功能,它只是一个打包的命令,但是在 tar 命令中增加一个选项(-z)可以调用 gzip 实现了一个压缩的功能,实行一个先打包后压缩的过程。
1.27.4 结合 tar
1.27.4.1 压缩
1.27.4.2 解压
- 解压到当前目录
- 解压到指定目录
| tar -xvzf 1.tar.gz -C /temp
|
1.28 bzip2 命令
tar 与 bzip2 命令结合使用实行文件打包、压缩(用法和 gzip 一样)。tar 只负责打包文件,但不压缩,用 bzip2 压缩 tar 打包后的文件,其拓展名一般用 xxxx.tar.gz2 。在 tar 命令中增加一个选项(-j)可以调用 bzip2 实现了一个压缩的功能,实行一个先打包后压缩的过程。
1.28.1 结合 tar
- 压缩 tar -jcvf 压缩包包名 文件…
- 解压 tar -jxvf 压缩包包名
1.29 zip、unzip 命令
通过 zip 压缩文件的目标文件不需要指定扩展名,默认扩展名为 zip。
1.29.1 压缩
1.29.2 解压
1.29.3 unzip解压加密文件
| unzip -p 'password' test.zip unzip -p '11718' 061076-01.zip
|
1.30 gedit 命令
是一个 Linux 环境下的文本编辑器,类似 Windows 下的写字板程序,在不需要特别复杂的编程环境下,作为基本的文本编辑器比较合适。