linux常用命令

姜智浩 Lv5

远程连接 ssh

Linux上不能复制粘贴 并且大部份时候其实Linux是运行在服务器上的 个人不会直接在服务器上使用 大多数时候是管理人员给你一个IP地址和用户名 通过远程连接 因此我们使用ssh远程连接 现在的电脑都自带openssh 打开终端(window上叫cmd)
运行

1
ssh 用户名@IP地址

用户名在Linux中运行whoami即可查看
IP地址运行ip a即可查看

运行后按回车 第一次会让你确认是否连接 输入yes

网络

查看虚拟机的IP

1
2
3
4
5
6
7
ip a

# 或者
ip addr

# 或者
ifconfig

查看网络接口信息 例如我运行ip a时显示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
zhihaojiang@linux-24-10:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host noprefixroute
valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:0c:29:73:b0:46 brd ff:ff:ff:ff:ff:ff
altname enp2s0
inet 172.16.79.129/24 brd 172.16.79.255 scope global ens160
valid_lft forever preferred_lft forever
inet6 fe80::20c:29ff:fe73:b046/64 scope link proto kernel_ll
valid_lft forever preferred_lft forever

可以看到172.16.79.129就是这台Linux的IP

修改静态IP

在Ubuntu中

1
sudo nano /etc/netplan/00-installer-config.yaml

将文件中的改为

1
2
3
4
5
6
7
8
9
10
network:
version: 2
renderer: networkd
ethernets:
ens33:
dhcp4: no
addresses: [192.168.1.102/24] # 改成新IP
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 1.1.1.1]

保存后执行

1
sudo netplan apply

ping

运行

1
ping ip

可以查看当前虚拟机网络是否畅通
若畅通 则其会显示(以ping baidu.com为例)

1
2
3
4
5
6
7
└─(21:46:47 on main ✖ ✭)──> ping baidu.com                                  ──(一, 922)─┘
PING baidu.com (39.156.70.37): 56 data bytes
64 bytes from 39.156.70.37: icmp_seq=0 ttl=52 time=29.018 ms
64 bytes from 39.156.70.37: icmp_seq=1 ttl=52 time=29.395 ms
64 bytes from 39.156.70.37: icmp_seq=2 ttl=52 time=29.145 ms
64 bytes from 39.156.70.37: icmp_seq=3 ttl=52 time=29.567 ms
^C

curl

下载或访问网页

1
curl -O http://xxx/file.zip

wegt

下载文件

1
wget http://xxx/file.tar.gz

目录

pwd

显示当前路径

1
2
└─(21:57:08 on main ✖ ✭)──> pwd                                             ──(一, 922)─┘
/Users/jiangzhihao

运行后显示我当前在 /Users/jiangzhihao

ls

列出目录内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
└─(21:57:10 on main ✖ ✭)──> ls                                              ──(一, 922)─┘
Adlm
Applications
CodeGeeXProjects
Creative Cloud Files zhihaojiangzhj@126.com C9F41D6A65B065A70A495C64@AdobeID
Desktop
Documents
Downloads
Library
Movies
Music
Pictures
Public
Sunlogin
Sunlogin Files
Virtual Machines.localized
dify
exo
jupyter_notbook_saved_code
protocol_config.conf
scikit_learn_data
yolov5s.pt
yolov8n.pt

运行后会列出我当前目录中的文件名称

cd

切换目录
回家

1
cd ~
1
2
# 切换到hadoop/etc/hadoop
cd hadoop/etc/hadoop

mkdir

创建目录

1
2
# 在当前目录下创建了一个叫fold的目录
mkdir fold

rmdir

删除空目录

1
2
# 删除叫fold的目录(注:目录中一定是空的 否则无法删除)
rmdir fold

rm

删除文件

1
2
# 删除一个叫file.txt的文件
rm file.txt

cp

复制文件

1
2
# 复制file1.txt并叫file2.txt
cp file1.txt file2.txt

mv

重命名或移动文件

1
2
# 把old.txt改成new.txt
mv old.txt new.txt
1
2
# 把file.txt移动到/home/
mv file.txt /home/

touch

创建空文件

1
2
# 创建一个叫newfile.txt的空文件
touch newfile.txt

cat

查看文件内容

1
2
# 查看file.txt中的内容
cat file.txt

文本编辑 查看

nano

一个十分简单的编辑器 相当于你右键新建一个txt文本后打开进行编辑
各种操作都在下面会标注出来
例如 ctrl+o是保存 ctrl+x是关闭

vim vi

这是世界上最强大的编辑器 任何语言都可以用它来进行编写 其精髓在于快捷键 学习曲线非常陡峭 不过用得好的人可以用的飞起

grep

文本搜索神器

1
2
# 在logfile.txt中搜索error
grep "error" logfile.txt

wc

统计行/词/字符

1
2
# 统计行数
wc -l file.txt

sort

排序

1
2
# 对文件内的内容进行排序
sort file.txt

系统信息

uname -a

查看系统内核信息

hostname

查看主机名

df -h

查看磁盘空间

free -h

查看内存使用

top /htop

实时查看进程和资源占用

ps aux

查看所有进程

kill [PID]

杀死进程

kill -9 [PID]

强制杀死进程

whoami

查看当前用户

who

查看谁登录了系统

uptime

查看系统运行时间

history

查看命令历史

fastfetch

一个非常好看的查看系统信息的工具

1
2
3
4
5
# 需要安装
apt install fastfetch

# 安装好后运行
fastfetch

权限 用户管理

chmod

修改文件权限

sudo

以管理员身份执行

su

切换用户

passwd

修改密码

  • Title: linux常用命令
  • Author: 姜智浩
  • Created at : 2025-09-22 11:45:14
  • Updated at : 2025-09-24 16:24:06
  • Link: https://super-213.github.io/zhihaojiang.github.io/2025/09/22/20250924linux常用命令/
  • License: This work is licensed under CC BY-NC-SA 4.0.