1.Linux基础
Linux文件系统基础命令
1.1 Linux文件系统概念
操作系统中负责管理和存储文件信息的软件机构称为文件管
理系统,简称文件系统:
文件系统的结构通常叫做目录树结构,从斜杠/根目录开始:
Liux号称”万物皆文件”,意味着针对Liux的操作,大多数时间是在针对Linux文件系统操作。
1.2 文件系统的通用性
- 几乎主流的文件系统都是从/根目录开始的,Liux也不例外,而windows,文件系统会以盘符来区分不同文件系统;
- 目录树中节点分为两个种类:目录(directory)、文件(file);
- 从根目录开始,路径具有唯一性:
- 只有在目录下才可以继续创建下一级目录,换句话说目录树到文件终止蔓延。
1.3 易混概念
- 当前路径:也叫当前工作目录,当下用户所属的位置:
- 相对路径:相对当前工作目录开始的路径,会随当前路径变化而变化:
- 绝对路径:不管工作目录在哪,绝对路径都是从/根目录开始,唯一不重复。
1.4 特殊符号
- . 目录或者文件名字以开始表示是隐藏的文件,如果路径以.开始表示当前路径
- .. 当前目录的上一级目录
- ~ 当前用户的home目录,比如root用户home目录是/root
- / 根目录
1 | 进入当前目录下的a |
1.5 Linux 命令帮助手册
- help命令
- man命令
Linux基础命令
1.1 概述
- 命令属于死东西,属于多用多会,不用就忘的知识,孰能生巧;
- Tab键可以实现自动补全和提示,要合理使用;
- history命令可以显示历史执行记录,或者使用方向键来切换前后执行过的命令;
1.2 显示目录内容
- Is (list files)命令:用于显示指定工作目录下之内容(列出目前工作目录所含之文件及子目录)。
- -a 显示所有文件及目录(开头的隐藏文件也会列出)
- -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等详细列出
1 | s path |
1.3 切换目录
cd(change directory)命令:用于切换当前工作目录。切换的路径可为绝对路径或相对路径。若路径省略,则 变换至使用者的home目录 。
~ 也表示为home目录的意思
. 则是表示目前所在的目录
. .则表示目前目录位置的上一层目录
1 | pwd #查看自己当前所在目录 |
1.4 创建 删除
- mkdir(make directory)命令:用于创建目录。
- -p 确保父目录名称存在,不存在的就建一个。
- touch 命令:创建一个空文件,无任何内容。
- rm(remove)命令:用于删除一个文件或者目录。
- -f 强制直接删除,无需用户确认。
- -r 将目录及以下所有递归逐一删除。
1 | [root@node1 ~]# mkdir /a/b/c |
1.5 复制与移动
- cp(copy file)命令:用于复制文件或目录。
- -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
- mv(move file)命令:用来为文件或目录改名、或将文件或目录移入其它位置
1 | cp [options] source... directory |
1.6 文件内容查看
- cat(concatenate)命令:用于连接文件并打印到标准输出设备如console控制台上。适合小文件内容查看。
- more 命令:类似cat,不过会以一页一页的形式显示,更方便使用者逐页阅读,翻页结束自动退出。适合大文件 查看。按space键翻下一页,按b往回(back)上一页
- tail 命令:用于查看文件的结尾部分的内容。
- -n 用于显示行数,默认为10,即显示 10 行的内容。
- -f 用于实时显示文件动态追加的内容。会把文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 文件有更新,就可以看到最新的文件内容
1.7 其他
- | 管道命令:将前一个命令执行的结果作为内容交给下一个命令处理。可以形成多级管道操作。 命令1|命令2 可以将命令1的结果通过命令2作进一步的处理
- echo 命令:用于内容的输出,将内容输出到console控制台上。 echo string
1 | root@node1 ~]# ls |
> 输出重定向(覆盖)命令 command > file 执行command然后将输出的内容存入file,file内已经存在的内容将被新内容覆盖替代
>> 输出重定向(追加)命令 command >> file 执行command然后将输出的内容存入file,新内容追加在文件末尾。
1 | [root@node1 test]# echo 111 > 4.txt |
1.8 解压命令
tar(tape archive )命令:常用于备份文件。是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内 的文件。
- -c 或–create 建立新的备份文件。
- -x 或–extract或–get 从备份文件中还原文件。
- -v 或–verbose 显示指令执行过程。
- -f <备份文件>或–file=<备份文件> 指定备份文件。
1 | tar cvf 打包名.tar 文件或者目录 |
1 | root@node1 test]# ll |
在打包备份或者解包的过程中,可以通过指定压缩算法,对打包的文件进行压缩,解压的时候也需要指定相应的算法。
-z 或–gzip或–ungzip 通过gzip指令处理备份文件
重要的搭配: tar -zxvf xxxxx.tar.gz
1 | [root@node1 test]# ll |
Linux系统常用命令
1.1 时间日期查看
- date命令:用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号 后接数个标记。
- cal(calendar)命令:用于用于显示当前或者指定日期的公历。
1 | [root@node1 linux02]# date |
1.2 内存、磁盘使用率查看
- free命令:用于显示内存状态。会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以 及系统核心使用的缓冲区等。
- df(英文全拼:disk free)命令:用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。
1 | [root@node1 linux02]# df -h |
1.3 vi/vim文本编辑器
1.3.1 简介
- vi是一款很多unix及其延伸系统内置的文本编辑器,具有强大的文本编辑能力。
- vim是从vi发展出来的一个文本编辑器,可以理解为vi编辑器的增强版。vim中代码补完、编译及错误跳转等方便编 程的功能特别丰富
- vi/vim编辑器的核心设计思想:让程序员的手指始终保持在键盘的核心区域, 就能完成所有的编辑操作。
- 学习使用vi/vim编辑器最大挑战:万物皆命令
1.3.2 打开与新建文件
1 | vim /path/file |
- 如果打开的文件不存在,此时就是新建文件,编辑器左下角会提示new file
- 如果文件已经存在,此时就打开这个文件,进入命令模式
1.3.3 vim编辑器的3种编辑器
命令模式(Command mode) 命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能。 此模型下,不能自由进行文本编辑。
输入模式(Insert mode) 也就是所谓的编辑模式、插入模式。 此模式下,才可以对文件内容进行自由编辑。
底线命令模式(Last line mode) 以:开始,通常用于文件的保存、退出。
1.3.4 输入模式
i 进入到编辑输入模式后,定位到当前光标前面
o 进入到编辑输入模式后,在当前行的后面添加一行空行(当前行的下一行)
输入模式下按ESC退回到命令模式
1.3.5 底线模式
在命令模式下,输入:进入底线命令模式。
常用的底线命令有:
- :q 退出 :w 保存
- :wq 保存退出
- :wq! 强制保存退出
在命令模式下按下shift + zz,可以实现快速的保存退出。
1.3.6 光标移动
- 方向键控制移动
- 翻页 pageup pagedown
- 行首(home 0) 行尾(end $)
- 跳到文件的最后一行 G
- 跳到文件的第一行 gg
1.3.7 复制 粘贴
复制
yy 复制光标当前所在行内容
nyy 复制当前行往下n行
粘贴
- p 当前行的下一行粘贴
- P 当前行的上一行粘贴
注意:使用鼠标从window或者其他地方复制内容到vim编辑器粘贴,一定一定要在输入模式下进行,否则数据会有丢 失的风险
1.3.8 删除 撤销
删除命令
- dd 删除光标所在当前行内容
- ndd 删除当前行往下n行
撤销
- u 撤销上一步的操作(后悔药)
- ctrl+r 反撤销