当前位置: 首页 > news >正文

Linux 常用命令(持续更新中...)

1. ls 查看文件列表命令

语法: ls [-a -l -h]  [Linux路径]

  • -a -l -h 是可选的选项   (-h需配合-l命令一起使用)
  • Linux路径是此命令可选的参数
ls         #查看当前目录所有非隐藏文件(平铺方式显示)
ls -a      #查看当前目录下所有文件   -a=> all
ls -l      #查看当前目录所有非隐藏文件(列表方式显示) -l => list
ls -lh     #查看当前目录以可读方式显示  -h => human-readable 
ls -alh    #查看所有人间以可读方式显示
ls -l /root #查看/root下的文件列表 

2. cd 切换工作目录

来源: Change Directory

语法: cd [Linux路径]

  • cd命令无选项,只有参数,表示切换到哪个目录下
  • cd命令直接执行,不写参数,表示回到用户的Home目录

3. pwd 查看当前工作目录

来源: Print Work Directory

语法:pwd

  • pwd命令,无现象,无参数,直接输入pwd即可

4. mkdir创建文件夹命令

来源: Make Directory

语法: mkdir [-p] linux路径

  • 参数必填,表示Linux路径
  • -p 选项可选,表示自动创建不存在的父目录  。来源parents

5. touch、cat、more、cp、mv、rm 文件操作命令

5.1 touch 创建文件

语法:touch linux路径

  • touch命令无选项,参数必填,表示要创建的文件路径,相对、绝对、特殊路径均可使用

5.2 cat查看文件

语法:cat linux路径

  • cat命令无选项,参数必填,表示要查看的文件路径,相对、绝对、特殊路径均可使用

5.3 more查看文件,可翻页

语法:more linux路径

  • more命令参数必填,表示要查看文件的路径,相对、绝对、特殊路径符都可以使用
  • 使用空格进行翻页,b查看上一页,使用q退出查看

5.4 cp 复制文件/文件夹

来源:copy

语法:cp [-r] 参数1  参数2

  • -r选项,可选,用于复制文件夹使用,表示递归,来源:recursive 
  • 参数1,linux路径,表示被复制的文件或文件夹
  • 参数2,linux路径,表示要复制去的地方

5.5 mv 移动文件/文件夹

来源: move

语法:mv 参数1 参数2

参数1,linux路径,表示被移动的文件或文件夹

参数2,linux路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在

5.6 rm 删除文件、文件夹

来源:remove

语法:rm [-r -f] 参数1 参数2 ... 参数N

  • -r选项,可选,用于递归删除文件夹使用,来源:recursive
  • -f选项,强制删除 (不会弹出提示确认消息)
    • 普通用户删除内容不会弹出提示,root管理员删除内容会有提示
    • 所以一般用户用不到-f选项
  • 参数1、参数2、....、参数N表示要删除的文件或文件夹路径,按照空格隔开

6. which 命令程序文件查找

语法:which 要查找的命令

我们可以通过which命令查看所使用的一系列命令的程序文件存放在哪里

7. find命令查找文件

7.1 find按文件名查找文件

语法: find 起始路径 -name "被查找文件名"

[root@master ~]# find / -name java*   #在根目录查查找以java开头的文件
find: ‘/proc/40515’: 没有那个文件或目录
find: ‘/proc/40525’: 没有那个文件或目录
/etc/pki/ca-trust/extracted/java
/etc/pki/java
/etc/java
/etc/java/java.conf
/etc/bash_completion.d/javaws.bash
/etc/alternatives/java
/etc/alternatives/java.1.gz
/etc/alternatives/javaws
/etc/alternatives/javaws.1.gz
/var/lib/alternatives/java
/var/lib/docker/overlay2/c03734f930fcd52491fceb7e388db90242d56a11f4b83474c04a45bc746ed9f8/diff/usr/share/java
/var/cache/yum/x86_64/7/updates/packages/java-1.8.0-openjdk-headless-1.8.0.332.b09-1.el7_9.x86_64.rpm
/var/cache/yum/x86_64/7/updates/packages/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64.rpm
/var/cache/yum/x86_64/7/updates/packages/java-1.8.0-openjdk-headless-1.8.0.402.b06-1.el7_9.x86_64.rpm
/var/cache/yum/x86_64/7/updates/packages/java-1.8.0-openjdk-1.8.0.402.b06-1.el7_9.x86_64.rpm
/usr/bin/java
....

