Linux命令速查

简介: Linux命令速查

Linux基础命令

Linux的目录结构

  • /,根目录是最顶级的目录了
  • Linux只有一个顶级目录:/
  • 路径描述的层次关系同样适用/来表示
  • /home/itheima/a.txt,表示根目录下的home文件夹内有itheima文件夹,内有a.txt

Liunx目录解析

根目录(/):

根目录是 Linux 文件系统的顶级目录,所有其他目录都从这里出发,是整个文件系统的入口点。

/bin:

存放供所有用户(包括 root 用户和普通用户)使用的基本二进制可执行文件。这些命令是系统正常运行所必需的,比如ls(列出目录内容)、cd(切换目录)、cp(复制文件)等。在终端中输入ls /bin,会看到许多常见命令的可执行文件。

/boot:

包含系统启动时需要用到的文件,如内核文件(vmlinuz)、初始内存磁盘映像文件(initrd.img)以及引导加载程序(如 GRUB 相关文件)

/etc:

存放系统配置文件,这些文件控制着系统和各种服务的行为。包括网络配置(/etc/network/interfaces)、用户认证(/etc/passwd、/etc/shadow)、服务启动脚本等。

/home:

普通用户的主目录,每个普通用户在这个目录下都有一个以自己用户名命名的子目录,用于存放个人数据和配置文件。

/root:

系统管理员(root 用户)的主目录,与普通用户的主目录 /home 相对应。

/run:

存放系统启动后运行时产生的信息,如进程 ID 文件(pid 文件),用于记录正在运行的进程的 PID,方便系统管理和监控。

/sbin:

存放系统管理相关的二进制可执行文件,这些命令通常只能由 root 用户执行,用于系统维护、配置和修复等操作,如init(系统初始化进程)、ifconfig(配置网络接口)等。

/tmp:

用于存放临时文件,系统和应用程序在运行过程中产生的临时数据都可以存放在这里。通常在系统重启时,该目录下的内容会被清空。

/usr:

存放用户级的应用程序、库文件、文档等,类似于 Windows 系统中的 “Program Files” 目录。它包含了许多子目录:

/usr/bin:存放普通用户使用的应用程序二进制文件。

/usr/lib:存放应用程序使用的共享库文件。

/usr/share:存放共享数据,如帮助文档、图标、字体等。

/var:

存放系统运行过程中不断变化的数据,比如日志文件(/var/log)、邮件队列(/var/spool/mail)、数据库文件等。

/etc:

/etc 是 Linux 系统中一个非常重要的目录,用于存放系统和各种服务的配置文件

ls命令

功能:列出文件夹信息

语法:ls [-l -h -a] [参数]

  • 参数:被查看的文件夹,不提供参数,表示查看当前工作目录
  • -l,以列表形式查看
  • -h,配合-l,以更加人性化的方式显示文件大小
  • -a,显示隐藏文件

隐藏文件、文件夹

在Linux中以.开头的,均是隐藏的。

默认不显示出来,需要-a选项才可查看到。

pwd命令

功能:展示当前工作目录

语法:pwd

cd命令

功能:切换工作目录

语法:cd [目标目录]

参数:目标目录,要切换去的地方,不提供默认切换到当前登录用户HOME目录

HOME目录

每一个用户在Linux系统中都有自己的专属工作目录,称之为HOME目录。

  • 普通用户的HOME目录,默认在:/home/用户名
  • root用户的HOME目录,在:/root

FinalShell登陆终端后,默认的工作目录就是用户的HOME目录

相对路径、绝对路径

  • 相对路径,/开头的称之为相对路径
    相对路径表示以当前目录作为起点,去描述路径,如test/a.txt,表示当前工作目录内的test文件夹内的a.txt文件
  • 绝对路径,/开头的称之为绝对路径
    绝对路径从开始描述路径

特殊路径符

  • .,表示当前,比如./a.txt,表示当前文件夹内的a.txt文件
  • ..,表示上级目录,比如../表示上级目录,../../表示上级的上级目录
  • ~,表示用户的HOME目录,比如cd ~,即可切回用户HOME目录

mkdir命令

功能:创建文件夹

语法:mkdir [-p] 参数

  • 参数:被创建文件夹的路径
  • 选项:-p,可选,表示创建前置路径

touch命令

功能:创建文件

语法:touch 参数

  • 参数:被创建的文件路径

cat命令

功能:查看文件内容

语法:cat 参数

  • 参数:被查看的文件路径

more命令

功能:查看文件,可以支持翻页查看

语法:more 参数

  • 参数:被查看的文件路径
  • 在查看过程中:
  • 空格键翻页
  • q退出查看

cp命令

功能:复制文件、文件夹

