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删除包相关的所有内容, 包括配置文件.

相关推荐
Linux运维老纪7 分钟前
Ansible 铸就 Linux 安全之盾(Ansible Builds Linux Security Shield)
linux·服务器·网络·安全·云计算·ansible·运维开发
唐青枫22 分钟前
Linux apropos 命令使用详解
linux
刘大猫.31 分钟前
Centos Ubuntu RedOS系统类型下查看系统信息
linux·ubuntu·centos·ip·ifconfig·redos·查询系统信息
YuSun_WK2 小时前
程序&进程&多任务&线程
linux·运维·服务器
HeLLo_a1193 小时前
第11章 安全网络架构和组件(一)
linux·服务器·网络
南川琼语3 小时前
TCP概念+模拟tcp服务器及客户端
linux·服务器·网络·tcp/ip
潘yi.7 小时前
web技术与nginx网站环境部署
服务器·网络·nginx
安顾里8 小时前
Linux命令-iostat
linux·运维·服务器
whoarethenext8 小时前
初始https附带c/c++源码使用curl库调用
服务器·c++·qt·https·curl
100编程朱老师8 小时前
面试:什么叫Linux多路复用 ?
linux·运维·服务器