018 Linux

news2024/11/21 0:39:31

文章目录

    • 操作系统
      • 定义
      • 分类
      • Linux系统构成
    • Linux文件系统
    • Linux常用命令
      • 基础操作命令
      • 文件操作
      • 压缩解压
      • 权限管理
      • 显示展示命令
      • 其他命令
    • vi编译器
      • 操作使用
    • 添加用户
      • 基本概念
      • 用户管理命令
    • ubuntu软件安装
    • ssh服务
    • 终端启动Python服务

操作系统

定义

操作系统是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入输出设备、操作网络与管理文件系统等基本事务。
功能
1管理好硬件设备,为用户提供调用方法
2是计算机中最重要的系统环境
3管理各种其他的软件和程序的运行
4对系统中文件进行管理

分类

1桌面系统:Windows,MacOS为主,图形界面良好用户群体大
2服务器系统:Linux,Unix为主,安全,稳定,费用低占有量大。Windows占有率比较低
3嵌入式系统:Linux为主,主要用于小型智能设备,如智能手机,机器人等。

Linux
Linux系统特点
Linux是一款开源免费的操作系统
支持多种硬件平台
支持多用户
具有非常强大的网络功能

Linux系统构成

  • 内核:Linux操作系统的核心代码,是Linux系统的心脏,提供了系统的核心功能,用来与硬件交互。
    Linux内核官网:http://www.kernel.org
  • 文件系统:通常指称管理磁盘数据的系统,可将数据以目录或文件的型式存储。每个文件系统都有自己的特殊格式与功能
  • 命令解释器:它使得用户能够与操作系统进行交互,负责接收用户命令,然后调用操作系统功能
  • 应用软件:包含桌面系统和基础的软件操作工具等
    版本
    Ubuntu官网:https://ubuntu.com

Linux文件系统

定义
文件系统是计算机操作系统的重要组成部分,用于组织和管理计算机存储设备上的大量文件。

Linux的文件组织没有盘符。将根(/)作为整个文件系统的唯一起点,其他所有目录都从该点出发。

  1. /bin目录
    /bin目录包含了引导启动所需的命令或普通用户可能用的命令(可能在引导启动后)。这些命令都是二进制文件的可执行程
    序(bin是binary----二进制的简称),多是系统中重要的系统文件。
  2. /sbin目录
    /sbin目录类似/bin,也用于存储二进制文件。因为其中的大部分文件多是系统管理员使用的基本的系统程序,所以虽然
    普通用户必要且允许时可以使用,但一般不给普通用户使用。
  3. /etc目录
    /etc目录存放着各种系统配置文件,其中包括了用户信息文件/etc/ passwd,系统初始化文件/etc/rc等。linux正
    是因为这些文件才得以正常地运行。
  4. /root目录
    /root 目录是超级用户的目录。
  5. /lib目录
    /lib目录是根文件系统上的程序所需的共享库,存放了根文件系统程序运行所需的共享文件。这些文件包含了可被许多程
    序共享的代码,以避免每个程序都包含有相同的子程序的副本,故可以使得可执行文件变得更小,节省空间
  6. /dev目录
    /dev目录存放了设备文件,即设备驱动程序,用户通过这些文件访问外部设备。比如,用户可以通过访问/dev/mouse来
    访问鼠标的输入,就像访问其他文件一样。
  7. /usr文件系统
    /usr 是个很重要的目录,通常这一文件系统很大,因为所有程序安装在这里。本地安装的程序和其他东西
    在/usr/local 下,因为这样可以在升级新版系统或新发行版时无须重新安装全部程序。
  8. /var文件系统
    /var 包含系统一般运行时要改变的数据。通常这些数据所在的目录的大小是要经常变化或扩充的。
  9. /home
    /home 普通用户的默认目录,在该目录下,每个用户拥有一个以用户名命名的文件夹。

Linux常用命令

打开关闭终端快捷键
打开 :通过ctrl+alt +t,shift+ctrl+n 都可以快速打开一个终端。
关闭 :Ctrl+d或者在命令行输入exit。
终端字体大小控制
放大 摁住 ctrl 和 + 号
缩小 摁住 ctrl 和 - 号

