Linux快速入门

目录

一. Linux的结构目录

        1.1 Linux的目录结构

        1.2 常用的目录介绍 

 二. 常用命令

        # 与 $ 提示的区别

        查看ip地址:ifconfig

        su:切换用户

        cd

        目录查看

        查看文件内容

        创建目录及文件

        复制和移动

        其他

        tar

        which

        whereis 

        find

        chmod

三. vim一般使用

四. SSH介绍

        4.1 什么是SSH

        4.2 SSH服务端和客户端

        4.3  基本工作机制


一. Linux的结构目录

        1.1 Linux的目录结构

        Linux为免费开源的系统,拥有众多发行版,为规范诸多的使用者对Linux系统目录的使用,Linux基金会发布了FHS标准(文件系统层次化标准)。多数的Linux发行版都遵循这一规范。

注: FHS(Filesystem Hierarchy Standard),文件系统层次化标准,该标准规定了 Linux 系统中所有一级目录以及部分二级目录(/usr 和 /var)的用途。发布此标准的主要目的就是为了让用户清楚地了解每个目录应该存放什么类型的文件

登录系统后,在当前命令窗口下输入命令:

 ls / 

你会看到如下图所示:

树状目录结构:

        1.2 常用的目录介绍 

目录作用
/usr全称(Unix Software Resource),该目录用于存放软件资源,FHS建议开发者,将软件产品的数据合理放在该目录的子目录下,有点类似于Windows中的c:\windows,与c:\Program files的综合体
/usr/bin/存放系统命令,普通用户和超级用户都可以执行
/usr/sbin/存放根文件系统不必要的系统管理命令,如多数服务程序,只有 root 可以使用
/usr/lib/应用程序调用的函数库保存位置
/usr/local/手工安装的软件保存位置。我们一般建议源码包软件安装在这个位置
/usr/share/应用程序的资源文件保存位置,如帮助文档、说明文档和字体目录
/usr/src/源码包保存位置。我们手工下载的源码包和内核源码包都可以保存到这里, (也可以按照自己的习惯,将手动下载的源码包放在/usr/local/src, 内核源码放在/usr/src/linux中)
/usr/includeC/C++ 等编程语言头文件的放置目录
/var用于存储动态数据,例如缓存、日志文件、软件运行过程中产生的文件等
/var/lib/程序运行中需要调用或改变的数据保存位置。如 MySQL 的数据库保存在 /var/lib/mysql/ 目录中
/var/log/登陆文件放置的目录
/var/run/一些服务和程序运行后,它们的 PID(进程 ID)保存位置
/var/spool/里面主要都是一些临时存放,随时会被用户所调用的数据,例如 /var/spool/mail/ 存放新收到的邮件,/var/spool/cron/ 存放系统定时任务
/var/www/RPM 包安装的 Apache 的网页主目录
/var/tmp一些应用程序在安装或执行时,需要在重启后使用的某些文件,此目录能将该类文件暂时存放起来,完成后再行删除
/home用户家目录,以每个用户的名称命名,存放每个用户的数据
/dev/设备文件保存位置
/etc/配置文件保存位置。系统内所有采用默认安装方式(rpm 安装)的服务配置文件全部保存在此目录中,如用户信息、服务的启动脚本、常用服务的配置文件等
/opt/第三方安装的软件保存位置。这个目录是放置和安装其他软件的位置,手工安装的源码包软件都可以安装到这个目录中。按照个人习惯也可以放在 /usr/local/
/root/root 的主目录。普通用户主目录在 /home/ 下,root 主目录直接在“/”下
/sbin/保存与系统环境设置相关的命令,只有 root 可以使用这些命令进行系统环境设置,但也有些命令可以允许普通用户查看
/srv/服务数据目录。一些系统服务启动之后,可以在这个目录中保存所需要的数据
/tmp/临时目录。系统存放临时文件的目录,在该目录下,所有用户都可以访问和写入。建议此目录中不能保存重要数据

 二. 常用命令

        # 与 $ 提示的区别

'#' 表示用户有root权限,一般的以root用户登录提示符为#, '$'提示符表示用户为普通用户

        查看ip地址:ifconfig

查看ip地址

  • eno1: 代表由主板bios内置的网卡
  • ens1:代表主板bios内置的PCI_E网卡
  • enp2s0: PCI-E独立网卡
  • eth0: 如果以上都不用,则返回默认的网卡名

ens33则属于第二种类型,即说明你的网卡是内置的PCI-E网卡,
这是由网卡特性命名的可以在  /etc/sysconfig/network-scripts/ifcfg-ens33修改名字

