当前位置: 首页 > news >正文

Linux基础第三天

系统时间

date命令,date中文具有日期的含义,利用该命令可以查看或者修改Linux系统日期和时间。

基本格式如下:

gec@ubuntu:~$ date

gec@ubuntu:~$ date  -s   日期时间    //  -s选项可以设置日期和时间

文件权限

chmod命令,是英文单词change module的缩写,利用该命令可以修改Linux系统的文件权限,如下:

基本格式如下:

gec@ubuntu:~$ chmod   权限   文件

系统中的所有用户被分成三类:文件所有者(现登录用户),同组用户和其他用户。这三类用户对这个文件的rwx权限,可以由命令 ls -l 来查看。

在上述列子中,rwx三组权限对应了三种用户。当我们需要修改这些权限的时候,为了便于描述,一般用3组八进制数来对应这些权限为,如下表所示:

如上图,文件的权限应该0644,如果想要修改文件的权限: chmod  0777  demo.c  !!!

查看分区

df命令,该命令的作用是查看系统分区信息,侧重在文件系统级别的磁盘占用方面,用法如下:

gec@ubuntu:~$ df  [选项]        

创建链接

ln 命令,是英文link的缩写,中文具有链接的含义,该命令用于给文件创建链接,在Linux系统中,为文件创建链接的方式分为以下两种:

基本格式如下:

gec@ubuntu:~$ ln  [选项]  源文件  目标文件           // -s选项为创建软连接文件

软链接:类似于 Windows 系统中给文件创建快捷方式,即产生一个特殊的文件,该文件用来指向另一个文件,此链接方式同样适用于目录。

硬链接:文件的基本信息都存储在inode中,而硬链接指的就是给一个文件的 inode 分配多个文件名,通过任何一个文件名,都可以找到此文件的inode,从而读取该文件的数据信息。

注意:软链接文件的源文件必须写成绝对路径,而不能写成相对路径(硬链接没有这样的要求),否则软链接文件会报错。

查找文件

find命令,该命令用于查找Linux系统中某个指定的路径下文件的位置,并且可以把文件的绝对路径输出到终端。注意:如果打算查找根目录下的文件,则应该使用sudo获取root权限。

基本格式如下:

gec@ubuntu:~$ find  /usr  -name "*.h"   ==> 在/usr中查找所有以.h结尾的文件

压缩解压

tar命令,该命令的作用是归档/释放 以及 压缩/解压,归档的意思把文件统一打包但不作压缩处理,所以压缩和归档生成的包的大小不同。

基本格式如下:

gec@ubuntu:~$ tar  选项  目标文件  源文件          

-c:创建一个新的归档文件。

-x:从归档文件中提取文件。

-f:指定要处理的归档文件名。     //该选项必须放在所有选项的最后面

-v:在终端上显示操作的详细信息。

-t:列出归档文件中的所有文件。

-u:向现有归档文件中添加文件。

-r:更新归档文件中的文件或目录。

-z:使用gzip压缩创建tar文件。

-j:使用bzip2压缩法创建存档文件。

归档/释放

