Linux的基础指令

server/2024/9/24 23:27:38/

目录

学习目的

 常用命令

ls

pwd

cd

认识Linux目录结构

绝对路径vs相对路径

小撬门

touch

cat

mkdir

rm 

cp

mv

tail

vim

1) 创建文件 / 打开文件

2)进入插入模式

3)保存

4)退出

grep

ps

​编辑 netstat

 管道

apt

apt常用命令


学习目的

Linux虽然也有图形化界面, 但是在服务器/嵌入式设备上往往都是通过命令行的方式操作的. 因此学习Linux命令就是使用Linux的重要基础.

使用命令相比于使用图形界面有以下好处:

节省系统资源: 运行图形界面需要让系统付出一些额外的资源开销. 尤其是对于配置比较低的嵌入式设备, 这一点至关重要.

节省网络带宽: 如果通过网络访问服务器, 使用图形界面需要传输一帧帧的图像, 而图像的大小远高于字符串.

便于批量执行任务: 可以通过一些"脚本"代码来批量执行一些任务, 完成一些简单的编程工作.(比如定时备份文件, 删除文件等).

 常用命令

ls

语法: ls [选项] [目录或文件]

功能: 对于目录, 该命令列出该目录下的所有目录和子文件. 对于文件, 则列出该文件名以及其它信息.

常用选项:

-a 列出目录下的所有文件, 包括以 . 开头的隐含文件.

-d 将目录像文件一样显示, 而不是显示其下的文件

-k 以k字节的形式表示文件的大小. 

-l 列出文件的详细信息.

-r 对目录反向排序.

-t 以时间排序

-R 列出所有子目录下的文件(递归进行).

使用演示(这个图有点糊所以建议你们自己试试(doge)): 

pwd

语法: pwd

功能: 显示用户当前所在目录.  

展示:

cd

Linux系统中, 磁盘上的文件和目录组成一棵目录树, 每个节点都是目录或文件.

语法: cd 目录名

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

举例:

# 返回上级目录
cd ..# 进入用户家目录
cd ~# 返回最近访问目录
cd -

认识Linux目录结构

Linux是一个树形结构.

 几个特殊的目录:

/ 称为根目录

. 称为当前目录

.. 称为当前目录的上级目录

绝对路径vs相对路径

形如: /usr/share/tomcat/logs/ 以根目录开头的, 称为绝对路径.

形如: ./logs以 . 或者 .. 开头的, 称为相对路径.  

小撬门

我们敲的所有Linux命令, 都可以尝试用tab键补全, 加快效率. 

如果命令或者目录敲错了, 可以使用ctrl + c取消当前的命令.

touch

语法: touch[选项]... 文件...

功能: touch命令参数可更改文档或目录的日期时间, 包括存取时间和更改时间, 或者新建一个不存在的文件

cat

语法: cat [选项] [文件]

功能: 查看目标文件的内容.

 常用选项: 

-n 对输出的所有行编号

mkdir

语法: mkdir [选项] dirname...

功能: 在当前目录下创建一个名为 "dirname" 的目录

常用选项: -p, -parent 可以是一个路径名称. 此时若路径中的某些目录尚不存在, 加上选项后, 系统将自动建立号那些尚不存在的目录, 即一次可以建立多级目录.

举例:

# 递归建立多个目录
mkdir -p test/test1

rm 

注: 别想成这个了:

语法: rm [-f-i-r-v] [dirName/dir]

功能: 删除文件或目录.  

常用选项:

-f 即使文件属性为只读(即写保护), 亦直接删除.

-i 删除前逐一确认

-r 删除目录及其下所有文件.

重要注意事项: 千万不要运行 rm -rf /, 尤其是在公司的生产服务器上!!!

cp

语法: cp [选项] 源文件或目录(from) 目标文件或目录(to).

功能: 复制文件或目录.