常用快捷键
清空屏幕 : ctrl + l
调取历史命令 : 上下尖头

基础操作命令

序号命令作用
01ls查看当前文件夹下的内容
02pwd查看当前所在位置绝对路径
03cd [目录名]切换文件夹
04touch [文件名]如果文件不存在,新建文件
05mkdir [目录名]创建目录
06rm [文件名]删除指定的文件名
07cp复制一个文件
08mv移动一个文件
  • 部分命令细节说明

    • ls : -l 展示详细信息,-a展示隐藏文件(Linux下 . 开头的为隐藏文件)。

    • cd: 参数为绝对路径或者相对路径,直接cd表示回到主目录,cd - 回到上一次工作目录 。

    • touch: 可以同时跟多个参数表示创建多个文件。

    • cp:如果拷贝的是一个目录需要使用 -r ,同时这个命令有另存为的作用

    • mv: 即使移动目录页不需要选项,有重命名的作用。

    • rm:删除表示直接删除,无法找回,如果删除目录需要加 -r选项

小技巧: 使用Tab键可以自动补全文件名,目录名等信息

  • 通配符

    • 作用:对一类文件名称的书写进行简化,例如file1.txt、file2.txt、file3.txt……,用户不必一一输入文件名,可以使用通配符完成。
    通配符含义实例
    星号(*)匹配任意长度的字符串用file_*.txt,匹配file_wang.txt、file_Lee.txt、file_Liu.txt
    问号(?)匹配一个长度的字符用flie_?.txt,匹配file_1.txt、file_2.txt、file_3.txt
    方括号([…])匹配其中指定的一个字符用file_[otr].txt,匹配file_o.txt、file_r.txt和file_t.txt
    方括号([ - ])匹配指定的一个字符范围用file_[a-z].txt,匹配file_a.txt、file_b.txt,直到file_z.txt

文件操作

序号命令作用
01cat [文件名]查看文件内容、创建文件、文件合并、追加文件内容等功能
02head [文件名]显示文件头部
03tail [文件名]显示文件尾部
04grep [搜索文本] [文件名]搜索文本文件内容
05find [目录] -name [文件名]在一个目录及其子目录下查找文件
06wc [文件名]查看文件行数,单词数等信息
  • 部分命令细节说明

    • head,tail : 选项-n,n表示一个数字,即可指定查看前n行或者后n行,不加选项默认查看10行。
    • grep : -n 用于显示行号,-i忽略大小写
    • wc : -c 表示查看多少字符,-l查看多少行,-w 查看多少单词。如果不加选项则显示这三项。
    • find:会从指定目录及其所有子目录中查询搜索文件。
  • 管道

    管道可以把一系列命令连接起来,意味着第一个命令的输出将作为第二个命令的输入,通过管道传递给第二个命令,第二个命令的输出又将作为第三个命令的输入,以此类推。

	ls | grep 'hello'
	ls | wc -w

压缩解压

序号命令作用
01zip ,unzip将文件压缩为zip格式/将zip格式文件解压
02tar对gz或者bz2格式进行压缩解压
  • 部分命令细节说明

    • zip: 用于常与windows交互的情况,-r选项可以压缩目录 。

    • unzip -d 可以选择解压位置

      • zip test.zip filelist

      • unzip test.zip

        unzip -d /home/tarena test.zip

    • tar:-cjf 用于压缩bz2格式文件,-czf用于压缩gz格式文件,-xvf用于解压文件,兼容了gzip和bzip2命令的功能。

      • tar -czf file.tar.gz file1 file2

      • tar -xvf file.tar.gz

一般Linux 上常用的压缩方式是选用tar 将许多文件打包成一个文件,再以 gzip压缩命令压缩成紧
xxx.tar.gz(或者xxx.tgz)的文件。
常用参数:
-c:创建一个新tar文件
-v:显示运行过程的信息
-f:指定文件名
-z:调用gzip 压缩命令进行压缩
-t:查看压缩文件的内容
-x:解开tar 文件
打包:tar -cvf xxx.tar 要打包的文件或目录的列表,用空格隔开
打包并且压缩:tar -zcvf xxx.tar.gz 要打包的文件或目录的列表,用空格隔开
解压:tar -xvf xx.tar
tar -zxvf xx.tar.gz -C /usr/kkb 注意-C大写,防止拆包解压的路径找不到

