Linux 常用指令的使用

news2024/11/26 4:37:43

文章目录

  • 1. 基础命令
    • 1)ls
    • 2)pwd
    • 3)cd
    • 4)touch
    • 5)cat
    • 6)mkdir
    • 7)rm
    • 8)cp
    • 9)mv
    • 10)more
    • 11)less
    • 12)head
    • 13)tail
    • 14)vim
    • 15)grep
    • 16)ps
    • 17)netstat
  • 2. 权限命令
    • 1)用户操作
    • 2)用户分组
    • 3)文件权限表示
    • 4)文件权限修改

1. 基础命令

1)ls

功能: 对于目录,列出该目录下的所有子目录和文件,对于文件,列出文件名以及其他详细信息

常用选项:

  • -a:列出目录下的所有文件和目录,包括以 . 开头的隐藏文件
  • -A:列出目录下的文件和目录,包括以 . 开头的隐藏文件,但不包括本目录和父目录
  • -l:列出文件和目录的详细信息
  • -R:列出目录下的所有文件和目录以及所有子目录下的文件和目录(递归搜索)
  • -r:列出文件和目录,并反向排序
  • -t:列出文件和目录,并以时间排序
  • -F:列出文件和目录,目录后面加上 /

2)pwd

功能: 显示当前所在的目录

3)cd

功能: 改变工作目录,将当前工作目录改变到指定目录下

用法: cd 目录名

举例:

cd … :返回上级目录

cd ~:返回根目录

cd -:返回最近访问的目录

4)touch

功能: 更改目录或文件的时间日期,如果目录或者文件不存在就新建一个

用法: touch [选项] 文件名

不加选项直接使用,若文件存在则将时间日期改为当前时间

常用选项:

  • -c:文件不存在,不会新建
  • -t:修改文件的属性时间为指定时间,如:touch -t 202305151631 a.txt,将 a.txt 的时间修改为2023年05月15日 16:31

5)cat

功能: 输出文件中的内容

常用选项:

  • -n:将文件中的内容带上行号输出

    请添加图片描述

  • -b:将文件中的内容带上行号输出(空行不带)

    请添加图片描述

  • -s:将文件中的连续两个空行输出为一行
    请添加图片描述

特殊用法:

  • 复制文件内容:cat [选项] log.txt > log.log

    上面的命令意思是:将 log.txt 中的内容输出到 log.log 中,也可添加选项来对内容添加序号或者合并空行

  • 复制多个文件到一个文件:cat [选项] a.txt b.txt c.txt >> d.txt

    上面的命令意思是:将 a.txt、b.txt、c.txt 三个文件中的内容输出到 d.txt 中,也可添加选项来对内容添加序号或者合并空行

6)mkdir

功能: 创建目录

常用选项:

  • -p:确保目录存在,不存在则创建一个,常用来创建多级目录

示例:

# 创建名为 test 的目录
mkdir test

# test/test1/test2 三级目录,若某个目录不存在就会创建
mkdir -p test/test1/test2

7)rm

功能: 删除一个目录或者文件(删除目录时必须添加 -r 选项

常用选项:

  • -i:删除前逐一确认,输入 y 确认删除

    请添加图片描述

  • -f:删除前无需逐一确认,直接删除

  • -r:删除目录及目录下所有的子目录和文件

8)cp

功能: 复制文件或者目录

语法: cp [选项] [源目录或文件] [目的目录或文件]

常用选项:

  • -i:当目的目录或者文件存在时,提示是否覆盖

请添加图片描述

  • -f:当目的目录或者文件存在时,直接覆盖不提示

  • -p:将源目录或者文件的时间等属性一并复制

  • -r:递归复制源目录下的所有文件和子目录

9)mv

语法: mv [选项] [源文件或目录] [目标文件或目录]

功能: 为文件或目录重命名、或将文件或目录移动到指定位置

