18-Linux 常用命令
目录
1.ls
PS:FinalShell设置背景和字体
2.pwd
3.cd
PS:认识 Linux 目录结构——Linux 是一个树形目录结构
PS:绝对路径 vs 相对路径
PS:使用 tab 键补全
PS:使用 ctrl + c 重新输入
4.touch
PS:Linux设计理念:
5.cat
6.mkdir
7.rm
PS:理解递归删除的过程
8.cp
9.mv
10.man
11.less
12.head
13.tail
PS:关于重定向
PS:关于管道
14.date
15.vim
①创建文件 / 打开文件
②进入插入模式
③保存
④退出
16.grep
17.ps
18.netstat
1.ls
list的缩写,list——显示列表。
语法:
ls [选项] [目录或文件]
功能:
对于目录,该命令列出该目录下的所有子目录与文件。
对于文件,将列出文件名以及其他信息。
常用选项:
- -a 列出目录下的所有文件,包括以 . 开头的隐含文件。
- -d 将目录像文件一样显示,而不是显示其下的文件。 如:ls –d 指定目录
- -k 以 k 字节的形式表示文件的大小。ls –alk 指定文件
- -l 列出文件的详细信息。
- -r 对目录反向排序。
- -t 以时间排序。
- -R 列出所有子目录下的文件。(递归)
举例:
表示列出root目录下的文件:
- jar包是红色;
- 普通文件是黑色;
- 文件夹是蓝色。
表示在root目录下还没有文件:
表示列出文件的详细信息:
- -rw-r--r-- 表示当前 root 登录用户针对 arthas-boot.jar 这个文件的操作权限:r 是读取权限、w 是写入权限。表示当前登录用户 root 对文件 arthas-boot.jar 既可读,也可写。
- 有的操作权限除了r、w外,还有x,x是执行。
- 最开头部分:-表示普通文件,d表示文件夹。
- 不显示带.开头的文件,带.开头的文件是隐藏文件。
- root表示归属人。
- 136209表示文件的大小。
- 8月 17 2020表示最后的修改时间。
ll 效果和 ls -l 一样。
表示按时间倒序列出文件的详细信息:
还可以对此命令进行合并,效果是一样的:
PS:FinalShell设置背景和字体
2.pwd
语法:
pwd
功能:
显示用户当前所在的目录。
举例:
3.cd
Linux系统中,磁盘上的文件和目录被组成一棵目录树,每个节点都是目录或文件。
语法:
cd 目录名
功能:
改变工作目录,将当前工作目录改变到指定的目录下。
举例:
- cd .. : 返回上级目录
- cd ~:进入用户家目
- cd -:返回最近访问目录
进入下一级文件夹:
返回上级目录:
返回最近访问目录:
进入用户家目(最根目录下):
PS:认识 Linux 目录结构——Linux 是一个树形目录结构
几个特殊的目录:
- / 称为根目录
- . 称为当前目录
- .. 称为当前目录的上级目录
PS:绝对路径 vs 相对路径
- 形如: /usr/share/tomcat/logs/ 以根目录开头的,称为绝对路径。
- 形如:./logs 以 . 或者 .. 开头的,称为相对路径。
PS:使用 tab 键补全
我们敲的所有的 Linux 命令,都可以使用 tab 键来尝试补全,加快效率。
PS:使用 ctrl + c 重新输入
如果命令或者目录敲错了,可以 ctrl + c 取消当前的命令。
4.touch
语法:
touch [选项]... 文件...
功能:
touch命令参数可更改文档或目录的日期时间,包括存取时间和更改时间,或者新建一个不存在的文件。
举例:
创建一个不存在的文件:
PS:Linux设计理念:
当输入命令,执行完后,没有任何反馈,不报错,就表示命令执行成功。
5.cat
语法:
cat [选项] [文件]
功能:
查看目标文件的内容,会一次性将文件的内容全部加载查询。
常用选项:
- -n 对输出的所有行编号。
举例:
在本地创建一个文件b.txt,里面写入相应的内容(hello linux.),并将其上传至Linux服务器(直接从桌面上拖拽):
6.mkdir
语法:
mkdir [选项] dirname...
功能:
在当前目录下创建一个名为 “dirname”的目录。
常用选项:
- -p, --parents 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那些尚不存在的目录,即一次可以建立多级目录。
举例:
创建一级目录:
创建多级目录:
7.rm
语法:
rm [-f-i-r-v] [dirName/dir]
功能:
删除文件或目录。
常用选项:
- -f 即使文件属性为只读(即写保护),亦直接删除。
- -i 删除前逐一询问确认。
- -r 删除目录及其下所有文件。
举例:
删除文件(询问):
删除文件(不询问,直接删除):
删除多级目录(询问):
删除多级目录(不询问直接删除):
重要注意事项:
千万不要运行 rm -rf /,这样会删除当前操作系统的全部文件,尤其是在公司的生产服务器上。
PS:理解递归删除的过程
8.cp
语法:
cp [选项] 源文件或目录 目标文件或目录
功能:
复制文件或目录。
说明:
cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。
若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。
常用选项:
- -f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在。
- -i 或 --interactive 覆盖文件之前先询问用户。
- -r递归处理,将指定目录下的文件与子目录一并处理。若源文件或目录的形态,不属于目录 或符号链接,则一律视为普通文件处理。
- -R 或 --recursive递归处理,将指定目录下的文件及子目录一并处理。
举例:
复制文件,原文件还在:
9.mv
语法:
mv [选项] 源文件或目录 目标文件或目录
功能:
- 视mv命令中第二个参数类型的不同(是目标文件还是目标目录),mv命令将文件重命名或将其移至一个新的目录中。
- 当第二个参数类型是文件时,mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。
- 当第二个参数是已存在的目录名称时,源文件或目录参数可以有多个,mv命令将各参数指定的源文件均移至目标目录中。
常用选项:
- -f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖。
- -i :若目标文件 (destination) 已经存在时,就会询问是否覆盖。
举例:
移动文件,原文件没了:
重命名文件,文件重命名后里面的信息不变:
10.man
Linux的命令有很多参数,我们不可能全记住,我们可以通过查看联机手册获取帮助。
语法:
man [选项] 命令
常用选项:
- -k 根据关键字搜索联机帮助。
- num 只在第num章节找。
- man man 能够看到 man 手册中的若干个章节及其含义。
举例:
查看ls命令是啥意思:
按Enter回车键,里面就会有一些对ls命令的描述信息:
按q退出:
11.less
语法:
less [参数] 文件
功能:
查看文件内容,不会立刻把所有文件内容加载到内存中,也能进行查找。会加载一部分,当光标往下滑动时,才会加载另一部分。所以其性能比较好。
- Windows的记事本相当于cat,一次性加载。
- VSCode相当于less,一次只加载一部分。
选项:
- j k / 方向键:向上向下滚动屏幕。
- -N:显示每行的行号。
- /字符串:向下搜索“字符串”的功能。
- n:重复前一个搜索。(与 / 或 ? 有关)
- q:退出。
举例:
查看文件内容:
按Enter回车键,显示文件内容:
按"q"或":q"退出:
修改b.txt文件的内容更多些,并将b.txt上传:
使用cat查看,一次性看全部内容:
截图省略部分内容~
使用less查看,一次只看一部分内容:
当点击Enter换行时,才加载下一行内容:
点击q离开:
12.head
语法:
head [参数]... [文件]...
功能:
head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
选项:
- -n<行数>显示的行数。
举例:
默认查询前10条:
设置参数查询指定前n条:
13.tail
语法:
tail [必要参数] [选择参数] [文件]
功能:
用于显示指定文件末尾后10行内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
选项:
- -f 循环读取。
- -n 显示行数。
举例:
默认查询后10条:
设置参数查询指定后n条:
有一个文件共有100行内容,请取出第50行内容:
若觉得上述4种查看文件指令不方便,还可以将FinalShell中的文件下载到本地去看。
PS:关于重定向
Linux 的很多指令,如 cat、head、tail 等都是默认输出到 "标准输出" 中,也就是显示器上的。可以通 过 > 这样的符号把本来要输出到标准输出上的内容写到特定文件中,这样的操作称为 "重定向"。
重定向有三种方式:
1. 标准输入重定向(<)
# 先构造一个文件, 里面添加一些内容. cat < test.txt
2. 标准输出重定向 (>)
cat test.txt > test2.txt
3. 标准错误重定向 (2>),注意 2 和 > 之间不能有空格
# 尝试删除一个不存在的文件 rm aaa > test.txt# 输出结果, 这个提示并没有被重定向到 test.txt 文件中. rm: cannot remove ‘aaa’: No such file or directory# 正确做法 rm aaa 2> test.txt
- 标准输入,标准输出,标准错误是三个特殊的文件。
- 每个进程在启动的时候都会默认打开,分别对应到键盘,显示器,显示器这样的设备。
- 在Java 中,分别对应到 System.in,System.out,System.err。
PS:关于管道
管道是一种古老的 "进程间通信" 方式。
在 Linux 指令中可以使用 | 作为管道标记,意思是将前一个指令标准输出的内容,作为第二个指令的标准输入内容。
14.date
date 指定格式显示时间:
date +"%Y-%m-%d %H:%M:%S"
date用法:
date [OPTION]... [+FORMAT]
①在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记。
- %H : 小时(00..23)
- %M : 分钟(00..59)
- %S : 秒(00..61)
- %X : 相当于 %H:%M:%S
- %d : 日 (01..31)
- %m : 月份 (01..12)
- %Y : 完整年份 (0000..9999)
- %F : 相当于 %Y-%m-%d
②时间戳
时间->时间戳:
date +%s
时间戳->时间:
date -d@1508749502
Unix时间戳(英文为Unix epoch, Unix time, POSIX time 或 Unix timestamp)是从1970年1月1日 (UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
举例:
一般情况下,只要有网,会自动同步更新时间:
但有时也可以手动调整时间。
15.vim
vim 是一个知名的文本编辑器。
前面学习的 cat, less, head, tail 等命令只能查看文本,不能编辑文本。使 用 vim 就可以进行编辑了。
vim 就相当于 Windows 的记事本,只不过功能比记事本强大一些。
①创建文件 / 打开文件
vim [文件名]
②进入插入模式
vim 打开文件后默认是普通模式,普通模式下键盘的按键表示一些特殊功能的快捷键。(例如按下 j 并不是输入字母 "j",而是表示光标往下移动一行)
需要进入插入模式才能进行文本编辑。使用 i 键可以进入到插入模式。(左下角提示 --INSERT-- ) 然后就可以像记事本一样正常编辑了。
③保存
在插入模式下不能保存文件,需要先回到普通模式。
按下 Esc 回到普通模式,在普通模式下输入 :w,再按下回车,即可保存文件。
④退出
在插入模式下不能退出,需要先回到普通模式。
在普通模式下输入 :q,再按下回车,即可退出。也可以直接使用 :wq 同时执行保存和退出。
关于 Vim 的更多用法可以参考 vimtutor (直接在终端输入 vimtutor 即可进入官方教程) 和 <<Vim实用技巧>>
熟练使用 Vim 能够大大提高代码编辑效率,主流的开发工具 (比如 IDEA, VSCode 等) 都支持 Vim 风格的快捷键,遗憾的是熟练使用 Vim 并不是一件容易的事情,可能需要长达几年的练习。
通常不需要直接在服务器端编辑,若需要编辑,可在本地编辑好后,拖拽到服务器端即可。
16.grep
语法:
grep [参数]... [文件]...
功能:
用于查找文件中是否包含指定字符串,并显示对应的行。
选项:
- -n 显示的行数。
- -w 全字匹配,要求整个单词都完全相同的结果才能匹配出来,而不仅仅是一个单词的一部分。
- -r 递归查找,可以搜索多级目录下的所有文件。
- --color 高亮查找到的结果。
- --include 指定查找某些文件。
- --exclude 指定排除某些文件。
举例:
查询某一文件中是否包含某一字符串,会匹配相符的信息:
17.ps
语法:
ps [参数]...
功能:
用于查看当前系统上运行的进程。
选项:
- a 显示一个终端的所有进程。
- u 以用户为主的格式来显示程序状况。
- x 显示所有程序,不以终端机来区分。
举例:
- ps aux # 显示系统上所有的进程
- ps aux | grep "进程名"
- ps aux | grep "进程id"
显示系统上所有的进程:
按进程名查找进程:
按进程id查找进程:
18.netstat
语法:
netstat [参数]...
功能:
查看系统上的网络状态。
选项:
- -a 显示所有正在或不在侦听的套接字。
- -n 显示数字形式地址而不是去解析主机、端口或用户名。
- -p 显示套接字所属进程的PID和名称。
举例:
- netstat -anp
- netstat -anp | grep "进程名"
- netstat -anp | grep "端口号"
查看系统上所有的网络状态:
PS:在Linux上适用的这些命令,在Windows上不一定会适用。
相关文章:

18-Linux 常用命令
目录 1.ls PS:FinalShell设置背景和字体 2.pwd 3.cd PS:认识 Linux 目录结构——Linux 是一个树形目录结构 PS:绝对路径 vs 相对路径 PS:使用 tab 键补全 PS:使用 ctrl c 重新输入 4.touch PS:L…...

2024考研408-计算机组成原理第六章-总线学习笔记
文章目录 前言初识总线一、总线概述1.1、总线的概述1.1.1、认识总线1.1.2、设计总线需要的特性1.1.3、总线的分类①按照数据传输格式分(串行、并行)②按照总线功能连接的总线(片内总线、系统总线、通信总线)③按照时序控制方式&am…...

uni_app 微信小程序 苹果手机 边框显示不全

vue 访问第三方 跨域, 配置vue.config.js
目录 0 config 文件被修改 一个要重启vscode 配置文件才会生效 1 第一种 (有两种写法) 1.1 配置vue.config.js 1.2 axios 使用 1.3 终端打印 2 第二种方法 --> 错误 --> 没有运行成功 2.1 配置vue.config.js --> 就是api 不被设置成 替换为 / 2.2 axios 使用…...

使用gradio库的File模块实现文件上传和展示
❤️觉得内容不错的话,欢迎点赞收藏加关注😊😊😊,后续会继续输入更多优质内容❤️ 👉有问题欢迎大家加关注私戳或者评论(包括但不限于NLP算法相关,linux学习相关,读研读博…...

网络安全进阶学习第四课——SSRF服务器请求伪造
文章目录 一、什么是SSRF?二、SSRF成因三、SSRF简析四、PHP存在SSRF的风险函数五、后台源码获取方式六、SSRF危害七、SSRF漏洞挖掘从WEB功能上寻找,从URL关键字中寻找 八、SSRF具体利用ssrf常利用的相关协议PHP伪协议读取文件端口扫描 九、SSRF存在的必要…...
js处理扁平数组和树结构相互转换
一、将扁平的数据转为树形结构 在 js中,可以使用递归算法将扁平的数据转换为树形结构。 扁平数据通常是一个带有 parentId 属性的数组,而树形结构通常是一个带有 children 属性的对象。 1、方法一 下面是一个简单的例子,演示如何将扁平数…...

Spark弹性分布式数据集
1. Spark RDD是什么 RDD(Resilient Distributed Dataset,弹性分布式数据集)是一个不可变的分布式对象集合,是Spark中最基本的数据抽象。在代码中RDD是一个抽象类,代表一个弹性的、不可变、可分区、里面的元素可并行计…...

ffmpeg学习记录
1、对图片进行裁剪 ffmpeg -i input.jpg -vf cropiw/3:ih:20:0 caijian.jpg PS: crop100:100:12:34 相同效果: cropw100:h100:x12:y34 2、视频增加文字水印 使用drawtext滤镜进行增加水印 参数 类型 说明 text 字符串 文字 textfile 字符串 文字文件 …...

ChatGPT:为教育创新提供五大机遇
随着智能技术的不断发展,ChatGPT在教育场景中的创新价值可能比我们能够意识到的还要多。比如它可以自动处理作业、在线答疑,可以辅助语言学习、实时沟通,甚至还可以用于评估诊断、科学研究。国内外关于利用ChatGPT实现教育创新的场景描绘已经…...
Educational Codeforces Round 151 (Rated for Div. 2)
Edu 151 A. Forbidden Integer 题意: 你有[1, k]内除了 x x x的整数,每个数可以拿多次,问 ∑ n \sum n ∑n是否可行并构造 思路: 有1必能构造,否则假如没有1,假如有2, 3必定能构造出大于等于2的所有数&…...

【AI机器学习入门与实战】机器学习算法都有哪些分类?
👍【AI机器学习入门与实战】目录 🍭基础篇 🔥 第一篇:【AI机器学习入门与实战】AI 人工智能介绍 🔥 第二篇:【AI机器学习入门与实战】机器学习核心概念理解 🔥 第三篇:【AI机器学习入…...

React之hooks
Hooks函数 1.useState():状态钩子。纯函数组件没有状态,用于为函数组件引入state状态, 并进行状态数据的读写操作。 const [state, setState] useState(initialValue); // state:初始的状态属性,指向状态当前值,类似…...

1.监控分布式--zabbix
文章目录 监控分布式-zabbix、prometheus概念工作原理功能组件部署zabbix安装Nginx和PHP环境部署数据库编码安装zabbix编译安装zabbix server客户端安装zabbix agent服务 监控分布式-zabbix、prometheus 利用一个优秀的监控软件,我们可以: 通过一个友好的界面进行…...
java stream 多个集合去重取交集
文章目录 背景案例代码 背景 原因是需要从表里查多个集合list,然后取多个集合得交集,并且元素是对象,所以使用了下面的方式,当然方式有很多种,仅供参考。 案例 下面提供了一段多个集合join取交集的例子,…...

给LLM装上知识:从LangChain+LLM的本地知识库问答到LLM与知识图谱的结合
第一部分 什么是LangChain:连接本地知识库与LLM的桥梁 作为一个 LLM 应用框架,LangChain 支持调用多种不同模型,提供相对统一、便捷的操作接口,让模型即插即用,这是其GitHub地址,其架构如下图所示 (点此查…...

视频与AI,与进程交互(二) pytorch 极简训练自己的数据集并识别
目标学习任务 检测出已经分割出的图像的分类 2 使用pytorch pytorch 非常简单就可以做到训练和加载 2.1 准备数据 如上图所示,用来训练的文件放在了train中,验证的文件放在val中,train.txt 和 val.txt 分别放文件名称和分类类别ÿ…...

LLM - 第2版 ChatGLM2-6B (General Language Model) 的工程配置
欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/131445696 ChatGLM2-6B 是开源中英双语对话模型 ChatGLM-6B 的第二代版本,在保留了初代模型对话流畅、部署门槛较低等众多优…...

从0开始,手写MySQL事务
说在前面:从0开始,手写MySQL的学习价值 尼恩曾经指导过的一个7年经验小伙,凭借精通Mysql, 搞定月薪40K。 从0开始,手写一个MySQL的学习价值在于: 可以深入地理解MySQL的内部机制和原理,Mysql可谓是面试的…...

React中useState的setState方法请求了好多次
1、问题描述 最近在写react的时候碰到了一个很奇怪的问题。 可以看到那个getXXX()的方法一直不断的被调用,网页一直请求,根本停不下来了。 2、产生原因 要弄明白这个原因,首先要先了解一下react生命周期。 react是组件式的编程,一…...
web vue 项目 Docker化部署
Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段: 构建阶段(Build Stage):…...

阿里云ACP云计算备考笔记 (5)——弹性伸缩
目录 第一章 概述 第二章 弹性伸缩简介 1、弹性伸缩 2、垂直伸缩 3、优势 4、应用场景 ① 无规律的业务量波动 ② 有规律的业务量波动 ③ 无明显业务量波动 ④ 混合型业务 ⑤ 消息通知 ⑥ 生命周期挂钩 ⑦ 自定义方式 ⑧ 滚的升级 5、使用限制 第三章 主要定义 …...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八
现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet,点击确认后如下提示 最终上报fail 解决方法 内核升级导致,需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

iPhone密码忘记了办?iPhoneUnlocker,iPhone解锁工具Aiseesoft iPhone Unlocker 高级注册版分享
平时用 iPhone 的时候,难免会碰到解锁的麻烦事。比如密码忘了、人脸识别 / 指纹识别突然不灵,或者买了二手 iPhone 却被原来的 iCloud 账号锁住,这时候就需要靠谱的解锁工具来帮忙了。Aiseesoft iPhone Unlocker 就是专门解决这些问题的软件&…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》
在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中࿰…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命
在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...

视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...

HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
大模型多显卡多服务器并行计算方法与实践指南
一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

Selenium常用函数介绍
目录 一,元素定位 1.1 cssSeector 1.2 xpath 二,操作测试对象 三,窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四,弹窗 五,等待 六,导航 七,文件上传 …...