权限管理

权限共有10个字符,我们将它分为4大部分来理解:
- — — —
第1部分、表示文件的类型
- 表示是一个文件
d 表示是一个目录
l 表示是一个连接(理解为快捷方式)
第2部分、当前用户具有的对该文件的权限 (owner 属主,缩写u)
第3部分、当前组内其他用户具有的对该文件的权限 (group 属组,缩写g)
第4部分、其他组的用户具有的对该文件的权限 (other 其他,缩写o)
r:Read 读
w:Write 写
x:eXecute 执行
针对目录加执行权限,文件不加执行权限(因文件具备执行权限有安全隐患)
对于文件和目录来说,r,w,x有着不同的作用和含义:
针对文件:r:读取文件内容
w:修改文件内容
x:执行权限对除二进制程序以外的文件没什么意义
针对目录:目录本质可看做是存放文件列表、节点号等内容的文件
r:查看目录下的文件列表
w:删除和创建目录下的文件
x:可以cd进入目录,能查看目录中文件的详细属性,能访问目录下文件内容(基础权
限)
PS:root账户不受文件权限的读写限制,执行权限受限

用户获取文件权限的顺序: 先看是否为所有者,如果是,则后面权限不看;再看是否为所属组,如果
是,则后面权限不看。

序号命令作用
01sudo放在一个命令前,表示使用管理员权限执行
02chmod修改文件权限
  • 部分命令细节说明

    • sudo: 在打开终端第一次使用sudo时需要输入密码

    • chmod 在设置权限时,可以字母也可以使用三个数字分别对应 拥有者其他 用户的权限

    直接修改文件|目录的 读||执行 权限,但是不能精确到 拥有者||其他
    chmod  augo+/-rwx 文件名/目录名
    

    chmod

    例如:
    777 ===> u=rwx,g=rwx,o=rwx
    755 ===> u=rwx,g=rx,o=rx
    644 ===> u=rw,g=r,o=r

显示展示命令

序号命令作用
01echo向终端打印内容
02date显示当前时间
03df显示磁盘剩余空间
04whoami显示当前用户
05history [num]显示历史命令记录
  • 部分命令细节说明

    • echo : -n 表示打印完成不换行

    • df: -h 选项以Mb为单位显示,-T显示文件系统类型 ext4的为磁盘

    • history : history 默认显示500条历史记录,后面可以加具体数字表示显示多少条

  • 输出重定向

    重定向符含义实例
    > file将file文件重定向为输出源,新建模式echo “hello world” > out.txt,将执行结果,写到out.txt文件中,若有同名文件将被删除
    >> file将file文件重定向为输出源,追加模式ls /usr >> output.txt,将ls /usr的执行结果,追加到Lsoutput.txt文件已有内容后

其他命令

序号命令作用
01shutdown关机或者重启
02ln创建链接
03tree获取目录树形结构
  • 部分命令细节说明

    • shutdown:

      • shutdown -r now 立即重启

      • shutdown now 立即关机

      • shutdown +10 10分钟后关机

      • shutdown -c 取消关机计划

    • ln : 一般使用 -s 选项 创建软链接,相当于快捷方式,如果跨目录创建要使用绝对路径。

      ln -s  hello.py  hello
      

vi编译器

​什么是vi编译器
vi是Linux操作系统中一个自带的编辑器。没有图形界面,只能编译文本内容,没有字体段落等设置,通过命令强大的命令完成一系列的编写工作。

操作使用

  • 打开和新建文件
$ vi  [文件名]

如果文件已经存在,会直接打开该文件
如果文件不存在,会新建一个文件
  • 工作模式

    1. 命令模式
      • 打开文件首先进入命令模式,是使用 vi入口
      • 通过 命令 对文件进行常规的编辑操作,例如:定位翻页复制粘贴删除……
      • 在其他图形编辑器下,通过 快捷键 或者 鼠标 实现的操作,都在 命令模式 下实现
    2. 末行模式 —— 执行 保存退出 等操作
      • 要退出 vi 返回到控制台,需要在末行模式下输入命令
      • 末行模式vi出口
    3. 编辑模式 —— 正常的编辑文字

