LINUX的基本操作学习总结

article/2025/9/7 22:37:06

前言

从2020年11月定下了以后所打算从事的方向开始,就开始学习LINUX基础和LINUX环境编程,故谨以此文来记录LINUX的基础操作

声明:因个人能力有限,本文仅是个人的学习记录笔记,有错误之处还望指出

目录

  1.LINUX的基础介绍及目录结构
  2.运行指令及基本操作指令
  3.VIM的操作
  4.开关机操作
  5.用户管理
  6.文件管理
  7.组管理和权限管
  8.任务调度
  9.磁盘分区和挂载
  10.网络配置
  11.进程管理

1.linux的基础介绍及目录结构

LINUX的由来

1.LINUX的前身是UNIX操作系统,这个操作系统是由大名鼎鼎贝尔实验室的肯·汤姆森所开发,之后因为觉得用B语言写的UNIX太垃圾。他又和 丹尼斯·里奇(C语言之父)用C语言来编写了UNIX操作系统,这大大的提高了性能和可移植性。

2.LINUX是由芬兰的一名大学生Linus Torvalds (林纳斯)基于类UNIX操作系统所开发出来的操作系统。因为LINUX是开放源码、没有版权、技术社区用户多的特点,故LINUX在全世界大牛的修补,更新下使得LINUX变得更加安全,稳定。

向大佬们致敬,正因为他们有开源精神才有了如今不断发展的技术,有朝一日我也希望自己能贡献一份绵薄之力

LINUX的目录结构

  • 在LINUX中一切皆文件
  • 在LINUX中有且只有一个根目录(/)
  • 在LINUX各个目录存放的内容事先规划好了

目录结构