如果提示“未找到命令”,则需要安装net-tools工具包。
(centos系统中运行: yum install net-tools)

        su:切换用户

su 用户名

linux用户切换,切换到root用户需要输入密码。临时使用root权限使用 sudo

        cd

  • cd 目录名 进入目录
  • cd .. 返回上级目录
  • cd ~ 进入当前用户的home目录

        目录查看

  • ls 显示当前目录下的所有文件及子目录
  • ll 以详细信息的方式展示当前目录下的文件及子目录
  • dir 显示当前目录下的所有文件
  • pwd 显示当前路径
  • clear 清空屏幕显示

        查看文件内容

  • cat 只可以查看内容不能编辑
  • vi或vim 可查看可编辑

        创建目录及文件

mkdir 创建目录
语法: mkdir -选项 -参数
选项:

  1. -m 创建目录时同时设置文件的权限
  2. -p 如果上级目录没有创建,即创建输入路径上的所有目录

touch 创建文件

        复制和移动

cp 复制
示例:

  • 将文件cangls复制奥tmp目录下
    cp cangls /tmp/

  • 将目录/root/movie下的所有内容, 复制到 tmp目录下(注意:-r 参数有递归复制的意思)
    cp -r /root/movie/ /tmp/

mv 移动或重命名
语法:mv [options] source dest
参数说明:
-i 若指定目录已有同名文件, 则先询问是否覆盖旧文件,i有交互的意思
-f 在mv操作要覆盖某已有的目标文件时不给任何提示,直接覆盖。

        其他

  • reboot 重启系统
  • shutdown -r now 重启
  • shutdown -h row 关机
  • cat /etc/issue 查看当前正在运行的ubuntu的版本号

        tar

  • 命令格式: tar [参数] 文件
  • 常用参数:
  1. x: 从压缩的文件中提取文件 (解压)
  2. c: 建立新的压缩文件(加压)
  3. t:显示压缩的文件
  4. v: 显示操作过程
  5. z: 通过gzip指令来处理备份文件
  • 示例:
  1. tar -czvf test.tar.gz a.c 作用: 压缩 a.c文件为test.tar.gz
  2. tar -tzvf test.tar.gz 作用: 列出test.tar.gz中包含的文件。
  3. tar -xzvf test.tar.gz 作用: 解压文件
  4. tar --exclude=abc/1.txt -zcvf abc.tgz abc 作用: 将文件 abc 进行压缩时,排除1.txt,压缩后的文件名为 abc.tgz

        which

查找可执行文件的位置
示例: which ifconfig

        whereis 

查找文件的位置

        find

查找文件或目录
格式: find [位置] [选项] 文件名 -print

示例:

  • 查找etc目录中,所有文件名以host开头的文件。
    find /etc -name 'host*'

  • 查找当前用户的home目录中所有的log文件
    find ~ -name "*.log" -print

  • 查找当前目录及子目录中文件名以一个大写字母开头的文件
    find . -name "[A-Z]*" -print

  • 从根目录查找文件名为test开头的所有文件
    find / -name "test*" -print

  • 当前目录下查找文件权限位为755的文件,即文件属主可以读、写、执行,其他用户可以读、执行的文件
    find . -perm 755 -print

  • 在$HOME目录中查找文件属主为test的文件 
    find ~ -user test -print

  • 查找属主帐户已经被删除的文件,可以使用-nouser选项。在/home目录下查找所有的这类文件
    find /home -nouser -print

  • 在/apps目录下查找属于gem用户组的文件
    find /apps -group gem -print

  • 查找没有有效所属用户组的所有文件
    find / -nogroup -print

  • 从根目录开始查找5天内被更改的文件
    find / -mtime -5 -print

  • 在目录/etc中查找3日之前更改的文件
    find /etc -mtime +3 -print

  • 在/etc目录下查找所有的目录
    find /etc -type d -print

  • 在/etc目录下查找所有的符号链接文件
    find /etc -type l -print

        chmod

改变文件的存取权限
命令格式:
chmod [options] mode files

mode:

  • u 表示该文件的拥有者,g 表示与该文件的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是
    • 表示增加权限、- 表示取消权限、= 表示唯一设定权限
  • r 表示可读取,w 表示可写入,x 表示可执行

options:

  • -c : 若该文件权限确实已经更改,才显示其更改动作
  • -f: 文件权限无法修改,不显示错误信息
  • -r: 对当前目录下的所有文件和子目录进行递归修改

示例:

  • 给file文件的所有者增加可执行权限
    chmod u+x file

  • 给file的所有者分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
    第一种方式: chmod 751 file
    第二种方式: chmod u=rwx, g=rx, o=x file

  • 为所有用户分配读权限
    chmod =r file
    chmod a-wx, a+r file
    这两种命令作用相同

  • 递归地给directory目录下所有文件和子目录的所有者分配读的权限
    chmod -r u+r directory

