Linux 入门基础命令

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  4715:43 测试.sh
-rw-------. 1 root root 1086 202547日 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 202547日 anaconda-ks.cfg
-rw-r--r--. 1 root root    0  4715:33 test.txt
[root@localhost ~]# chown dufu:dufu test.txt 
[root@localhost ~]# ll
总计 4
-rw-------. 1 root root 1086 202547日 anaconda-ks.cfg
-rw-r--r--. 1 dufu dufu    0  4715: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 方法(如 GETPOSTPUTDELETE),默认 GET
-H添加自定义请求头(如 -H "Authorization: Bearer TOKEN")。
-o按远程文件名保存文件(如下载 https://dufu.com/file.zipfile.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-dataftp)。
-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暂停/回复进程
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值