7.2 find按文件大小查找文件

语法:find 起始路径 -size +/-n[kMG]

  • +、- 表示大于和小于
  • n表示大小数字
  • 看MG表示大小单位,k(小写字母)表示kb,M表示MB,G表示GB

示例:

  • 查找小于10KB的文件:  find / -size -10k
  • 查找大于100MB的文件:find / -size +100M
  • 查找大于1GB的文件:    find / -size +1G
[root@master ~]# find /proc/ -size +10k
/proc/kcore

8. grep命令

可以通过grep命令,从文件中通过关键字过滤文件行。

语法: grep [-n] 关键字 文件路径

  • 选项-n,可选,表示在结果中显示匹配的行的行号
  • 参数,关键字,必填,表示过滤的关键字,带有空格或其他特殊符号,建议使用“ ” 将关键字包围起来
  • 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口号

9. wc数量统计命令

可以通过wc命令行统计文件的行数、单词数量等

语法: wc [-c -m -l -w] 文件路径

  • 选项,-c,统计bytes数量
  • 选项,-m,统计字符数量
  • 选项,-l,统计行数
  • 选项,-w,统计单词数量
  • 参数,文件路径,被统计的文件,可作为内容输入端口

10. | 管道符

将管道附件左边命令的结果作为右边命令的输入

11. echo 命令

可以使用echo命令在命令行内输出指定内容

语法:echo 输出的内容

  • 无需选项,只有一个参数,表示要输出的内容,复杂内容可以用“ ”包围

在终端上显示:Hello Linux

  • 带有空格或\等特符号,建议使用双引号包围。因为不包围的话,空格后很容易被识别为参数2,尽管echo不受影响,要养成好习惯

