Linux操作系统(基础操作)

news2024/11/24 0:16:50

文章目录

      • 一、文件操作命令
        • 1. 目录和文件操作
        • 2. 查看文件内容
        • 3. 重定向
        • 4. 管道
      • 二、信息系统相关命令
        • 1. 查看系统进程 -- ps
        • 2. 查看系统监听端口 -- netstat
        • 3. 查看日志信息命令 -- head / tail
      • 三、用户权限和管理
        • 1. linux中的权限
        • 2.修改用户权限chmod
        • 3.增加用户、查看登录用户
        • 4. 切换用户、修改密码、退出
      • 四、其他常用命令
        • 1. 文件查找和软链接
        • 2. 打包和解包【知道】
        • 3. 压缩解压缩
        • 4. vi 编辑器

  • Linux文件系统和目录
    linux是树形结构的文件系统,其中 / 是系统的根目录,其他目录都是它的子节点
  • linux的命令帮助信息
    command --help (相对简洁)
    man command (详细)

一、文件操作命令

1. 目录和文件操作

  • 查看目录
ls # 列举当前目录的文件内容
ls - lha # 以列表方式,更加人性化,显示所有文件
l和h需要配合使用
ls -lha /usr/bin # 查看/usr/bin中的文件内容
  • 通配符
    * :表示匹配0到多个任意字符
    ?:表示匹配单个任意字符
    [abcd]:表示匹配括号内(abcd中)任意的一个字符
    [a-d]:a-d表示从a到d的范围,也就是abcd中匹配任意一个字符

在这里插入图片描述

  • 切换目录
cd 或 cd~: 切换到当前用户的主目录(/home/用户目录)
cd . : 切换到当前目录
cd .. : 切换到上一级目录
cd - : 切换到上一次所在的目录

在这里插入图片描述

  • 创建文件
    touch 文件名 (多个文件名之间用空格隔开)
    • 如果创建的文件名不存在,则新建一个文件
    • 如果创建的文件已存在,则更新文件修改的时间
  • 创建目录
    mkdir 目录名称(多个目录之间用空格隔开)
    • 使用-p选项,可以递归创建
    • 如果创建的目录名称已存在,则创建失败
  • 删除文件或目录 – rm
-r: 表示交互式执行,删除前会询问是否删除
-f: 表示强制删除,忽略不存在的文件,无需提示
-r: 表示删除文件夹及文件夹下所有的内容

在这里插入图片描述

  • 复制文件 cp
    cp 源文件 目标文件
-f :强制覆盖已存在的文件而不提示
-i :覆盖已存在的文件时,会提示用户是否确认
-r :复制目录及目录下所有内容时,需要带上-r参数

在这里插入图片描述

  • 文件或目录的移动 mv
    mv 源文件 目标文件
    在这里插入图片描述

2. 查看文件内容

  • cat
cat:适用于查看较少内容的文件,可以用来查看文件、创建文件、合并文件、追加文件等功能
 常用选项说明:
	 b:对非空行输出行编号
	 n:对所有行输出行编号
  • more
more:适用于查看内容较多的文件,用于分屏显示文件内容
常用快捷键操作:
	- 空格:显示下一页内容
	- enter: 滚动显示下一行
	- b: 显示上一页内容
	- f: 显示下一页内容
	- q: 退出
  • grep
grep: 是一个强大的文本搜索工具,允许对文本进行模式查找(正则表达式)
常用选项说明:
	-v: 显示不包含匹配文本的所有行(相当于取反)
	-n: 显示匹配的行及行号
	-i: 忽略大小写
  • grep常用的正则表达式:
    ^a:搜索行首内容以a文本开头的行,eg: grep -n '^a’1.txt
    ke$:搜索行尾内容以ke文本结尾的行,eg:grep -n ‘ke$’1.txt
    [Ss]igna[Ll]:匹配[]中的任意一个字符,搜索匹配单词为SignaL、Signal、signaL、signal的行,eg: grep -n ‘[Ss]igna[Ll]’

3. 重定向

  • linux允许将命令执行结果重定向到另一个文件中
  • > 重定向符号,表示输出到新文件中,会覆盖文件原有内容
  • >>重定向符号,表示追加到新文件中,不会覆盖文件原有内容
    在这里插入图片描述

