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

独立开发者系列(23)——Linux掌握小结

只要开发系统,就绕不开使用Linux服务器  ,而Linux除了使用BT面板进行初级管理,很多稍微高级点的管理,还是需要命令行进行的。这里总结在不需要精通的情况下,掌握常见命令和环境的相关配置。

(1)登录以及目录的认识

   拿到远程服务器的root账号密码之后,使用远程连接工具,我使用了xshell 链接,链接工具很多,我只是用这个比较多,输入账号密码。即可登录。

 

 一般默认情况下,我们都是采用账号密码登录的模式(独立开发者基本都是直接控制服务器的权限,主打效率,密码有特殊字符并随机12位以上,基本就不存在被爆破的可能性了)

  熟悉Linux的基础目录结构(这样方便我们知道大致的软件安装地方和查找)

各个目录的主要作用:

    / (根目录):这是文件系统的最顶层目录。

    /bin:存放基本的二进制可执行文件,如ls、cat、chmod等。

    /sbin:存放系统二进制文件,通常是系统管理员使用的管理工具。

    /etc:存放系统配置文件和启动脚本。

    /dev:包含设备文件,如硬盘、键盘、鼠标等。

    /proc:虚拟文件系统,提供关于运行中的进程和内核参数的信息。

    /sys:包含有关系统硬件和设备的信息,是一个虚拟文件系统。

    /tmp:存放临时文件,通常在系统重启时会被清空。

    /home:用户的主目录,每个用户都有自己的子目录。

    /root:系统管理员(root)的主目录。

    /usr:存放用户相关的应用程序和文件。

    /var:存放经常变化的文件,如日志文件。

    /opt:存放第三方应用程序。

    /lib:存放系统库文件,这些是程序运行时需要的共享代码。

    /mnt:用于临时挂载文件系统。

    /media:用于挂载可移动媒体设备。

    /boot:包含启动加载程序和内核文件。

    /selinux:存放安全相关的策略和配置文件。

    /srv:存放系统服务的数据。

    /lost+found:在某些文件系统上,用于存放恢复的文件。

/www 一般用来搭建网站的

   (2)特殊符号与基础概念

~ 表示登录者的用户目录。Linux给每个登陆者都分配了一个基础的目录。类似win里面的C:\Users\XXX概念,这样,每个用户都有一个自己的基础配置目录,比如使用免登录时候需要用到的 cd  ~/.ssh/  这表示该用户登录的ssh目录。一般这种加密的ssh链接密码,默认都是读取用户的基础目录。这个目录也是基本所有软件的默认配置目录,除非特意修改,否则都是安装在该目录下。

理解管道概念,允许将前一个命令的输出当做后一个命令执行的输入,和开发里面的编程逻辑类似,在一些复合操作的时候经常需要用到。比如:检查某个文本里面是否有我要检查的关键词: cat a.txt |grep "hah"  会将前面的命令输出组合到后面的查找里面,该命令经常用来检查文本里面是否有复合要求的字符串出现。

权限概念: 不经常接触Linux的人对权限概念非常会感觉到非常麻烦。而这也是Linux服务器安全性高的原因。如果一个目录文件全部是允许读写的就是777。777权限的具体含义:第一个数字7代表文件所有者的权限。7表示读(4)+写(2)+执行(1)=7。第二个数字7代表与文件所有者同组的用户权限。同样,7表示读(4)+写(2)+执行(1)=7。第三个数字7代表其他用户(即不属于文件所有者组的用户)的权限。7表示读(4)+写(2)+执行(1)=7。

因此,权限777意味着:文件所有者可以读取、写入和执行文件。与文件所有者同组的用户可以读取、写入和执行文件。其他所有用户都可以读取、写入和执行文件。不同的权限设置不同的数字即可。  脚本的执行。默认情况下 直接使用sh   XX.sh 既可以开始写脚本。下面是我一个写的用来自动拉取服务器上git代码的脚本。

#!/bin/bashdatetime=$(date +%Y-%m-%d\ %H:%M:%S)TARGET_DIR="gitupdate"if [ ! -d "$TARGET_DIR" ]; thenecho "Error: Directory '$TARGET_DIR' does not exist."exit 1fi# Get a list of files in the directoryFILES=$(ls -1 "$TARGET_DIR")# Loop through each filefor FILE in $FILES; doif [ -f "$TARGET_DIR/$FILE" ]; thencontent=$(cat "$TARGET_DIR/$FILE")cd "$content"str=$(git pull | grep -e 'Already up to date.')pwd=`pwd`echo "now directory:$pwd"if [ "$str" != "" ]; thenecho "$datetime $project 's warehouse is up to date"elseecho "$datetime $project 's git pull running..."ficd "-"rm "$TARGET_DIR/$FILE"fidone

          (3)基础的命令使用

  这里需要对Linux的结构目录有个基础了解  win是C盘 D盘,Linux全部是结构目录。一般我们搭建网站是/www(大部分情况下,我们实现的是web项目)。
  查看当前系统的属性,Linux版本比较多多,有debian  ubuntu  centOS三个比较大的版本,不同版本命令稍有不同。我用centOS居多,所以登录服务器的第一件事情,是确认自己的Linux服务器版本。Hostnamectl 输入这个命令就可以查看服务器。这个流程和我们查看自己win服务器上属性一样,知道内核版本号,32位/还是64位。这样才能找到相关的命令运行

