liunx的文件管理和系统命令
1.计算机组成原理
1.1什么是计算机
1.2为什么要有计算机
1.3计算机五大组成部分
控制器
运算器
存储器
输入设备Input/I设备
输出设备Output/O设备
1.4计算机三大核心硬件
CPU
内存
磁盘
1.5操作系统基本概念
2.Linux系统介绍
2.1什么是Linux
2.2Linux发展历史
2.3Linux系统发行版
Redhat
CentOS
Ubuntu
Debian
为什么使用CentOS
3.虚拟机环境(Vmware)
3.1安装虚拟机
3.2安装CentOS
4.人机交互接口Bash
4.1什么是Bash shell
解释器
4.2Bash Shell能干什么
使用Shell实现对Linux系统的大部分管理
4.3如何使用Bash Shell
单条命令
效率低
适合少量工作
shell脚本
效率高
适合重复性工作
4.4Bash Shell提示符
4.5Bash Shell基础语法
命令:command
选项:options
参数:parameters
4.6Bash Shell基本特性
补全功能tabs
命令补全:当忘记命令时,可以使用tabs进行补全
目录补全:当需要查找文件目录层级比较多时,可以使用tabs快速补全,减少出错
常用快捷键ctrl
ctrl+a:光标跳转至正在输入的命令行首部
ctrl+e:光标跳转至正在输入的命令行尾部
ctrl+c:终止前台运行的程序
ctrl+d:在shell中,ctrl-d表示推出当前shell
ctrl+z:将任务暂停,挂至后台
ctrl+l:清屏,和clear命令等效
ctrl+k:删除从光标到行末的所有字符
ctrl+u:删除从光标到行首的所有字符
ctrl+r:搜索历史命令,利用关键字
历史记录History
双!!可执行上一条执行过的命令
输入!x,执行history命令历史中第x命令
使用!cat,调用history命令历史最近一次执行过的cat命令
命令别名alias
临时创建:alias 别名名称=“命令”
别名名称前加\就成为命令本身
取消别名用unalias
查看已设置别名:alias -p
永久生效需echo到/etc/bashrc中
帮助手册help
命令 --help 帮助
命令 man 手册
5.Linux文件管理
5.1 Linux以单根的方式组织文件 /
命令相关目录/bin
/bin 普通用户使用的命令
/sbin 管理员使用的命令
用户家相关目录/home
/home 普通用户的家目录,默认为 /home/username
/root 超级管理员root的家目录,普通用户无权操作
系统文件目录/usr
存放系统相关文件的目录
系统启动目录/boot
存放系统启动时内核与grub引导菜单
配置文件目录/etc
/etc存放系统配置文件目录,后续所有服务的配置都在这个目录中
这个目录用来存放所有的系统管理所需要的配置文件和子目录。
设备相关目录/dev
/dev存放设备文件的目录,比如光盘 ,硬盘分区,光驱,等等
/dev/null 黑洞设备,只进不出。类似于垃圾回收站
/dev/random 生成随机数的设备
/dev/zero 能源源不断的产生数据,类似于取款机,随时随地取钱*
可变的目录/var
/var,存放一些变化文件,比如/var/log下的日志文件
/var/tmp,进程产生的临时文件
/tmp,系统临时目录(类似于公共厕所)
虚拟系统目录/proc
虚拟的文件系统(如对应的进程停止则/proc下对应的目录则会被删除)
5.2 文件路径定位
为什么要进行定位
如何对文件进行定位
绝对路径和相对路径
绝对路径:只要从/开始的路径,比如 /home/slice/file
相对路径:相当于当前目录来说, 比如 a.txt ./a.txt ../bob/a.,p3
一个点代表的是当前目录
两个点代表的是当前目录的上层目录
小结:所谓的(.)和(..)目录实际上属于相对路径的一种表示形式
路径切换命令cd
使用cd命令来实现切换到某个文件或者目录
5.3 Linux基础命令
文件操作类命令
touch 文件创建
mkdir 目录创建
-v 显示详细信息
-p 递归创建目录
tree 显示目录结构
选项 -L :显示当前目录下的结构
cp 文件或目录复制
-v 详细显示命令执行的操作
-r 递归处理目录与子目录
-p 保留与文件或目录的属性
mv 文件移动命令
rm 文件或目录删除
-r 递归
-f 强制删除
-v 详细过程
文件查看类命令
cat 命令
-n 显示文件有多少行
-A 查看文件的特殊符号
tac 倒序查看文件
less和more命令
head和tail命令
head:查看头部内容,默认前十行
想查看头部(x)行,使用 -nx 指定
tail:查看尾部内容,默认后十行
-f 查看文件尾部的变化
grep过滤数据
https://blog.csdn.net/laobai1015/article/details/89458441?utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control&dist_request_id=&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromMachineLearnPai2%7Edefault-1.control
文件下载类命令
wget命令
curl命令
rz和sz命令
rz 只能上传文件,不支持上传文件夹,不支持大于4个G上传,也不支持断电续传
sz 只能下载文件,不支持下载文件夹
字符处理类命令
sort命令
对无序的文本文件进行排序
uniq命令
对多行完全相同的文本文件,当前希望能删除重复的行,同时还可以统计出完全相同的行出现的总次数,那么就可以使用 uniq 命令解决这个问题(但必须配合sort使用)
wc命令
-l 显示文件行数
-c 显示文件字节
-w 显示文件单词
5.4Linux文件属性
文件属性
整个文件的属性分为十列 比如-rw-------. 1 root root 4434 May 30 13:58 ks.cfg
-rw-------. ①第一个字符是文件类型,其他则是权限
1 ②硬链接次数
root ③文件属于哪个用户
root ④文件属于哪个组
4434 ⑤文件大小
May 30 13:58 ⑥⑦⑧最新修改的时间和日期
ks.cfg 文件或目录名称
文件类型
文件类型说明
- 普通文件(文本,二进制,压缩,图片,日志)
d 目录文件
b 设备文件(块设备)存储设备硬盘/dev/sda,/dev/sr0
c 设备文件(字符设备),终端/dev/tty1
s 套接字文件,进程与进程间的通信方式(socket)
l 链接文件
有些情况下,我们无法通过ls -l文件类型时,那么此时就需要使用file来更加精准的判断这个文件的类型。!PS:Linux文件扩展名不代表任何含义,仅为了我们更好的识别该文件是什么类型
5.5Linux链接文件
lnode和Block
数据data block,数据块是用来记录文件真实内容存在的地方,我们将其称为Block
源数据metadata,用来记录文件大小,创建时间,所有者等信息,我们将其称为Inode。inode仅包含文件的元数据信息,具体来说有以下内容
文件的字节数
文件的User ID Group ID
文件的读、写、执行权限
文件的时间戳
链接数,即多少文件名指向这个inode
文件数据block的位置
文件名只是inode便于识别的别名。(便于我们人识别)。表面上,用户是通过文件名打开文件,实际上是系统内部这个过程分为如下三步:
首先,系统找到这个文件名对应的inode编号
其次,通过inode编号,获取inode信息
最后,根据inode信息,找到文件数据所在的block,读出数据
软链接
相当于windows的快捷方式,软链接文件会将inode指向源文件的block,当我们访问这个软连接文件时,其实是源文件本身
硬链接
不同的文件指向同一个inode,简单来说就是指向同一个真实的数据源。
硬链接与软链接区别
In命令创建硬链接,In -s命令创建软链接
目录不能创建硬链接,并且硬链接不可以跨越分区系统
软链接支持对目录创建,同时也支持跨越分区系统
硬链接文件与源文件inode相同,软链接文件与源文件inode不同
删除软链接文件,对源文件及硬链接文件无任何影响
删除文件的硬 链接文件,对源文件及硬链接文件无任何影响
删除链接文件的源文件,对硬链接无影响,会导致软链接失效
删除源文件及其硬链接文件,整个文件会被真正的删除
6linux编辑工具vim
6.1vim基础
什么是vim
vi和vim是Linux下的一个文本编辑工具
为什么需要vim
因为Linux一切皆文件,而我们工作最多的就是修改某个服务的配置(其实就是修改文件内容)
vi和vim的区别
vi和vim都是文本编辑工具,只不过vim是vi的增强版,最小化安装操作系统没有vim命令,可以使用yum install vim 进行安装
如何使用vim
普通模式:主要是控制光标移动,可对文本进行复制,粘贴,删除等工作
编辑模式:主要进行文本内容编辑和修改,普通模式进入编辑模式(i、a、o、I、A、O),退出(ESC)
末行模式:主要用于保存或退出文本
视图模式:主要进行批量操作
注意:vim中,无法直接从编辑模式切换到末行模式。
6.2vim扩展知识
vim环境变量
环境变量临时生效
set nu 显示行号
set ic 忽略大小写在搜索时使用
set ai 自动缩进
set list 显示制表符(空行、rab键)
set no[nu|ic|ai...] 取消临时设定的变量
环境变量永久生效。~/.vimrc个人环境变量(优先级高)/etc/vimrc全局环境变量
vimdiff文件比对
diff 文件比对
vimdiff 以vim方式打开两个文件对比,高亮显示不同内容