【Linux】常用的命令

news2024/9/20 0:10:35

文章目录

  • `ls`
    • `ls -l /`
  • `touch`
  • `cd`
  • `pwd`
  • `cat`
  • `echo`
  • `vim`
    • 打开文件
    • 编辑内容
    • 保存退出
  • `mkdir`
  • `rm`
  • `mv`
  • `cp`
  • `man`
  • `grep`
  • `ps`
  • `netstat`
  • 总结 :

ls

ls ==> list
列出当前目录下都有哪些内容(文件/目录)
直接输入 ls,是查看当前目录的情况;输入 ls/ 就是看看 / 这个目录下的情况

  • / 称为“根目录”,就是 Windows 上的“此电脑
  • Linux 中没有盘符,所有的目录和文件都是在 / 目录下的
  • 要确保命令和后面的参数之间,要带有至少一个空格image.png|435

image.png
这些就是 / 目录根目录)下包含的内容,这些都是系统自带的文件和目录

  • 这里的文件不能随便删除,删除之后可能系统就用不了了,需要重装云服务器
  • 重装云服务器也非常简单。在网站后台,有个“重装系统”的选项

ls -l /

(简写为:ll /
后面是小写 L,不要写成大写 i 或者数字 1;并且命令和参数之间都有空格
这里是按照列表的方式进行显示,这是最常用的功能image.png|459

  1. 第一列的十个字母构成的这一串代表该文件的权限,当前用户是否可读、可写、可执行
  • 第一个字母:文件类型
    • -:普通文件
    • d:目录文件(文件夹)
    • l:链接文件

  1. 第三和四列代表文件的拥有者是谁,此处这些文件都是 root 拥有的

  2. 第五列代表文件大小(支队普通文件有意义)

  3. 第六七八列代表最后的修改时间

  4. 最后一列就是名字

touch

创建一个基本的文件,里面是什么都没有的 image.png|528

cd

cd ==>change directory
修改(当前)目录

image.png|312

  • cd / 来到根目录,就相当与点击“此电脑”
  • ~- 这个位置显示的就是你当前所在的目录
    • ~ 也称为“home 目录”,“用户主目录”,这个就是用户登录的时候,默认进入的目录
  • 可以输入两个字母,按“tab”键进行补全(唯一)
  • 如果不唯一,可以连续按两次,就会自动列出所有相关的选项

pwd

可以查看当前所处的路径的绝对路径
Linux 的命令中,但凡涉及到相关的操作,都是可以支持绝对路径相对路径

  • Linux 中,绝对路径是以 / 开头的
  • 相对路径是以 . 或者 .. 开头(有的时候 . 可以省略,. 表示当前目录,.. 表示当前目录的上级目录)
    image.png|528

绝对路径写法:
image.png

cat

查看文件内容,直接把文件内容打印到控制台上image.png
因为里面没有内容,所以什么都看不到

当输入一个命令,没有任何提示,此时就是“成功”,如果失败,就会告诉你一些报错信息

echo

打印内容到控制台上
image.png|498

  • 可以直接将内容打印出来
  • 也可以将内容放到指定文件中
    • 这里的 > 就是“重定向”。本来是要写到控制台上的,现在通过重定向将这个内容写到文件中
    • 会将文件里面原有的内容给清空掉之后再进行写入

如果不想将原有内容清空之后再进行写入image.png|414

  • 就是用 >> 完成追加写

但这里的 echo +重定向 只能写一些简单的字符串内容。如果需要写的内容很多,就不是很方便,更不方便修改改

vim

这是 Linux 上自带的一个文本编辑器,使用 vim 就可以更灵活的对文件进行编辑了。虽然和记事本的定位差不多,但实际上 vim 的使用要复杂得多
我们这里只介绍一些 vim 最最基础的操作:

  1. 打开文件
  2. 编辑文件
  3. 保存退出

后面我们使用服务器,可能会经常在服务器上 查看日志修改配置

打开文件

vim + 文件名

编辑内容

vim 包含很多快捷键,快捷键的画风和其他的软件截然不同。

  • 其他的很多软件的快捷键都要搭配 Ctrlalt 之类的组合键完成
  • vim 更期望使我们输入单个案件,就能起到快捷键的效果

所以 vim 引入了“模式”的概念。启动 vim 之后,默认处于 normal mode(普通模式),此时键盘按键都是快捷键,而不是输入文本
要想输入文本,就需要进入 insert mode(插入模式),进入插入模式的方法有很多,最简单的就是 i

保存退出

xshell 中,ctrl + s 是冻结屏幕的指令,ctrl + q 是解除冻结结

  • 先按 esc,回到普通模式(左下角的 insert 就消失了)
  • 再按 :,进入命令模式(光标就会来到左下角),此时输入的内容,就是 vim 的命令
  • 此时输入 wq(write 保存,quit 退出),进行保存退出image.png|353

mkdir

make directory,创建目录

mkdir 目录名

image.png|338

创建多级目录

mddir -p 目录层级

image.png|525

rm

remove,删除

rm 文件1 文件2 ...

image.png|364

  • 有的系统上(Centos)输入 rm 删除时会有个提示,是否确认要删除,输入 y 就是删除,n 就是不删除
  • 若要一次删除多个,只需要在文件之间加上空格即可

删除目录
删除目录,不仅仅是删除目录本身,还要删除目录包含的其他目录和文件

  • 需要使用 rm -r 来删除,-r 表示“递归
  • 有的系统上,删除的时候,也会和上面一样,提示你是否要真的删除。如果是删除目录的话,递归过程比较麻烦,每个目录都会要你确认。这时我们可以使用 rm -rf 的方式直接删除
  • f 表示“强制删除”,不需要确认
  • 此处的 rm 其实是一个危险操作,一旦删除,数据就没了
  • 删除的时候,一定要确保,你删的这个东西确实是不再使用了
  • 在公司的服务器上,尤其是生产环境中,不敢随意删除
  • rm -rf / 这个命令会把你整个硬盘的数据都给删除掉
  • 因为根目录下不仅有你的文件,还有系统文件,一旦删除,你的机器就用不了了
  • 这个操作,比 drop database 还要猛
    • drop database 只是数据库挂了,但系统里面的其他文件还是好的
    • 但干掉整个系统,是无论数据库,tomcat,其他的程序,其他的数据,统统一锅端

mv

move,移动(剪切,粘贴)

mv 要移动的源 移动的目标

image.png|301

  • 不仅可以移动文件,还可以移动目录,把目录内部包含的所有内容都进行移动

使用 mv 还可以针对文件/目录进行重命名

mv 原文件 改名文件

image.png|395

mv 操作,无论你移动的是什么(普通文件、目录文件),时间复杂度都是 O ( 1 ) O(1) O(1)

cp

copy,复制

image.png|375

  • 可以拷贝普通文件,也可以拷贝目录
  • 拷贝目录的时候,和 rm 类似,都是要加上 -r 选项,表示要递归地拷贝目录里面的内容

man

Linux 命令很多,而且每个命令还有不同的参数选项,记不住是正常的
Linux 上提供了 man 这个命令==>查看命令的手册
image.png|495

  • man 后面接上命令,即可看到关于这个命令的所有信息
  • q 退出

上述命令都是围绕目录和文件展开的

grep

字符串匹配/查找
比如,想查找某个文件中是否包含某个关键字,这个关键字在第几行,都可以使用 grep 来查看
image.png|534

  • 加上 -n 就是显示是第几行

grep 不仅仅可以在文件中查找,还能搭配其他的命令,完成更复杂的查找操作

ps

process show,展示进程,显示出当前系统上都有哪些进程
image.png|491

  • 单独输入 ps,只能看到当前会话(终端)对应的进程,非常不全
  • 想看到更全的,就输入 ps auximage.png|450

因为这里的进程太多了,也不好观察,所以很多时候 ps 都会搭配 grep 来使用

  • 比如,查看 mysql 进程的进程 pid image.png
  • | 叫做 管道,会把前面命令的输出,作为后面的命令的输入
  • 上面的一行是服务器的进程
  • 下面的是因为 grep 命令本身也会形成进程,也能被平时获取到

netstat

可以用来查看某个端口是否被某个进程使用;也可以查询某个进程使用了哪些接口|569

  • 主要关注 TCPUDP 涉及到的网络信息,下面的 Unix 域套接字(属于一种进程间通信的方式)
  • 可以结合 grep 一起使用,netstat -anp | grep mysql

Linux 哲学理念(从 Unix 继承过来),小而美 ,每个命令都很简单,只是集中精力做好一件事。如果想要完成复杂工作,可以把多个命令通过 | 这样的方式组合起来

上述命令,足以覆盖工作中的大多数场景了

总结 :

  • ls:列出指定路径下所包含的文件和目录
  • cd:切换目录
  • pwd:查看当前路径的绝对路径
  • touch:创建空的文件
  • cat:显示文件内容
  • echo:显示内容 & 写入文件
  • vim:文本编辑器
    1. 打开文件:vim 文件名
    2. 编辑文件:小写字母 i 进入插入模式
    3. 保存退出:esc 回到普通模式 :wq
  • mkdir: 创建目录
  • rm:删除文件 & 删除目录(rm -rf
  • mv:移动文件 & 移动目录,也可以重命名
  • cp:复制文件 & 复制目录
  • man:查看手册
  • grep:字符串匹配,查找某个文件是否包含某个字符串
  • ps:查看进程信息
  • netstat:查看网络信息

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

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

相关文章

检查你的防病毒软件是否可以阻止这 5 个测试恶意软件文件

从网络安全专家到你,每个人都知道你应该使用防病毒软件来保护你的电脑免受黑客、病毒和其他类型的网络威胁。 但即使你这些年来一直在努力使用防病毒程序,你怎么知道它真的有效呢? 安全专家已经想到了这一点,并创建了几种类型的…

TMS320F28335芯片及使用介绍

1、简介 CPU性能的好坏不仅取决于主频大小,还需要看其整体架构集成性能、运算能力与指令体系。TMS320C2000系列DSP集微控制器和高性能 DSP 的特点于一身,具有强大的控制和信号处理能力,能够实现复杂的控制算法。TMS320C2000 系列DSP 片上整合了Flash存储器、快速的AD转换器…

基于微信小程序+Java+SSM+Vue+MySQL的付费自习室预订管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 基于微信小程序JavaSSMVueMySQL的付费自习室预订管理系统【…

【CMake编译报错小复盘】CMAKE_CUDA_ARCHITECTURES,CMake version,GCC version问题

今天在写大模型量化推理框架时遇到了一些编译上的错误,简单复盘一下问题和解决方案: 问题1:CMAKE_CUDA_ARCHITECTURES 报错信息: CMake Error: CMAKE_CUDA_ARCHITECTURES must be non-empty if set cmake和cuda相关的报错通常都…

linux进程间通信——进程间通信概念、最基本通信——管道文件

前言: 本节内容将要讲解进程间通信。 之前我们说过进程之间是相互独立的, 但是,相互独立并不代表不能进行数据的输送。就好比我和你是相互独立的, 但是我们可以成为朋友, 可以互赠礼物。 而我们一般而言的,…

【C语言】归并排序递归和非递归——动图演示

目录 一、归并排序思想1.1 基本思想1.2 大体思路 二、实现归并排序(递归)三、实现归并排序(非递归)3.1 实现思路:3.2 越界处理3.3 时间复杂度和空间复杂度 总结 一、归并排序思想 1.1 基本思想 归并排序(M…

RTMP和WebRTC使用场景有哪些差别?

省流版先说结论 直播领域,RTMP和WebRTC各有优势。如果直播场景对延迟有一定要求,但更注重稳定性和兼容性,那么RTMP可能是一个更好的选择。如果直播场景需要极低的延迟,并且用户主要在浏览器环境下进行观看和互动,那么…

Leangoo敏捷工具在缺陷跟踪(BUG)管理中的高效应用

在开发过程中,缺陷(BUG)管理一直是项目管理中的一个关键环节。及时发现并修复BUG,不仅能够提高产品质量,还能有效提升团队的工作效率和用户满意度。 在敏捷开发中,快速迭代和频繁交付的特点使得缺陷管理的…

Servlet的特性(一)

Servlet的主要用途: 接受、处理来自浏览器端(BS架构中的B端)的请求和用户输入 响应来自数据库或者服务端(BS架构中的S端)产生的数据到浏览器端,动态构建网页。 手动实现Servlet小程序 实现步骤 自定义一个类型,实现Servlet接口或者继承Ht…

Spring Boot 集成 Redisson 实现消息队列

包含组件内容 RedisQueue:消息队列监听标识RedisQueueInit:Redis队列监听器RedisQueueListener:Redis消息队列监听实现RedisQueueService:Redis消息队列服务工具 代码实现 RedisQueue import java.lang.annotation.ElementTyp…

GD32E230 RTC报警中断功能使用

GD32E230 RTC报警中断使用 GD32E230 RTC时钟源有3个,一个是内部RC振动器产生的40KHz作为时钟源,或者是有外部32768Hz晶振.,或者外部高速时钟晶振分频作为时钟源。 🔖个人认为最难理解难点的就是有关RTC时钟异步预分频和同步预分频的计算。在对…

C++第二节入门 - 缺省参数和函数重载

一、缺省参数 1、概念 缺省参数是声明或定义函数时为函数的参数指定一个缺省值。 在调用该函数的时候&#xff0c;如果没有指定实参则采用该形参的缺省值&#xff0c;否则使用指定的实参&#xff01; #include<iostream> using namespace std;void Func(int a 0) {c…

2024 水博会,国信华源登场,数智创新助力水利高质量发展

9月4日-6日&#xff0c;由中国水利学会和中国水利工程协会共同主办的2024中国水博览会暨第十九届中国&#xff08;国际&#xff09;水务创新技术交流会在重庆国际博览中心召开。 本次水博会以“展水利前沿新技术 览新质生产力场景”为主题&#xff0c;国信华源携最新智能监测预…

【佳学基因检测】如何升级一个不再维护的软件包中的PHP代码?

如何升级一个不再维护的软件包中的PHP代码&#xff1f; 为什么要升级一个不再维护但是仍在使用的软件包中的PHP代码&#xff1f; 升级一个不再维护但仍在使用的软件包中的 PHP 代码是一个复杂但重要的过程。虽然这些软件包可能已经不再活跃地维护或更新&#xff0c;但升级其代…

通信工程学习:什么是ATM异步转移模式

ATM&#xff1a;异步转移模式 ATM&#xff1a;Asynchronous Transfer Mode&#xff08;异步转移模式&#xff09;是一种先进的通信技术&#xff0c;它采用固定长度的信元&#xff08;Cell&#xff09;作为信息传输、复用、交换及处理的基本单位&#xff0c;并通过异步时分复用的…

挖矿木马-Linux

目录 介绍步骤 介绍 1、挖矿木马靶机中切换至root用户执行/root目录下的start.sh和attack.sh 2、题目服务器中包含两个应用场景&#xff0c;redis服务和hpMyAdmin服务&#xff0c;黑客分别通过两场景进行入侵&#xff0c;入侵与后续利用线路路如下&#xff1a; redis服务&…

Tomcat Request Cookie 丢失问题

优质博文&#xff1a;IT-BLOG-CN 一、问题描述 生产环境偶尔(涉及到多线程处理)出现"前端传递Cookie为空"的告警&#xff0c;导致前端请求丢失&#xff0c;出现请求失败问题。告警内容如下 前端传递Cookie为空 告警内容&#xff1a;服务端获取request Cookie为空&…

2024网安周今日开幕,亚信安全亮相30城

2024年国家网络安全宣传周今天在广州拉开帷幕。今年网安周继续以“网络安全为人民&#xff0c;网络安全靠人民”为主题。2024年国家网络安全宣传周涵盖了1场开幕式、1场高峰论坛、5个重要活动、15场分论坛/座谈会/闭门会、6个主题日活动和网络安全“六进”活动。亚信安全出席20…

每日一练:螺旋矩阵

一、题目要求 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,2,3,6,9,8,7,4,5]示例 2&#xff1a; 输入&#xff1a;ma…

Java | Leetcode Java题解之第396题旋转函数

题目&#xff1a; 题解&#xff1a; class Solution {public int maxRotateFunction(int[] nums) {int f 0, n nums.length, numSum Arrays.stream(nums).sum();for (int i 0; i < n; i) {f i * nums[i];}int res f;for (int i n - 1; i > 0; i--) {f numSum - …