在这里插入图片描述
LINUX的7种文件类型

  • d(目录
  • b(块设备
  • c(字符设备
  • -(普通文件
  • p(管道
  • l(链接
  • s(套接字

LINUX的指令运行级别图
在这里插入图片描述

2.运行指令及基本操作指令

基本操作指令

  • 查看当前位置(pwd

  • 进入目录(cd

  • 当前位置(./

  • 上一层目录(…/

  • 查看帮助文档(man [命令/配置文件/函数]

  • 查看帮助文档(help [命令]

  • 显示当前内容(ls

  • 查看文件内容(cat 只读方式

  • 查看文件内容(more 全屏方式按页显示内容
    空格键(向下翻一页)Enter(向下翻一行)

  • 添加快捷指令(alias 快捷指令 =“实际指令” 例如:alias cl=“clear”)

  • 输出内容到控制台(echo [option ] [内容] 例如:echo $PATH 输出当前环境的路径)

  • 创建软链接(ln -s [源文件/目录] [软链接名称] 例如:ln -s /root /home/LinkToRoot 但是pwd还在/home下)

  • 查看历史指令( history
    显示最近10条历史指令( history 10 )
    执行历史编号为5的指令( !5

  • 查看当前日期(date
    显示年份(date +%Y )
    显示月(date +%m )
    显示日(date +%d )
    显示年月日时分秒(date +"%Y -%m-%d %H:%M:%S")
    设置系统时间(date -s “2020-11-11 11:11:11”)

  • 查看日历( cal
    查看指定年份日历(cal year)

3.vim的操作

VIM介绍

Vim是从 vi 发展出来的一个文本编辑器。代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。

VIM的三种模式
  • 插入/编辑模式:输入i(insert)或者a(append)

  • 普通模式:打开文档时候的模式

  • 命令行模式:按下 ESC 和 :

快捷键的使用

  • 拷贝当前行(命令行模式下:输入yy)
  • 删除当前行(命令行模式下: 输入dd)
  • 粘贴(命令行模式下: 输入p)
  • 设置文件行号(命令行模式下: 输入set nu/取消 set nonu)
  • 到达文档的首页(命令行模式下: 输入gg)
  • 到达文档的结尾(命令行模式下: 输入G)
  • 跳转到指定行数(命令行模式下: 输入行号+shift+g)
  • 撤销(命令行模式下: 输入u)
  • 查找指定内容(命令行模式下: 输入/hello从上至下 或者 ?hello从下至上 找到要查找的内容按下n到下一个目标)
  • 替换当前行的内容(命令行模式下: 输入s/one/two 将所在行第一个one替换为two
  • 替换当前行的所有目标内容(命令行模式下: 输入s/one/two/g 将所在行所有one替换为two
  • 替换所有符合的内容(命令行模式下: 输入%s/one/two/g 将所有one替换为two
  • 垂直分屏 (命令行模式下: 输入vsp+文件名称 )
  • 水平分屏 (命令行模式下: 输入sp+文件名称 切换的时候在命令行模式下按下 ctrl + w w
  • 退出文件 (命令行模式下: 输入wq(写入退出)q!(强制退出) qall(退出所有) )

VIM的配置

  • 用户配置文件目录(~/.vim/vimrc)
  • 系统配置文件目录(~/.vim/vimrc)

4.开关机操作

关机/重启命令

  • poweroff [选项] (可关闭 重启 停止计算机)
    不建议使用(强制直接关闭计算机电源可能导致进程数据丢失, 使系统处于不稳定状态 (甚至损坏硬件设备))
  • shutdown -h now(立即关机
  • shutdown -h 时间(指定时间后关机
  • halt(关机
  • shutdown -r(立即重启
  • reboot(现在重启

reboot、shutdown 、-rhalt的区别

  • reboot的工作过程差不多跟halt一样﹐不过它是引发主机重启﹐而halt是关机。它的参数与halt相差不多
  • shutdown执行它的工作是送信号〔signal〕给init程序﹐要求它改变runlevel。(后文会详细说明)
  • halt就是调用shutdown -h。halt执行时﹐杀死应用进程﹐执行sync系统调用﹐文件系统写操作完成后就会停止内核。

5.用户管理

用户管理图
在这里插入图片描述

用户说明

  • LINUX操作系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户都必须向管理员申请一个帐号,然后凭借此身份进入系统
  • LINUX的用户需要至少属于一个组

用户管理操作

  1. 添加用户
    useradd [option] username
    例如: useradd -d /home/JJ kobe (利用-d选项指定在/home/JJ目录下创建用户kobe
    例如: useradd -g LAKER kobe (将用户kobe加入LAKER

  2. 给用户指定密码
    passwd username (如果无法成功在之前加上sudo,切换为root权限

  3. 删除用户
    userdel username (这种删除保留此用户的家目录,要是想一并删除可以在username之前加-r

  4. 查询用户信息
    id username

  5. 切换用户
    在LINUX操作系统中,如果当前权限不够,可用su - username,切换到高权限的用户(如root)
    su - 切换的用户名(低权限到高权限要密码,反之则必须要,退出原用户exit

  6. 创建一个组
    groupadd 组名

  7. 修改文件所在组
    chgrp 组名 文件名

  8. 修改用户所在组
    usermod -g 组名 用户名(

6.文件管理

文件的打包与解包

  • gzip/gunzip 文件名(只能将文件压缩为*.gz文件,压缩后原文件消失

  • zip/unzip (这在实际开发中用的比较多
    zip -r 文件/目录(递归压缩
    unzip -d 文件/目录(将文件解压到指定地址
    例子:zip -r mypackage.zip /home/* (把家目录下所有内容打包成mypackage.zip )

  • tar指令
    tar -zcvf 目标文件 源文件(将指定文件打包压缩
    例子:tar -zcvf a.tar.gz 1.txt 2.txt(把当前目录下的1.txt 2.txt 压缩成 a.tar.gz )
    tar -zxvf 源文件 -C 地址(将指定文件解压到指定目录
    例子:tar -zxvf a.tar.gz -C /opt/tmp(把当前目录下的 a.tar.gz打包到 /opt/tmp)

文件的权限

在这里插入图片描述

文件的常用操作指令

  • 创建目录(mkdir 目录名称 不提示递归删除文件)
    例子:mkdir -p /home/a/b/c( 递归创建多级目录)
  • 创建文件(vim/touch 文件名 不提示递归删除文件)
  • 删除文件(rm [-rf] 目录/文件名 不提示递归删除文件)
  • 复制文件(cp [-r] 源文件 目标地址
  • 移动/重命名文件( mv oldfile newfile 复制到同一个目录的话可以更改文件名称
  • 文件所有者修改( chown [-R]newowner:newgroup file
    (例:chown -R kobe:LAKER hello )hello下的所有文件属于kobe,所在组是LAKER)
    (例:chown kobe:LAKER hello )hello的文件属于kobe,所在组是LAKER)

    注意:-R是递归所有文件的选项

搜索类查找指令

  • find [范围 ] [选项]
    按文件名称查找(find -name
    (例:find /home/ -name *.c )
    按所有者称查找(find -user
    (例:find /opt/ -user root)
    按文件大小称查找(find -size + 大于 - 小于 )
    (例:find /opt/ -size +20M 查找文件大小大于20M的文件)

  • grep [选项] [查找内容 ]
    常常搭配管道 | 使用
    (例:ps -aux | grep -n root  查找系统运行的所有者为root的内容,且区分大小写)

7.组管理和权限管理

权限管理/strong>

  • 用+ - = 变更权限(u :所有者 g :所在组 o:其他人
    (例:chmod u=rwx,g = rx,o = x 1.c )所有者有全部权限,所在组有读执行权限,其他只有执行权限
    (例:chmod g -w,o + x 1.c )所在组没有写权限,其他添加只有执行权限
  • 用数字变更权限(r:4 w :2 x:1
    (例:chmod 777 1.c )1.c文件所有人都满权限

8.任务调度

下文基于CENTOS实现

任务调度

  • 含义:在某个时间执行特定的命令或者程序
  • 语法 : crontab [option]
    -e 编写定时任务
    -l 查询crontab任务
    -r 删除用户所有的crontab任务

任务调度的符号说明
在这里插入图片描述

案例:每隔一个小时把当前日期打印到/home/date文件中

  1. 编写一个脚本date.sh
  2. 输入 data >> /home/date
  3. 给date.sh可执行权限(chmod 777 date.sh)
  4. 编写任务调度(crontab -e)
  5. * */1 * * * /home/date.sh

9.磁盘分区和挂载

分区的基本知识

  1. mbr分区
    最多支持四个主分区
    系统只能安装在主分区
    拓展分区要占一个主分区
    MBR最大支持2TB,但是拥有最好的兼容性
  2. gtb分区
    支持无线多个主分区(但是操作系统会限制,Windows下最多128个分区
    最大支持18EB的大容量(1EB = 1024PB 1PB = 1024TB
    Win7 64位后支持gtp

LINUX分区原理图
在这里插入图片描述

主要操作指令

  • 查看分区情况(lsblk -f)
    帮助记忆:老师不离开(lsblk)
  • 查看分区大小(lsblk)
  • 查询系统整体的磁盘使用情况(df -l )-h可以查看具体大小
  • 查询指定的目录磁盘使用情况(du -h 目录 )-h可以查看具体大小
    例:du -ach --max-depth=1 /home  查看home目录的磁盘使用情况(深度为1)

案例:给LINUX添加一个新的硬盘(挂载到/home/newdisk下)

  1. 虚拟机添加硬盘
  2. 分区
    fdisk /dev/sdbsdb要视挂载硬盘信息情况而定
    先输入n(新增分区)然后选择p,分区类型为主分区,两次回车默认剩余全部空间,最后输入w写入分区并退出
  3. 格式化磁盘
    mkfs -t ext4 /dev/sdb1ext4为分区类型
  4. 挂载
    mount /dev/sdb1 /newdisk
    取消挂载
    umount /dev/sdb1 或者 umount /newdisk
  5. 永久挂载
    在/etc/fstab中加入如下指令
    /dev/sdb1       /home/newdisk   ext4  defaults  00
    mount -a 立即生效
    如果未生效,建议重启

10.网络配置

此处为永久配置:是通过修改配置文件来配置(基于centos)

案例:配置网络

  1. 打开配置文件
    vim /etc/sysconfig/network-scripts/ifcfg-eth0权限不足的话使用切换到root
  2. 将BOOTPROTO改为static
  3. IPADDR改为"192.168.184.130"
  4. 修改ONBOOT = yes
    static为静态获取ip 
    dhcp态获取ip
  5. 修改过后重启服务 service network restart

UBUNTU下的配置文件在/etc/network/interfaces下修改方法类似

11.进程管理

进程概念

  • 在LINUX中每执行一个程序(代码)为进程,每一个进程有唯一的进程号
  • 每一个进程都会对应一个父进程,而父进程下可以有多个子进程
  • 每一个进程可能以两种方式存在(前台/后台)
    前台是可见的进程,有输入输出的
    后台是不可见的(也叫守护进程或者精灵进程)
  • 一般系统的服务都是以后台运行,直到关机才结束

进程相关操作指令

  • 显示系统执行的进程(静态)ps -aux
    查看父进程 ps -ef
    例:查看sshd的父进程 ps -ef | grep sshd

  • 显示系统执行的进程(动态)top [option]
    查看特定用户 top -u root
    中止特定进程 top k 进程id
    指定10s后更新进程信息 top -d 10

  • 中止进程kill killall
    强制中止 kill -9 进程号
    此处-9是因为kill的信号是9号
    杀死父进程 killall 进程名称

  • 监控网络情况 netstat [option]
    查看系统所有网络服务 netstat -anp

总结

  从之前对LINUX的不了解,到后面惊叹他的神奇,简简单单几个操作符就可以完成WINDOWS下的复杂操作这也太帅了吧,渐渐的开始依赖LINUX的便捷,并且没有那么多弹窗广告 (我想可能垃圾广告还没发现这未开发的领地)。现在已经习惯在LINUX下完成日常的使用(除了打游戏,虚拟机下开虚拟机套娃就算了)初学LINUX的时候觉得每一个操作符都很有趣,而且自以为英语还不错,不上机实操。结果好家伙一个星期差不多全忘记,所以多操作,总结还是很不错的。接下来还有很长的路,而赛过要努力呀!

建议

  • 一定要多上机实操
  • 多总结规律,很多知识都是相通的
  • 学会使用man手册
  • 最后欢迎你来到LINUX的学习,准备接受互联网的无情毒打吧
而塞过 2021-1-6

关于我:一个就要进入互联网,经历社会毒打的99小伙

下一站(javascript)
下一站(html)


http://chatgpt.dhexx.cn/article/A8ugL46P.shtml

相关文章

Linux基本操作之重定向文件

文章目录 RedirectionAppending to a fileRedirecting the Input通配符“*”和“?”文件名约定操作 Redirection 上一节 cat 命令的功能是将文件或标准输入组合输出到标准输出。这个命令常用来显示文件内容,或者将几个文件连接起来显示,或者从标准输入…

实验一 Linux基本操作

实验一 Linux基本操作 1. 实验要求 (1)掌握启动和退出Linux 操作系统方法; (2)了解与熟悉Linux 操作系统常用的Shell命令使用; (3)掌握Linux 操作系统下C程序的编辑、编译…

Linux介绍及基本操作

嵌入式之路,贵在日常点滴 ---阿杰在线送代码 目录 一、Linux简介 二、Linux介绍 三、Linux特点 四、常用命令 命令口终端 窗口分屏率 ​编辑配置串口大小 字体大小 ​编辑清屏 VI的使用 建立文件 模式 ​编辑编译文件 ​编辑运行编译文件 常用指令 …

Linux基本操作命令

Linux基本操作命令 我们介绍一些linux常用命令: 一、查看及文件目录的命令:pwd、cd、ls、du 二、创建目录和文件:mkdir、touch、ln 三、复制、删除、移动目录和文件:cp、rm、mv 四、查找目录和文件:which、find 下面…

Linux常用操作命令大全

目录 一、目录及文件操作 1.1创建目录 1.2删除目录或文件 1.3重命名目录或文件名称 1.5目录及文件列表查看 1.6复制目录或文件 1.7剪切目录或文件 1.8搜索目录或文件 1.9创建文件 1.10查看及修改文件内容信息 1.11查看文件内容信息(仅支持查看&#xff0…

Linux基础操作

目录 1.os概念,定位 2.查看Linux主机ip和使用XSHell登陆主机、XSHell下的复制黏贴 3.ls指令 4.pwd指令 5.cd指令 6.touch指令 7.mkdir指令 8. rmdir指令&&rm指令 9.man指令 10.cp指令 11.mv指令 12.cat 13.more指令 14.less指令 15.head指令…

Linux的基础操作

Linux基础操作 linux在我们工作中是经常用的,那么具体怎么操作呢,下面我来给大家陈述一些linux的基础操作,仅供大家参考和学习 1、目录切换命令 linux是通过cd命令进行切换目录,但在学习cd命令之前,我们要分清楚linu…

软件安全测试-软件安全测试概述

目录 1. 写在前面 2. 什么是安全测试? 3. 安全测试和渗透测试的区别? 4. 何为安全漏洞? 4.1. 常见的漏洞类型 4.2. 漏洞等级 5. 安全漏洞的危害? 6. 如何发现或预防安全漏洞? 6.1 安全测试方法 6.2 安全测试…

动态应用安全测试(DAST)

什么是DAST安全测试? 动态应用程序安全测试(DAST)从web应用程序外部测试安全性。一个很好的类比是通过攻击银行保险库来测试其安全性。DAST要求安全测试人员不了解应用程序的内部。这被称为“黑盒”测试方法——因为测试人员看不到隐喻性的“盒子”内部。它的目的是…

安全基础--22--安全测试

一、安全漏洞评估 1、评估方式 自动化扫描:系统层漏洞大部分情况下使用自动化扫描 手工评估:耗时、不全面、技术要求高 2、评估流程 二、安全配置评估 1、安全配置评估分类 评估说明基础安全配置评估在了解现状和基本需求的情况下,定义业…

常规测试、安全测试、渗透测试的区别

安全测试是在IT软件产品的生命周期中,检查产品,检验产品符合安全需求定义和产品质量标准的过程,功能测试是检验产品各功能,根据功能测试用例,逐项测试,检查产品是否符合用户要求的功能。 安全测试是在IT软…

安全测试(初测)报告

安全测试(初测)报告 系统名称 版本号 V1.0 送测单位 送测时间 20XX年XX月XX日 复测时间 XXXX有限责任公司 20XX年XX月XX日 有效性声明 1、本测试报告封面及结论未盖章无效; 2、本测试报告需经审批和授权签字人签字,…

做好安全测试的方法

目录 摘要: 一.安全性测试 二.常见的软件安全性缺陷和漏洞 三.做好安全性测试的建议 总结 摘要: 今天主要跟大家讲一下什么是安全测试和怎么做好安全测试的几种方法。还有安全测试的优缺点及过程,最后会给大家几条建议,希望对…

AppScan 安全测试详解+实操

定义:AppScan是IBM的一款web安全扫描工具,主要适用于Windows系统。该软件内置强大的扫描引擎,可以测试和评估Web服务和应用程序的风险检查,根据网站入口自动对网页链接进行安全扫描,扫描之后会提供扫描报告和修复建议等…

Android安全测试

目录 1、客户端APP安全 2、服务端安全 3、通信安全(通信保密性) 1、客户端APP安全 (1)反编译-APP加密或者代码混淆或者加壳处理 (2)防二次打包-验证APP签名-获取二次打包后APP的签名与正确的AP签名进行…

软件测试之安全测试

一、什么是安全测试? 安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和产品质量标准的过程 。 二、安全测试的目的? 1、提升IT产品的安全质量; 2、尽…

软件安全测试

安全测试 文章目录 安全测试安全测试类型安全性测试工具分类 安全测试 安全测试一般围绕被保护的资产,通过代码和程序的分析来确定威胁或漏洞的严重程度,以及被利用的可能性和影响,来评估特定威胁或漏洞对企业造成负面影响的风险。除了综合的…

安全测试入门介绍

目录 1、安全测试定义 2、安全测试目的 3、安全测试与常规测试区别 4、安全测试类型 5、安全测试工具 1、安全测试定义 安全测试是建立在功能测试基础上进行的测试,安全测试提供证据表明,在面对恶意攻击时,应用仍能充分满足它的需求&…

什么是安全测试

一、安全测试概述 1.1.定义 安全测试是在软件产品开发基本完成时,验证产品是否符合安全需求定义和产品质量标准的过程 1.2.概念 安全测试是检查系统对非法侵入渗透的防范能力 1.3.准则 理论上来讲,只要有足够的时间和资源,没有无法进入的系…

如何从0到1做一次完整的安全测试

大家好,我是馨馨,一个混过大厂,待过创业公司,有着6年工作经验的软件测试妹纸一枚。近期针对公司项目做了一次完整的安全测试,扫描出来了不少漏洞,价值还挺大的。回顾整个流程,并没有特别复杂的点…