4. 管道

  • linux允许将一个命令的输出结果通过管道作为另一个命令的输入
  • 常用的管道命令:
    more:分屏显示执行结果 (eg: ls -l /usr/bin | more)
    grep:通过grep过滤执行结果的内容 (eg: ls /usr/bin | grep ‘^au’)
    在这里插入图片描述
  • 拓展:回显echo
    echo ’ ’ > /var/log/message :通过回显删除文件内容

二、信息系统相关命令

  • 重启和关机(了解)
    • 重启:reboot
    • 关机:shutdown
    • shutdown -r now 表示重启时,会给其他用户发送提示信息
    • shutdown -h now 表示立刻关机
    • shutdown -h 20.15 表示定时关机
    • shutdown -h +10 表示从当前时再往后10分钟进行关机

1. 查看系统进程 – ps

  • ps -aux
    - a:显示终端上所有进程,包括其他用户的进程
    -u:显示进程的详细状态
    -x:显示没有控制终端的进程

  • ps命令一般结合grep使用,来查找特点应用程序的进程
    ps -aux|grep bin
    ps -ef|grep bin

  • top
    快捷键(shift+m)可以按内存的使用率降序排列显示进程的信息
    快捷键(shift+p)可以按cpu的使用率降序排列显示进程的信息

  • kill
    kill -9 进程ID
    进程id可以通过ps命令去查到
    -9 表示的是强制关闭对应的进程
    注意:普通用户不能关闭其他用户的进程,只能关闭自己打开的进程

2. 查看系统监听端口 – netstat

  • netstat [-anptu] | grep ‘关键字’ (root用户操作)
    -a 选项:查看所有已打开的端口
    -n 选项:以数字方式显示已打开的端口,不显示别名(http:80 https:443)
    -p 选项:显示对应进程的pid
    -t 选项:显示出tcp协议的端口
    -u 选项:显示出udp协议的端口
  • lsof -i (root用户操作)
    -i:表示查看所有已打开的进程的端口
    lsof -i:端口号 表示查看特定的端口是否已打开
    • 查看系统中3306端口是否已打开:lsof -i:3306
    • 查看系统中http服务器的端口是否已打开:lsof -:80
      在这里插入图片描述
  • 使用场景:当我们去启动某个应用程序时,该应用程序的端口有可能被其他程序所占用,那么此时就可以通过netstat或者lsof查看对应的端口被谁占用了,然后关闭对应的进程,重新启动要启动的应用程序即可。

3. 查看日志信息命令 – head / tail

  • 格式:head 文件名
  • 说明:
    • 默认显示日志文件的前10行内容
    • head -20 文件名:显示日志文件的前20行内容
  • tail 文件名
  • 说明:
    • 默认显示日志文件最后10行的内容
    • tail -15 文件名:显示日志文件最后15行内容
    • tail -f 文件名:实时显示日志的文件信息
  • eg:
    tail -30 log.log:查看当前目录下log.log文件的最后30条信息
    tail -f log.log:实时查看当前目录下log.log文件的日志信息

三、用户权限和管理

1. linux中的权限

权限英文缩写数字代号
readr4
writew2
执行executex1
无权限--0

在这里插入图片描述

2.修改用户权限chmod

  1. 字母法(了解)
  • 格式:chmod u+rwx 1.txt
  • 用户选项:
    u:表示的是所属的用户
    g:表示的是所属的用户组
    o:表示的是其他用户
    a:表示的是所有用户
  • 设置选项:
    +:表示增加权限
    - :表示撤销权限
    =:表示设置权限
  • 例子:
    chmod u+w 1.txt:表示对当前目录下的1.txt文件的当前用户增加写的权限
    chmod g-x 1.txt:表示对当前目录下的1.txt文件撤销用户组的执行权限
    chmod o=rwx 1.txt:表示对当前目录下的1.txt文件的其他用户权限设置为可读可写可执行
    在这里插入图片描述
    在这里插入图片描述
  1. 数字法(重要)
    在这里插入图片描述

3.增加用户、查看登录用户

  1. 新增用户:useradd 用户名
  • 命令说明:
    useradd admin123:创建一个普通账户admin123
    useradd -g root admin2:创建用户admin2,并指定用户的组为root
  1. 查看登录用户:who
  • 选项说明:
    -q或–count:只显示用户的登录账号和登录用户的数量
    -u或者–heading:显示列标题
  1. 删除用户
    userdel -r 用户名,-r 作用把用户目录都删除

