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

news2024/10/2 20:38:57

只要开发系统,就绕不开使用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/bash

datetime=$(date +%Y-%m-%d\ %H:%M:%S)

TARGET_DIR="gitupdate"

if [ ! -d "$TARGET_DIR" ]; then

    echo "Error: Directory '$TARGET_DIR' does not exist."

    exit 1

fi

# Get a list of files in the directory

FILES=$(ls -1 "$TARGET_DIR")

# Loop through each file

for FILE in $FILES; do

    if [ -f "$TARGET_DIR/$FILE" ]; then

          content=$(cat "$TARGET_DIR/$FILE")

          cd "$content"

          str=$(git pull | grep -e 'Already up to date.')

          pwd=`pwd`

           echo "now directory:$pwd"

            if [ "$str" != "" ]; then

                 echo "$datetime $project 's warehouse is up to date"

               else

                 echo "$datetime $project 's git pull running..."

               fi

            cd "-"

            rm "$TARGET_DIR/$FILE"

    fi

done

          (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 打印显示) 

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

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

相关文章

Linux学习之网络配置问题

Linux学习——那些我们网络配置遇到过的问题?ping不通百度?XShell连接不上?(超详细) 💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感…

HTML 标签简写及全称:表格内容将通过JavaScript动态生成

<!DOCTYPE html> <html lang"zh-CN"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>HTML 标签简写及全称</title><style>…

振弦采集仪在大型工程安全监测中的作用与意义

振弦采集仪在大型工程安全监测中的作用与意义 河北稳控科技振弦采集仪是一种用于测量振动频率的仪器&#xff0c;常用于大型工程的安全监测中。它通过采集振弦的振动信号&#xff0c;可以对工程结构的振动特性进行实时监测和分析。振弦采集仪在大型工程安全监测中具有重要的作…

【目标跟踪】CoTracker 环境配置

配置 CoTracker 环境 首先下载 conda&#xff0c;然后安装虚拟环境。 1.创建环境&#xff1a;如果环境不存在&#xff0c;你需要创建一个新的 conda 环境。可以使用以下命令创建名为 cotracker 的环境&#xff1a; conda create -n cotracker python3.x 其中 3.x 是你想要安…

C语言程序题(一)

一.三个整数从大到小输出 首先做这个题目需要知道理清排序的思路&#xff0c;通过比较三个整数的值&#xff0c;使之从大到小输出。解这道题有很多方法我就总结了两种方法&#xff1a;一是通过中间变量比较和交换&#xff0c;二是可以用冒泡排序法&#xff08;虽然三个数字排序…

【UE5.3】笔记9

1、如何将BSP笔刷转换为静态网格体&#xff1f; 在笔刷的细节的高级里面找到创建静态网格体&#xff1b; 2、如何将自己创建的一个由多个网格体或其他组件组合成的道具转换为个整体即蓝图类&#xff1f;---即把多个Actor转换成蓝图类 选中所要整合的对象&#xff0c;要全选中…

js原型和类---prototype,__proto__,new,class

原型和原型链 在js中&#xff0c;所有的变量都有原型&#xff0c;原型也可以有原型&#xff0c;原型最终都指向Object 什么是原型 在js中&#xff0c;一个变量被创建出来&#xff0c;它就会被绑定一个原型&#xff1b;比如说&#xff0c;任何一个变量都可以使用console.log打…

数据结构 Java DS——链表部分经典题目 (1)

前言 笔者计划在暑假啃完JavaDS,Mysql的内容当然也会继续更 这次给读者们分享的是链表的几个比较典型的题目,关于如何手搓一个链表,笔者还在筹划中, 毕竟链表的种类也有那么多,但是在下面的题目中,只有单向链表 题目一 : 反转链表 206. 反转链表 - 力扣&#xff08;LeetCode…

文献笔记|综述|When Large Language Model Meets Optimization

When Large Language Model Meets Optimization 题目&#xff1a;当大型语言模型遇到优化时 作者&#xff1a;Sen Huang , Kaixiang Yang , Sheng Qi and Rui Wang 来源&#xff1a;arXiv 单位&#xff1a;华南理工大学 文章目录 When Large Language Model Meets Optimization…

java:字符缓冲流特有功能