常用选项:

  • -i:当目标文件或目录存在时,提示是否覆盖
  • -b:当目标文件或目录存在时,在覆盖之前,会为其创建一个备份
  • -f:当目标文件或目录存在时,不提示直接覆盖
  • -n:当目标文件或目录存在时,不允许覆盖

mv 命令执行时,不同参数类型的不同结果:

格式结果
mv src_file(文件) dest_file(文件)将源文件名 src_file 更改为 目标文件名 dest_file
mv src_file(文件) dest_file(目录)将 src_file 文件移动到 dest_file 目录下
mv src_file(目录) dest_file(目录)如果 dest_file 目录存在,将 src_file 目录移动到 dest_file 目录下,如果不存在,将 src_file 目录名更改为 dest_file
mv src_file(目录) dest_file(文件)错误

10)more

功能: 打开某个文件,一页一页显示内容,文件下方会显示当前以浏览过的百分比

常用选项:

  • -num:num 是一个具体的数字,表示每一次显示的行数
  • -s:当遇到连续两行以上的空行时,替换成一行空行
  • +num:num是一个具体的数字,表示从第几行开始显示

打开文件后常用的操作命令:

  • Enter键:向下1行
  • 空格键:向下一页
  • b:向上一页
  • =:输出当前位置的行号
  • v:调用 vi 编辑器
  • q:退出文件

示例:

# 打开 testfile 文件,从第20行开始显示
more +20 testfile
# 打开 testfile 文件,每页显示20行
more -20 testfile

11)less

功能: 查看文件内容,支持搜索、支持翻页

常用选项:

  • -N:显示的内容带有行号
  • -m:显示类似 more 的百分比
  • -s:显示连续空行为一行
  • -e:文件浏览完后自动关闭

打开文件后常用的操作命令:

  • /Str:搜索字符串
  • b:向前翻一页
  • 空格:向后翻一页
  • u:向前翻半页
  • d:向后翻半页
  • Enter:向下一格
  • [pagedown]:向下一格
  • [pageup]:向上一格
  • q:退出文件

12)head

功能: head 命令用于查看文件开头部分的内容,默认查看前十行

常用选项:

  • -n<行数>:显示的行数

示例:

# 显示文件的前20行
head -n 20 testfile

13)tail

功能: 查看文件结尾部分内容,默认查看结尾后十行

常用选项:

  • -f:循环读取,会不断读取文件中的内容,文件中更新的内容会被第一时间读取到屏幕上
  • -n<行数>:显示的行数

14)vim

vim 是一个知名的文本编辑器. 前面的 cat, less, head, tail 等命令只能查看文本, 不能编辑文本. 使用 vim 就可以进行编辑了.

创建文件/打开文件:

当文件存在时打开文件,不存在时创建并打开文件

vim filename

进入插入模式:

vim 打开文件之后,还需要使用 i 键进入编辑模式,这样就可以像记事本一样对文件进行编辑了

保存退出:

对文件编辑完成之后,按 Esc 键退出编辑模式,输入 :w 回车即可保存文件,输入 :q 回车即可退出文件,输入 :wq 回车即可保存并退出文件

15)grep

语法: grep [选项] filename

功能: 用于查找文件中是否包含指定字符串,并显示对应的行

常用选项:

  • -n<行数>:显示包含指定字符串的前后多少行
  • -w:全字匹配,只有整个单词完全相同的结果才会被显示

16)ps

语法: ps [参数]

功能: 用于查看当前系统上运行的进程

常用参数:

  • aux:显示系统上所有的进程

示例:

# 显示系统上所有的进程
ps aux

# 搭配 grep 使用
# 查找端口号为80的进程
ps aux | grep -w 80

17)netstat

语法: netstat [参数]

功能: 查看系统上的网络状态

常用参数:

  • anp:查看系统上所有的网络状态

示例:

# 显示系统上所有的网络状态
netstat -anp