ms

  • 进入编辑模式命令
命令英文功能常用
iinsert在当前字符前插入文本常用
o在当前行后面插入一空行常用
  • 底行模式常用命令
命令功能
w保存
q退出,如果没有保存,不允许退出
q!强行退出,不保存退出
wq保存并退出
w!强制保存
  • 命令模式常用命令

    • 1)行内移动
    命令功能
    w向后移动一个单词
    b向前移动一个单词
    0行首
    $行尾
    • 2) 行数移动
    命令功能
    gg文件顶部
    G文件末尾
    :数字移动到 数字 对应行数
  • 撤销和恢复撤销

命令功能
u撤销上次命令
CTRL + r恢复撤销的命令
  • 删除文本
命令功能
x删除光标所在字符,或者选中文字
cc删除光标所在行并进入插入模式
  • 剪切、复制、粘贴
命令功能
yy复制一行,可以 nyy 复制多行
dd剪切光标所在行,可以 ndd 剪切多行
p粘贴
  • 替换
命令功能工作模式
r替换当前字符命令模式
R替换当前行光标后的字符替换模式
:%s/str/replace/g替换str为replace底行模式

R 命令可以进入 替换模式,替换完成后,按下 ESC 可以回到 命令模式

底行模式:2,6s/str/replace/g替换2-6行

  • 查找
命令功能
/str查找 str
:set nu显示行号

/ 查找到指定内容之后,使用 n 查找下一个出现的位置

:set nu ! 可以取消行号显示

vi

添加用户

基本概念

  • 用户:Linux操作系统可以有不同的用户,这是系统管理的重要一环,不同的用户有自己独立的空间内容。

  • 用户组:为了方便对用户管理,Linux操作系统使用用户组的概念。将不同的用户添加到对应的组中,可以方便用户设置权限的设置。

  • root用户:Linux系统中的root用户通常用于系统的维护和管理,对操作系统的所有资源具有所有访问权限,一般工作中不会使用root用户进行系统操作,防止一些误操作带来系统损坏。

用户管理命令

序号命令作用
01groupadd 组名添加组
02groupdel 组名删除组
03useradd -m 用户 -g 组添加用户
04passwd 用户名设置用户密码
05userdel -r 用户删除用户
  • useradd : -m 表示添加用户时添加主目录,-g表示选择用户所在组,如果不写默认会创建一个与用户同名的组。

    useradd -m abby
    
  • passwd : 设置密码,设置之后才能切换新用户登录

  • 设置密码后为新用户添加sudo权限,打开sudoers文件增加如下内容,然后 :w! 强制保存 :q 退出

    sudo vi /etc/sudoers
    

    sudo

  • 设置命令解释器

注意:1. 新创建的用户和密码信息存储在 /etc/passwd文件中
     2. 如果切换用户终端命令行只有一个$ 提示,则vi打开这个文件,将该用户对应的内容修改

user

删除组:sudo groupdel 组名

  • userdel: 一般使用-r 彻底删除,如果删除失败说明刚刚使用了该用户没有注销,需要重启再删除。或者执行下面命令。

sudo kill -9 进程号

ubuntu软件安装

Linux下安装的软件包是 deb格式软件包。由于当时Linux系统中软件包存在复杂的依赖关系。因此,通常使用网络安装。

作用命令
更新软件源apt update
安装软件apt install
卸载软件apt remove --purge
删除缓存的软件安装包apt clean
安装本地软件包dpkg -i 在线解决未处理的依赖关系apt --fix-broken install
卸载软件dpkg -P
  • 注意事项 : 安装软件包通常需要使用管理员权限。
  • 软件包下载位置:/var/cache/apt/archives
sudo apt install sl   # 安装
sudo apt remove --purge  sl  # 彻底卸载

ssh服务

ssh是一种安全协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全。在数据传输方面有很多应用。之前说到,实际工作中经常需要远程访问服务器,ssh就是通用的远程访问服务器的方法。

