独立开发者系列(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/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 打印显示) 

  • 22
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大梁来了

千山万水总是情,打赏一块行不行

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值