三. vim一般使用

i 进入编辑模式,vim打开文件后,默认在命令模式,点击i键方可进入编辑模式
esc 点击esc键退出编辑模式,这是可以输入':'输入命令。

符号意义
i进入编辑模式,vim打开文件后,默认在命令模式,点击i键方可进入编辑模式
esc退出编辑模式,进入命令模式
:w写入
:q退出,如果修改了内容则这种不能退出,如果需要强制退出则使用q!
:wq写入并退出
:q!强制退出,不写入
dd删除当前行(编辑模式下)
ndd删除n行(编辑模式下)
/string搜索字符串(编辑模式下), 按n查找下一个,N上一个,/str$表示匹配行尾的str, 在查找模式中加入\c表示大小写不敏感查找,\C表示大小写敏感查找,例如:/foo\c将会查找所有的"foo","FOO","Foo"等字符串
:s(substitute)命令用来查找和替换字符串,语法::{作用范围}s/{目标}/{替换}/{替换标志}; 例如:%s/foo/bar/g会在全局范围(%)查找foo并替换为bar,所有出现都会被替换(g),:s/foo/bar/g 替换当前行,:%s /foo/bar /g 全局替换
:%d%是匹配所有行,d是删除的意思, 该命令将清空打开的文件的内容
:$跳到文件尾部
:n跳到n行
u撤销上一步的操作
Ctrl+r恢复上一步被撤销的操作

四. SSH介绍

        4.1 什么是SSH

SSH是一种安全协议,主要用于给远程登录会话数据进行加密,保证数据传输的安全

        4.2 SSH服务端和客户端

  • SSH服务端是一个守护进程,一遍为sshd进程,在后端运行并响应来自客户端的请求。
  • SSH客户端常用的有BvSsh,SecureCRT,putty等。

        4.3  基本工作机制

  1. 客户端发送一个请求到服务端
  2. 服务端做数据验证,如包及ip地址等,在发送一个秘钥给ssh客户端
  3. 客户端再将密钥发回服务端,自此建立连接

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

静态分析C语言生成函数调用关系的利器——GCC

大纲 准备工作GCC生成单文件调用关系VCG将VCG转为Dot绘制图片绘制全景图代码参考资料 在《静态分析C语言生成函数调用关系的利器——cally和egypt》中我们介绍了如何使用GCC生成RTL文件,然后再借助cally和egypt来分析出调用关系的方法。GCC自身有命令可以生成代码内…

YOLOv7全网独家首发:Powerful-IoU更好、更快的收敛IoU,效果秒杀CIoU、GIoU等 | 2024年最新IoU

💡💡💡本文独家改进:Powerful-IoU更好、更快的收敛IoU,是一种结合了目标尺寸自适应惩罚因子和基于锚框质量的梯度调节函数的损失函数 💡💡💡MS COCO和PASCAL VOC数据集实现涨点 收录 YOLOv7原创自研 https://blog.csdn.net/m0_63774211/category_12511937.htm…

记一次SPI机制导致的BUG定位【不支持:http://javax.xml.XMLConstants/property/accessExternalDTD】

1、前因 今天在生产环境启用了某个功能,结果发现有个文件上传华为云OBS失败了,报错如下: Caused by: java.lang.IllegalArgumentException: 不支持:http://javax.xml.XMLConstants/property/accessExternalDTDat org.apache.xal…

js中的内置对象、数学对象、日期对象、数组对象、字符串对象

js中的对象(三种): 自定义对象 car、computer DOM对象 div、p BOM对象 window、console 内置对象 数学对象 Math (object类型) 1、圆周率 Math.PI 2、向下取整(返回值) Math.floor() 3、向上取整(返回值) M…

实现自己的mini-react

实现自己的mini-react 创建运行环境实现最简单mini-react渲染dom封装创建虚拟dom节点封装函数封装render函数对齐react 调用方式使用 jsx 任务调度器&fiber架构封装一个workLoop方法 统一提交&实现 function component统一提交实现支持 function component 进军 vdom 的…

6轴机器人运动正解-逆解控制【1】——三种控制位姿的方式

概览: 通过运动学正解控制机器人运动通过运动学逆解控制机器人运动一个简单的物体搬运(沿轨迹运动) 后续会陆续更新(本例仅供学习交流用) 一、6轴机器人 二、运动正解控制 通过修改各个轴的角度,实现末…

目标检测数据集 - 人脑肿瘤检测数据集下载「包含VOC、COCO、YOLO三种格式」

