[Linux篇] Linux常见命令和权限

news2024/11/17 10:44:43

文章目录

    • 使用XShell登录Linux
    • 1.Linux常用基本命令:
      • 1.1 ls(列出当前的目录下都有哪些文件和目录)
      • 1.2 cd (change directory 切换目录)
      • 1.3 pwd(查看当前目录的绝对路径)
      • 1.4 touch(创建文件)
      • 1.5 cat(查看文件内容)
      • 1.6 mkdir (创建目录)
      • 1.7 rm (删除文件或者目录)
      • 1.8 mv(移动文件) cp(复制文件)
      • 1.9 man (查看帮助文档)
      • 1.10 less vim
      • 1.11 date 查看/设置/格式化时间
      • 1.12 ps 得到正在运行的进程信息
      • 1.13 netstat 查看网络状态
    • 2.Linux权限:

使用XShell登录Linux

通过XShell登录到Linux之后,只有一行命令,我们要通过命令行来操作Linux,其实Linux和Windows都是一个操作系统,只不过Windows是通过图形化界面来操作的,通过对话框,窗口,键盘,鼠标来操作。

Linux服务器不太适合使用图形化界面

图形化界面是比较消耗资源(硬件资源),虽然以后我们以后见到的是一些配置比较更高的服务器,即便如此,也不会安装图形化界面,主要就是要把配置用到刀刃上。

  • 图形化界面存在一些Bug,不稳定,容易崩溃,服务器则是要求要非常稳定的
  • 服务器是通过网络远程操控的,如果是图形化界面。就需要让你的客户端和服务器之间传输画质(一帧一帧的图片)是非常占用带宽的,这个要比传输字符界面要复杂的多
  • 命令行如果要使用熟练的话,操作效率是要远远高于图形化界面的,更不必说,命令行方便通过脚本来批量执行重复的任务
    在这里插入图片描述

1.Linux常用基本命令:

1.1 ls(列出当前的目录下都有哪些文件和目录)

ls的功能就相当于Windows上的"‘文件资源管理器’"。
在这里插入图片描述

但是我们经常使用的不是这个ls,而是ls - l

ls -l : -后面个的指令,表示的是命令的选项。在Linux中的每个命令,都可以支持一些选项,通过这些选项来影响到命令的行为。

在Linux中输入ls -l
在这里插入图片描述

此处在ls 后跟的 -l 的作用就是 把查到的文件按照列表的方式显示,每个结果都占一行,这里显示的信息都更加详细了。
在这里插入图片描述

但是这个ls -l 还是比较麻烦的,我们可以直接使用ll指令,效果的ls -l 是一样的
在这里插入图片描述

额外补充:

  • -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
  • -d 将目录象文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
  • -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
  • -l 列出文件的详细信息。
  • -r 对目录反向排序。
  • -t 以时间排序。
  • -R 列出所有子目录下的文件。(递归) 图形化界面是比较消耗资源(硬件资源),虽然以后我们以后见到的是一些配置比较更高的服务器,即便如此,也不会安装图形化界面,主要就是要把配置用到刀刃上。

还有就是 我们直接输入 ls 执行的时候,相当于是查看当前目录中的内容

如果我们在ls 后面添加一个指定的目录,此时就是在查看其他目录里的信息