# 搭配 grep 使用
# 查找端口号为80的网络连接
netstat -anp | grep -w 80

2. 权限命令

1)用户操作

Linux 下有两种用户级别:超级用户(root)、普通用户

  • 超级用户:可以在 Linux 下进行任何操作,不受限制
  • 普通用户:在进行一些操作时将会受到限制
  • 超级用户命令提示符是 “ # ”,普通用户是 “ $ ”

创建用户:

  • 命令: useradd [选项] [用户名]

  • 功能: 创建一个新的普通用户

  • 选项:

    • -g [分组]:创建用户时指定用户的分组,前提是分组存在
  • 示例:

    # 创建新用户 test2,并加入 group 用户组
    useradd -g group test2
    

配置密码:

  • 命令: passwd [用户名],输入命令之后会提示输入新的密码,Linux 中输入密码时不可见,但实际已经输入了
  • 功能: 配置或修改密码

切换用户:

  • 命令: su [用户名]
  • 功能: 切换用户
  • 例如,要从 root 用户切换到普通用户 user,输入 su user,系统就会提示输入密码。从任意普通用户切换到 root 用户,只需输入 su 即可

修改用户属性:

  • 命令: usermod [选项] [用户名]

  • 常用选项:

    • -l [新用户名]:修改用户名
    • -g [新用户组]:修改用户所属用户组
  • 示例:

    # 将 test2 用户名修改为 test1
    usermod -l test2 test1
    
    # 将 test1 用户放入 root 用户组
    usermod -l root test1
    

删除用户:

  • 命令: userdel [选项] [用户名]
  • 选项:
    • -r:同时删除用户的所有工作目录,若不加只删除用户不删除工作目录

2)用户分组

创建分组:

  • 命令: groupadd [分组名]

删除分组:

  • 命令: groupdel [分组名]

修改分组名称:

  • 命令: groupmod -n [修改后的组名] [修改前的组名]

  • 示例:

    # 将 group 更名为 group1
    groupmod -n group1 group
    

3)文件权限表示

Linux 中对文件的调用权限分为三种:文件所有者的权限(Owner)、用户组的权限(Group)、其他用户的权限(Other Users)

Linux 中文件的权限用十位字符表示,具体表示如下:

第1位: 文件类型

第2-4位: 文件所有者的权限

第5-7位: 文件所有者同组用户的权限

第8-10位: 其他用户的权限

请添加图片描述

文件类型:

  • -:普通文件
  • d:目录文件

基本权限符号表示:

  • r:读权限,表示用户对文件或目录有读的权限
  • w:写权限,表示用户对文件有写的权限,对目录有删除或移动目录内文件的权限
  • x:执行权限,表示用户对文件有执行的权限,对目录有进入目录的权限
  • -:无权限

基本权限和权限组合的数字表示:

权限数字表示字母表示
0-
只执行1–x
只写2-w-
写 + 执行3-wx
只读4r–
读 + 执行5r-x
读 + 写6rw-
读 + 写 + 执行7rwx

4)文件权限修改

只有文件的拥有者和 root 用户才能更改文件的权限

命令: chmod [选项] [ugoa…] [±=] [权限] [文件名]

选项:

  • -R:递归修改目录文件下所有的文件和子目录的权限

参数说明:

  • u:对文件拥有者
  • g:对文件拥有者同组用户
  • o:对其他用户
  • a:对所有用户
  • +:增加权限
  • -:减少权限
  • =:赋予权限

示例:

# 对同组用户添加读权限
chmod g+w test.txt

# 修改对 u、g、o 的权限分别为 6、6、4
chmod 664 test.txt

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

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

相关文章

《论文阅读》常识推理的生成知识提示

《论文阅读》常识推理的生成知识提示 前言简介相关知识模型构架Generated Knowledge PromptingKnowledge GenerationKnowledge Integration via Prompting推理阶段前言 你是否也对于理解论文存在困惑? 你是否也像我之前搜索论文解读,得到只是中文翻译的解读后感到失望? 小…

