Linux常用命令详解:从基础到进阶

目录

一、引言 

二、文件处理相关命令 

(一)grep指令 

(二)zip/unzip指令 ​编辑

(三)tar指令 

(四)find指令 

三、系统管理相关命令 

(一)shutdown指令 

(二)uname指令 

四、时间相关指令 

         (一)date指令

(二)Cal指令 

五、其他重要指令 

(一)bc指令 

(二)重要热键 

六、总结 


一、引言
 


在Linux系统的世界里,命令行是我们与系统交互的重要工具。掌握常用的Linux命令,不仅能提升我们的工作效率,还能深入理解系统的运行机制。本文将详细介绍一系列实用的Linux命令,涵盖文件处理、系统管理、时间操作等多个方面。
 


二、文件处理相关命令
 


(一)grep指令
 


 grep 指令用于在文件中搜索字符串,并将找到的行打印出来。
 
- 语法: grep [选项] 搜寻字符串 文件 
 
- 常用选项:
 
- -i:忽略大小写。比如我们要在 test.txt 文件中查找“linux”,不区分大小写,命令为 grep -i linux test.txt 。
 
- -n:输出包含匹配字符串的行及其行号。例如 grep -n linux test.txt  ,执行后会显示类似 3:Linux is a powerful operating system 这样的结果,表明在第3行找到了匹配内容。
 
- -v:反向选择,显示不包含指定字符串的行。如 grep -v linux test.txt  ,会列出所有不包含“linux”的行。
 


(二)zip/unzip指令
 


1. zip:用于将目录或文件压缩成zip格式。
 
- 语法: zip 压缩文件.zip 目录或文件 
 
- 常用选项:
 
- -r:递归处理,将指定目录下的所有文件和子目录一并处理。例如要压缩 myfolder 目录及其下所有内容,命令是 zip -r myfolder.zip myfolder  。
 
2. unzip:用于解压zip格式的压缩包。
 
- 语法: unzip 压缩文件.zip 
 
- 示例:
 
- 解压到当前目录: unzip test.zip 
 
- 解压到指定目录,如 /tmp : unzip test.zip -d /tmp 
 


(三)tar指令
 


 tar 指令主要用于打包和解包(zip)文件,还能在不打开的情况下查看内容。
 
- 语法: tar [参数] 文件与目录... 
 
- 常用参数:
 
- -c:建立压缩文件。比如将 myfiles 目录打包成 myfiles.tar  ,命令为 tar -cvf myfiles.tar myfiles  。
 
- -x:解开压缩文件。解压 myfiles.tar  到当前目录,使用 tar -xvf myfiles.tar  。
 
- -t:查看压缩包里面的文件。查看 myfiles.tar  中的文件列表,执行 tar -tvf myfiles.tar  。
 
- -z:使用gzip压缩或解压。打包并压缩成 myfiles.tar.gz  , tar -zcvf myfiles.tar.gz myfiles  ;解压 myfiles.tar.gz  , tar -zxvf myfiles.tar.gz  。
 
- -j:使用bzip2压缩或解压。打包并压缩成 myfiles.tar.bz2  , tar -jcvf myfiles.tar.bz2 myfiles  ;解压 myfiles.tar.bz2  , tar -jxvf myfiles.tar.bz2  。
 
- -v:压缩过程中显示文件。
 
- -f:使用档名,必须紧跟在 f 后面。
 
- -C:解压到指定目录。例如解压到 /opt/myfiles  , tar -zxvf myfiles.tar.gz -C /opt/myfiles  。
 


(四)find指令
 


 find 命令用于在目录结构中搜索文件,并执行指定的操作。
 
- 语法: find pathname -options 
 
- 常用选项:
 
- -name:按照文件名查找文件。比如在当前目录及其子目录下查找名为 test.txt 的文件,命令为 find. -name test.txt  。
 


三、系统管理相关命令
 


(一)shutdown指令
 


 shutdown 指令用于关闭或重启系统。
 
- 语法: shutdown [选项] 
 
- 常见选项:
 
- -h:将系统的服务停掉后,立即关机。如 shutdown -h now  ,表示立即关机。
 
- -r:在将系统的服务停掉之后就重新启动。例如 shutdown -r now  ,表示立即重启。
 
- -t sec: -t 后面加秒数,即“过几秒后关机”。如 shutdown -h -t 60  ,表示60秒后关机。
 


(二)uname指令
 


 uname 用来获取电脑和操作系统的相关信息。
 
- 语法: uname [选项] 
 
- 常用选项:
 
- -a或--all:详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。执行 uname -a  ,会得到类似 Linux localhost 5.4.0 - 122 - generic #138 - Ubuntu SMP Thu Jun 2 15:46:05 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux 这样的输出。
 

四、时间相关指令
 


(一)date指令
 


 date 指令用于显示和设置系统时间。
 
1. 显示时间:
 
- 指定格式显示时间: date +%Y:%m:%d  ,会以 2025:04:05 这样的格式显示当前日期。常用的格式标记有:
 
- %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 
 
2. 设置时间:
 