通过 / 就是查看 /` 目录中的内容 / 就相当于windows上的此电脑,Linux上是没有盘符这个概念的。

/ 也叫作根目录
在这里插入图片描述

1.2 cd (change directory 切换目录)

cd 后面跟上一个具体的目录,这个目录就表示要切换到哪里

cd往往是和ls 搭配使用的,连着结合们就可以完成Windows一样的查看文件和目录的效果。
在这里插入图片描述

这个操作,就是切换好了mysql 目录,我们也可以看到命令提示符由 ~ 变成了mysql

在这个cd命令后填写的目录,可以是绝对路径,也可以是相对路径。

在Linux上认为以 / 开头的就是绝对路径,从根目录这里往下数,获取到的完整路径,以 开头的就是相对路径,从当前目录开始往下找,找到一个不太完整的目录

当前命令行所在的目录就称为工作目录,指定相对路径,都是以工作目录为基准的。如果当前的工作目录不同,要找到同一个文件的相对路径,也就是不同的。

如果是以 .开头的人,此处的 . 就表示当前目录。./aaa 就是找当前目录中的aaa目录

如果是以 开头的,此处的 就表示当前目录的上级目录
在这里插入图片描述
在这里插入图片描述

cd ./rootcd root 的效果是一样的,都是在找当前目录中的root目录

还有一个技巧就是 当我们要 cd到具体的目录的时候,不一定非得把整个目录都写完,我们可以通过键盘上的tab键,来进行自动补全。

1.3 pwd(查看当前目录的绝对路径)

这个操作就相当于如果此时我们不知道在那个目录中操作的时候,使用pwd就可以知道自己此时处于当前的那个目录中操作
在这里插入图片描述

1.4 touch(创建文件)

在我们windows操作系统中的文件资源管理器中还有一些功能,我们在Linux中也是有相应的实现的。比如:创建文件,查看文件,创建目录,删除文件/目录

touch [文件名] 就能创建出一个空的文件出来

在root目录下创建一个aaa.txt文件,文件大小是为0的。
在这里插入图片描述

1.5 cat(查看文件内容)

cat [文件名] 就可以查看文件的具体内容。

查看root目录下的aaa.txt文件的内容
在这里插入图片描述

因为此时文件中没有任何消息所以没有打印文件信息

我们可以使用echo 命令在aaa.txt 文件中写入信息,但是这种操作只能写入简单的数据,我们在后文中会介绍到如何简单的使用vim 使用vim我们就可以进行复杂性的输入。
在这里插入图片描述

> 文件名:表示的是重定向,本来写到的数据是要写到标准输出上,但是此时重定向到aaa.txt文件中

1.6 mkdir (创建目录)

mkdir [目录名]

ddd目录下创建 aaa,bbb,ccc 三个目录,在aaa目录中创建111.txt,在bbb目录下创建222.txt,在ccc目录下创建333.txt
在这里插入图片描述

mkdir 后面填写的目录也是可以是绝对路径,也可以是相对路径。

在Linux中有一个专门的tree命令,博主上面就是使用了这个命令,它可以让我们看到每个文件的所属目录。了解目录结构

这个tree命令不是Linux自带的,而是一个第三方的工具,我们可以通过命令yum install tree -y 通过这个操作就可以安装tree命令,这个yum也是Linux上的一个命令(包括管理器,相当于手机的应用商店)

1.7 rm (删除文件或者目录)

rm [文件名]

删除ddd目录下的aaa目录中的111.txt文件
在这里插入图片描述

当我们在删除的时候,可能有这个提示,是否要真的删除,输入y(yes) 表示确认,输入其他值都表示取消。

这里的删除,不是说一定有提示的,有的时候可能不提示就直接删了

并且在Linux中是没有像windows中的回收站的,rm删除的文件,删了就是删了,就真的没有了 ,所以我们在删除的时候一定会要谨慎

rm也可以用来删除目录
在这里插入图片描述

但是我们此时是无法只是用rm进行删除的,我们可以通过 rm -r 进行删除
在这里插入图片描述

这里的-r 表示的是递归,要删除的目录下可能还有文件,或者其他的目录,要删除这个目录,就要先删除这个目录中的文件或者是子目录

但是我们在删除bbb目录的时候,可以看到我们删除一个目录要反复的输入好几次 y 才能把这个目录给删除了,这样是不是很麻烦,于是我们在添加一个使用rm -rf [目录] 就可以很快的删除目录,不需要来回的确认输入y

删除ccc目录
在这里插入图片描述

这个命令是一个更加快捷的删除操作,但是我们如果在删除的时候,一旦不小心删错了,就可能无法恢复了。

尤其是我们执行一个rm -rf /的时候,这个时候很可能就会酿成大错。

这个/ 表示的就是此电脑,一个系统上所有的文件和目录都是在这个此电脑中的,就会把所有的系统文件和用户文件都给删除了,不光把你一些重要文件给删了,同时也把系统的文件给删了,此时就相当于一切都灰飞烟灭了,这个系统就挂了。

但是对于这个删除操作。每个学过Linux的童鞋都知道是一个非常危险的操作,但是还是有人不停的犯这个错误。

很多时候都是误操作,一不小心多加了一个空格,就把这个系统给删了。

rm -rf /root/aaa 我们其实是想删除root目录中的aaa目录中的文件。很不巧我们中间手一滑多加了一个空格。rm -rf / root/aaa 如果这里多加了一个空格 rm 就会以为你要删除两个目录,rm操作支持一个命令删除多个目录或者多个文件,多个文件之间使用空格隔开,第一个目录就是 / 第二个目录就是相对路径下的root/aaa 如果已经成了这样,那么删除root下的aaa文件已经无关紧要了,因为我们此时已经把整个系统给删了,何况root目录下的aaa目录,那不也是没了吗?

其实我们的CentOS为了应对这里的手误操作,专门的做出了一个保护机制,如果我们直接输入rm -rf / 此时会被提醒这是一个非常危险的操作,如果真的想 zuo si 那么就要输入一个no-preserver-root 那么此时就把这个系统中的目录和文件就全部删了

1.8 mv(移动文件) cp(复制文件)

mv 原路径 目标路径

cp 原路径 目标路径
在这里插入图片描述

将aaa目录下的111.txt文件移动到bbb目录中,使用mv 命令(没有给新的文件名,那么移动之后的文件名和移动之前的文件名是一样的)
在这里插入图片描述

在移动的时候,给移动文件重新起名字
在这里插入图片描述

mv命令不光可以移动文件,还可以修改文件的名称
在这里插入图片描述

cp命令的使用:
在这里插入图片描述

复制aaa目录中的555.txt文件到bbb文件
在这里插入图片描述

一边拷贝,一边重命名,把aaa目录中的555.txt文件复制到ccc文件中,并且改名为111.txt
在这里插入图片描述

mv和cp都是可以针对文件操作,也可以针对目录操作。对于mv来说 针对文件操作和对目录操作,没有区别,对于co来说,针对文件操作和针对目录操作,有点区别。

如果我们直接赋值目录,复制好的目录放到其他目录中

在这里插入图片描述

使用cp没法拷贝目录,这其实和rm类似,要想在目录中还有子目录或者文件。所以我们加上-r指令,就可以把目录拷贝到其他地方
在这里插入图片描述

1.9 man (查看帮助文档)

上面在介绍各种命令的时候,同时我们也知道了命令还有一些对应的选项

给一个命令,这个命令中都有哪些选项,每个选项都有什么意思,因为很多我们是记不来的。那么我们如果也到了就可以到网上查找。但是Linux中也提供了一个非常方面的查询工具,输入man + [你要查找的命令] 就可以在帮助文档中显示这个命令的功能和对应选项的功能,我们使用键盘中的上下键进行翻读,使用Q退出帮助文档
在这里插入图片描述

1.10 less vim

前面介绍的都是和文件和目录相关的操作,缺少一个非常重要的功能,就是能够查看和编辑文件

虽然我们前面的cat也可以查看文件信息,echo可以编辑文件,但是这两个只可以对简单的文件进行查看和编辑

less 主要用来查看文件,尤其是查看一些大的文件

vim可以查看文件,同样也可以编辑文件

less [文件名] 当使用less 打开一个大的文件的时候,就可以通过上下箭头来翻页,按Q就能退出。

这里的less是不能编辑文件的,但是他有一个最大的优势就是在于能够秒开大文件,尤其是需要查看日志的时候,可以使用,可能这里的日志会累计很大。

less打开文件的时候,只是把当前的一个屏幕里的内容给显示出来(显示多少就从磁盘中读取多少数据)

很多编辑器,都是把整个文件读取完,才进行显示的,如果文件特别大,就会很慢,并且也很吃内存

vim相当于Linux中的记事本。

我们在这里只需要了解vim的简单使用即可

打开vim

vim的初始界面 如果没有指定文件名,就是这个页面
在这里插入图片描述

vim [文件名] 那么此时就进入到了该文件的编辑页面

打开aaa目录下的555.txt文件

输入vim aaa/555.txt
在这里插入图片描述

如何进行编辑

打开编辑页面之后,此时还不能直接编辑,进入vim之后,默认处在normal node普通模式之下,普通模式中任何的键盘操作都不能直接输入文本,而是不同含义的快捷键,要想进行编辑,就要进入insert mode 插入模式,按小写的字母i 进入到insert mode 模式
在这里插入图片描述

输入123456789
在这里插入图片描述

使用键盘中的esc键退出insert模式

如何保存退出

使用:wq进行保存文件信息退出

1.11 date 查看/设置/格式化时间

在Linux中直接输入date 进可以显示出当前的时间
在这里插入图片描述

借助date可以用来转化时间戳

得到当前时间戳
在这里插入图片描述

把当前时间戳传回成可读的时间
在这里插入图片描述

1.12 ps 得到正在运行的进程信息

使用 ps -aux就可以得到进程的信息
在这里插入图片描述

grep对输出的结果进行筛选

ps -aux | grep vim
在这里插入图片描述

此处的 | 在Linux中叫做管道符,它的效果就是把前一个命令的输出,作为后一个命令的输入。ps -aux输出了一对内容,通过管道,导入grep命令中,grep命令就根据vim这个关键字记性查找,把包含vim这个字符串的行给留下

1.13 netstat 查看网络状态

我们经常在部署项目的是时候使用这个命令,查看端口是否被占用。
在这里插入图片描述

此时的8080端口被占用。

如果想要把这个进程结束,不让这个进程占用这个端口那么就是用kill -9 [进程Id] 结束这个进程

2.Linux权限:

其实权限就是约束你可以干什么,不可以干什么

Linux的权限主要体现在针对文件的操作上,针对文件,Linux体现除了三种操作,可读可写,可执行
在这里插入图片描述

r:read 表示可读

w:write 表示可写

x:execute 表示可执行

d:表示这是一个目录,如截图中的ddd目录,-:表示一个普通文件

那么权限中的rwx为什么会出现3次?

因为Linux上针对用户,分为3类

1.文件拥有者

2.文件拥有者的同组人员

3.其他人员

Linux权限的基本盘,这个基本盘也是和公司的组织结构是有关的

在公司中会有很多项目组,其中你负责维护一个模块的代码,你就可以读,可以写

其他和你一组的同事,可以看你的代码,但是不一定能修改

其他组的同事,可能看都看不了。

但是还有一个特例,就是管理员用户(root就是管理员用户)管理员拥有最高的权限,无视以上的规则。

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

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

相关文章

数据库系统是什么?它由哪几部分组成?

数据库系统(Database System,DBS)由硬件和软件共同构成。硬件主要用于存储数据库中的数据,包括计算机、存储设备等。软件部分主要包括数据库管理系统、支持数据库管理系统运行的操作系统,以及支持多种语言进行应用开发…

TestNG单元测试框架-常用注解介绍以及testng和Junit的区别【杭州多测师_王sir】【杭州多测师】...

一、TestNG单元测试框架-常用注解介绍 testng学习网址:https://www.jc2182.com/testng/testng-environment.html 1、Before类别和After类别注解按照如下循序执行BeforeSuite->BeforeTest->BeforeClass->{BeforeMethod->Test->AfterMethod}->After…

微信支付Native下单API接口正确调用姿势

商户Native支付下单接口,微信后台系统返回链接参数code_url,商户后台系统将code_url值生成二维码图片,用户使用微信客户端扫码后发起支付。 文档地址:微信支付-开发者文档 目录 一、Native下单接口简介 二、如何正确调通接口 (…

5. AOP

一、如何定义一个MethodHandler? 1.Controller注解修饰的类 1.注册成Spring Bean 2.表示它是一个SpringMVC下的Controller 2.在这个类下的方法中,只要被RequestMapping修饰&&方法的形参符合规定(需要看文档) 方法的返回值符合规定…

VK0256/B/C玩具、冷气机等段码液晶驱动芯片(IC)(32EGx8COM)技术资料选表

K PP 2543型号:VK0256/B/C封装形式:QFP64/LQFP64/LQFP52 VK0256/B/C是一个点阵式存储映射的LCD驱动器,可支持最大256点(32EGx8COM)的LCD屏。单片机可通过3/4线串行接口配置显示参数和发送显示数据,也可通过…

与ChatGpt聊天,学习golang标签的反射机制

与ChatGpt聊天,学习golang标签的反射机制引ChatGPT火了以后,本拐先是恐惧,之后是拥抱。最近很多编程知识的学习,都是通过 chatgpt来搞定。众所周知,本拐就是一个啥技术都半斤八两的程序员,这次,…

05服务发现:引入etcd服务注册中心

在分布式微服务架构中,服务注册发现组件(通常称为服务注册中心)往往有着举足轻重的作用,它的性能与稳定可能会直接影响到整个服务的状态,比如Spring Cloud中的Eureka、Dubbo中的Zookeeper等等,接下来我们就gRPC微服务中最常见的服务注册中心etcd,来讲述下两者在具体是怎…

Mr. Cappuccino的第41杯咖啡——Kubernetes之Pod调度策略

Kubernetes之Pod调度策略Pod的4种调度策略定向调度nodeNamenodeSelector亲和性调度node亲和性硬限制软限制关系运算符pod亲和性pod反亲和性污点和容忍污点(taints)容忍(tolerations)默认情况下,Scheduler计算出一个Pod…

conda 搭建tensorflow-GPU和pycharm以及VS2022 软件环境配置

conda 搭建tensorflow-GPU和pycharm以及VS2022 软件环境配置一、TensorFlow 环境配置安装1. Anaconda下载安装2.conda创建tensorflow环境二、pycharm以及VS2022 环境配置2.1 pycharm 软件安装以及环境配置2.2.1 pycharm 软件安装2.2.2 pycharm 软件conda环境配置2.2 Visual Stu…

注意!华为折叠屏手机的原厂膜不能自己撕!

对于用惯了直板手机的朋友来说,新机开箱撕膜是一件十分有“仪式感”的事情,但是对于折叠屏手机来说,这样的操作万万不可。华为折叠屏手机在使用的过程中也有着和传统智能手机不一样的注意事项,下面这几点大家在入手折叠屏手机之后…

如何利用Power Virtual Agents机器人进行设备维修登记

今天我们来介绍如何利用PVA聊天机器人进行设备维修登记。设计思路是在PVA聊天机器人的对话框中输入“设备维修”触发短语后进行设备维修登记,然后通过自动化流程将维修信息存入到Lists中并通过邮件的形式发送给负责设备维修的人员。 首先,在PVA聊天机器人…

【yolov5】将标注好的数据集进行划分(附完整可运行python代码)

问题描述 准备使用yolov5训练自己的模型,自己将下载的开源数据集按照自己的要求重新标注了一下,然后现在对其进行划分。 问题分析 划分数据集主要的步骤就是,首先要将数据集打乱顺序,然后按照一定的比例将其分为训练集&#xf…

【Blender】使用Blender渲染一段360度旋转的动画

目录一、前言二、方法描述三、渲染设置四、结果一、前言 本文主要讲述了如何使用Blender渲染一段物体360度旋转的动画。 渲染好的效果如下: 二、方法描述 第一步:shiftA,我们在Blender里新建一个平面 第二步:摁s键(scale)&…

(三十五)Vue之过渡与动画

文章目录概述单元素/组件的过渡CSS动画CSS过渡多元素/组件的过渡集成第三方动画Animate上一篇:(三十四)Vue之新生命周期钩子nextTick 概述 Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果。包括以下工具&…

PyTorch常用的损失函数(ChatGPT)

L1Loss nn.L1Loss 也称为平均绝对误差(Mean Absolute Error,MAE)。它计算预测值与真实值之间的差异(即误差),然后取绝对值并求和,最后除以样本数量得到平均误差。具体来说,对于一批…

萌新应该如何开始学习走向自动化测试高薪岗位?

对于测试人员来说,不管进行功能测试还是自动化测试,还是性能测试,都是需要编写测试用例,所以我们必须先要了解清楚手工测试用例与自动化测试用例的一些特点,才能更好的开展自动化测试工作。1.1手工测试用例和自动化测试…

最新中文版Studio One6音乐制作DAW工具

你现在用的是什麽 DAW?大家常常在说的 DAW ,就是指数位音乐工作站软件,像是常见的 Ableton、Logic、Protools、Cubase 等等,这些都算是 DAW。以上的例子,他们的完整版几乎都是需要花费购买的,当然也有一些免…

【Go基础】Socket和WebSocket编程

文章目录一、Socket编程1. 网络通信过程2. TCP CS架构2.1 网络通信模型2.2 TCP协议解读2.3 Go TCP编程3. UDP CS架构3.1 UDP协议解读3.2 Go UDP编程二、WebSocket编程1. WebSocket协议解读2. WebSocket CS架构实现3. 聊于室实现一、Socket编程 1. 网络通信过程 DMA&#xff1a…

Elasticsearch - Configuring security in Elasticsearch 开启用户名和密码访问

文章目录概述实操Step 1 验证当前版本是否支持安全功能Step 2 打开安全设置Step 3 配置节点间通讯传输的安全性创建证书颁发机构为Elasticsearch集群中的节点生成证书Step 4 修改 elasticsearch.yml配置设置 用户名和密码概述 ES版本: 7.6 官方指导手册&#xff1…

Spring MVC之WebApplicationContext 容器的初始化

简介因为 spring-mvc项目,是 spring-framework的子项目,所以需要拉取 spring-framework整个工程,包含 Spring 所有的子项目前期准备工作源码拉取从 Spring 的 Git 仓库 Fork 项目到自己的 Git 仓库,方便我们在阅读源码的过程中&am…