说明: cp指令用于复制文件或目录, 如同时指定两个以上的文件或目录, 且最后的目的地是一个已经存在的目录, 则它会把前面指定的所有文件或目录复制到此目录中. 若同时指定多个文件或目录, 最后的目的地并非一个已经存在的目录, 则会出现报错信息.

常用选项:

-f 或 --force 强行复制文件或目录, 不论目的文件或目录是否已经存在.

-i 或 --interactive覆盖文件之前先询问用户.

-r递归处理, 将指定目录下的文件与子目录一并处理. 若源文件或目录的形态, 不属于目录或符号链接, 则一律视为普通文件处理.

-R 递归处理, 将指定目录下的文件及子目录一并处理.

mv

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

功能:

1. 视mv指令中的第二个参数类型的不同(是目标文件还是目标目录), mv命令将文件重命名或将其移至一个新的目录中.

2.当第二个参数类型是文件时, mv命令完成文件重命名, 此时, 源文件只能有一个(也可以是源目录名), 它将所给的源文件或目录重命名为给定目标的目标文件名.

3.当第二个参数是已存的目录名称时, 源文件或目标参数可以有多个, mv命令将各个参数指定的源文件均移至目标目录中. 

 举例:

常用选项:

-f: force强制的意思, 如果目标文件已经存在, 不会询问直接覆盖.

-i: 若目标文件(destination)已经存在时, 就会询问是否覆盖.  

tail

语法: tail [必要参数] [选择参数] [文件]

功能: 用于显示指定文件末尾内容, 不指定文件时, 作为输入信息进行处理. 常用查看日志文件.

选项:

-f 循环读取

-n<行数> 显示行数 

vim

vim是一个知名的文本编辑器. 使用vim可以进行文本编辑了.

vim就相当于Windows的记事本. 只不过功能比记事本更强大一些.

1) 创建文件 / 打开文件

vim [文件名]

2)进入插入模式

vim打开文件后默认是普通模式. 普通模式下键盘的按键表示一些特殊功能的快捷键. (例如按下 j 并不是输入字母"j", 而是表示光标往下移动一行). 需要进入插入模式才能进行文本编辑.

使用 i 键可以进入到插入模式. (左下角提示--INSERT--)然后就可以像记事本一样正常编辑了.

3)保存

在插入模式下不能保存文件, 需要先回到普通模式. 按下Esc回到普通模式.

在普通模式下输入 :w, 再按下回车即可保存文件.

4)退出

在插入模式下不能退出, 需要回到普通模式.

 退出时分为以下情况:

①文件未修改: 输入 :q, 再按下回车, 即可退出

②文件修改并保存: 使用:wq同时进行保存和退出.

③文件修改,但不希望保存: 使用 :wq! 进行强制退出.

grep

语法: grep[参数]... [文件]...

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

选项:

-n<行数> 显示的行数.

-w 全字匹配. 要求整个单词都完全相同的结果匹配出来, 而不仅仅是一个单词的一部分.

-r 递归查找. 可以搜索多级目录下的所有文件.

--color 高亮查找到的结果

--include 指定查找到的某些文件

--exclude 指定排除某些文件

ps

语法: ps [参数]...

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

 选项:

a 显示一个终端的所有进程

u 以用户为主的格式来显示程序状况

x 显示所有程序, 不止是会话中的进程

e 显示所有进程, 包括系统守护进程

f 显示完整格式输出

举例:

 netstat

语法: netstat[参数]...

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

选项:

-a 显示所有正在监听的套接字

-n 显示数字形式地址而不是去解析主机, 端口或用户名

-p 显示套接字所属进程的PID和名称.

 管道

管道是一种古老的"进程间通信"方式. 在Linux指令中可以使用 | 作为管道标记.

意思是将前一个指令标准输出的内容, 作为第二个指令标准输入内容.

举例:

ps -ef | grep "java"

apt

apt是Linux软件包管理工具. 用于相关linux发行版上安装, 更新, 删除和管理deb软件包

大多数apt命令必须以具有sudo权限的用户身份运行.