语法:cp [-r] 参数1 参数2

  • 参数1,被复制的
  • 参数2,要复制去的地方
  • 选项:-r,可选,复制文件夹使用

示例:

  • cp a.txt b.txt,复制当前目录下a.txt为b.txt
  • cp a.txt test/,复制当前目录a.txt到test文件夹内
  • cp -r test test2,复制文件夹test到当前文件夹内为test2存在

mv命令

功能:移动文件、文件夹

语法:mv 参数1 参数2

  • 参数1:被移动的
  • 参数2:要移动去的地方,参数2如果不存在,则会进行改名

rm命令

功能:删除文件、文件夹

语法:rm [-r -f] 参数...参数

  • 参数:支持多个,每一个表示被删除的,空格进行分隔
  • 选项:-r,删除文件夹使用
  • 选项:-f,强制删除,不会给出确认提示,一般root用户会用到

rm命令很危险,一定要注意,特别是切换到root用户的时候。

which命令

功能:查看命令的程序本体文件路径

语法:which 参数

  • 参数:被查看的命令

find命令

功能:搜索文件

语法1按文件名搜索:find 路径 -name 参数

  • 路径,搜索的起始路径
  • 参数,搜索的关键字,支持通配符*, 比如:*test表示搜索任意以test结尾的文件

grep命令

功能:过滤关键字

语法:grep [-n] 关键字 文件路径

  • 选项-n,可选,表示在结果中显示匹配的行的行号。
  • 参数,关键字,必填,表示过滤的关键字,带有空格或其它特殊符号,建议使用””将关键字包围起来
  • 参数,文件路径,必填,表示要过滤内容的文件路径,可作为内容输入端口

参数文件路径,可以作为管道符的输入

wc命令

功能:统计

语法:wc [-c -m -l -w] 文件路径

  • 选项,-c,统计bytes数量
  • 选项,-m,统计字符数量
  • 选项,-l,统计行数
  • 选项,-w,统计单词数量
  • 参数,文件路径,被统计的文件,可作为内容输入端口

参数文件路径,可作为管道符的输入

管道符|

写法:|

功能:将符号左边的结果,作为符号右边的输入

示例:

cat a.txt | grep itheima,将cat a.txt的结果,作为grep命令的输入,用来过滤itheima关键字

可以支持嵌套:

cat a.txt | grep itheima | grep itcast

echo命令

功能:输出内容

语法:echo 参数

  • 参数:被输出的内容