BufferedWriter&#xff1a; void newLine&#xff08;&#xff09;&#xff1a;写一行行分隔符&#xff0c;行分隔符字符串由系统属性定义 BufferedReader&#xff1a; public String readLine&#xff08;&#xff09;&#xff1a;读一行文字&#xff0c;结果包含行的内容的字…

Mosh|初学者 SQL 教程

sql文件链接&#xff1a;链接: https://pan.baidu.com/s/1okjsgssdxMkfKf8FEos7DA?pwdf9a9 提取码: f9a9 在mysql workbench 导入 create_databases.sql 文件&#xff0c;下面是运行成功的界面 快捷方式&#xff1a;全部运行可以同时按下controlcommandenter &#xff0c;或者…

rsync远程同步--累了,明天继续再写~。

rsync官网链接 rsync(Remote Sync,远程同步)开源快速备份工具&#xff0c;是一个用于本地和远程文件同步的Unix-like命令行程序。它使用“快速数据传输算法”&#xff0c;只发送源和目标之间的差异&#xff0c;因此数据传输非常高效。 可以在不同主机之间镜像同步整 个目录树…

基于网络编码的 tcp 变种-tcp/nc

tcp/nc 是指 “tcp with network coding”&#xff0c;是一种结合了网络编码技术的 tcp 变种&#xff0c;网上资源很少&#xff0c;我也不准备多介绍&#xff0c;只介绍它的核心。 传统 tcp 在演进过程中一直搞不定效率问题&#xff0c;网络带宽在增长&#xff0c;cpu 却没有变…

Python学习中使用循环(for, while)

在Python编程语言中&#xff0c;循环是一个非常重要的概念&#xff0c;可以帮助我们在代码中重复执行某些操作。Python支持两种主要的循环结构&#xff1a;for 循环和 while 循环。 1. for 循环 for 循环用于遍历一个序列&#xff08;如列表、元组、字符串&#xff09;或其他…

自动化数据集成的BI工具,为你提供决策洞察力

传统的商业智能&#xff08;BI&#xff09;报表系统采用的是“业务提报表需求&#xff0c;IT进行开发”的模式。决策管理者和业务人员提出用报表等来展示经营管理数据的需求&#xff1b;接着IT响应需求&#xff0c;进行需求沟通、数据处理加工、报表开发等主体工作&#xff1b;…

南方科技大学马永胜教授给年轻人使用AI工具上的建议

摘要 - 1. AI的未来&#xff0c;是机器人和机器人之间的合作&#xff1b; 2. 行业的发展方向是需求决定的&#xff0c;不要做同质化的发展&#xff0c;要做专/精/特/新&#xff1b; 3. 新质生产力 &#xff08; 科学技术革命性突破 生产要素创新型配置 产业深度转型升级&…

Text Control 控件教程:在 .NET 中打印 MS Word DOCX 文档

虽然有用于创建 DOCX 文件的库&#xff08;例如 Open XML SDK&#xff09;&#xff0c;但打印又是另一回事。打印 DOCX 文件的唯一方法是在 Microsoft Word 中打开它并手动打印。对于需要打印大量文档的 Web 应用程序或需要自动打印文档的服务器端应用程序来说&#xff0c;这不…

CSS相对定位和绝对定位的区别

CSS相对定位和绝对定位的区别 区别1&#xff1a;相对的对象不同 相对定位是相对于自己绝对定位是相对于离自己最近的有定位的祖先 区别2:是否会脱离文档流 相对定位不会脱离文档流&#xff0c;不会影响其他元素的位置绝对定位会脱离文档流&#xff0c;会影响其他元素的布局 代…

人与机器的协同是强弱系统的互补行为

人与机器的协同可以被视作强弱系统的互补行为&#xff0c;这也强调了人类和机器之间在处理问题、执行任务或创造价值时各自的优势与角色。 人类在认知、创造力、情感和伦理等方面具有独特优势。我们能够进行高级的抽象思维、创新和复杂决策&#xff0c;能够处理不确定性和动态环…

realloc调整栈帧

同样的&#xff0c;也仅仅是记录自己学习的记录、思考。 优秀的学习文章 使用realloc函数来调整栈帧让one_gadget生效 | ZIKH26 调试分析 one_gadget失效 这种都需要自己动手调试来看 以经典的libc-2.23的fastbin attack为例 one_gadget libc-2.23.so edit(2,8,p64(mall…