命令cd  切换到任意目录 最常用 登录服务器后,我们需要查看我们的项目相关列表。cd  – 会回到上一层自己操作的目录,这个命令很有用,特别是在脚本里面切目录执行了某个目录,需要切回上一次切回来的目录的时候,需要用到。

Ls (ll -a) 查看当前目录的文件,如果需要查看 .开头的隐形文件,需要用到查看全部文件 ll -a 。特别是需要编辑类似 .user.ini文件的时候,需要能查看到,否则默认是看不到的。

Vi 就是打开我们的记事本进行编辑效果一样。 编辑完成后 :x 就是保存当前文件,取消保存:q  如果使用vim 可以看到颜色,不过vi是都带了的命令,而且一般情况下,我们都不会再服务器上用vi来做很多操作。

Ps  -ef 查看当前服务器的相关进程。类似我们win的任务管理,主要看服务器我们指定的进程是否还在运行 。其他类似的命令 top free df 相对而言,操作服务器不频繁的情况下,用的更少。

对于Linux 更多其他常用命令需要查相关手册,这里不做Linux各个命令的详细拆解。对于我们需要完成的目标项目而言,基本上你能登录服务器,拿到文件移动到本地,完成代码效果的开发,就完成了基础的目标。其他常用命令主要有(cp 复制文件 touch 创建一个文件 cat 查看一个文件信息 su 切换账号 chown 权限  echo 打印显示) 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • websockt初始化,创建一个webSocket示例
  • 安装Go语言常用工具
  • three-platformize 微信小程序 uniapp 使用截图功能
  • Linux系统基础命令行指令——Ubuntu
  • 《C++20设计模式》命令模式思考
  • LabVIEW中自定义Ring控件的图标
  • 第十八节 LLaVA如何按需构建LORA训练(视觉、语言、映射多个组合训练)
  • 上海外贸建站公司wordpress模板推荐
  • 【Linux进阶】文件系统7——文件系统简单操作
  • FUSE(用户空间文件系统)命令参数
  • 学懂C#编程:C# 索引器(Indexer)的概念及用法
  • 通用个人客户关系管理系统设计
  • OpenSNN推文:盛夏智慧之光:七月高校新闻聚焦
  • Git命令常规操作
  • C++ //练习 14.45 编写类型转换运算符将一个Sales_data对象分别转换成string和double,你认为这些运算符的返回值应该是什么?
  • Android组件 - 收藏集 - 掘金
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • java B2B2C 源码多租户电子商城系统-Kafka基本使用介绍
  • Java比较器对数组,集合排序
  • Java-详解HashMap
  • JSDuck 与 AngularJS 融合技巧
  • Koa2 之文件上传下载
  • Lsb图片隐写
  • mysql 数据库四种事务隔离级别
  • Object.assign方法不能实现深复制
  • python大佬养成计划----difflib模块
  • Ruby 2.x 源代码分析:扩展 概述
  • VUE es6技巧写法(持续更新中~~~)
  • Vue UI框架库开发介绍
  • 分布式熔断降级平台aegis
  • 理解IaaS, PaaS, SaaS等云模型 (Cloud Models)
  • 驱动程序原理
  • 网页视频流m3u8/ts视频下载
  • 线性表及其算法(java实现)
  • Oracle Portal 11g Diagnostics using Remote Diagnostic Agent (RDA) [ID 1059805.
  • ​​​​​​​​​​​​​​汽车网络信息安全分析方法论
  • #!/usr/bin/python与#!/usr/bin/env python的区别
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (6) 深入探索Python-Pandas库的核心数据结构:DataFrame全面解析
  • (C语言)二分查找 超详细
  • (delphi11最新学习资料) Object Pascal 学习笔记---第5章第5节(delphi中的指针)
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (void) (_x == _y)的作用
  • (二)Linux——Linux常用指令
  • (附源码)计算机毕业设计大学生兼职系统
  • (规划)24届春招和25届暑假实习路线准备规划
  • (蓝桥杯每日一题)love
  • (推荐)叮当——中文语音对话机器人
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • **PHP二维数组遍历时同时赋值
  • .JPG图片,各种压缩率下的文件尺寸
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式
  • .net 流——流的类型体系简单介绍