12、反引号 ` 

在控制台要用echo输出命令行的结果,可以用反引号配合使用,在编写shell脚本时会用的比较多

13、重定向符 >和>>

  • >,将左侧命令的结果,覆盖写入到符号右侧指定的文件中
  • >>,将左侧命令行的结果,追加到符号右侧指定的文件中

演示:

  •  echo "hello dolphin" >  a.txt

  • echo "hello dolphin1" > a.txt 再次执行覆盖内容

  • echo "hello dolphin2" >> a.txt 执行命令行,追加新内容


 

命令行的执行结果写入指定文件中

  • ls -l >a.txt,   ls -l命令行的结果覆盖到a.txt
  • ls >>a.txt,ls命令行的结果追加到a.txt 

14. tail命令

使用tail命令,可以查看文件尾部内容,跟踪文件的最新更改

语法:tail [ -f -num ] Linux路径

  • 参数,linux路径,表示被跟踪的文件路径
  • 选项,-f,表示持续跟踪
  • 选项,-num,表示,查看尾部多少行,不填默认10行

15. su 和 exit 命令

su命令,用于账户切换到系统命令

来源:Switch User

语法:su [ - ] [ 用户名 ]

  • - 符号是可选的,表示是否在切换用户后加载环境变量,建议带上
  • 参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root
  • 切换用户后,可以通过exit命令返回上一个用户,也可以使用快捷键:ctrl + d

  • 使用普通用户,切换到其他用户需要输入密码,如切换到root用户
  • 使用root用户切换到其它用户,无需密码,可以直接切换

16. sudo 命令

        在我们得知root密码的时候,可以通过su命令切换到root得到最大权限。但是我们不建议长期使用root用户,避免带来系统损坏。

我们可以使用sudo命令,为普通的命令授权临时以root身份执行

语法:sudo  其它命令

  • 在其他命令之前,带上sudo,即可为这一条命令临时赋予root授权
  • 但是并不是所有的用户,都有权利使用sudo,我们需要为普通用户配置sudo认证

案例:

这里新建一个用户sudo mkdir /test-demo 创建文件夹提示 :

dolphin 不在 sudoers 文件中。此事将被报告。

# 创建用户并设置密码
[root@master ~]# useradd dolphin
[root@master ~]# passwd dolphin
更改用户 dolphin 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。# 切换dolphin用户
[root@master ~]# su - dolphin# 普通命令在根目录创建文件夹test-demo
[dolphin@master ~]$ mkdir /test-demo
mkdir: 无法创建目录"/test-demo": 权限不够# sudo 命令+ 命令行创建文件夹
[dolphin@master ~]$ sudo mkdir /test-demo我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:#1) 尊重别人的隐私。#2) 输入前要先考虑(后果和风险)。#3) 权力越大,责任越大。[sudo] dolphin 的密码:
dolphin 不在 sudoers 文件中。此事将被报告。

visudo 为普通用户配置sudo认证

  • 切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers
  • 在文件的最后添加:
dolphin ALL=(ALL)   NOPASSWD: ALL

         其中最后的NOPASSWD: ALL 表示使用sudo命令,无需输入密码

下边这种写法表示使用sudo命令,需要输入密码

dolphin ALL=(ALL)   ALL
  • 最后通过wq保存
  • 切换普通用户
  • 执行的普通命令,均以root运行

17. 用户组管理命令

  • groupadd  创建用户组

        语法:groupadd 用户组名

  • groupdel  删除用户组

        语法:groupdel 用户组名

  • getent group 查看有哪些用户组
     

        语法:gentent group

        同 cat /etc/group 一样

        

        包含3份信息,组名称:组认证(显示未x):组ID

18. 用户管理命令

  • useradd   创建用户

        语法:useradd [-g -d] 用户名

  • 选项:-g 指定用户的组,不指定-g,会创建同名组并自动加入,指定-g需要组已经存在,如已存在同名组,必须使用-g
  • 选项:-d 指定用户HOME路径,不指定,HOME目录默认在:/home/用户名
  • userdel    删除用户

        语法:userdel [ -r ] 用户名

  • 选项:-r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留
  • id             查看用户所属组

        语法: id [用户名]

  • 参数:用户名,被查看的用户,如果不提供则查看自身
  • usermod 修改用户所属组

        语法:usermode-aG 用户组 用户名,将指定用户加入指定用户组

[root@master ~]# id test
uid=1006(test) gid=1006(test) 组=1006(test)
[root@master ~]# getent group | tail -3
chendaoxin:x:1004:
testgroup:x:1005:
test:x:1006:
[root@master ~]# usermod -aG testgroup test
[root@master ~]# id test
uid=1006(test) gid=1006(test) 组=1006(test),1005(testgroup)

  •  getent passwd  查看有哪些用户

        语法:getent passwd

        同cat /etc/passwd 一样

      

        共有7分信息,分别是:

        用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)

        

        

相关文章:

Linux 常用命令(持续更新中...)

1. ls 查看文件列表命令 语法: ls [-a -l -h] [Linux路径] -a -l -h 是可选的选项 (-h需配合-l命令一起使用)Linux路径是此命令可选的参数 ls #查看当前目录所有非隐藏文件(平铺方式显示) ls -a #查看当前目录下所有文件 …...

xss.pwnfunction-Jefff

在eval中可以直接执行命令所以直接把"直接闭合在结尾再加上一个"因为后面的"没闭和会报错 ?jeffa";alert(1);" 或 ?jeffa"-alert(1)-" -是分隔符...

java——文件上传

一、文件上传——简介 文件上传的简介:文件上传是指将本地计算机中的文件传输到网络上的服务器或另一台计算机上的过程。在 Web 开发中,文件上传通常指的是将用户通过 Web 页面提交的文件(如图像、文档、音频、视频等)传输到服务器…...

RCE(远程命令执行)漏洞详解

漏洞描述 RCE(remote command/code execute,远程命令执行)漏洞 远程代码执行 (RCE) 攻击是指攻击者可以在一个组织的计算机或网络上运行恶意代码。执行攻击者控制的代码的能力可用于各种目的,包括部署额外的恶意软件或窃取敏感数据。 漏洞原理 远程代…...

K8S - Deployment 的版本回滚

当前状态 先看deployment rootk8s-master:~# kubectl get deploy -o wide --show-labels NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES …...

53 v-bind 和 v-model 的实现和区别

前言 这个主要的来源是 偶尔的情况下 出现的问题 就比如是 el-select 中选择组件之后, 视图不回显, 然后 model 不更新等等 这个 其实就是 vue 中 视图 -> 模型 的数据同步, 我们通常意义上的处理一般是通过 模型 -> 数据 的数据同步, 比如 我们代码里面更新了 model.…...

VMware-16.0配置虚拟机网络模式

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、为什么要配置网络?二、配置步骤1.检查VMware服务2.进入配置页面3.添加网络模式1.Bridge2.NAT3.Host-only 4.DHCP租约5.静态IP 三、使用总结 前言…...

element-ui badge 组件源码分享

今日简单分享 badge 组件的源码实现,主要从以下两个方面: 1、badge 组件页面结构 2、badge 组件属性 一、badge 组件页面结构 二、badge 组件属性 补充几个标签的用途: sub:下标、sup:上标、var 变量 代码如下&am…...

MySQL中日期有关函数

本次记录了获取日期时间的多种方式,还有日期和字符串之间的转换,以及加减日期的操作。 获取时间 # 1.获取当前时间(年月日时分秒格式) select now();# 2.获取当前时间(年月日格式) select curdate();# 3.获取当前时间(时分秒格式) select curtime();# 4.…...

jdbc工具类

jdbc 工具类,具体见下面代码,直接可以用。 /*** version 1.0* descpription: jdbc工具类* date 2024/4/6*/ public class JDBCUtils {private static final String URL "jdbc:mysql://127.0.0.1:3306/mybatis";private static final String …...

Svelte Web 框架介绍

Svelte 是一个用于构建网络应用程序的现代框架,它与其他用户界面框架(如React和Vue)有着本质的不同。Svelte 的核心理念是在构建应用程序时,将大部分工作转移到编译步骤中,而不是在用户的浏览器中运行时处理。这种方法…...

IP地址获取不到的原因是什么?

在数字化时代的今天,互联网已成为我们日常生活和工作中不可或缺的一部分。而IP地址,作为互联网通信的基础,其重要性不言而喻。然而,有时我们可能会遇到IP地址获取不到的问题,这会给我们的网络使用带来诸多不便。那么&a…...

Android APP加固利器:深入了解混淆算法与混淆配置

Android APP 加固是优化 APK 安全性的一种方法,常见的加固方式有混淆代码、加壳、数据加密、动态加载等。下面介绍一下 Android APP 加固的具体实现方式。 混淆代码 使用 ipaguard工具可以对代码进行混淆,使得反编译出来的代码很难阅读和理解&#xff…...

蓝桥杯真题Day47 倒计时6天:6道真题+回溯递归问题

[蓝桥杯 2019 省 A] 糖果 题目描述 糖果店的老板一共有M种口味的糖果出售。为了方便描述,我们将M 种口味编号 1∼ M。小明希望能品尝到所有口味的糖果。遗憾的是老板并不单独出售糖果,而是K 颗一包整包出售。 幸好糖果包装上注明了其中 K 颗糖果的口味…...

通过UDP实现参数配置

来讲讲UDP的一种常见应用 我们知道UDP是一种无连接的网络传输协议,在发送数据时指定目标IP及端口就可以将数据发送出去,因此特别适合用作网络设备发现。 我们可以自定义一个通信端口,假设为55555。我们再制定一个协议用于查询目标设备&#x…...

解析Apache Kafka:在大数据体系中的基本概念和核心组件

关联阅读博客文章:探讨在大数据体系中API的通信机制与工作原理 关联阅读博客文章:深入解析大数据体系中的ETL工作原理及常见组件 关联阅读博客文章:深度剖析:计算机集群在大数据体系中的关键角色和技术要点 关联阅读博客文章&a…...

独角数卡对接码支付收款教程

1、到码支付后台找到支付配置。2、将上面的复制依次填入,具体看下图,随后点立即添加 商户ID商户PID 商户KEY异步不能为空 商户密钥商户密钥...

vuepress-theme-hope 添加谷歌统计代码

最近做了个网站,从 cloudflare 来看访问量,过去 30 天访问量竟然有 1.32k 给我整懵逼了,我寻思不应该呀,毕竟这个网站内容还在慢慢补充中,也没告诉别人,怎么就这么多访问?搜索了下, cloudflare 还会把爬虫的请求也就算进来,所以数据相对来说就不是很准确 想到了把 Google An…...

LabVIEW太赫兹波扫描成像系统

LabVIEW太赫兹波扫描成像系统 随着科技的不断发展,太赫兹波成像技术因其非电离性、高穿透性和高分辨率等特点,在生物医学、材料质量无损检测以及公共安全等领域得到了广泛的应用。然而,在实际操作中,封闭性较高的信号采集软件限制…...

什么是stable diffusion?

🌟 Stable Diffusion:一种深度学习文本到图像生成模型 🌟 Stable Diffusion是2022年发布的深度学习文本到图像生成模型,主要用于根据文本的描述产生详细图像。它还可以应用于其他任务,如内补绘制、外补绘制&#xff0…...

KeyguardClockSwitch的父类

KeyguardClockSwitch 定义在KeyguardStatusView中, mClockView findViewById(R.id.keyguard_clock_container);KeyguardClockSwitch的父类为: Class Name: LinearLayout Class Name: KeyguardStatusView Class Name: NotificationPanelView Class Name: Notificat…...

Gradle系列(二):Groovy基础

Gradle系列(二):Groovy基础 本篇文章继续讲下Groovy一些基础的语法。 1:Map map与List的用法很像,只不过值是一个K:V的键值对。 下面是是Groovy中Map的定义: task testMap { def map [‘width’:1280,‘height’:1960] prin…...

PW1503限流芯片:可达3A限流,保障USB电源管理安全高效

在电源管理领域,开关的性能直接关系到设备的稳定性和安全性。今天,我们将详细解析一款备受关注的超低RDS(ON)开关——PW1503。它不仅具有可编程的电流限制功能,还集成了多项保护机制,为各类电子设备提供了高…...

深挖苹果Find My技术,伦茨科技ST17H6x芯片赋予产品功能

苹果发布AirTag发布以来,大家都更加注重物品的防丢,苹果的 Find My 就可以查找 iPhone、Mac、AirPods、Apple Watch,如今的Find My已经不单单可以查找苹果的设备,随着第三方设备的加入,将丰富Find My Network的版图。产…...

Web3 革命:揭示区块链技术的全新应用

随着数字化时代的不断发展,区块链技术作为一项颠覆性的创新正在改变着我们的世界。而在这一技术的进步中,Web3正逐渐崭露头角,为区块链技术的应用带来了全新的可能性。本文将探讨Web3革命所揭示的区块链技术全新应用,并展望其未来…...

[实战经验]Mybatis的mapper.xml参数#{para}与#{para, jdbcType=BIGINT}有什么区别?

在MyBatis框架中,传入参数使用#{para}和#{para, jdbcTypeBIGINT}的有什么区别呢? #{para}:这种写法表示使用MyBatis自动推断参数类型,并根据参数的Java类型自动匹配数据库对应的类型。例如,如果参数para的Java类型是Lo…...

高并发下的linux优化

针对高并发服务,对 Linux 内核和网络进行优化可以提高系统的性能和稳定性。本文将深入探讨如何对 Linux 内核和网络进行优化,包括调整内核参数、调整网络性能参数、使用 TCP/IP 协议栈加速技术、下面将介绍一些可用于优化Linux内核和网络的技术&#xff…...

不同设备使用同一个Git账号

想要在公司和家里的电脑上用同一个git账号来pull, push代码 1. 查看原设备的用户名和邮箱 第1种方法, 依次输入 git config user.name git config user.email第2种方法, 输入 cat ~/.gitconfig2. 配置新设备的用户名和邮箱 用户名和邮箱与原设备保持…...

蓝桥杯算法题:区间移位

题目描述 数轴上有n个闭区间&#xff1a;D1,...,Dn。 其中区间Di用一对整数[ai, bi]来描述&#xff0c;满足ai < bi。 已知这些区间的长度之和至少有10000。 所以&#xff0c;通过适当的移动这些区间&#xff0c;你总可以使得他们的“并”覆盖[0, 10000]——也就是说[0, 100…...

提取word文档里面的图片

大家好&#xff0c;我是阿赵。   阿赵我写博客的时候的习惯是&#xff0c;先用word文档写好&#xff0c;然后再把word文档里面的图片另存&#xff0c;最后再在博客里面复制正文和上传图片。   而我写的文章一般配图都比较多&#xff0c;所以经常要做的一个功能就是另存图片…...

如何做像淘宝一样的网站/nba湖人队最新消息

打印机和耗材的关系&#xff0c;就像人和粮食关系一样&#xff0c;人不吃饭干不动活&#xff0c;对于打印机来说&#xff0c;同样如此。耗材就可以看做是打印机的粮食&#xff0c;耗材要是选对了&#xff0c;打印机便可以稳定的运行&#xff0c;要是耗材选错了&#xff0c;隔三…...

手机网站建设品牌/seo实战密码第三版pdf

2019独角兽企业重金招聘Python工程师标准>>> 在报表中&#xff0c;变量用于值的使用&设置&#xff0c;下表为Stimulsoft Reports的系统变量 &#xff08;“”表示支持&#xff0c;空白表示不支持&#xff09; 。 系统变量WinFormsWPFSilverlightASP.NETSilverli…...

国内知名的网站建设公司有哪些/环球军事网最新军事新闻最新消息

洛谷P1282 - 多米诺骨牌 - 动态规划 题目链接&#xff1a; https://www.luogu.org/problemnew/show/P1282 题目&#xff1a; 题目描述 多米诺骨牌有上下2个方块组成&#xff0c;每个方块中有1~6个点。现有排成行的 上方块中点数之和记为S1&#xff0c;下方块中点数之和记为S…...

哪个网站可以做思维导图/怎么推广一个网站

原因&#xff1a;CROS 复杂请求时会首先发送一个 OPTIONS 请求做嗅探&#xff0c;来测试服务器是否支持本次请求&#xff0c;请求成功后才会发送真实的请求&#xff1b;而 OPTIONS 请求不会携带数据&#xff0c;导致这个请求被拦截了&#xff0c;直接返回了状态码&#xff0c;响…...

网络营销专业信息/网站点击排名优化

在容器启动快完成时&#xff0c;会把所有的单例bean进行实例化&#xff0c;也可以叫做预先实例化。这样做的好处之一是&#xff0c;可以及早地发现问题&#xff0c;及早的抛出异常&#xff0c;及早地解决掉。本文就来看下整个的实例化过程。其实还是比较繁琐的。一、从容器中找…...

php网站源码模板/代写软文费用全网天下实惠

1&#xff0c;JS中如何实现数字相加 2&#xff0c;js获取当前日期时间 转载于:https://www.cnblogs.com/robinunix/p/11011201.html...