ifconfig 查看ip地址

  • 安装启动

    • 安装ssh服务 : sudo apt install openssh-server

    • 查看ssh服务状态 : ps -e | grep “ssh”

    • 启动和关闭 :

      sudo service ssh start/restart/stop

  • 常用命令

序号命令作用
01ssh 用户名@ip登录远程主机
02scp 用户名@ip:文件名绝对路径 目标位置远程复制文件
  1. ssh登录

    ssh  abby@192.168.100.5    # 登录
    exit                      # 退出
    

ssh2

  1. scp拷贝

scp -r 文件 用户名@ip地址:目录 把文件夹复制到远程
scp 用户名@ip地址:文件 把远程文件复制到当前目录

  • ssh秘钥

    • 什么时候使用: 如果使用的客户端个人计算机是自己独有的计算机,经常通过ssh访问服务器,此时不想频繁输入密码,则可以使用秘钥处理。

      ssh

    • 使用方法

      1. 在个人计算机中生产秘钥对 : ssh-keygen  执行以后会在主目录下生成一个.ssh文件夹,其中包含私钥文件id_rsa和公钥文件id_rsa.pub。
      2. 在服务器主机上创建文件(云服务器当中会自动为我们创建) touch  ~/.ssh/authorized_keys,将信任的计算机的id_rsa.pub文件内容追加到服务器authorized_keys文件中即可。
      

终端启动Python服务

在服务器中并没有pycharm这些集成编译工具,所有当我们最后将程序部署在服务器上执行时,往往需要通过终端运行python程序。

  1. 编写python程序在第一行增加解释器声明

在这里插入图片描述
2.修改文件的权限,使其有可执行权限
3.通过指定文件位置执行代码

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

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

相关文章

【超高效!保护隐私的新方法】针对图像到图像(l2l)生成模型遗忘学习:超高效且不需要重新训练就能从生成模型中移除特定数据

针对图像到图像生成模型遗忘学习:超高效且不需要重新训练就能从生成模型中移除特定数据 提出背景如何在不重训练模型的情况下从I2I生成模型中移除特定数据? 超高效的机器遗忘方法子问题1: 如何在图像到图像(I2I)生成模型中进行高效…

archlinux 使用 electron-ssr 代理 socks5

提前下载好 pacman 包 https://github.com/shadowsocksrr/electron-ssr/releases/download/v0.2.7/electron-ssr-0.2.7.pacman 首先要有 yay 和 aur 源,这个可以参考我之前的博客 虚拟机内使用 archinstall 安装 arch linux 2024.01.01 安装依赖 yay 安装的&#…

堆排序----C语言数据结构

目录 引言 堆排序的实现**堆的向下调整算法** 对排序的时间复杂度建堆的时间复杂度:排序过程的时间复杂度:总体时间复杂度: 引言 堆排序(Heap Sort)是一种基于比较的排序算法,利用堆的数据结构来实现。它的…

数据湖的整体思路

湖本质上是一个集中化,中心化的,一体化的存储技术,并且在其之上追求技术架构的统一化,如流批一体,服务分析一体化。 当数据湖成为中心,那么就可以围湖而建“数据服务环”,环上的服务包括了数仓、…

基于tomcat运行jenkins常见的报错处理

目录 1.jenkins.util.SystemProperties$Listener错误 升级jdk11可能遇到的坑 2.java.lang.RuntimeException: Fontconfig head is null, check your fonts or fonts configuration 3.There were errors checking the update sites: UnknownHostException:updates.jenkins.i…

JAVA Web 学习(五)Nginx、RPC、JWT

十二、反向代理服务器——Nginx 支持热部署,几乎可以做到 7 * 24 小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新。性能是 Nginx 最重要的考量,其占用内存少、并发能力强、能支持…

初识Solidworks:我的第一份作业的感想

从来没用CAD软件画过机械设计图。但我脑子里有一种概念,无非就是把尺规作图软件化,更方便画图、更方便修改、更方便打印一些。但第一份 Solidworks 作业就颠覆了我的认知,考虑到这个软件的上市时间,让我意识到自己对 CAD 软件的认…