数据集介绍:人脑肿瘤检测数据集,真实 CT 场景高质量图片数据,涉及人脑 CT 图片数据集丰富;适用实际项目应用:CT 图片场景下人脑肿瘤检测项目,以及作为通用人脑检测数据集场景数据的补充;标注说明…

Linux 一键部署influxd2-telegraf 二进制方式

influxd2前言 influxd2 是 InfluxDB 2.x 版本的后台进程,是一个开源的时序数据库平台,用于存储、查询和可视化时间序列数据。它提供了一个强大的查询语言和 API,可以快速而轻松地处理大量的高性能时序数据。 telegraf 是一个开源的代理程序,它可以收集、处理和传输各种不…

数据分析 - python 数据处理

数据处理 去除重复数据 # 删除重复值 保留重复行 第一行的数据 data.drop_duplicates(inplaceTrue, keepfirst)数据格式转化 日期格式化 data[order_date] pd.to_datetime(data[order_dt], format%Y%m%d)data[销售时间] pd.to_datetime(data[销售时间]) # 交货时间 销售…

JS进阶-深入面向对象(三)

看文章可以得到的收获: 1.在日常开发中,我们在声明一个数组对象后,没有声明有map,filter等方法,为什么可以调用这些方法呢? 2. 什么是面向过程思想,什么是面向对象思想呢? 3.JS中…

算法基础之线段树

文章目录 线段树 线段树 线段树的原理十分简单,但是在代码上会相对复杂一点 他也是用来维护一个序列,是一个完全二叉树的形状 对于每一个节点是一个结构体 struct Node {int L,R; int sum; // 以和为例 };假设序列为1到7,那么根节点存的…

EasyCVR视频融合平台雪亮工程视频智能监控方案设计与应用

随着科技的不断发展,视频监控已经成为城市安全防范的重要手段之一。为了提高城市安全防范水平,各地纷纷开展“雪亮工程”,即利用视频智能监控技术,实现对城市各个角落的全方位、全天候监控。本文将介绍一种雪亮工程视频智能监控方…

Windows本地如何部署Jupyter+Notebook并结合内网穿透实现远程访问?

文章目录 1.前言2.Jupyter Notebook的安装2.1 Jupyter Notebook下载安装2.2 Jupyter Notebook的配置2.3 Cpolar下载安装 3.Cpolar端口设置3.1 Cpolar云端设置3.2.Cpolar本地设置 4.公网访问测试5.结语 1.前言 在数据分析工作中,使用最多的无疑就是各种函数、图表、…

2212电机 与 Simonk 30A 电调 调速测试记录

硬件信息 一、2212电机 适配 F330、F450、F550机架 重量:52克 尺寸:28mm*24mm 支持锂电:3s~4s锂电池 电调:20~40A 二、Simonk 30A 电调 重量:25克 尺寸:40 * 23 * 8mm 输入电压:2s~4s&…

使用__missing__方法实现映射表多格式主键

背景介绍 在python中,我们经常使用字典类型实现映射表的功能,通过字典的主键遍历获取对应的值,从而实现从一个值映射到另一个值的功能 但是这种映射是十分硬性的,例如,假如我的映射表为{‘1’:one&#x…

C#学习(十)——WPF重构与美化

一、Entity Framework Core 特点:【跨平台】,【建模】,【查询、更改、保存】,【并发】,【事务】,【缓存】,【数据迁移】 EF的组件 二、重构:构建数据模型 项目延续C#学习(九)的 项…

Unity通用渲染管线升级URP、HDRP

Unity通用渲染管线升级URP、HDRP 一、Build-in Pipline升级到 URP 一、Build-in Pipline升级到 URP 安装URP包 升级所有材质(升级完成后材质会变成紫红色,Shader丢失,此为正常现象) 创建 UniversalRenderPipelineAsset 配置文…

java web 校园健康管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 java Web校园健康管理系统是一套完善的java web信息管理系统 ,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为 TOMCAT7.0,Myeclipse8.5开发,数据库为Mysq…

深入理解工厂模式:创建可复用的对象实例

这里写目录标题 前言简单工厂模式工厂方法模式抽象工厂模式总结 前言 工厂模式是一种常用的设计模式,它可以帮助我们更好地组织和管理代码,将对象的创建和使用分离开来,提高代码的可维护性和扩展性。 在软件开发中,我们经常会遇到…

C++拷贝构造函数、赋值学习整理:

拷贝构造函数: 概念: 构造函数的第一个参数,是类本身的const引用(一般情况下没有其他参数,少数情况:其他参数必须有默认值!)称此类构造函数为拷贝构造函数 特征: 1&am…