`反引号

功能:被两个反引号包围的内容,会作为命令执行

示例:

  • echo `pwd`,会输出当前工作目录

tail命令

功能:查看文件尾部内容

语法:tail [-f] 参数

  • 参数:被查看的文件
  • 选项:-f,持续跟踪文件修改

head命令

功能:查看文件头部内容

语法:head [-n] 参数

  • 参数:被查看的文件
  • 选项:-n,查看的行数

重定向符

功能:将符号左边的结果,输出到右边指定的文件中去

  • >,表示覆盖输出
  • >>,表示追加输出

vi编辑器

命令模式快捷键

底线命令快捷键

命令的选项

我们学习的一系列Linux命令,它们所拥有的选项都是非常多的。

比如,简单的ls命令就有:-a -A -b -c -C -d -D -f -F -g -G -h -H -i -I -k -l -L -m -n -N -o -p -q -Q -r-R -s -S -t -T -u -U -v -w -x -X -1等选项,可以发现选项是极其多的。

课程中, 并不会将全部的选项都进行讲解,否则,一个ls命令就可能讲解2小时之久。

课程中,会对常见的选项进行讲解, 足够满足绝大多数的学习、工作场景。

查看命令的帮助

可以通过:命令 --help查看命令的帮助手册

查看命令的详细手册

可以通过:man 命令查看某命令的详细手册

Linux常用操作

软件安装

  • CentOS系统使用:
  • yum [install remove search] [-y] 软件名称
  • install 安装
  • remove 卸载
  • search 搜索
  • -y,自动确认
  • Ubuntu系统使用
  • apt [install remove search] [-y] 软件名称
  • install 安装
  • remove 卸载
  • search 搜索
  • -y,自动确认

yum 和 apt 均需要root权限

systemctl

功能:控制系统服务的启动关闭等

语法:systemctl start | stop | restart | disable | enable | status 服务名

  • start,启动
  • stop,停止
  • status,查看状态
  • disable,关闭开机自启
  • enable,开启开机自启
  • restart,重启

软链接

功能:创建文件、文件夹软链接(快捷方式)

语法:ln -s 参数1 参数2

  • 参数1:被链接的
  • 参数2:要链接去的地方(快捷方式的名称和存放位置)

日期

语法:date [-d] [+格式化字符串]

  • -d 按照给定的字符串显示日期,一般用于日期计算
  • 格式化字符串:通过特定的字符串标记,来控制显示的日期格式
  • %Y 年%y 年份后两位数字 (00…99)
  • %m 月份 (01…12)
  • %d 日 (01…31)
  • %H 小时 (00…23)
  • %M 分钟 (00…59)
  • %S 秒 (00…60)
  • %s 自 1970-01-01 00:00:00 UTC 到现在的秒数

示例:

  • 按照2022-01-01的格式显示日期

  • 按照2022-01-01 10:00:00的格式显示日期

  • -d选项日期计算
  • 支持的时间标记为:

时区

修改时区为中国时区

ntp

功能:同步时间

安装:yum install -y ntp

启动管理:systemctl start | stop | restart | status | disable | enable ntpd

手动校准时间:ntpdate -u ntp.aliyun.com

ip地址

格式:a.b.c.d

  • abcd为0~255的数字

特殊IP:

  • 127.0.0.1,表示本机
  • 0.0.0.0
  • 可以表示本机
  • 也可以表示任意IP(看使用场景)

查看ip:ifconfig

主机名

功能:Linux系统的名称

查看:hostname

设置:hostnamectl set-hostname 主机名

配置VMware固定IP

  1. 修改VMware网络,参阅PPT,图太多
  2. 设置Linux内部固定IP
    修改文件:/etc/sysconfig/network-scripts/ifcfg-ens33
    示例文件内容:
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"      # 改为static,固定IP
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="yes"
IPV6_AUTOCONF="yes"
IPV6_DEFROUTE="yes"
IPV6_FAILURE_FATAL="no"
IPV6_ADDR_GEN_MODE="stable-privacy"
NAME="ens33"
UUID="1b0011cb-0d2e-4eaa-8a11-af7d50ebc876"
DEVICE="ens33"
ONBOOT="yes"
IPADDR="192.168.88.131"   # IP地址,自己设置,要匹配网络范围
NETMASK="255.255.255.0"   # 子网掩码,固定写法255.255.255.0
GATEWAY="192.168.88.2"    # 网关,要和VMware中配置的一致
DNS1="192.168.88.2"     # DNS1服务器,和网关一致即可

ps命令

功能:查看进程信息

语法:ps -ef,查看全部进程信息,可以搭配grep做过滤:ps -ef | grep xxx

kill命令

nmap命令

netstat命令

功能:查看端口占用

用法:netstat -anp | grep xxx

ping命令

测试网络是否联通

语法:ping [-c num] 参数

wget命令

curl命令

top命令

功能:查看主机运行状态

语法:top,查看基础信息

可用选项:

交互式模式中,可用快捷键:

df命令

查看磁盘占用

iostat命令

查看CPU、磁盘的相关信息

sar命令

查看网络统计

环境变量

  • 临时设置:export 变量名=变量值
  • 永久设置:
  • 针对用户,设置用户HOME目录内:.bashrc文件
  • 针对全局,设置/etc/profile

PATH变量

记录了执行程序的搜索路径

可以将自定义路径加入PATH内,实现自定义命令在任意地方均可执行的效果

$符号

可以取出指定的环境变量的值

语法:$变量名

示例:

echo $PATH,输出PATH环境变量的值

echo ${PATH}ABC,输出PATH环境变量的值以及ABC

如果变量名和其它内容混淆在一起,可以使用${}

压缩解压

压缩

tar -zcvf 压缩包 被压缩1...被压缩2...被压缩N

  • -z表示使用gzip,可以不写

zip [-r] 参数1 参数2 参数N

解压

tar -zxvf 被解压的文件 -C 要解压去的地方

  • -z表示使用gzip,可以省略
  • -C,可以省略,指定要解压去的地方,不写解压到当前目录

unzip [-d] 参数

su命令

切换用户

语法:su [-] [用户]

sudo命令

比如:

itheima ALL=(ALL)       NOPASSWD: ALL

在visudo内配置如上内容,可以让itheima用户,无需密码直接使用sudo

chmod命令

修改文件、文件夹权限

语法:chmod [-R] 权限 参数

  • 权限,要设置的权限,比如755,表示:rwxr-xr-x

  • 参数,被修改的文件、文件夹
  • 选项-R,设置文件夹和其内部全部内容一样生效

chown命令

修改文件、文件夹所属用户、组

语法:chown [-R] [用户][:][用户组] 文件或文件夹

用户组管理

用户管理

genenv命令

  • getenv group,查看系统全部的用户组

  • getenv passwd,查看系统全部的用户

env命令

查看系统全部的环境变量

语法:env

相关文章
|
4月前
|
JSON 自然语言处理 数据库
详解ElasticSearch1-基础使用
摘要:本文探讨了数据库模糊搜索的局限性及Elasticsearch(ES)的优势。数据库模糊查询存在性能低、功能单一等问题,而ES通过倒排索引技术实现高效搜索,支持复杂查询需求。文章详细介绍了ES的核心概念、安装部署、索引库操作(CRUD)、文档管理及Java API集成方法,并对比了ES与MySQL的适用场景。最后演示了批量导入文档的实践方案,为海量数据搜索场景提供了专业解决方案。(149字)
|
4月前
|
JSON 自然语言处理 算法
详解ElasticSearch2-进阶使用
Elasticsearch查询DSL分为叶子查询和复合查询两大类。叶子查询包括全文检索(match/multi_match)、精确查询(term/range)和地理查询等;复合查询则通过bool组合多个查询条件,或使用function_score修改相关性算分。查询结果支持排序、分页(注意深度分页问题)和高亮显示。Java RestClient实现查询时,通过QueryBuilders构建查询条件,SearchRequest组织请求参数,并逐层解析SearchResponse结果。聚合功能包括Bucket分
|
4月前
|
算法 数据可视化
基于最小二乘(LS)算法的MIMO-OFDM信道估计MATLAB实现
基于最小二乘(LS)算法的MIMO-OFDM信道估计MATLAB实现
240 8
|
4月前
|
人工智能 监控 Linux
AI小龙虾OpenClaw开源Agent生态变现全指南:六大盈利路径+全平台部署与大模型配置实战
OpenClaw(社区昵称“小龙虾”)自2025年底推出以来,已成为全球增长最快的开源自主AI Agent项目,GitHub星标在两个月内突破20万,生态内创业项目超过150个,月度整体收益规模稳定在250万至270万人民币区间。作为一款支持本地优先部署、可通过主流即时通讯工具操控的AI执行框架,OpenClaw真正实现了从自然语言对话到真实环境操作的跨越,可直接操控文件、浏览器、API与脚本执行,具备极强的落地与变现潜力。
2053 0
|
4月前
|
人工智能 监控 Linux
OpenClaw(小龙虾)进阶完全指南:17大高手技巧+阿里云/本地部署+大模型配置完整版
OpenClaw(小龙虾)作为轻量化开源AI Agent,已经成为本地部署、任务执行、多平台接入的主流框架。但绝大多数用户只停留在“安装启动、简单对话”的初级阶段,完全没有发挥其长期记忆、技能工程化、多Agent协作、稳定值守、人格管理等真正实力。
1520 0
|
4月前
|
移动开发 NoSQL 算法
手撕Redis底层2-网络模型深度剖析
本文主要介绍了Linux系统的用户态与内核态空间划分、IO网络模型及Redis网络模型实现。首先,Linux将进程寻址空间分为用户空间和内核空间,通过权限隔离实现安全访问。其次,详细分析了阻塞IO、非阻塞IO、IO多路复用(select/poll/epoll)等网络模型的特点及性能差异,其中epoll模式效率最高。最后,重点解析了Redis的单线程网络模型实现,包括其选择单线程的原因、基于epoll的事件处理机制以及内存回收策略(过期淘汰和内存淘汰)。Redis通过IO多路复用技术实现高性能,并采用惰性删除
|
3月前
|
消息中间件 存储 监控
SpringBoot整合Kafka,实现高可用消息队列集群
Apache Kafka是一个分布式流处理平台,具有以下核心特性:高吞吐量、可扩展性、持久化存储、高可用性、分布式架构。
446 3
|
4月前
|
算法 Java C++
搜索算法刷题总结(DFS+BFS)
本文总结了DFS和BFS算法的基本模板及其典型应用。DFS部分包括指数型枚举、排列组合、N皇后问题等经典案例,展示了如何通过递归实现深度优先搜索。BFS部分涵盖了迷宫问题、马的遍历、洪水灌溉等场景,演示了使用队列实现广度优先搜索的方法。每种算法都提供了C++和Java的双语代码实现,包含状态标记、路径记录等关键步骤。文章还涉及剪枝优化、多源BFS等进阶技巧,为理解这两种基础搜索算法提供了全面参考。
|
4月前
|
算法 Java C++
数据结构总结
本文汇总了链表、栈与队列、二叉树等数据结构的常见算法实现,包括C++和Java两种语言版本。主要内容涵盖:链表操作(移除元素、反转、删除节点等)、栈与队列的实现及应用(括号匹配、逆波兰表达式等)、二叉树的遍历(前中后序、层序)及相关算法(求深度、路径和等)。每种算法均提供清晰的代码示例,适合快速查阅和参考学习。