Linux的基础指令

目录

学习目的

常用命令

ls

pwd

cd

认识Linux目录结构

绝对路径vs相对路径

小撬门

touch

cat

mkdir

rm

cp

mv

tail

vim

1) 创建文件 / 打开文件 创建文件 / 打开文件)

2)进入插入模式进入插入模式)

3)保存保存)

4)退出退出)

grep

ps

[​编辑 netstat](#编辑 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删除包相关的所有内容, 包括配置文件.

相关推荐
韩楚风1 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学1 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Ambition_LAO1 小时前
解决:进入 WSL(Windows Subsystem for Linux)以及将 PyCharm 2024 连接到 WSL
linux·pycharm
Pythonliu72 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我2 小时前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
追风赶月、2 小时前
【Linux】进程地址空间(初步了解)
linux
栎栎学编程2 小时前
Linux中环境变量
linux
我是哈哈hh2 小时前
专题十_穷举vs暴搜vs深搜vs回溯vs剪枝_二叉树的深度优先搜索_算法专题详细总结
服务器·数据结构·c++·算法·机器学习·深度优先·剪枝
郭二哈2 小时前
C++——模板进阶、继承
java·服务器·c++
挥剑决浮云 -2 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记