Linux基本操作及文件管理学习

目录

Linux基础概念

Linux基础操作

shell中的快捷键

历史记录查询与清除

 历史记录的调用

文件的管理

文件的建立及删除

建立

删除

Linux文本编辑方式 

基础内容 

拓展内容

文件的查看

cat

less

head&tail

文件复制与移动

复制

移动

文件统计 

Linux系统中根文件系统的层级结构

Linux系统中文件寻址 

文件的地址

Linux系统中文件寻址相关命令

Linux系统中文件批处理


Linux基础概念

提起Linux,首先我就必须先从shell开始介绍:

shell:是一种由C构成的程序,通过这个程序我们可以访问操作系统内核的服务。

而通过显示形式我们可以将其分成两个种类,即:

  1. GUI shell(Graphical User Interface shell)图形界面shell
  2. 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 参数信息"来修改。由于该设定方式是直接修改配置信息,因此是永久有效的。

光标的移动

  1. "gg":光标移动到文件的第一行
  2. "G":光标移动到文件的最后
  3. ":数字":光标移动到指定的行
  • VIM字符的搜索、管理与替换

搜索

命令模式输入"/关键字"高亮显示关键字,通过按"n"键向下匹配,通过"N"键向上匹配,可以通过":noh"取消高亮显示。

管理

  1. 复制:"yl"复制一个字符、"yw"复制一个单词、"yy"复制一行
  2. 删除:"dl"删除一个字符、"dw"删除一个单词、"dd"删除一行
  3. 剪切:"cl"剪切一个字符、"cw"剪切一个单词、"cc"剪切一行   注意:剪切后会直接进入插入模式
  4. 粘贴:"p"
  5. 撤销:"u"
  6. 恢复:"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 ..:进入当前目录的上级目录。

  • 文件信息查看
  1. ls -l file 文件属性
  2. ls dir 目录中保函的内容
  3. ls -d dir 目录本身
  4. ls -a dir 所有文件包含隐藏的
  5. ls -S dir 查看并且按照大小排序
  6. 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 - 中的"-"

发布了50 篇原创文章 · 获赞 37 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/m0_37868230/article/details/103690910