4. 切换用户、修改密码、退出

  1. 切换用户:su - 或者 su 用户名
  • 命令说明:
    su - :切换到root用户
    su 用户名:切换到指定用户下
    注意:由普通用户切换到其他用户时,需要输入密码
    在这里插入图片描述
    在这里插入图片描述
  1. 设置密码:passwd 或者 passwd 用户名
  • 命令说明:
    passwd:用于设置当前用户的密码
    passwd 用户名:用于设置指定用户的密码(执行命令的用户必须为root)
    在这里插入图片描述
  1. 用户退出 exit
    当前用户无上一个用户,输入exit会退出shell
    在这里插入图片描述

四、其他常用命令

1. 文件查找和软链接

  1. 查找文件命令
  • 命令格式:find [路径] -name 文件名
    路径省略掉表示在当前目录下查找文件
    文件名可以通过通配符来表示
  • 案例:
    find . -name test.sh 查找当前目录下所有名为test.sh的文件
    find . -name ‘*.sh’ 查找当前目录下所有后缀为.sh的文件
    在这里插入图片描述
  1. 软链接:ln
  • 命令格式:ln -s 源文件 链接文件
    • 软链接只是指向源文件的一个链接,相当于windows的快捷方式
    • 源文件要使用绝对路径,不能使用相对路径,这样可以方便移动链接文件后,仍然能够正常使用
    • 软链接可以链接目录
  • 硬链接简介
    • ln命令不带-s参数时,创建的是硬链接
    • 硬链接的文件大小和源文件相同,即使删除源文件,链接文件依然存在
    • 硬链接只能是普通文件,不能是文件夹
[white@localhost ~]$ mkdir mike
[white@localhost ~]$ ln -s /home/white/mike  mike_link
[white@localhost ~]$ ls -l

在这里插入图片描述

  • 删除源文件后,软链接无意义
    在这里插入图片描述

2. 打包和解包【知道】

  • 格式:
    tar -cvf 打包文件名 文件或目录 (打包)
    tar -xvf 打包文件名 (解包)
  • 选项说明:
    -c:创建打包文件
    -v:显示出打包或解包的进度
    -f:用于指定打包文件名 (一般f放在选项的最后,用于指定打包的文件名)
    -x:表示解包对应的文件
[white@localhost ~]$ touch 1.txt 2.txt 1.png 2.png
# 打包文件
[white@localhost ~]$ tar -cvf mike.tar *.txt *.png
1.txt
2.txt
1.png
2.png
[white@localhost ~]$ rm *.txt *.png
[white@localhost ~]$ ls 
Desktop    Downloads  Music     Public    Templates
Documents  mike.tar   Pictures  software  Videos

在这里插入图片描述

# 解包,不指定路径,则放在当前路径
[white@localhost ~]$ tar -xvf mike.tar 
1.txt
2.txt
1.png
2.png
[white@localhost ~]$ ls
1.png  2.png  Desktop    Downloads  Music     Public    Templates
1.txt  2.txt  Documents  mike.tar   Pictures  software  Videos

在这里插入图片描述

[white@localhost ~]$ mkdir abc
# 指定解包后文件的存放目录 -C
[white@localhost ~]$ tar -xvf mike.tar -C abc/
1.txt
2.txt
1.png
2.png
[white@localhost ~]$ ls abc/
1.png  1.txt  2.png  2.txt

3. 压缩解压缩

1. gzip

  • gzip命令格式:gzip [选项] 被压缩的文件
    选项说明:
    -r:压缩所有子目录
    -d:解压
    • 注意:实际应用是在tar选项中增加一个-z选项来调用gzip实现打包和压缩的过程
  • 压缩文件:tar -zcvf 压缩文件名.tar.gz 被压缩的文件或目录
    -z选项:调用gzip实现打包和压缩的过程
  • 解压缩文件:tar -zxvf 压缩文件名
    将压缩文件解压到指定的目录:tar -zxvf 压缩文件名 -C 目标路径
    在这里插入图片描述
    在这里插入图片描述
    2. biz2
  • 说明:tar与biz2命令结合实现文件打包、压缩,压缩后的扩展名为xxx.tar.bz2
    • 注意:实际应用是在tar选项中增加一个-j选项来调用gzip实现打包和压缩的过程
  • 压缩文件:tar -jcvf 压缩文件名.tar.bz2 被压缩的文件或目录
    -z选项:调用gzip实现打包和压缩的过程
  • 解压缩文件:tar -jxvf 打包文件.tar.bz2
    在这里插入图片描述
    在这里插入图片描述
    3. zip、unzip【知道】
  • 压缩文件:zip [-r] 压缩文件名 文件或目录
    -r:表示压缩的是一个目录
    压缩的文件名可以不带后缀名
  • 解压缩:unzip -d 解压目录 压缩的文件名
    在这里插入图片描述