gec@ubuntu:~$ tar cf a.tar dir/*  ==> 将目录dir中的所有文件归档成a.tar

gec@ubuntu:~$ tar tf a.tar        ==> 查看归档文件a.tar

gec@ubuntu:~$ tar xf a.tar        ==> 释放归档文件a.tar

压缩/解压

gec@ubuntu:~$ tar czf a.tar.gz dir/*  将目录dir中的所有文件归档并压缩为gz格式

gec@ubuntu:~$ tar xzf a.tar.gz        ==> 解压压缩文件a.tar.gz

gec@ubuntu:~$ tar cjf a.tar.bz2 dir/* 将目录dir中的所有文件归档并压缩为bz2格式

gec@ubuntu:~$ tar xjf a.tar.bz2       ==> 解压压缩文件a.tar.bz2

命令路径

which命令,在Linux系统中该命令用于定位和查找系统中可执行文件的路径。它主要用于确定某个命令是否存在以及该命令的完整路径。

基本格式如下:

gec@ubuntu:~$ which  [选项]  命令名   

文件格式

file命令,该命令用于查看Linux系统中文件的类型,包括但不限于文本文件、目录、二进制文件、符号链接等。

基本格式如下:

gec@ubuntu:~$ file  [选项]  文件名   

配置网络

ifconfig命令,该命令的作用是查看或者设置系统IP地址,ifconfig并非系统自带命令,需要利用命令进行安装使用:

基本格式如下:

gec@ubuntu:~$ sudo  apt  install  net-tools       //安装指令只需要执行一次即可

基本格式如下:

gec@ubuntu:~$ ifconfig   [选项]

网络测试

ping命令,该命令的作用是向指定主机发送要求回应的ICMP数据包,可以用来测试网络是否连通。

基本格式如下:

gec@ubuntu:~$ ping  IP地址

gec@ubuntu:~$ ping  主机域名

注意:一般而言,如果网络是畅通的,那么ping命令将会看到数据包返回的延迟时间,否则如果看不到延迟时间,那么网络就是不通的。

进程状态

ps命令,是英文process state的缩写,该命令用于获取Linux系统中各进程的当前状态参数

基本格式如下:

gec@ubuntu:~$ ps   [选项]

命令别名

alias命令,该命令用于创建和管理命令别名,可以简化日常的指令输入以及提高开发效率!

基本格式如下:

gec@ubuntu:~$ alias  别名=命令

注意:alias命令设置的别名只在当前终端中有效,如果需要永久生效,需要将其写入到用户家目录下的配置文件.bashrc中,然后使用source命令使配置文件立即生效。

清除屏幕

clear命令,该命令用于清除终端的一面屏幕,为了提高终端的可读性以及提高开发的效率!

基本格式如下:

gec@ubuntu:~$ clear

  • Linux的vi/vim编辑器

基本概念

vim文本编辑器,是由vi编辑器发展演变过来的文本编辑器,因其具有使用简单、功能强大、是 Linux 众多发行版的默认文本编辑器。很多人习惯将 vim 称为 vi,其实 vim 是 vi 的增强版(在 vi 的基础上增加了正则表达式的查找、多窗口的编辑等功能),使用 vim 进行程序开发会更加方便。

注意:Linux系统中是默认安装vi编辑器的,但是需要手动安装vim编辑器,指令如下所示:

gec@ubuntu:$ sudo  apt  install   vim

模式说明

vim有三种工作模式,分别是命令模式、插入模式和编辑模式,具体三种方式的关系图如下:

命令模式

当使用 vi/vim 打开文件时,则默认处于命令模式。此模式下,可使用方向键(上、下、左、右键)或 k、j、h、l 移动光标的位置,还可以对文件内容进行复制、粘贴、替换、删除等操作。

输入模式

在输入模式下,Vim 可以对文本执行写操作,类似于在 Windows 系统的文档中输入内容。使Vim 切换到输入模式的方法:在命令模式状态下输入 i、I、a、A、o、O 等插入命令,当编辑文件完成后按 Esc 键即可返回命令模式。 

快捷键

功能描述

i

在当前光标所在位置插入随后输入的文本,光标后的文本相应向右移动

I

在光标所在行的行首插入随后输入的文本,行首是该行的第一个非空白字符,相当于光标移动到行首执行 i 命令

o

光标所在行的下面插入新的一行。光标停在空行首,等待输入文本

O

在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本

a

在当前光标所在位置之后插入随后输入的文本

A

在光标所在行的行尾插入随后输入的文本,相当于光标移动到行尾再执行a命令

编辑模式

编辑模式用于对文件中的指定内容执行保存、查找或替换等操作。使 Vim 切换到编辑模式的方法:在命令模式状态下按shift+:键,此时 Vim 窗口的左下方出现一个“:”符号,就可以输入相关指令进行操作了。指令执行后 Vim 会自动返回命令模式。

如果想直接返回命令模式,按 Esc 即可。注意:如果无法确定此时为何种模式,只需按一次 Esc 键,即可返回命令模式。

使用流程

打开文件

利用vi/vim进行文本编辑,涉及到文件的各种操作,前提都是需要提前“打开文件”操作:

gec@ubuntu:~$ vi  test.c

刚打开文件时默认处于命令模式,此时文件的下方会显示文件的一些信息:文件的总行数和字符数,以及当前光标所在的位置等。

编辑文件

Vim 提供了大量的编辑快捷键,所有操作大部分在命令模式下进行,主要可分为以下几类:

查找内容

如果在文件中并没有找到所要查找的字符串,则在文件底部会出现 "Pattern not found" 提示。

在查找过程中需要注意的是,要查找的字符串是严格区分大小写的,如查找 "shenchao" 和 "ShenChao" 会得到不同的结果。如果想忽略大小写,则输入命令 ":set ic";调整回来输入":set noic"。

如果在字符串中出现特殊符号,则需要加上转义字符 "\"。常见的特殊符号有 \、*、?、$ 等。如果出现这些字符,例如,要查找字符串 "10$",则需要在命令模式中输入 "/10\$"。

替换文本

快捷键

功能描述

r

替换光标所在位置的字符

R

从光标所在位置开始替换字符,其输入内容会覆盖掉后面等长的文本内容,按“Esc”可以结束

:s/a1/a2/g

将当前光标所在行中的所有 a1 用 a2 替换

:n1,n2s/a1/a2/g

将文件中 n1 到 n2 行中所有 a1 都用 a2 替换

:s/a1/a2/g

将文件中所有的 a1 都用 a2 替换

快捷键

功能描述

/abc

从光标所在位置向前查找字符串 abc

/^abc

查找以 abc 为行首的行

/abc$

查找以 abc 为行尾的行

?abc

从光标所在为主向后查找字符串 abc

n

向同一方向重复上次的查找指令

N

向相反方向重复上次的查找指定

删除文本

需要注意的是被删除的内容并没有真正删除,都放在了剪贴板中。将光标移动到指定位置处,按下 "p" 键,就可以将刚才删除的内容又粘贴到此处。

快捷键

功能描述

x

删除光标所在位置的字符

dd

删除光标所在行

ndd

删除当前行(包括此行)后 n 行文本

dG

删除光标所在行一直到文件末尾的所有内容

D

删除光标位置到行尾的内容

:a1,a2d

函数从 a1 行到 a2 行的文本内容

复制粘贴

快捷键

功能描述

p

将剪贴板中的内容粘贴到光标后

P(大写)

将剪贴板中的内容粘贴到光标前

y

复制已选中的文本到剪贴板

yy

将光标所在行复制到剪贴板,此命令前可以加数字 n,可复制多行

yw

将光标位置的单词复制到剪贴板

保存退出

需要注意:vi/vim 的保存和退出是在编辑模式中进行的,"w!" 和 "wq!" 等类似的指令,通常用于对文件没有写权限的时候(显示 readonly),但如果你是文件的所有者或者 root 用户,就可以强制执行。

命令

功能描述

:wq

保存并退出 Vim 编辑器

:wq!

保存并强制退出 Vim 编辑器

:q

不保存就退出 Vim 编辑器

:q!

不保存,且强制退出 Vim 编辑器

:w

保存但是不退出 Vim 编辑器

:w!

强制保存文本

:w filename

另存到 filename 文件

x

保存文本,并退出 Vim 编辑器,更通用的一个 vim 命令

ZZ

直接退出 Vim 编辑器

其他常用

某些情况下,可能需要把两行进行连接。比如说,下面的文件中有两行文本,现在需要将其合并成一行(实际上就是将两行间的换行符去掉)。可以直接在命令模式中按下 "J" 键。

如果不小心误删除了文件内容,则可以通过 "u" 键来撤销刚才执行的命令。如果要撤销刚才的多次操作,可以多按几次 "u" 键。

http://www.xdnf.cn/news/517303.html

相关文章:

  • 例举3种强制类型转换和2种隐式
  • |从零开始的Pyside2界面编程| 环境搭建以及第一个ui界面
  • 系统思考:IT企业项目困境分析
  • 基于Java+MySQL+Servlet的留言系统开发全解析
  • 电子电路:怎么理解电子在导体中的热运动?
  • C++数组详解:一维和多维数组的定义、初始化、访问与遍历
  • 算法优化——以“LCR 080. 组合”为例
  • React Native打包报错: Task :react-native-picker:verifyReleaseResources FAILE
  • IIS入门指南:原理、部署与实战
  • 电动车仪表上的数字怎么来的,想知道吗?
  • leetcode3546. 等和矩阵分割 I- medium
  • uniapp中的easycom工作机制
  • Flask快速入门和问答项目源码
  • ​在 ASP.NET 中,HTTP 处理程序(HttpHandler)是处理 HTTP 请求的核心组件​
  • 【Bluedroid】蓝牙HID DEVICE 报告发送与电源管理源码解析
  • Python 中 if 和 else 基础知识的详解和使用
  • 中级统计师-统计学基础知识-第四章 假设检验
  • 【老马】离线版金融敏感信息加解密组件开源项目 encryption-local
  • python打卡day29
  • spark数据处理练习题详解【下】
  • 【simulink】IEEE33节点系统潮流分析模型
  • 2025年全国青少年信息素养大赛C++小学全年级初赛试题
  • MyBatis框架(入门)
  • 【java多线程】线程间通信-利用wait和notify轮流按序打印奇数和偶数
  • 一文读懂-嵌入式Ubuntu平台
  • 基于Bootstrap 的网页html css 登录页制作成品
  • C++学习:六个月从基础到就业——C++17:if/switch初始化语句
  • MATLAB中的Switch语句讲解
  • LabVIEW双音信号互调失真测量
  • CSS 浮动(Float)及其应用