切换root用户: sudo su

apt常用命令

列出所有软件包:

apt list 

更新软件包数据库:

sudo apt-get update  

安装软件包:

sudo apt install package_name 

移除安装包:

sudo apt remove package_name 

remove命令将卸载给定的软件包, 但可能会留下一些配置文件. 如果要删除包含所有配置文件的软件包, 请使用purge而不是remove.

apt remove 和 apt purge区别

apt remove 删除包的二进制文件, 它留下了残留的配置文件.

apt purge删除包相关的所有内容, 包括配置文件. 


http://www.ppmy.cn/server/41696.html

相关文章

Github20K星开源团队协作工具:Zulip

Zulip&#xff1a;让团队协作的每一次交流&#xff0c;都精准高效。- 精选真开源&#xff0c;释放新价值。 概览 随着远程工作的兴起和团队协作的需求不断增加&#xff0c;群组聊天软件成为了日常工作中不可或缺的一部分。Zulip 是github上一个开源的团队协作工具&#xff0c;…

【并发程序设计】4. exec函数族

4.exec函数族 exec函数族是一组用于在进程中启动另一个程序来替换当前进程的函数。 exec函数族主要用于在当前进程内部执行一个新的程序&#xff0c;而不会创建新的进程。 子进程调用exec函数&#xff0c;族父进程不受影响。进程当前内容被指定的程序替换&#xff0c;但进程…

创建和选择数据库

如果管理员在设置权限时为您创建了数据库&#xff0c;您可以开始使用它。否则&#xff0c;您需要自己创建&#xff1a; mysql> CREATE DATABASE menagerie; 在Unix系统下&#xff0c;数据库名称区分大小写&#xff08;与SQL关键词不同&#xff09;&#xff0c;因此您必须始…

Nginx生产环境最佳实践之配置灰度环境

你好呀&#xff0c;我是赵兴晨&#xff0c;文科程序员。 下面的内容可以说是干货满满建议先收藏再慢慢细品。 今天&#xff0c;我想与大家深入探讨一个我们日常工作中不可或缺的话题——灰度环境。你是否在工作中使用过灰度环境&#xff1f;如果是&#xff0c;你的使用体验如…

苍穹外卖-day01(SpringBoot+SSM的企业级Java项目实战)

苍穹外卖-day01 课程内容 软件开发整体介绍 苍穹外卖项目介绍 开发环境搭建 导入接口文档 Swagger 项目整体效果展示&#xff1a; 管理端-外卖商家使用 用户端-点餐用户使用 当我们完成该项目的学习&#xff0c;可以培养以下能力&#xff1a; 1. 软件开发整体介绍 作为…

数据结构--链表的基本操作

1. 链表的概念及结构 概念&#xff1a;链表是⼀种物理存储结构上⾮连续、⾮顺序的存储结构&#xff0c;数据元素的逻辑顺序是通过链表 中的指针链接次序实现的 。 链表也是线性表的一种。 链表的结构跟⽕⻋⻋厢相似&#xff0c;淡季时⻋次的⻋厢会相应减少&#xff0c;旺季时…

c++ 各版本特性介绍

c C是一种高级编程语言&#xff0c;以其强大的功能、灵活性和高效性而闻名。它是由Bjarne Stroustrup在20世纪80年代初期在贝尔实验室开发的&#xff0c;作为C语言的一个扩展。C不仅包含了C语言的所有特性&#xff0c;还引入了面向对象编程&#xff08;OOP&#xff09;的概念&…

Centos 6.10 安装oracle10.2.0.1

由于阿里云机房要下架旧服务器&#xff0c;单位未购买整机迁移服务&#xff0c;且业务较老不兼容Oracle11g&#xff0c;所以新购买一台新服务器进行安装Oracle10.2.0.1 &#xff0c;后续再将数据迁移到新服务器上。 对外ip 内部ip 数据库版本 操作系统版本 实例名 源库 1…