Linux 入门基础命令
标准命令格式
命令名称 【选项】 【参数】 【操作对象】
-
命令名称:核心动作(必填)
-
选项:修改命令行为(可选)
-
参数:选项或命令需要的具体值(可选)
-
操作对象:命令作用的目标(如文件、目录、进程等,可选)
-
严格区分大小写
一 ,文件与目录操作类
1),pwd
实例:
[root@localhost ~]# pwd
/root
解释:显示当前工作目录的绝对路径
2),ls
实例
root@localhost local]# ls
bin etc games include lib lib64 libexec sbin share src
解释:查看目录下的内容
常用选项:
| 选项 | 说明 |
|---|---|
| -a | 显示所有文件,包括隐藏文件(以 . 开头的文件)。 |
| -A | 显示所有文件,不包含 .(当前目录)和 ..(上级目录)。 |
| -l | 显示所有文件,不包含 .(当前目录)和 ..(上级目录)。 |
| -h | 与 -l 配合使用,人性化以易读格式显示文件大小(如 1K、234M)。 |
| -d | 仅显示目录本身,而非目录内的文件(常用于查看目录属性)。 |
| -F | 显示文件类型标识符(如 / 表示目录,\* 表示可执行文件)。 |
| -i | 显示文件类型标识符(如 / 表示目录,\* 表示可执行文件)。 |
3),cd
实例:
[root@localhost local]# cd /var/log/messages
-bash: cd: /var/log/messages: Not a directory
[root@localhost local]#
解释:切换目录
常用快捷键路径符号:
| 符号 | 说明 |
|---|---|
cd ~ | 切换到当前用户的家目录(等价于 cd 不加参数)。 |
cd - | 切换到上一次所在的目录(类似“后退”功能)。 |
cd .. | 切换到上级目录(可叠加,如 cd ../../ 返回上两级)。 |
cd / | 切换到根目录。 |
cd 目录名 | 切换到当前目录。 |
4),mdkir
实例:
[root@localhost ~]# ls
anaconda-ks.cfg test.sh
[root@localhost ~]# mkdir ./dufu
[root@localhost ~]# ls
anaconda-ks.cfg dufu test.sh
解释:创建一个新的目录
常用选项:
| 选项 | 说明 |
|---|---|
| -p | 递归创建多级目录(自动创建不存在的父目录) |
5),touch
实例:
[root@localhost ~]# touch test.txt
[root@localhost ~]# ls
anaconda-ks.cfg dufu test.txt
解释:创建一个新的文件(如果文件存在会更新时间戳)
6),cp
实例:
root@localhost ~]# ls
anaconda-ks.cfg dufu test.txt
[root@localhost ~]# cp test.txt ./test1.txt
[root@localhost ~]# ls
anaconda-ks.cfg dufu test1.txt test.txt
解释:复制文件或者目录
常用选项:
| 选项 | 说明 |
|---|---|
| -p | 保留文件属性(包括权限、所有者、时间戳等)。 |
| -r | 递归复制目录(复制目录及其所有子目录和文件)。 |
| -f | 强制覆盖(不提示确认,直接覆盖目标文件)。 |
| -i | 交互模式(覆盖文件前提示确认)。 |
7),rm
实例:
[root@localhost ~]# ls
anaconda-ks.cfg dufu test1.txt test.txt
[root@localhost ~]# rm -rf test1.txt test.txt
[root@localhost ~]# ls
anaconda-ks.cfg dufu
解释:删除
常用选项:
| 选项 | 说明 |
|---|---|
| -r或-R | 递归删除目录及其内部的所有内容。 |
| -f | 强制删除文件,无需任何提示*。* |
8),mv
实例:
[root@localhost ~]# ls
anaconda-ks.cfg dufu
[root@localhost ~]# mv dufu /usr/local/
[root@localhost ~]# ls /usr/local/
bin dufu etc games include lib lib64 libexec sbin share src
解释:移动文件或者目录位置(如果文件位置在当前位置那么执行mv等同于从命名)
9),cat
实例:
[root@localhost ~]# echo "这是我的文件" > ./dufu.txt
[root@localhost ~]# ls
anaconda-ks.cfg dufu.txt
[root@localhost ~]# cat dufu.txt
这是我的文件
解释:查看文件或者目录并在屏幕上显示信息
10),more
实例:
[root@localhost ~]# ls
anaconda-ks.cfg dufu.txt
[root@localhost ~]# more dufu.txt
这是我的文件
这是我的文件
这是我的文件
这是我的文件
这是我的文件
这是我的文件
这是我的文件
这是我的文件
这是我的文件
这是我的文件
——更多——(16%)
解释:分页查看文件内容最简单的用法上下键操控
11),less
实例:
[root@localhost ~]# less dufu.txt
这是我的文件
这是我的文件
这是我的文件
这是我的文件
这是我的文件
这是我的文件
:/文件
解释:跟more一样都有分页查看功能但是less支持搜索功能更加强大
- 支持正则搜索、标记跳转等高级功能,交互性更强。
12),tail
实例:
[root@localhost ~]# tail /var/log/messages
Apr 7 16:13:38 localhost dnf[9091]: EPOL 3.9 kB/s | 2.3 kB 00:00
Apr 7 16:13:39 localhost dnf[9091]: debuginfo 3.0 kB/s | 2.2 kB 00:00
Apr 7 16:13:41 localhost dnf[9091]: source 1.6 kB/s | 2.6 kB 00:01
Apr 7 16:13:43 localhost dnf[9091]: update 1.0 kB/s | 2.6 kB 00:02
Apr 7 16:14:18 localhost dnf[9091]: update 373 kB/s | 13 MB 00:34
Apr 7 16:14:20 localhost dnf[9091]: update-source 3.7 kB/s | 2.6 kB 00:00
Apr 7 16:14:23 localhost dnf[9091]: update-source 164 kB/s | 438 kB 00:02
Apr 7 16:14:23 localhost dnf[9091]: Metadata cache created.
Apr 7 16:14:23 localhost systemd[1]: dnf-makecache.service: Deactivated successfully.
Apr 7 16:14:23 localhost systemd[1]: Finished dnf makecache.
解释:显示末尾内容(默认是后十行)
常用选项:
| 选项 | 说明 |
|---|---|
| -f | 动态查看末尾内容(时实更新)通常用于查看日志。 |
13),head
实例:
[root@localhost ~]# ls
anaconda-ks.cfg dufu.txt
[root@localhost ~]# head dufu.txt
这是我的文件
这是我的文件
这是我的文件
这是我的文件
这是我的文件
解释:显示文件头部内容
常用选项:
| 选项 | 说明 |
|---|---|
| -n | 显示文件前 N 行(默认显示前 10 行) |
| -c | 显示文件前 N 个字节(如 -c 100 显示前 100 字节) |
| -q | 隐藏多文件操作时的文件名标题 |
| -v | 始终显示文件名标题 |
14),grep
实例:
[root@localhost ~]# grep "^#" ./anaconda-ks.cfg
# Generated by Anaconda 36.16.5
# Generated by pykickstart v3.48
#version=DEVEL
# Use graphical install
# Keyboard layouts
# System language
# Use hard drive installation media
# Run the Setup Agent on first boot
# Generated using Blivet version 3.8.2
# Partition clearing information
# Disk partitioning information
# System timezone
# Root password
[root@localhost ~]#
解释:文本搜索工具,用于在文件或输入流中快速匹配指定模式(支持正则表达式)
常用选项:
| 选项 | 说明 |
|---|---|
| -i | 忽略大小写(如 grep -i "error" log.txt) |
| -v | 反向匹配(显示不包含模式的行) |
| -n | 显示匹配行的行号 |
二 ,权限管理
1),chmod
实例:
[root@localhost ~]# echo "test" > 测试.sh
[root@localhost ~]# ls
测试.sh anaconda-ks.cfg
[root@localhost ~]# chmod +x 测试.sh
[root@localhost ~]# ll
总计 8
-rwxr-xr-x. 1 root root 5 4月 7日 15:43 测试.sh
-rw-------. 1 root root 1086 2025年 4月 7日 anaconda-ks.cfg
解释:修改文件权限
常用选项:
| 选项 | 说明 |
|---|---|
| -r | 读取权限(文件可查看,目录可列出内容) |
| -w | 写入权限(文件可修改,目录可创建/删除文件) |
| -x | 执行权限(文件可运行,目录可进入) |
权限分配对象:
- u (user):文件所有者**
- g (group):所属用户组
- o (others):其他用户
- a (all):所有用户(相当于
u+g+o)
2),chown
实例:
[root@localhost ~]# ll
总计 4
-rw-------. 1 root root 1086 2025年 4月 7日 anaconda-ks.cfg
-rw-r--r--. 1 root root 0 4月 7日 15:33 test.txt
[root@localhost ~]# chown dufu:dufu test.txt
[root@localhost ~]# ll
总计 4
-rw-------. 1 root root 1086 2025年 4月 7日 anaconda-ks.cfg
-rw-r--r--. 1 dufu dufu 0 4月 7日 15:33 test.txt
解释:修改文件所有者
常用选项:
| 选项 | 说明 |
|---|---|
| -R | 递归修改目录及其内部所有文件和子目录的所有者 / 所属组(处理目录时常用)。 |
| -v | 显示详细的操作过程(显示每个被修改的文件)。 |
| 语法 | chown [选项] 新所有者[:新所属组] 文件或目录 |
三 ,系统信息与监控
1),top
实例:
[root@localhost ~]# top
top - 15:37:11 up 12 min, 2 users, load average: 0.00, 0.00, 0.00
Tasks: 144 total, 1 running, 143 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 1424.6 total, 600.6 free, 448.4 used, 532.4 buff/cache
MiB Swap: 4096.0 total, 4096.0 free, 0.0 used. 976.2 avail Mem
解释:实时查看系统资源占用
常用选项:
| 选项 | 说明 |
|---|---|
| -d <秒数> | 设置刷新间隔(默认 3 秒),如 -d 5 表示每 5 秒刷新一次。 |
| -n <次数> | 指定 top 运行的次数,达到次数后自动退出,如 -n 2 运行两次。 |
| -u <用户> | 仅显示指定用户的进程,如 -u admin 只显示用户 admin 的进程。 |
| -m | 显示内存使用的详细信息(包括缓存、缓冲区等)。 |
2) ,ps
实例:
[root@localhost ~]# ps
PID TTY TIME CMD
8903 pts/0 00:00:00 bash
9037 pts/0 00:00:00 ps
解释:查看进程状态
常用选项:
| 选项 | 说明 |
|---|---|
| a | 显示所有终端的进程(除会话 leader 和无终端的进程)。 |
| u | 显示指定用户的进程(或按用户友好格式输出,如用户名、启动时间)。 |
| x | 显示无终端的进程(用于查看后台服务)。 |
3),free
实例:
[root@localhost ~]# free -h
total used free shared buff/cache available
Mem: 1.4Gi 437Mi 610Mi 5.8Mi 532Mi 986Mi
Swap: 4.0Gi 0B 4.0Gi
解释:查看内存使用
常用选项:
| 选项 | 说明 |
|---|---|
| free -h | 自动转换为 GB/MB,包含 available 字段 |
| free -t -h | 显示物理内存和交换内存的总计行 |
| free -s 1 -c 5 | 每秒刷新一次,共 5 次,观察短期内存变化 |
4) ,df
实例:
[root@localhost ~]# df -hT
文件系统 类型 大小 已用 可用 已用% 挂载点
/dev/mapper/openeuler-root ext4 191G 1.8G 180G 1% /
devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev
tmpfs tmpfs 713M 0 713M 0% /dev/shm
tmpfs tmpfs 4.0M 0 4.0M 0% /sys/fs/cgroup
tmpfs tmpfs 285M 5.8M 280M 3% /run
tmpfs tmpfs 713M 0 713M 0% /tmp
/dev/nvme0n1p2 ext4 974M 174M 733M 20% /boot
解释:查看磁盘空间
常用选项:
| 选项 | 说明 |
|---|---|
| -h | 以人类可读的格式显示(自动转换为 KB/MB/GB,推荐使用)。 |
| -T | 显示文件系统类型(如 ext4、xfs、nfs 等)。 |
5),du
实例:
[root@localhost ~]# du -ah
4.0K ./.viminfo
4.0K ./.config/procps
8.0K ./.config
4.0K ./.ssh
4.0K ./.bash_profile
4.0K ./test.txt
4.0K ./.tcshrc
4.0K ./anaconda-ks.cfg
4.0K ./.bashrc
4.0K ./.bash_logout
4.0K ./.cshrc
48K .
解释:查看目录或文件磁盘占用空间的命令,可递归计算目录大小、定位大文件 / 目录。
常用选项:
| 选项 | 说明 |
|---|---|
| -s | 仅显示目录 / 文件的总大小(Summary,不递归子目录)。 |
| -a | 显示每个文件的大小(包括子目录中的所有文件)。 |
| -h | 以人类可读的格式显示(自动转换为 KB/MB/GB,推荐使用)。 |
可以du -ah du -sh使用
6) ,uname
实例:
[root@localhost ~]# uname -a
Linux localhost.localdomain 6.6.0-72.0.0.76.oe2403sp1.x86_64 #1 SMP Fri Dec 27 12:13:01 CST 2024 x86_64 x86_64 x86_64 GNU/Linux
解释:查看系统信息
常用选项:
| 选项 | 说明 |
|---|---|
| -a | 显示内核、主机名、版本、架构等所有信息 |
| -s | 内核名称 |
| -n | 主机名(如当前服务器名称) |
| -r | 内核版本** |
| -m | 硬件架构 |
7),uptime
实例:
[root@localhost ~]# uptime
16:00:50 up 36 min, 2 users, load average: 0.00, 0.01, 0.00
解释:查看系统运行时间与负载
常用选项:
| 选项 | 说明 |
|---|---|
| -p | 以更易读的格式显示系统运行时间(如 2 hours, 15 minutes)。 |
| -s | 显示系统启动时间(精确到秒) |
四 ,网络相关
1 ),ping
实例:
[root@localhost ~]# ping baidu.com
PING baidu.com (39.156.66.10) 56(84) 字节的数据。
64 字节,来自 39.156.66.10 (39.156.66.10): icmp_seq=1 ttl=128 时间=47.4 毫秒
64 字节,来自 39.156.66.10 (39.156.66.10): icmp_seq=2 ttl=128 时间=53.5 毫秒
解释:测试网络连通性
2),curl
实例:
[root@localhost aaa]# curl -i 127.0.0.1
HTTP/1.1 200 OK
Server: nginx/1.24.0
Date: Mon, 07 Apr 2025 08:28:51 GMT
Content-Type: text/html
Content-Length: 19
Last-Modified: Mon, 07 Apr 2025 08:28:13 GMT
Connection: keep-alive
ETag: "67f38c9d-13"
Accept-Ranges: bytes
这是我的网站
解释:下载文件/访问网页
常用选项:
| 选项 | 说明 |
|---|---|
| -i | 显示服务器返回的 HTTP 头部信息(包含状态码、响应头)。 |
| -x | 指定 HTTP 方法(如 GET、POST、PUT、DELETE),默认 GET。 |
| -H | 添加自定义请求头(如 -H "Authorization: Bearer TOKEN")。 |
| -o | 按远程文件名保存文件(如下载 https://dufu.com/file.zip 为 file.zip)。 |
| -v | 显示详细的通信过程(用于调试,包含 DNS 解析、TCP 连接、响应头细节)。 |
3 ), wget
实例:
[root@localhost aaa]# wget https://example.com/file.zip
--2025-04-07 16:34:10-- https://example.com/file.zip
正在解析主机 example.com (example.com)... 96.7.128.198, 23.192.228.80, 23.192.228.84, ...
正在连接 example.com (example.com)|96.7.128.198|:443... 已连接。
解释:下载文件/访问网页
常用选项:
| 选项 | 说明 |
|---|---|
| -o | 下载并保存为指定文件名 |
| -P | 下载到指定目录 |
4),scp
实例:
[root@localhost aaa]# scp root@192.168.10.101:/usr/local/bbb/1.text ./
Authorized users only. All activities may be monitored and reported.
root@192.168.10.101's password:
1.text 100% 7 10.4KB/s 00:00
解释:安全复制文件到远程主机
常用选项:
| 选项 | 说明 |
|---|---|
| -r | 递归传输目录(包含子文件和子目录)。 |
| -p | 保留文件权限、时间戳等元数据。 |
场景:
本地到远程 :上传文件/目录
# 上传单个文件到远程主机(默认端口 22)
scp local_file.txt user@remote.com:/remote/path/
# 上传目录(需加 -r,否则报错)
scp -r local_dir/ user@remote.com:/remote/path/
远程到本地:下载文件/目录
# 下载单个文件到本地当前目录
scp user@remote.com:/remote/file.txt ./
# 下载目录(需加 -r)
scp -r user@remote.com:/remote/dir/ ./local_dir/
# 下载时重命名文件
scp user@remote.com:/remote/old_name.txt ./new_name.txt
5),ifconfig
实例:
[root@localhost ~]# ifconfig
ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.10.102 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 fe80::20c:29ff:febc:4a7d prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:bc:4a:7d txqueuelen 1000 (Ethernet)
RX packets 42331 bytes 58890594 (56.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 11883 bytes 775241 (757.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
解释:查看网卡信息
6),netstat
实例:
[root@localhost ~]# netstat -anpt
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 8919/sshd: /usr/sbi
tcp 0 52 192.168.10.102:22 192.168.10.1:52017 ESTABLISHED 9124/sshd: root [pr
tcp 0 0 192.168.10.102:22 192.168.10.1:52018 ESTABLISHED 9131/sshd: root [pr
tcp 0 0 192.168.10.102:22 192.168.10.1:53948 ESTABLISHED 8929/sshd: root [pr
tcp 0 0 192.168.10.102:22 192.168.10.1:53949 ESTABLISHED 8938/sshd: root [pr
tcp6 0 0 :::22 :::* LISTEN 8919/sshd: /usr/sbi
解释:查看网络连接状态
常用选项:
| 选项 | 说明 |
|---|---|
| -a | 显示所有连接(包括监听和非监听状态)。 |
| -t | 仅显示 TCP 连接。 |
| -u | 仅显示 UDP 连接。 |
| -p | 显示占用端口的进程及其 PID(需 root 权限)。 |
五 ,压缩与解压
1),tar
实例:
[root@localhost ~]# tar cvf dufu.tar aaa bbb 11 22
aaa/
bbb/
11
22
解释:归档
常用选项:
| 选项 | 说明 |
|---|---|
| -c | 创建 |
| -f | 指定 tar 包文件名如dufu.tar |
| -v | 显示详细操作过程(如正在处理的文件名)。 |
| -p | 保留文件权限(默认保留,解压时慎用)。 |
2),gzip
实例:
[root@localhost ~]# gzip 11
[root@localhost ~]# ls
11.gz 22 aaa anaconda-ks.cfg bbb dufu.tar
**解释:**压缩 (解压缩 -d 或 unzip 包名)
3),bzip2
实例:
[root@localhost ~]# ls
11.gz 22.bz2 aaa anaconda-ks.cfg bbb dufu.tar
**解释:**压缩 (解压缩 -d )
六 ,用户与群组
1),useradd
实例:
[root@localhost ~]# useradd libai -s /sbin/nologin
**解释:**添加用户
常用选项:****
| 选项 | 说明 |
|---|---|
| -u | 指定用户 ID(默认从 1000 开始分配,系统用户 UID < 1000)。 |
| -g | 指定主组 ID 或组名(默认创建同名主组,GID 与 UID 相同)。 |
| -G | 指定附加组 |
| -s | 指定登录 shell(默认 /bin/bash,可设为 /bin/nologin 禁止登录)。 |
| -M | 不创建家目录 |
2),passwd
实例:
[root@localhost ~]# useradd dufu
[root@localhost ~]# passwd dufu
更改用户 dufu 的密码 。
新的密码:
**解释:**密码
3),usermod
实例:
[root@localhost ~]# usermod libai -s /bin/bash
[root@localhost ~]# tail -1 /etc/passwd
dufu:x:1001:1001::/home/dufu:/bin/bash
**解释:**修改用户
常用选项:
| 选项 | 说明 |
|---|---|
| -l | 修改用户名(原主目录会自动重命名,需配合 -d 迁移目录时用)。 |
| -u | 修改用户 ID(需确保 UID 未被占用,系统用户 UID < 1000)。 |
-g | 修改主组(用户必须属于存在的组,主组只能有一个)。 |
| -G | 修改附加组(覆盖原有附加组,多个组用逗号分隔,追加用 -aG)。 |
| -a | 与 -G 配合,追加附加组(不覆盖原有组)。 |
-d | 修改主目录路径(需配合 -m 迁移现有文件,否则仅修改记录)。 |
-m | 与 -d 配合,迁移主目录内容到新路径(原目录会被删除)。 |
-s | 修改登录 shell(如 /bin/zsh,设为 /sbin/nologin 禁止登录)。 |
-e | 设置账户过期日期(过期后无法登录)。 |
-L | 锁定用户密码(禁止登录,对应 passwd -l)。 |
-U | 解锁用户密码(对应 passwd -u)。 |
-f | 设置密码过期后账户的非活动天数(需先设置密码有效期)。 |
4),groupadd
实例:
[root@localhost ~]# groupadd aaa
[root@localhost ~]# cat /etc/group
aaa:x:1003:
解释:添加组
常用选项:
| 选项 | 说明 |
|---|---|
| -g | 指定组 ID(默认从 1000 开始分配,系统组 GID < 1000)。 |
| -r | 创建系统组(GID < 1000,用于系统服务,如 www-data、ftp)。 |
| -o | 允许 GID 重复(通常不建议,除非兼容旧系统)。 |
| -p | 设置组密码(需加密哈希值,不建议直接写明文,用 grpasswd 更安全)。 |
| -f | 强制创建组(若组已存在,静默忽略错误)。 |
七 ,进程管理
1),kill
实例:
[root@localhost ~]# ps aux | grep httpd
root 9668 0.1 0.3 18676 11224 ? Ss 16:51 0:00 /usr/sbin/httpd -DFOREGROUND
apache 9669 0.0 0.1 18840 6664 ? S 16:51 0:00 /usr/sbin/httpd -DFOREGROUND
apache 9670 0.0 0.2 1568284 8672 ? Sl 16:51 0:00 /usr/sbin/httpd -DFOREGROUND
apache 9671 0.0 0.2 1437148 8556 ? Sl 16:51 0:00 /usr/sbin/httpd -DFOREGROUND
apache 9672 0.0 0.2 1437148 8556 ? Sl 16:51 0:00 /usr/sbin/httpd -DFOREGROUND
root 9850 0.0 0.2 21988 7960 pts/2 S+ 16:51 0:00 grep --color=auto httpd
[root@localhost ~]# killall httpd
[root@localhost ~]# netstat -anpt | grep httpd
[root@localhost ~]#
**解释:**杀死进程
常用选项:
| 选项 | 说明 |
|---|---|
| -l | 列出信号编号和名称 |
| -9 | 强制 |
| -all | 按名字杀死 |
| -stop -cont | 暂停/回复进程 |

5462

被折叠的 条评论
为什么被折叠?