【大厂AI课学习笔记】【1.5 AI技术领域】(8)文本分类

8,9,10,将分别讨论自然语言处理领域的3个重要场景。 自然语言处理,Natual Language Processing,NLP,包括自然语言识别和自然语言生成。 用途是从非结构化的文本数据中,发掘洞见,并访问这些信息&#xff0…

C++——二叉树

引入 map和set特性需要先铺垫二叉搜索树,而二叉搜索树也是一种树形结构 二叉搜索树的特性了解,有助于更好的理解map和set的特性 1.二叉搜索树的概念及优缺点 1.1二叉搜索树的概念 二叉搜索树又称二叉排序树,它或者是一棵空树,或…

CSP-202109-1-数组推导

CSP-202109-1-数组推导 解题思路 如果 currentValue 与 previousValue 相同,说明这个值不是一个独特的新值,因此只将它加到 sumTotal 上。如果 currentValue 与 previousValue 不相同,说明这是一个新的独特值,因此既将它加到 su…

逐行拆解Guava限流器RateLimiter

逐行拆解Guava限流器RateLimiter 常见限流算法 计数器法 设置一个时间窗口内允许的最大请求量,如果当前窗口请求数超过这个设定数量,则拒绝该窗口内之后的请求。 关键词:时间窗口,计数器。 举个例子,我们设置1秒钟…

面试经典150题 -- 栈(总结)

总的链接 面试经典 150 题 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台 关于栈 -- stack 的学习链接 c的STL中的栈 -- stack-CSDN博客 20 . 有效的括号 这题直接用栈模拟就好了; 这里用一种取巧的方法 , 当遇见左括号,加入右…

【Langchain+Streamlit】旅游聊天机器人

【LangchainStreamlit】打造一个旅游问答AI-CSDN博客 项目线上地址,无需openai秘钥可直接体验:http://101.33.225.241:8502/ github地址:GitHub - jerry1900/langchain_chatbot: langchainstreamlit打造的一个有memory的旅游聊天机器人&…

Linux 命令基础

Shell概述 Linux操作系统的Shell作为操作系统的外壳,为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。 Shell是用户和Linux内核之间的接口程序,如果把硬件想象成一个球体的中心,内核围绕在硬件的外层管理着…

【JS逆向九】逆向某混淆网站源码,模拟 加密,解密,密钥生成

逆向日期:2024.02.09 使用工具:Node.js 是否有混淆:源代码混淆 加密方法:AES标准库 文章全程已做去敏处理!!! 【需要做的可联系我】 可使用AES进行解密处理(直接解密即可&#xff0…

读千脑智能笔记09_大脑的错误信念

1. 人类智能的未来 1.1. 气候变化如此剧烈,在下一个百年里,一些城市很可能会不再适合人类居住,大面积的农业区或将变得更加贫瘠 1.1.1. 气候并非唯一需要关注的问题 1.1.2. 人类的一些技术,如核武器和基因编辑,为少…

win32编程系统BUG(Win32 API中的WM_SETTEXT消息)

由于频繁使用Win32 API中的WM_SETTEXT消息,导致内存占用直线上升。 暂未找到有效解决方案。

【SpringBoot】Redis集中管理Session和自定义用户参数解决登录状态及校验问题

🏡浩泽学编程:个人主页 🔥 推荐专栏:《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》 🛸学无止境,不骄不躁,知行合一 文章目录 前言一、分布…

全网最快2024刘谦春晚魔术揭秘

早点关注我,精彩不错过! 来来来,我的手机快被私信爆炸了,一次性给大家说清楚。 原版 Woody Arogon的教学《Woodyland》 数学原理 约瑟夫问题与魔术(五)——魔术《自我匹配的奇迹》中的数学原理 魔术原理 约…

vim常用命令以及配置文件

layout: article title: “vim文本编译器” vim文本编辑器 有三种模式: 命令模式 文本模式, 末行模式 vim命令大全 - 知乎 (zhihu.com) 命令模式 插入 i: 切换到输入模式,在光标当前位置开始输入文本。 a: 进入插入模式,在光标下一个位置开始输入文…