linux RVM安装使用

前言 RVM&#xff08;Ruby Version Manager&#xff09;是一个支持多版本Ruby的命令行程序&#xff0c;它有助于为开发和生产环境提供一致性可靠的Ruby版本。 它能够提供最新版本的Ruby&#xff0c;并管理多个版本&#xff0c;几乎在所有操作系统上都能安装和管理 Ruby。RVM 还…

RocketMQ之底层IndexFile存储协议

RocketMQ是一款高性能、高可靠、可伸缩的分布式消息中间件。在实现以上功能方面,RocketMQ采用了深度优化的存储设计方案。其中,底层IndexFile存储协议被认为是RocketMQ存储设计的关键,因此本篇文章将重点介绍RocketMQ底层IndexFile存储协议的实现机制及优缺点。 RocketMQ底…

LitCTF 2023 复现

文章目录 Hex&#xff1f;Hex&#xff01;梦想是红色的原来你也玩原神factordbP_Leake的学问Euler* Where is P?The same common divisormd5babyLCG* easy_math* Virginia* Is this only base?你是我的关键词(Keyworld)隐晦的聊天记录* baby_xor收获与体会 Hex&#xff1f;He…

VSCode中安装GPT插件详细教程

目录 安装插件 A.安装CodeGPT B.安装chatgpt 1.VSCode安装插件&#xff0c;使用本地下载vsix文件 2.获取 ChatGPT API 密钥 3.配置settings.json GPT-4主要有三大改进点 局限性 安装插件 AB功能一样&#xff0c;A安装的人最多&#xff0c;GPT具体功能可见标题链接 A.…

BLE解调

BLE解调前奏 如果不太了解IQ、FSK、GFSK的话&#xff0c;可以看上一篇&#xff0c;有一些关于这些内容的东西&#xff0c;写的应该还算好理解点吧&#xff0c;给出了自己学习时候的参考&#xff0c;具体的看他们写的。 调频与调相之间的关系 IQ调制中&#xff0c;调频是表现…

chatgpt赋能Python-anaconda降低python版本

Anaconda降低Python版本&#xff1a;为什么你需要做到这一点&#xff1f; 作为一个有10年Python编程经验的工程师&#xff0c;我经常会发现自己需要降低Pyhton的版本以便与我要使用的库兼容。为了解决这个问题&#xff0c;Anaconda是一个非常有用的工具&#xff0c;可以管理不…

基于fpga的图像处理之3x3_5x5算子模板设计

本文的思路框架&#xff1a; ①本文采用支持3x3算子模块和5x5算子模块的生成&#xff0c;用于后一级别的算法输入 ②本例程中采用的FPGA设计技巧&#xff0c;可用于借鉴&#xff0c;一是generate if参数定义&#xff1b;二是调用xilinx和altera的sync fifo和async fifo原语实现…

基于SpringBoot的招生管理系统的设计与实现

背景 本次设计任务是要设计一个招生管理系统&#xff0c;通过这个系统能够满足管理员和学生的招生公告管理功能。系统的主要功能包括首页、个人中心、学生管理、专业信息管理、专业报名管理、录取通知管理、系统管理等功能。 管理员可以根据系统给定的账号进行登录&#xff0…

做百度百科词条怎么写词条名,认证百度百科多少钱

很多人在做百度百科词条时不知道如何写百度百科词条名&#xff0c;总是因为词条不规范或者义项名不正确&#xff0c;而导致词条通过不了。认证申请百度百科到底多少钱能通过&#xff0c;实际上百度百科是免费的&#xff0c;需要费用的是请别人帮忙创建百度百科&#xff0c;下面…

SPI(Service Provider Interface)

