Linux 实操篇 实用指令

一、远程登录到Linux服务器

(1)为什么需要远程登录Linux

  1. linux服务器是开发小组共享
  2. 正式上线的项目是运行在公网
  3. 因此程序员需要远程登陆到Linux进行项目管理或者开发
  4. 画出简单的网络拓扑示意图
  5. 远程登陆客户端有Xshell6,Xftp6,我们学习使用Xshell6和Xftp6,其他的远程工具大同小异
  6. 示意图                                                                                                                                        

(2)远程登陆Linux-Xshell8

  1. 说明:Xshell是目前最好的远程登录到Linux操作系统的软件,流畅的速度并且完美解决了中文乱码的问题,是目前程序员首选的软件
  2. Xshell是一个强大的安全终端模拟软件,它支持SSH1,SSH2,以及Microsoft Windows平台的TELNET协议
  3. Xshell可以在Windows界面下用来访问远端不同系统下的服务器,从而比较好的达到远程控制终端的目的

(3)下载-安装-配置和使用

  1. 下载free-for-home-school版本
  2. 下载地址:家庭/学校免费 - NetSarang Website

(4)远程上传下载文件-Xftp8

Xftp8是一个基于windows平台的功能强大的SFTP、FTP文件传输软件。使用Xftp以后,windows用户能安全地在UNIX/Linux的和Windows PC之间传输文件

(5)Xftp8安装配置和使用

  1. 下载地址和Xshell一样
  2. 如何处理Xftp中文乱码问题?文件→默认会话属性→选项→编码→UTF-8

二、vi和vim编辑器

(1)vi和vim的基本介绍

  1. Linux系统会内置vi文本编辑器
  2. vim具有程序编辑的能力,可以看作是vi的增强版本,可以主动的以字体的颜色辨别语法的正确性,方便程序设计。代码补完,编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用                                                                                                                                 

(2)vi和vim常用的三种模式

  1. 正常模式以vim打开一个文档就可以直接进入一般模式了(默认模式)。在这个模式中。可以使用来移动光标
  2. 插入模式按下i,I,o,O,a,A,r,R等任何一个字母之后才会进入编辑模式,一般来说按i即可
  3. 命令行模式先输入Esc,再输入冒号":"或“/”,就能切换到命令行模式。(1)wq:是write和quit的组合命令,它的作用是将当前编辑的文件内容保存,然后退出vim编辑器(2)q:代表quit,即退出vim编辑器。但该命令只能在文件内容没有被修改的情况下使用,如果文件内容有修改,直接使用q会报错(3)q!:也是退出vim编辑器的命令,其中!强制的意思。使用q!命令会强制退出vim,且不会保存对文件所做的任何修改

(3)vi和vim基本使用

使用vim开发一个Hello.java程序

  1. 在终端输入vim Hello.java
  2. 输入i。进入插入模式
  3. 进行运行。按下esc键,再输入冒号:wq表示写入并退出

(4)各种模式的相互切换

(5)vi和vim快捷键

2.5.1一般模式

  1. 拷贝当前行:输入yy。拷贝当前行向下的5行:输入5yy;并粘贴(输入p)
  2. 删除当前行:输入dd。删除当前行向下的5行:输入5dd
  3. 编辑/etc/profile文件,使用快捷键到该文档的最末行[G]和最首行[gg]
  4. 在一个文件中输入“hello”,然后又撤销这个动作:在一般模式下,输入“u
  5. 编辑/etc/profile文件,并将光标移动到20行:在一般模式下,输入“20”再输入”shift+g

2.5.2命令模式

  1. 在文件中查找某个单词:在命令行模式下输入“/单词”,回车就会对单词进行查找,输入n就是查找下一个
  2. 设置文件的行号,取消文件的行号:在命令行模式下,输入“:set nu”(set number的缩写)和“:set nonu”

三、开机、重启和用户登录注销

(1)关机&重启命令