- 只有 root 权限才能设置时间。例如设置当前时间为 20080523  , date -s 20080523  ;设置具体时间 01:01:01  且不改变日期, date -s 01:01:01  ;设置全部时间为 2008 - 05 - 23 01:01:01  , date -s "2008 - 05 - 23 01:01:01"  。
 


(二)Cal指令
 


 cal 命令用来显示公历(阳历)日历。
 
- 语法: cal [参数][月份][年份] 
 
- 常用选项:
 
- -3:显示系统前一个月,当前月,下一个月的月历。执行 cal -3  即可看到。
 
- -j:显示在当年中的第几天(一年日期按天算,从1月1号算起,默认显示当前月在一年中的天数)。
 
- -y:显示当前年份的日历。如 cal -y 2018  ,会展示2018年一整年的日历。
 


五、其他重要指令
 


(一)bc指令
 


 bc 命令可以很方便地进行浮点运算。例如在终端输入 bc  ,进入 bc 交互环境,输入 3.14 * 2  ,回车后会得到 6.28 这样的计算结果。
 


(二)重要热键
 


1. [Tab]按键:具有“命令补全”和“档案补齐”的功能。比如在终端输入 ls /u  ,按下 Tab 键,如果系统存在以 u 开头的目录,会自动补全为 ls /usr/  。
 
2. [Ctrl]-c按键:让当前的程序“停掉” 。当我们运行一个程序,如 ping www.baidu.com  ,按 [Ctrl]-c  即可终止该命令的运行。
 
3. [Ctrl]-d按键:通常代表着“键盘输入结束(End Of File, EOF或End Of Input)”的意思,也可以用来取代 exit  。在一些交互式命令行工具中,如 bc 环境下,按 [Ctrl]-d  可以退出。
 


六、总结
 


Linux系统中的这些常用命令,从文件处理到系统管理,从时间操作到其他实用功能,构成了我们日常操作和管理系统的基础。熟练掌握它们,能让我们在Linux系统的使用中更加得心应手,无论是进行开发工作、系统运维还是学习研究,都能事半功倍。不断实践和积累对这些命令的使用经验,将有助于我们在Linux领域不断进阶。

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

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

相关文章

Qt多线程从基础到性能优化