ServiceLoad中的spi 1、简介 JDK1.6引入的特性&#xff0c;用来实现SPI&#xff08;Service Provider Interface&#xff09;&#xff0c;一种服务发现机制。 2、JDBC举例 2.1、引入mysql依赖jar <dependency><groupId>mysql</groupId><artifactId>…

[IntelliJ IDEA] 中Lombok插件的介绍和常见使用情景

文章目录 介绍使用Lombok 介绍 在编写项目时&#xff0c;尤其是在类进行类内部成员字段封装时&#xff0c;需要编写大量的get/set方法&#xff0c;不仅写的麻烦&#xff0c;如果字段名发生改变就要进行修改&#xff0c;因此非常麻烦&#xff1b;因此使用Lombok就能解决这样的问…

C++的vector使用

vector 1.vector的介绍2.vector的使用2.1. vector的定义&#xff08;构造函数&#xff09;2.2. vector iterator的使用2.3. vector空间增长问题2.4. vector的增删改查vector 迭代器失效问题&#xff08;重点&#xff09; 1.vector的介绍 vector是和数组类似的序列容器&#xf…

一文全览机器学习建模流程(Python代码)

注&#xff1a;本文基于之前的文章做了些修改&#xff0c;重复部分可以跳过看。示例的项目为基于LR模型对癌细胞分类的任务。 随着人工智能时代的到来&#xff0c;机器学习已成为解决问题的关键工具&#xff0c;如识别交易是否欺诈、预测降雨量、新闻分类、产品营销推荐。我们接…

深入浅出C语言——字符/字符串操作函数

文章目录 一、字符串操作函数1. strlen2. strcpy3. strcat4. strcmp5. strncpy6. strncat7. strncmp8. strstr9. strtok10. strerror二、字符操作函数 一、字符串操作函数 1. strlen size_t strlen ( const char * str );strlen 获取字符串长度。字符串已经 ‘\0’ 作为结束标…

Mybatis二级缓存详解

目录 二级缓存 MyBatis的缓存机制整体设计以及二级缓存的工作模式 二级缓存的划分 使用二级缓存&#xff0c;必须要具备的条件 一级缓存和二级缓存的使用顺序 二级缓存实现的选择 MyBatis自身提供的二级缓存的实现 二级缓存的作用 二级缓存的作用域 二级缓存应用场景…

Pruning 系列 (六)remove剪枝

环境 python 3.9numpy 1.24.1pytorch 2.0.0+cu117一、填0与remove剪枝的差异 直接填0的剪枝: 优点: 保留了原始网络结构,便于实现和微调。部分减少模型的计算量。缺点: 零权重仍然需要存储,因此不会减少内存使用。一些硬件和软件无法利用稀疏计算,从而无法提高计算效率…

Linux网络——shell编程之awk编辑器

Linux网络——shell编程之awk编辑器 一、awk编辑器1.概述2.工作流程3.常用选项 二、awk的基础用法1.输出文件中的某一列2.根据特定条件筛选数据3.按照分隔符进行切割4.在匹配到特定字符串时执行操作5.BEGIN打印模式6.awk的分隔符用法 三、示例演示1.获取本机上一次开机时间2.检…

Unity UI -- (1)概览

UI&#xff08;User Interface&#xff0c;用户接口&#xff09;&#xff0c;是让用户和计算机或计算机应用交互的接口系统。 在实时3D项目中&#xff0c;UI通常是由文本、按钮、复选框、滑动条和单选框等组合出来的界面。这些元素使用特定规则或通知和用户进行交互。 UI设计是…

路由信息协议(RIP)

文章目录 1 概述2 RIP 要点2.1 根据 距离矢量&#xff08;或 跳数&#xff09;寻找最佳路由2.2 RIP 三大要点2.3 基本工作过程2.4 路由条目的更新规则2.5 RIPv1 和 RIPv22.6 "坏消息传播慢" 的问题 3 网工软考真题 1 概述 #mermaid-svg-bIbiI8QAnQj8HX7d {font-famil…