admin管理员组文章数量:1558058
目录
Linux基础概念
Linux基础操作
shell中的快捷键
历史记录查询与清除
历史记录的调用
文件的管理
文件的建立及删除
建立
删除
Linux文本编辑方式
基础内容
拓展内容
文件的查看
cat
less
head&tail
文件复制与移动
复制
移动
文件统计
Linux系统中根文件系统的层级结构
Linux系统中文件寻址
文件的地址
Linux系统中文件寻址相关命令
Linux系统中文件批处理
Linux基础概念
提起Linux,首先我就必须先从shell开始介绍:
shell:是一种由C构成的程序,通过这个程序我们可以访问操作系统内核的服务。
而通过显示形式我们可以将其分成两个种类,即:
- GUI shell(Graphical User Interface shell)图形界面shell
- CLI shell(Command Line Interface shell)命令行形式shell
介绍完shell后,我们来了解一下什么是kernel(内核):
kernel:是操作系统最基础也是最核心的部分,主要负责管理系统的进程、内存、设备驱动程序以及文件和网络系统。在这里要注意的是,Linux是一款内核的名称而非操作系统。
Linux基础操作
shell中的快捷键
快捷键 | 作用 |
ctrl+c | 取消当前命令的执行 |
ctrl+d | 关闭当前shell |
ctrl+shift+n | 再打开一个新的shell |
ctrl+shift+t | 在shell中再打开一个页面 |
ctrl+a | 移动到光标所在命令首字母 |
ctrl+e | 移动到光标所在命令末尾 |
ctrl+l | 清屏 |
ctrl+u | 删除光标前面的文字(具有剪切功能) |
ctrl+k | 删除光标后面的文字(具有剪切功能) |
ctrl+shift+c | 复制 |
ctrl+shift+v | 粘贴 |
历史记录查询与清除
history # 查看历史记录
history -c # 清空shell中的历史记录
历史记录的调用
调用方法 | 作用 |
上下键 | 逐行调用 |
!数字 | 指定行调用 |
!字母 | 指定首字母调用 |
ctrl+r+关键字 | 指定关键字调用 |
文件的管理
文件的建立及删除
建立
文件:"touch file",touch命令在系统中是创建文件时使用,当文件名已存在的时候,可以修改文件的时间戳。
目录:"mkdir directory",mkdir命令在系统中是创建目录时所使用,在创建多层级目录时,mkdir -p 一级目录/二级目录/...。
删除
文件:rm -f file
文件夹:rm -fr directory
注意:需要删除当前路径下所有文件及文件夹时可以直接通过 “rm -fr *命令” 删除。
Linux文本编辑方式
Linux文本编辑方式分为两种,一种是类于我们Windows中记事本,它是一种图像文本编辑;而另一种则是我们在Linux中最常用的方式,即vim文本编辑工具。
gedit:"gedit file",直接在图像界面编译文件;
vim:"vim file",在vim界面直接输入内容。
基础内容
简单介绍一下vim的用法和工作模式:
用法:首先通过"vim file"进入vim界面,此时vim是处于命令模式的,我们若想退出,可以直接通过":q"方式推出vim界面,假设我们需要输入内容,此时按"i"键进入我们的插入模式,输入完成需要退出或者保存退出的时候,我们就需要按"ESC"从插入模式退回到命令模式,通过":wq"保存退出或者":q!"强制退出。
工作模式:由用法我们可以很清晰的了解到它的三个工作模式,分别是:命令模式、插入模式、退出模式。
拓展内容
- VIM命令模式下调整工作参数以及光标的移动
调整工作参数
在实际情况中,我们可能会根据实际情况修改vim的配置信息,这个时候我们可以根据需要考虑以下两种方式:
临时设定:直接在vim界面的命令模式下输入"set 参数信息",由于该设定模式是临时设定,因此在退出vim后设定就会消失。
永久设定:在shell中输入"vim /etc/vimrc"进入vim配置信息中,通过"set 参数信息"来修改。由于该设定方式是直接修改配置信息,因此是永久有效的。
光标的移动
- "gg":光标移动到文件的第一行
- "G":光标移动到文件的最后
- ":数字":光标移动到指定的行
- VIM字符的搜索、管理与替换
搜索
命令模式输入"/关键字"高亮显示关键字,通过按"n"键向下匹配,通过"N"键向上匹配,可以通过":noh"取消高亮显示。
管理
- 复制:"yl"复制一个字符、"yw"复制一个单词、"yy"复制一行
- 删除:"dl"删除一个字符、"dw"删除一个单词、"dd"删除一行
- 剪切:"cl"剪切一个字符、"cw"剪切一个单词、"cc"剪切一行 注意:剪切后会直接进入插入模式
- 粘贴:"p"
- 撤销:"u"
- 恢复:"ctrl+R"
替换
基础样式:":%s/原字符/替换后字符/g":其中%s表示全文所有行,g表示显示全文所出现原字符的列。
举例:
":7,15s/Hello/dsd2333/g":替换7-15行所有的Hello为dsd2333;
":/root/,/dsd2333/s/Hello/dsd2333/g":替换root和dsd2333之间的Hello为dsd2333。
- VIM可视化模式
进入:在命令模式中输"ctrl+v"进入可视化模式。
选取:通过上下左右键选取区域。
批量添加:选取好目标区域后,按大写的"i",加入字符,按"ESC"即可完成批量添加操作。
- VIM分屏功能
"ctrl+w+s":上下分屏
"ctrl+w+v":左右分屏
"ctrl+w+c":关闭光标所在的屏幕
"ctrl+w+上下左右":光标移动到指定屏幕
":sp file2":同时编辑当前文件和file2两个文件
- VIM编写模式插入
i:光标所在位置插入
I:光标所在行行首插入
o:光标所在行下一行插入
O:光标所在行上一行插入
a:光标所在字符的下一个字符插入
A:光标所在行的行尾插入
s:光标所在字符删除并插入
S:光标所在行删除并插入
- VIM退出模式
":q":退出vim,在文件内容没有变更之前使用
":wq":保存并退出vim
":q!":强制退出不保存,在文件受到改变后不想保存时使用
"wq!":强制保存退出,在对只读文件进行编写更改时使用
倘若我们在vim还没有保存编写内容时强制关闭时,就是产生".文件名称.swp"文件,此时我们需要进入文件内保存没有写入的部分数据,直接手动删除该文件也可以使vim恢复正常工作。在产生".文件名称.swp"文件时,我们进入vim时会有如下提示:
- O(Open Read-Only):只读打开
- E(Edit anyway):继续编辑
- R(Recover):恢复数据
- D(Delete it):删除".swp"文件
- Q(Quit):退出
- A(Abort):恢复后退出
此时,我们就可以根据自己的需求进行对应的操作。
文件的查看
cat
cat file :显示文件的所有内容
cat -b file:显示文件内容并显示行号,但是不统计空行
cat -n file:显示文件内容并显示行号,并且空行也统计在内。
注意:显示的行号不会保存在文件中
less
若文件内容较长时,我们可以使用less进行分页浏览。
基本操作:
- 上|下:逐行移动
- pageup|pagedown:逐页移动
- /关键字:高亮显示关键字,n向下匹配,N向上匹配。注意:在这里没有":noh"取消高亮操作!
- v:进入vim模式,在vim模式下输入":wq"退回到less模式
- q:退出
head&tail
head:显示文件前多少行
- head file 默认显示文件的前10行
- head -n 3 file 显示文件的前3行
tail:显示文件后多少行
- tail file 默认显示文件的后10行
- tail -n 3 file 显示文件的后3行
- tail -f file 监控文件后10行的变化,此操作通常用来监控系统日志。
文件复制与移动
复制
"cp 源文件 目的地文件":复制文件,若目的地文件已存在该文件时会询问
"cp -r 源目录 目的地目录":复制源目录到目的地目录中
"cp 源文件1源文件2... 目的地目录":复制多个文件到一个目录中。注意:目的地目录必须存在
"cp -r 源目录1源目录2... 目的地目录":复制多个目录或者文件到一个目录中。注意:目的地目录必须存在
注意:复制是按照模板新建的过程,源文件和目的地文件不是同一个文件。
移动
"mv 源文件 目的地文件":重命名,当目的地文件存在会被覆盖
"mv 源目录 目的地目录":直接将源目录移动到目的地目录下
注意:在相同磁盘分区中移动是重命名的过程,还是同一个文件;但是在不同磁盘分区中则是一个复制删除的过程,属于不同的文件。
文件统计
在进行文件统计之前我们首先要思考如何去判断一个文件的类型?后缀名?不是的,决定文件类型的因素是文件的内容,而想要了解文件的类型到底是什么?
"file filename":可以查看文件的真是类型是什么
在了解到该文件的具体类型之后,我们可能需要以下更详尽的内容:
wc filename:用于统计文件的字数、字符数、行数
wc -l filename:文件的行数
wc -w filename:文件字数
wc -m filename:文件字符数
wc -c filename:文件字节数
Linux系统中根文件系统的层级结构
FHS【Filesystem Hierarchy Standard】:文件系统层级结构标准。
1、/:根目录
2、/bin & /sbin:binaries/system binaries,所有用户可执行的命令程序文件。 / 系统管理命令程序,通常只有root用户才可以执行。
3、/boot:Static files of the boot loader,系统启动引导过程中加载的文件存在目录,若是文件删除,系统将无法启动,但是若未重 新启动的话,不影响当前工作。
4、/dev:device file,系统设备文件存放路径。
设备文件分为以下两种:
- 字符设备(c):线性设备
- 块设备(b):随机设备
/dev/null:写入该设备的所有数据都将被丢弃。从该设备读取将返回EOF条件。
/dev/zero:该设备是归零数据的来源。写入该设备的所有数据都将被丢弃。从该设备读取将返回与请求一样多的包含零值的字节。
/dev/tty:该设备是过程控制终端的同义词。一旦打开该设备,所有读取和写入的行为就好像打开了实际的控制终端设备一样。
5、/etc:Host-specific system configuration,系统程序的配置文件。
6、/home & /root:普通用户家目录集合/超级用户家目录。
在root用户下,~等同于/root;在普通用户下,~等同于/home/当前的用户名。
/home:普通用户在登录后默认被设定进入此目录中的相应子目录中。
/root:超级用户登录系统后默认进入的系统目录。
7、/lib & /lib64:最基本的共享库和内核模块。存放用于启动系统和执行root文件系统的命令的如/bin /sbin的二进制文件的共享库, 或者存放32位,或者64位(file命令查看)。
8、/media & /mnt:挂载点
/mnt:系统提供这个目录是让用户临时挂载别的文件系统。
/media:用来挂载光盘、u盘等文件系统的目录,一般系统自动挂载的光盘、u盘文件系统。
9、/opt:用户级的程序目录,系统默认的第三方软件安装的位置。主要存放可选的程序,安装到这个目录下的程序,它所有的数 据、库文件都是在同目录下。在硬盘容量不够时,也可将/opt单独挂载到其他磁盘上使用。
10、/proc & /sys:进程和内核相关参数信息/内核参数目录
/proc
/proc/cpuinfo:cpu的信息
/proc/devices:已经加载的设备并分类
/proc/filesystems:内核当前支持的文件系统类型
/proc/meminfo:RAM使用的相关信息
/proc/mounts:系统中使用的所有挂载
/proc/partitions:分区中的块分配信息
/proc/pci:系统中的PCI设备列表
/proc/driver:驱动信息
/proc/fs:文件系统信息
/proc/net:网卡设备信息
/sys
/sys/devices:sys文件系统最重要的目录结构,该目录下是全局设备结构体系,包含所有被发现的注册在各种总线上的各 种物理设备。
/sys/module:该目录包含所有被载入Kernel的模块,无论这些模块是以内联(inlined)方式编译到内核映像文件中还是编译 为外模块(.ko文件)
/sys/fs:该目录用来描述系统中所有的文件系统,包括文件系统本身和按照文件系统分类存放的已挂载点。
/sys/power:该目录下有几个属性文件可以用于控制整个机器的电源状态,如向其中写入控制命令让机器关机/重启等等。
11、/srv & /var :服务启动需要的数据/包含会改变的文件
/srv :主要用来存储本机或本服务器提供的服务或数据。(用户主动生产的数据、对外提供服务)
/var:系统产生的不可自动销毁的缓存文件、日志记录。(系统和程序运行后产生的数据、不对外提供服务、只能用户手动清理,包括mail、数据库文件、日志文件)
- cache:缓存
- log:系统日志
- lib:程序固定数据信息
- spool:程序队列数据,用户邮件等
- tmp:系统关机后依然需要保存的临时文件
12、/tmp: Temporary files,系统临时文件存放目录。要注意的是,系统中所有用户都会用到所以这个文件要对所有用户可写。
13、/user:Universal Shared Resource,全局共享只读资源。它是除了/根目录以外系统最重要的目录。
- bin sbin 命令
- lib lib64 库文件
- include c语言头文件
- share 程序文档说明
- src 程序源码
- local 第三方程序安装路径
14、/run:当前运行进程相关数据,此目录下的文件通常被程序自动调用。
Linux系统中文件寻址
文件的地址
相对路径:相对与当前系统所在目录的一个文件名称的简写,省略了当前目录名称。不以"/"开头,在命令执行时会自动在操作对象前加入“PWD”所显示的值。
绝对路径:文件在系统的真实位置,此命令以"/"开头,在执行时系统不会考虑现在所在位置的信心。
Linux系统中文件寻址相关命令
- 显示路径:pwd
- 切换路径:
cd 目录名称:进入指定目录中。
cd -:当前目录和当前目录值前所在目录之间的切换cdir---->odir
cd ..:进入当前目录的上级目录。
- 文件信息查看
- ls -l file 文件属性
- ls dir 目录中保函的内容
- ls -d dir 目录本身
- ls -a dir 所有文件包含隐藏的
- ls -S dir 查看并且按照大小排序
- ls -s file|dir 查看文件大小
Linux系统中文件批处理
系统中的通用配置符号
?:匹配单个字符
[[:alpha:]]:单个字母
[[:lower:]]:单个小写字母
[[:upper:]]:单个大写字母
[[:digit:]]:单个数字
[[:punct:]]:单个符号
[[:space:]]:单个空格
[[:alnum:]]:单个数字或字母
[[:punct:]][[:upper:]]:单个字符或者单个大写字母
字符集合
精确匹配:{}用于匹配精确内容。
{1...3}:3个,1,2,3;
{1,4,7}:3个1,4,7三个数。
模糊/匹配: []用于模糊匹配内容。
[1-9]:1-9的任意数字,有便输出,没有不做处理。
[!3-5] / [^3-5]:不是3-5的数字
"~"应用汇总
~:当前用户家目录;
~username:指定用户家后路;
~+:当前目录;
~-:进入当前目录之前所在目录(olddir)cd - 中的"-"
版权声明:本文标题:Linux —— 基本操作和文件管理 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1727334046a1108872.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论