一、为什么需要多线程开发 现代应用程序的性能需求 CPU多核架构的有效利用 复杂任务的解耦与响应式界面保持 二、Qt线程创建四大方式 1. 继承QThread重写run() class WorkerThread : public QThread {void run() override {// 耗时操作qDebug() << "Thread ID…

【java】在 Java 中,获取一个类的`Class`对象有多种方式

在 Java 中&#xff0c;获取一个类的Class对象有多种方式。Class对象代表了 Java 中的一个类或接口的运行时类信息&#xff0c;可以用于反射操作。以下是获取Class对象的几种常见方法&#xff1a; 1.使用.class属性 每个类都有一个.class属性&#xff0c;可以直接获取该类的Cl…

什么是RPC通信

RPC&#xff08;Remote Procedure Call&#xff0c;远程过程调用&#xff09;通信是一种允许程序像调用本地函数一样调用远程服务器上函数的通信技术。它简化了分布式系统中的网络交互&#xff0c;隐藏了底层网络通信的复杂性&#xff0c;使开发者能够专注于业务逻辑。 一、RPC…

还是主题混合程序设计

以下是针对您现有代码的完整主题化改造方案&#xff0c;实现跨QML/Qt Widgets的阴影主题系统&#xff1a; 一、主题管理系统核心 // thememanager.h #pragma once #include <QObject> #include <QColor> #include <QMap> #include <QQmlEngine>class…

BT-Basic函数之首字母T

BT-Basic函数之首字母T 文章目录 BT-Basic函数之首字母Ttabtesttest conttest monitortest on boardstest scanworkstest shortstesthead cleanuptesthead configurationtesthead istesthead power on/offtesthead statustestjet print level istestordertestplan generationth…

7-9 趣味游戏

题目解析 在某个学校的趣味游戏活动中&#xff0c;N 名同学站成一排&#xff0c;他们的年龄恰好是 1 到 N &#xff0c;需要注意的是他们并不是按照年龄的大小排列的&#xff0c;而是随机排列的。 游戏的规则是请同学们快速计算出&#xff0c;如果在这 N 名同学的小组中&…

Hugging Face模型微调训练(基于BERT的中文评价情感分析)

文章目录 学习视频地址项目地址数据集的下载模型微调的基本概念与流程加载数据集数据集格式数据集信息 制作Dataset数据集字段数据集信息 vocab字典操作词汇表文本转换 下游任务模型设计模型训练与保存数据加载优化器训练循环 最终效果评估与测试模型加载和测试 学习视频地址 …

【蓝桥杯】十五届省赛B组c++

目录 前言 握手问题 分析 排列组合写法 枚举 小球反弹 分析 代码 好数 分析 代码 R 格式 分析 代码 宝石组合 分析 代码 数字接龙 分析 代码 拔河 分析 代码 总结 前言 主播这两天做了一套蓝桥杯的省赛题目&#xff08;切实感受到了自己有多菜&#x…

必刷算法100题之计算右侧小于当前元素的个数

题目链接 315. 计算右侧小于当前元素的 个数 - 力扣&#xff08;LeetCode&#xff09; 题目解析 计算数组里面所有元素右侧比它小的数的个数, 并且组成一个数组,进行返回 算法原理 归并解法(分治) 当前元素的后面, 有多少个比我小(降序) 我们要找到第一比左边小的元素, 这…

Hyperlane框架:下一代高性能Rust Web框架 [特殊字符]

Hyperlane框架&#xff1a;下一代高性能Rust Web框架 &#x1f680; 引言 &#x1f44b; 在当今快速发展的Web开发领域&#xff0c;性能和开发效率的平衡变得越来越重要。Hyperlane作为一个新兴的Rust Web框架&#xff0c;完美地解决了这个问题。本文将带您深入了解Hyperlane…

图像处理:使用Numpy和OpenCV实现傅里叶和逆傅里叶变换

文章目录 1、什么是傅里叶变换及其基础理论 1.1 傅里叶变换 1.2 基础理论 2. Numpy 实现傅里叶和逆傅里叶变换 2.1 Numpy 实现傅里叶变换 2.2 实现逆傅里叶变换 2.3 高通滤波示例 3. OpenCV 实现傅里叶变换和逆傅里叶变换及低通滤波示例 3.1 OpenCV 实现傅里叶变换 3.2 实现逆傅…

OpenEuler/CentOS一键部署OpenGauss数据库教程(脚本+视频)

&#x1f4cc;OpenEuler/CentOS一键安装OpenGauss数据库教程 为什么需要OpenGauss一键安装脚本&#xff1f; 手动部署OpenGauss数据库时&#xff0c;环境适配、依赖冲突等问题常让开发者头疼。尤其对新人而言&#xff0c;官方文档的配置步骤可能耗时数小时甚至引发未知报错。 …

如何解决 Hive 在创建 MySQL 表时出现乱码???的问题

1.问题描述 我们启动Hive建立一个学生students表格 使用desc students;查看表格结构时 发现有出现乱码的情况 2.解决方案 打开Hive安装机器上面的MySQL 切换到Hive数据库 执行以下命令修改字段注释字符集 mysql -u root -p123456;use hive;alter table COLUMNS_V2 modify col…

自定义组件触发饿了么表单校验

饿了么的表单控件&#xff0c;如果存在自定义组件更改了值&#xff0c;例如在el-from中存在原生input组件很有可能没法触发表单校验&#xff0c;下拉框或者弹框组件仍然是报红边框。 这是因为饿了么的输入框或者下拉框更改值的时候会自动触发表单校验&#xff0c;但是封装过后的…

架构思维:查询分离 - 表数据量大查询缓慢的优化方案

文章目录 Pre引言案例何谓查询分离&#xff1f;何种场景下使用查询分离&#xff1f;查询分离实现思路1. 如何触发查询分离&#xff1f;方式一&#xff1a; 修改业务代码&#xff1a;在写入常规数据后&#xff0c;同步建立查询数据。方式二&#xff1a;修改业务代码&#xff1a;…

Linux开发工具——make/makefile

&#x1f4dd;前言&#xff1a; 这篇文章我们来讲讲Linux开发工具——make/makefile&#xff1a; &#x1f3ac;个人简介&#xff1a;努力学习ing &#x1f4cb;个人专栏&#xff1a;Linux &#x1f380;CSDN主页 愚润求学 &#x1f304;其他专栏&#xff1a;C学习笔记&#xf…

python加载训练好的模型并进行叶片实例分割预测

要基于“GMT: Guided Mask Transformer for Leaf Instance Segmentation”进行代码复现&#xff0c;可按照以下步骤利用Python实现&#xff1a; 环境配置 克隆仓库&#xff1a;在终端中使用git clone https://github.com/vios-s/gmt-leaf-ins-seg.git命令&#xff0c;将项目代…

AI平台初步规划实现和想法

要实现一个类似Coze的工作流搭建引擎&#xff0c;可以结合SmartEngine作为后端工作流引擎&#xff0c;ReactFlow作为前端流程图渲染工具&#xff0c;以及Ant Design作为UI组件库。以下是实现的步骤和关键点&#xff1a; ### 1. 后端工作流引擎&#xff08;SmartEngine&#xf…

Pycharm 启动时候一直扫描索引/更新索引 Update index/Scanning files to index

多个项目共用一个虚拟环境&#xff0c;有助于加快PyCharm 启动吗 chatgpt 4o认为很有帮助&#xff0c;gemini 2.5pro认为没鸟用&#xff0c;我更认可gemini的观点。不知道他们谁在一本正经胡说八道。 -------- 打开pycharm的时候&#xff0c;下方的进度条一直显示在扫描文件…

dify新版本1.1.3的一些问题

本人使用window版本上构建dify&#xff0c;采用docker方法启动 1、拉取镜像问题 windows上更改拉取镜像仓库地址 优化加速参考&#xff1a;青春不留白/Docker-hub 如果还是拉取比较慢的话&#xff0c;建议科学上网解决。 2、启动问题 发生报错Dify:failed to init dify plu…