4. vi 编辑器

  • 简介:vi是linux系统下的命令行工具(vi和vim是同一个编辑器)
  • 三种模式:
    • 命令行模式:通过对应的快捷键或者命令来管理文件(首次进入)
    • 插入模式:在插入模式下主要是用来对文件进行增加、修改操作
    • 末行模式:主要是用来保存文件或者退出文件
  • vi三种模式的切换
    • 可以通过i、I、a、A进入到插入模式,在插入模式中按ESC可以回到命令行模式
    • 可以通过shift +:进入到末行模式
      w:表示保存文件并回到命令行模式
      q:退出vi编辑器
      !:表示的是强制
      wq!:表示强制保存并退出
  • 快捷键(命令模式下使用)
    yy:复制
    p:粘贴
    dd:剪切,如果只剪切不粘贴,就变成删除

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/58551.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CAS-比较并交换

CAS-比较并交换 原子类 何为原子类 没有CAS之前 多线程环境不使用原子类保证线程安全i(基本数据类型) 常用synchronized锁,但是它比较重 ,牵扯到了用户态和内核态的切换,效率不高。 public class T3 {volatile int number 0…

JMeter 进行函数助手MD5加密

JMeter 函数助手 MD5 加密 JMeter函数助手中,提供了MD5加密的方法,如图所示,我们将内容 “123456”进行加密,可以看到加密成功了。 下面我们来看看项目接口的请求参数。 这是一个认证接口,我们可以看到请求的参数中包…

MySQL-MVCC多版本控制及事务的隔离性

MySQL事务的启动方式 隐式:执行SQL语句自动提交(前提MySQL使用SET AUTOCOMMIT1开启自动提交)显式:begin/start transaction; update user set username timi where id 1; commit; begin/start transaction命令并不是一个事务的起…

UE获取当前鼠标点击位置坐标

文章目录 1. 实现目标2. 实现过程2.1 蓝图代码2.2 实现思路3. 参考资料1. 实现目标 获取当前鼠标点击位置的UE世界坐标(x,y,z),效果如下图所示(为便于演示,下图显示了碰撞点位)。 2. 实现过程 2.1 蓝图代码 (1)核心函数的蓝图代码如下: (2)当鼠标左键按下时,…

【✨十五天搞定电工基础】一阶电路的暂态分析

本章要求1. 了解电阻元件、电感元件与电容元件的特征; 2. 理解电路的暂态和稳态、零输入响应、零状态响应、全响应的概念,以及时间常数的物 理意义; 3. 掌握换路定则及初始值的求法; 4. 掌握一阶线性电路分析的三要素法。 目录 一、一阶电路和换路定律 1…

第十四章 图的存储及图的DFS(超级详细!!逐行解析!!)

第十四章 图的存储及图的DFS一、图1、什么是图?2、图的存储(1)邻接矩阵(2)邻接表二、图的深度优先搜索1、思路2、模板(1)问题:如何求左右子树呢?什么时候记录呢?如何构造…

数字孪生场景、代码即开即用 | 图观™引擎 超详细功能范例演示

数字孪生已经从一项前沿技术,演变成为各行各业数字化转型的必选项。 过去想要构建数字孪生应用,要面对视觉设计、三维底座构建、代码开发、数据对接、部署联调等一系列复杂工作。不仅要了解复杂的数学基础知识、底层三维开发技术,还要熟知各…

Spring Cloud微服务迁移到Kubernetes容器化

文章目录相关文章k8s容器部署流程熟悉Spring Cloud微服务项目源代码编译构建构建项目镜像并推送到镜像仓库制作镜像将镜像推送到harbor仓库K8s服务编排部署基础环境在K8s中部署Nacos集群(注册和配置中心)在k8s中部署Seata分布式事务在linux部署mysql,red…

李炎恢ECMAScript6 / ES6+(二)

16.Set 数据集合 学习要点: 1.Set 数据集合 本节课我们来开始学习 ES6 新增的 Set 数据集合的用法; 一.Set 数据集合 1.ES6 之前只有数组一种数据结构,而现在提供了 Set 和 Map 两种集合; 严格来说,对象…

PC辉光效果一切正常,安卓辉光却没效果、显示异常(爆闪、黑屏等)

一:安卓端辉光不显示问题 问题描述:项目中使用unity的PostProcessing package实现辉光的功能,在pc上辉光效果一切正常,但是打出apk在真机测试时,辉光基本没效果。 解决思路:PostProcessing Bloom效果需要有…

【ArcGIS微课1000例】0056:将单波段栅格背景设置为无数据NoData的方法

本文讲解将单波段栅格背景设置为空值的方法,以DEM数据为例。 文章目录 一、DEM设置无数据二、注意事项单波段数据,一般只有DEM,遥感单波段影像,二值化图像等。 使用珊格计算器通过SetNull 函数(设定空值函数)可以将特定值计算为空值(NoData),SetNull的语法格式为: Se…

[附源码]Python计算机毕业设计Django教育企业网站

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

4-5:关注,取消关注

需求 开发关注、取消关注功能。 统计用户的关注数、粉丝数。 关键 若A关注了B,则A是B的Follower (粉丝),B是A的Followee (目标)。关注的目标可以是用户、帖子、题目等,在实现时将这些目标抽象为实体。 也是将数据存储到redis中,…

LeetCode刷题复盘笔记—一文搞懂0 - 1背包之494. 目标和问题(动态规划系列第九篇)

今日主要总结一下动态规划0-1背包的一道题目,494. 目标和问题 题目:494. 目标和 Leetcode题目地址 题目描述: 给你一个整数数组 nums 和一个整数 target 。 向数组中的每个整数前添加 ‘’ 或 ‘-’ ,然后串联起所有整数&#…

国外网友分享如何从零开始打造一辆真正的自动驾驶汽车

在 2021 年夏天大学二年级结束后,我决定从事当时最先进的项目之一——从头开发自动驾驶软件并在真车上实现。在公开我的代码的一些主要部分并发布演示视频后,我收到了很多关于该项目的问题。因此,我决定分享开发过程背后的故事。 我一直对与人工智能和机器学习相关的任何事…

Java代码审计——ClassLoader 类加载机制

目录 前言: (一)类加载机制 0x01 ClassLoader 类 0x02 loadClass()方法的流程 0x03 自定义的类加载器 0x04 loadClass()方法与 Class.forName 的区别 0x05 URLClassLoader (二)Java 动态代理 0x01 静态代理 0x02 动态代理…

2022最新 MySQL 内部技术架构面试题

更多面试题:https://javaxiaobear.gitee.io/ 47、MySQL内部支持缓存查询吗? 当MySQL接收到客户端的查询SQL之后,仅仅只需要对其进行相应的权限验证之后,就会通过Query Cache来查找结果,甚至都不需要经过Optimizer模…

dot product【点积】

(1)概念 点积在数学中,又称数量积(dot product; scalar product),是指接受在实数R上的两个向量并返回一个实数值标量的二元运算。 两个向量a [a1, a2,…, an]和b [b1, b2,…, bn]的点积定义为&#xff…

点云数据集ShapeNet

目录 1. 数据采集的作者 2. 下载shapenet数据集的代码 3. 数据特点 3.1 每个数字文件夹代表一个类别 3.2 synsetoffset2category.txt 3.3 train_test_split文件夹 3.4 pts点云文件 3.6 seg分割类别文件 1. 数据采集的作者 article{yi2016scalable,title{A scalable ac…

idea导入eclipse项目的时候,Java图标变成黄色小J了,怎么解决?

凯哥今天导入一个15年时候写的小项目,当时使用的是eclipse写的。最近好几年都在使用idea,习惯了idea的,在用eclipse,不习惯,不顺手,就导入到idea中。发现,Java文件的图标变成了黄色的J。如下图&…