3.1.1基本介绍

  1. shutdown -h now立刻进行关机
  2. shutdown -h 1 “hello, 1分钟后会关机了”在终端提示“hello,1分钟后会关机了”,并且在1分钟后关机
  3. shutdown -r now:现在重新启动计算机
  4. halt关机,作用和上面一样
  5. reboot:现在重新启动计算机
  6. sync:把内存的数据同步到磁盘

3.1.2注意细节

  1. 不管是重启系统还是关闭系统,首先要运行sync命令,把内存中的数据写到磁盘中
  2. 目前的shutdown/reboot/halt等命令均已经在关机前进行了sync

(2)用户登录和注销

3.1.1基本介绍

  1. 登录时尽量少用root账号登录,因为它是系统管理员,最大的权限,要避免使用它导致误操作。可以利用普通用户登录,然后登陆后再用“su - 用户名”命令来切换成系统管理员身份(su - 普通用户,su - root)
  2. 在提示符下输入logout即可注销用户

3.1.2使用细节

  1. logout注销指令在图形运行级别(如终端)无效,运行级别3(如Xshell登录下有效
  2. 运行级别的概念在下面

四、用户管理

(1)基本介绍

  1. Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统
  2. 示意图:                                                                                                                                    

(2)添加用户

  1. 基本语法useradd 用户名
  2. 应用案例:添加一个用户milan,默认该用户的家目录在/home/milan(登录该用户后会默认切换到其家目录
  3. 细节说明:(1)当创建用户成功后,会自动创建和用户同名的家目录(2)也可以通过useradd -d 指定目录 新的用户名,给新创建的用户指定家目录/home/test:在根目录中选择home,进入home,选择home中的test

(3)指定/修改密码

  1. 基本语法passwd 用户名
  2. 注意:如果不写用户名,则只会给当前用户修改密码
  3. 应用案例给milan指定密码
  4. 补充pwd命令(print working directory):显示当前所在的工作目录

(4)删除用户

  1. 基本语法userdel 用户名
  2. 细节说明:删除用户时,(1)我们可以保留他的家目录userdel 用户名,(2)也可以不保留它的家目录userdel -r 用户名

(5)查询用户信息指令

  1. 基本语法id 用户名
  2. 应用案例:请查询root信息和milan的信息
  3. 细节说明:当用户不存在时,返回无此用户                                                                              

(6)切换用户

  1. 介绍:在操作LInux中,如果当前用户的权限不够,可以通过su - 指令,切换到高权限用户,比如root
  2. 细节说明
    1. 从权限高的用户切换到权限低的用户,不需要输入密码,反之需要
    2. 当需要返回到原来用户时,使用exit/logout指令
    3. 使用“su 用户名"来切换用户,不能通过logout注销,只能通过exit退出登录

(7)查看当前用户/登录用户

  1. 基本语法who am i或者whoami
  2. 注意

(8)用户组

  1. 介绍:类似于角色,系统可以对有共性(权限)的多个用户进行统一的管理
  2. 新增组groupadd 组名
  3. 删除组groupdel 组名
  4. 增加用户时直接加上组useradd -g 用户组 用户名
  5. 案例演示:增加一个用户zwj, 直接将他指定到wudang
  6. 修改用户的组usermod -g 用户组 用户名
  7. 案例演示:创建一个组mojiao,把zwj放入到mojiao
  8. 注意事项:使用useradd 用户名新增用户时,没有分配组,系统会默认分配该用户到用户名同名的组中去                                                                                                                             

(9)用户和组相关文件

  1. /etc/passwd文件:
    1. 用户(user)的配置文件,记录用户的各种信息
    2. 每行的含义:用户名:口令:用户标识号(uid):组标识号(gid):注释性描述:主目录(家目录):登录Shell
    3. 补充
  2. /etc/shadow文件:
    1. 介绍
    2. 每行的含义:
  3. /etc/group文件:
    1. 组(group)的配置文件,记录Linux包含的组的信息
    2. 每行含义:组名:口令:组标识号:组内用户列表
    3. 注意:组内用户列表看不到,它隐藏了

五、实用指令

(1)指定运行级别

  1. 基本介绍:常用运行级别是35,也可以指定默认运行级别
    • 0:关机
    • 1:单用户【找回丢失密码】
    • 2:多用户状态没有网络服务(用的很少)
    • 3:多用户状态网络服务(用的最多的,不带图形界面,节省资源)
    • 4:系统未使用保留给用户(用的比较少)
    • 5图形界面(启动后默认进入的级别,是多用户的)
    • 6:系统重启
  2. 应用实例:通过init来切换不同的运行级别,比如修改级别为3,则命令为init 3
  3. CentOS7后运行级别说明
    • 在centos7以前,我们是在/etc/inittab文件中进行修改
    • 到了centos7,进行了简化。我们可以通过如下方式进行修改,直接在终端中输入即可(1)systemctl set-default multi-user.target,设置为多用户,等价于级别3(2)systemctl set-default graphical.target,设置为图形化,等价于级别5
    • 查看当前运行级别:systemctl get-default
    • 重启后,会发现系统已经变成了级别3

(2)找回root密码

  1. 启动系统,进入开机界面,在该界面中按“e”进入编辑界面,速度要快
  2. 进入编辑界面,使用键盘的上下键将光标往下移动,找到以“Linux16”开头内容所在的行数,在行的最后面输入:init=/bin/sh
  3. 输入完成后,直接按快捷键:Ctrl+x进入单用户模式
  4. 在光标闪烁的位置中输入:mount -o remount,rw / (注意:各个单词间有空格),完成后按键盘的回车键
  5. 在新的一行最后面输入:passwd,完成后按键盘的回车键(Enter)。输入密码,然后再次确认密码即可(我自己设置的密码是123456
  6. 接着,在光标闪烁的位置中(最后一行中)输入:touch /.autorelabel(注意:touch与/之间有一个空格),完成后按回车
  7. 继续在光标闪烁的位置中,输入:exec /sbin/init(注意: exec与/之间有一个空格),完成后按回车,等待系统自动修改密码(这个过程时间可能有点长,耐心等待)

(3)帮助指令

  1. man获得帮助信息:
    1. 基本语法man [命令或配置文件](功能描述:获得帮助信息)
    2. 例如,查看ls命令的帮助信息:man ls
    3. man 注意:(1)如果信息太长,没有显示全,按空格键,就会显示下面的内容(2)按h寻求man指令的帮助,按q退出man指令
    4. ls的常用选项
    5. 注意:(1)选项可以组合使用(2)ls默认查看当前目录的,如果要查看其它目录下的文件:
  2. help指令:
    1. helpman的区别:
    2. help的使用举例:

(4)文件目录类

5.4.1pwd指令

  1. 基本语法pwd
  2. 功能:显示当前工作目录的绝对路径                                                                                         

5.4.2ls指令

  1. 基本语法ls [选项] [目录或是文件]
  2. 功能列出指定目录中的内容

5.4.3cd指令

  1. 基本语法cd [参数] (功能描述:切换到指定目录)
  2. 理解:绝对路径和相对路径
  3. cd~cd:表示回到自己的家目录
  4. cd ..:表示回到当前目录的上一级目录
  5. 应用案例:
    1. 使用绝对路径切换到root目录:
    2. 使用相对路径到/root目录:

5.4.4mkdir指令(make directory

  1. 基本语法mkdir [选项] 要创建的目录
  2. 功能:用于创建目录
  3. 常用选项:-p(parents的缩写),创建多级目录
  4. 应用案例
    1. 创建一个目录/home/dog
    2. 创建多级目录/home/animal/tiger

5.4.5rmdir指令(remove directory

  1. 基本语法rmdir [选项] 要删除的空目录
  2. 功能:删除空目录
  3. 注意细节:删除的是空目录,如果目录下由内容是无法删除的
  4. 想要删除非空目录,需要使用指令“rm -rf 要删除的目录”(r是recursive的缩写,f是force的缩写)
  5. rm指令只能删除文件。加上参数-r可以删除包含文件的文件夹,但是在删除前shell会询问。如果不想被询问,就再加上f

5.4.6touch指令

  1. 基本语法touch 文件名称
  2. 功能:创建空文件
  3. 应用实例:在/home目录下,创建一个空文件hello.txt

5.4.7cp指令

  1. 基本语法cp [选项] source dest
  2. 功能:拷贝文件到指定目录
  3. 常用选项:-r,递归复制整个文件夹
  4. 应用案例
    1. 将/home/hello.txt拷贝到/home/bbb目录下(只拷贝了hello.txt
    2. 递归复制整个文件夹,比如将/home/bbb整个目录,拷贝到/opt(拷贝了bbb和bbb里面的hello.txt

5.4.8rm指令

  1. 基本语法rm [选项] 要删除的文件或目录
  2. 功能:移除文件或目录
  3. 常用选项
    1. -r递归删除整个文件夹
    2. -f强制删除不提示
  4. 应用实例
    1. 案例一:将/home/hello.txt删除
    2. 案例二:递归删除整个目录 /home/bbb(递归:既删除bbb,又删除bbb里面的hello.txt)
  5. 强制删除不提示的方法:带上-f参数即可 

5.4.9mv指令

  1. 基本语法
    1. 重命名mv oldNameFile newNameFile
    2. 移动文件mv /temp/movefile /targetFolder
  2. 功能:移动文件与目录或重命名
  3. 注意
    1. 重命名是在同一个目录下
    2. 移动是在不同的目录下
  4. 应用实例
    1. 将/home/cat.txt文件重新命名为pig.txt
    2. 将/home/pig.txt文件移动到/root目录下
    3. 移动整个目录,比如将/opt/bbb移动到/home下,并重命名为uuu(1)图一,home目录中本来没有uuu目录(2)图二,home目录中已经有uuu目录,就会把bbb放到uuu里面

5.4.10cat指令

  1. 基本语法cat [选项] 要查看的文件
  2. 功能:查看文件内容,cat只能查看,不能修改
  3. 常用选项:-n(number的缩写),显示行号
  4. 使用细节:为了浏览方便,一般会带上管道命令:| more。按空格可以换页
  5. 补充:管道命令

5.4.11more指令

  1. 介绍:用于分页显示文本文件内容
  2. 基本语法more 要查看的文件
  3. 操作说明

5.4.12less指令

  1. 与more的区别
  2. 基本语法less 要查看的文件
  3. 操作说明:                                                                                                                                 

5.4.13echo指令

  1. 基本语法echo [选项] [输出内容]
  2. 功能:输出内容到控制台
  3. 应用实例
    1. 案例一:使用echo指令输出环境变量,比如输出环境变量$PATH和输出主机名$HOSTNAME
    2. 案例二:使用echo指令输出hello,world(有没有双引号都可以

5.4.14head指令

  1. 基本语法
    1. head 文件(功能描述:查看文件头10行内容)
    2. head -n 5 文件(功能描述:查看文件头5行内容,5可以是任意行数)
  2. 功能用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容

5.4.15tail指令

  1. 基本语法
    1. tail 文件(功能描述:查看文件尾10行内容)
    2. tail -n 5 文件(功能描述:查看文件尾5行内容,5可以是任意行数)
    3. tail -f 文件(功能描述:实时追踪该文档的所有更新
  2. 功能用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容
  3. 举例:实时监控mydate.txt(-f的f是follow的缩写),Ctrl+c可以退出监控
    1. 可以看到,此时已经被阻塞
    2. 在另一个终端中,对mydate.txt进行修改
    3. 可以看到,这里已经监控到mydate.txt被修改了

5.4.16>指令和>>指令

  1. 基本语法
    1. 列表的内容写入当某文件中(覆盖写):ls -l > 文件
    2. 列表的内容追加到某文件的末尾:ls -al >> 文件
    3. 将文件1的内容覆盖到文件2:cat 文件1 > 文件2
    4. 控制台内容追加到文件中:echo “内容” >> 文件
  2. 注意细节>表示覆盖写,>>追加写

5.4.17ln指令

  1. 基本语法ln -s [原文件或目录] [软连接名]
  2. 功能:软链接也称为符号链接,类似于windows里的快捷方式,主要存放了链接其他文件的路径,-s的s是symbolic的缩写
  3. 应用实例
    1. 案例一:在/home目录下创建一个软链接myroot,连接到/root目录
    2. 案例二:删除软链接myroot(用rm删,会提示:是否删除符号链接
  4. 注意:如果删除软链接时,后面带上了一个/,会提示无法删除
  5. 细节说明:当我们使用pwd指令查看目录时,仍然看到的是软链接所在目录

5.4.18history指令

  1. 基本语法history
  2. 功能查看已经执行过的历史指令,也可以执行历史指令
  3. 应用实例
    1. 显示所有的历史命令:history
    2. 显示最近使用过的10个指令:history 10
    3. 执行历史编号为5的指令:!5 (输入负数,代表倒数第几条指令)

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot 统一功能处理之拦截器、数据返回格式、异常处理

目录 拦截器 一、什么是拦截器 二 拦截器的使用 三 拦截路径配置 四 拦截器的执行流程 统一数据返回格式 统一异常处理 拦截器 一、什么是拦截器 拦截器是Spring框架提供的核心功能之一,主要用来拦截用户的请求,在指定方法前后,根据业务…

Django学习笔记(第一天:Django基本知识简介与启动)

博主毕业已经工作一年多了,最基本的测试工作已经完全掌握。一方面为了解决当前公司没有自动化测试平台的痛点,另一方面为了向更高级的测试架构师转型,于是重温Django的知识,用于后期搭建测试自动化平台。 为什么不选择Java&#x…

Spring Cloud工程完善

目录 完善订单服务 启动类 配置文件 实体类 Controller Service Mapper 测试运行 完成商品服务 启动类 配置文件 实体类 Controller Service Mapper 测试运行 远程调用 需求 实现 1.定义RestTemplate 2.修改order-service中的OrderService 测试运行 Rest…

如何将网站提交百度收录完整SEO教程

百度收录是中文网站获取流量的重要渠道。本文以我的网站,www.mnxz.fun(当然现在没啥流量) 为例,详细讲解从提交收录到自动化维护的全流程。 一、百度收录提交方法 1. 验证网站所有权 1、登录百度搜索资源平台 2、选择「用户中心…

Linux ftrace 内核跟踪入门

文章目录 ftrace介绍开启ftrace常用ftrace跟踪器ftrace使用ftrace跟踪指定内核函数ftrace跟踪指定pid ftrace原理ftrace与stracetrace-cmd 工具KernelShark参考 ftrace介绍 Ftrace is an internal tracer designed to help out developers and designers of systems to find wh…

VUE项目中实现权限控制,菜单权限,按钮权限,接口权限,路由权限,操作权限,数据权限实现

VUE项目中实现权限控制,菜单权限,按钮权限,接口权限,路由权限,操作权限,数据权限实现 权限系统分类(RBAC)引言菜单权限按钮权限接口权限路由权限 菜单权限方案方案一:菜单…

Pdf手册阅读(1)--数字签名篇

原文阅读摘要 PDF支持的数字签名, 不仅仅是公私钥签名,还可以是指纹、手写、虹膜等生物识别签名。PDF签名的计算方式,可以基于字节范围进行计算,也可以基于Pdf 对象(pdf object)进行计算。 PDF文件可能包…

CSS3+动画

浏览器内核以及其前缀 css标准中各个属性都要经历从草案到推荐的过程,css3中的属性进展都不一样,浏览器厂商在标准尚未明确的情况下提前支持会有风险,浏览器厂商对新属性的支持情况也不同,所有会加厂商前缀加以区分。如果某个属性…

微信小程序分包异步化

分包1引入分包2的组件或者js 引入组件: 主包里的pages/tabbars/tabbar1/tabbar1页面 引入分包sub1的sub1/components/sub1-component/sub1-component组件 1、分包预下载 首先在app.js定义preloadRule "preloadRule": {"pages/tabbars/tabbar1/tabb…

后端java工程师经验之谈,工作7年,mysql使用心得

mysql 工作7年,mysql使用心得 mysql1.创建变量2.创建存储过程2.1:WHILE循环2.2:repeat循环2.3:loop循环2.4:存储过程,游标2.5:存储过程,有输入参数和输出参数 3.三种注释写法4.case …

基于 GEE 利用插值方法填补缺失影像

目录 1 完整代码 2 运行结果 利用GEE合成NDVI时,如果研究区较大,一个月的影像覆盖不了整个研究区,就会有缺失的地方,还有就是去云之后,有云量的地区变成空值。 所以今天来用一种插值的方法来填补缺失的影像&#xf…

unity学习34:角色相关3,触发器trigger,铰链 hingejoint 等 spring joint, fixed joint

目录 1 触发的实现条件 1.1 碰撞的的实现条件 1.2 触发的实现条件 1.3 触发器trigger,直接拿 碰撞器collider修改下配置即可 2 触发器相关实验:触发开门效果 2.0 目标 2.1 player物体的属性 2.2 新建一个trigger 物体 2.3 新建一个被trigger 控…

(1/100)每日小游戏平台系列

每日小游戏平台 项目简介以及地址 准备开发一个一百天小游戏平台,使用Flask构建的简单游戏导航网站,无需登录,让大家在返工的同时也可以愉快的摸鱼玩耍。 每天更新一个小游戏上传,看看能不能坚持一百天。 这些小游戏主要使用前端…

从零到一:基于Rook构建云原生Ceph存储的全面指南(上)

文章目录 一.Rook简介二.Rook与Ceph架构2.1 Rook结构体系2.2 Rook包含组件1)Rook Operator2)Rook Discover3)Rook Agent 2.3 Rook与kubernetes结合的架构图如下2.4 ceph特点2.5 ceph架构2.6 ceph组件 三.Rook部署Ceph集群3.1 部署条件3.3 获取…

第40天:Web开发-JS应用VueJS框架Vite构建启动打包渲染XSS源码泄露代码审计

#知识点 1、安全开发-VueJS-搭建启动&打包安全 2、安全开发-VueJS-源码泄漏&代码审计 一、Vue搭建创建项目启动项目 1、Vue 框架搭建->基于nodejs搭建,安装nodejs即可 参考:https://cn.vuejs.org/ 已安装18.3或更高版本的Node.js 2、Vue 创建…

DeepSeek做赛车游戏

赛车模型 2D生成图片 任意AI图片软件SD,MJ 图片生成3D模型 车身 车轮 场景 Rodin,Tripo和Meshy 询问deepSeek如何开发 拷贝代码 将汽车运行代码拖到汽车上 再让AI写个摄像头跟随代码 再去提问deepseek控制轮胎和一些处理细节

软考高级《系统架构设计师》知识点(一)

计算机硬件 校验码 码距:就单个编码A:00而言,其码距为1,因为其只需要改变一位就变成另一个编码。在两个编码中,从A码到B码转换所需要改变的位数称为码距,如A:00要转换为B:11,码距为2。一般来说,…

亚博microros小车-原生ubuntu支持系列:26手势控制小车基础运动

背景知识 手指检测:亚博microros小车-原生ubuntu支持系列:4-手部检测-CSDN博客 程序功能说明 功能开启后,摄像头捕获图像,识别手势来控制小车移动。 手势 “5”小车前进拳头小车后退手势 “1”小车向左手势 “2”小车向右 运…

OpenFeign远程调用返回的是List<T>类型的数据

在使用 OpenFeign 进行远程调用时,如果接口返回的是 List 类型的数据,可以通过以下方式处理: 直接定义返回类型为List Feign 默认支持 JSON 序列化/反序列化,如果服务端返回的是 List的JSON格式数据,可以直接在 Feig…

【hive】记一次hiveserver内存溢出排查,线程池未正确关闭导致

一、使用 MemoryAnalyzer软件打开hprof文件 很大有30G,win内存24GB,不用担心可以打开,ma软件能够生成索引文件,逐块分析内存,如下图。 大约需要4小时。 overview中开不到具体信息。 二、使用Leak Suspects功能继续…