Linux常用命令
一、帮助命令
-
man
格式化并显示在线帮助手册页,manual(手册)的简写 -
help cd
获取shell内置命令的帮助信息 -
命令 --help
获取外置命令的帮助信息 -
reboot
、shutdown -r now
重启计算机 -
shutdown -h now
立刻关机
二、常用快捷键
-
ctrl + c
停止进程 -
ctrl + l(不是数字1)
清屏,等同于clear
(终端界面向上翻一页,以前的记录还在)reset
shell初始化,清除界面 -
Tab
自动补全
-
hostnamectl set-hostname 新主机名
更改主机名
三、文件目录类
以 . 开头的文件或文件夹是隐藏文件或文件夹
-
pwd
显示当前工作目录的绝对路径(从根目录 / 开始),内置命令 【print working directory】,pwd -P
忽视软链接,显示真正的目录 -
cd
切换路径,change directory,如果只有cd
root用户会切换到 /root 目录下,普通用户会切换到 /home/用户名 目录下 -
cd ..
返回上一级目录 -
cd -
返回上一次所在的目录 -
ls
列出目录内容 【list】 -
ls 路径
列出指定目录下的文件 -
ls -i
查看文件索引号 -
ls -a
列出目录所有的内容,包括隐藏文件 -
ls -l
长数据串列出,包含文件的属性与权限等数据。等同于ll
-
ls -al
结合上面的两个命令 -
type
用来显示指定命令的类型,判断给出的指令是内部指令还是外部指令。 -
mkdir a
在当前目录下创建文件夹 a ;在创建文件夹时可以指定创建的位置mkdir /a
-> 在根目录下创建文件夹 a 【make directory】 -
mkdir a b c
可以同时创建多个文件夹;创建嵌套文件夹 d/e/fmkdir d d/e d/e/f
-> 简写mkdir -p d/e/f
-
rmdir a
删除当前目录下的文件夹 a 【remove directory】 -
rmdir a b c
删除多个文件夹 -
rmdir -p d/e/f
会首先删除文件夹 f ,如果 f 文件夹被删除后,e 文件夹中没有任何内容,e 文件夹也会被删除,d 文件夹同理 -
touch 文件名称
在当前目录下创建文件(默认为 txt 格式),touch /home/user
在指定目录下创建文件 -
vim 文件名称
也可以创建文本文件,不过要进行保存:w
-
cp source dest
复制 source 文件到 dest 目录,如果此时 dest 是一个文件,Linux会提示是否覆盖(dest 文件的内容会替换为 source 文件的内容)掉 dest 文件,y 确定、n 否定 【copy】 -
\cp source dest
此时Linux不会提示,会直接覆盖,加上 \ 代表使用 Linux 的原生命令 -
cp -r
递归的复制整个文件夹 -
alias
查看命令别名
-
rm
删除文件或目录;rm -f
强制执行删除操作,Linux不会提示;rm -r
递归删除文件夹下的所有内容,rm -rf
不提示并进行递归删除 -
rm -rf /*
删除所有文件 -
rm -f ./*
删除当前目录下的所有文件 -
mv
移动文件或文件夹或重命名【move】 -
mv hello /home/user/1.cfg
将 hello 文件移动到 /home/user 下并重新命名为 1.cfg;mv hello hello2
重命名 hello 文件 -
cat
查看文件内容,从第一行开始显示 【catch】 -
cat -n
查看文件内容并显示行号包括空行 -
more
文件内容分屏查看器;Enter 向下翻一行、空格键向下翻一页、q 立即退出、= 输出当前行号、:f 输出文件名和当前行号 -
less
分屏显示文件内容(根据需要动态加载文件);G 跳转到结尾,g 跳转到开头,/字符串
向下搜索该字符串(n 向下,N 向上),q 立即退出,less -N
显示行号 -
echo
输出内容到控制台,echo -e
支持反斜线控制的字符转换,echo $HOSTNAME | hostname
显示主机名 -
>
输出重定向,>>
追加;ls > info
将 ls 命令查询出来的内容复制到文件 info (没有该文件则在当前目录下创建,如果有则覆盖原内容) -
head
显示文件头部信息(默认显示前 10 行),head -n x
显示文件前 x 行的内容 -
tail
显示文件尾部内容(默认显示后 10 行),tail -n x
显示文件后 x 行的内容,tail -f
实时追踪该文档的所有更新 -
ln
软链接(符号链接),类似于快捷方式,有自己的数据块,主要存放被链接文件的路径 【link】 -
ln -s [原文件或文件夹] [软链接名]
给原文件或文件夹创建一个软链接,删除用rm
;使用rm -rf 软链接名/
会删除将该文件夹下的文件 -
history
显示执行过的全部命令,history -c
清空历史记录,history x
显示最后执行过的 x 条命令
四、时间日期类
-
date
显示当前时间
-
date -s "2017-12-12 20:22:12"
设置系统时间,ntpdate 0.cn.pool.ntp.org
同步网络时间 -
cal
查看当前月的日历,cal 2024
查看2024年的日历 【calendar】
五、用户管理命令
-
useradd 用户名
添加新用户,会在 /home 下创建文件夹(名称为用户名),useradd -d /home/文件夹名 用户名
自定义用户文件夹名 -
passwd 用户名
为该用户设置密码 -
id 用户名
显示用户 id 以及所属组的 id,会先判断用户是否存在 -
cat | more | less /etc/passwd
查看 Linux 中所有的用户 -
su 用户名
切换用户 【switch user】 -
who am i
查看创建当前会话的用户,whoami
查看正在使用当前会话的用户 -
sudo 命令
为执行该命令的普通用户暂时赋予 root 权限,在此之前需要对 /etc 下的 sudoers 文件进行修改(添加用户)
-
userdel 用户名
删除用户, 该用户在 /home 路径下的文件夹不会被删除 ,userdel -r 用户名
删除用户及其文件夹
六、用户组命令
每个用户都有一个组,管理员组 -> wheel
-
groupadd 组名
增加用户组,新创建的用户默认属于与自己同名的组 -
usermod -g 组名 用户名
添加用户到该组中 -
groupmod -n 新组名 旧组名
更改组名 -
groupdel 组名
删除组 -
cat | more | less /etc/group
查看 Linux 下的所有组
七、文件权限类
Linux中不同的用户具有不同的权限,Linux对不同用户访问同一文件(包括目录)的权限做了不同的规定。
使用ls -l | ll
后文件或目录前显示的10个字符的含义:d
目录文件、r
读、w
写、x
执行、-
没有权限
-
chmod [{ugoa} {+-=} rwx] 文件或目录
改变文件或者目录的访问权限。u 属主;g 属组; o 其他用户;a 全部用户;= 赋予权限 -
chmod [mode = 4 | 2 | 1] 文件或目录
同上。1 -> x, 2 -> w,3 -> -wx,4 -> r, 5 -> r-x,6 -> rw-,7 -> rwx
为其他用户赋予 rw 权限
-
chmod 644 文件或目录
为 u 赋予 rw-,g 赋予 r--,o 赋予 r--权限 -
chmod -R 777 目录
修改该目录及其内部所有文件的权限 -
chown 用户 文件或目录
修改文件或目录的所有者,加上-R
表示对该目录下的文件递归地赋予权限 -
chgrp 组名 文件或目录
修改文件或目录的所有组
八、搜索查找类
-
find [范围] [name | user | size]
从指定目录向下递归遍历各个子目录,显示满足条件的文件或目录 -
find /root -name info
按名查找,在/root
目录下查找info
文件或文件夹 -
find /root -name "*.cfg"
在/root
下查询后缀名为.cfg
的文件(包括隐藏文件) -
find /home -user tony
查找属于用户 tony 的所有文件 -
find /root -size +2k
查找/root
下大于 2KB 的文件。+ 大于、- 小于。 -
单位可以是
c
(字节)、w
(字数)、b
(块数)、k
(KB)、M
(MB)或G
(GB)。 -
locate
快速定位文件路径(在 locate 数据库里进行查询),updatedb
更新 locate 数据库 -
which | whereis
查询命令所在的目录 -
grep -n boot initial-setup-ks.cfg
在文件中查找boot
关键字并显示行号 【global regular expression】 -
|
管道符,表示将前一个命令的处理结果交给后面的命令处理 -
wc info
显示 info 文件的行数、单词书和大小(字节)【word count】
-
grep -n ab initial-setup-ks.cfg | wc
统计文件中有关键词 ab 的行数,总单词数,大小
九、压缩和解压类
-
gzip 文件
压缩文件,只能压缩为*.gz
文件。只能压缩文件(目录不行)、压缩之后会删除原文件、同时压缩多个文件会产生多个压缩包 -
gunzip 文件
解压缩 -
zip
压缩文件或目录,会保留原文件 -
zip -r myroot.zip /root
压缩/root
目录下的所有文件,命名为myroot.zip
-
unzip
解压 -
unzip -d /tmp myroot.zip
解压myroot.zip
文件到/tmp
目录下 -
tar
打包,压缩后的文件格式为tar.gz
。
选项 | 功能 |
-c |
产生.tar 打包文件 |
-v |
显示详细信息 |
-f |
指定压缩后的文件名或要解压的文件 |
-z |
打包并压缩 |
-x |
解压缩.tar 文件 |
-C |
解压到指定目录 |
-
tar -zcvf temp.tar.gz test.txt info
打包并压缩test.txt和info
文件,命名为temp.tar.gz
-
tar -xvf temp.tar.gz -C /tmp
解压temp.tar.gz
文件到/tmp
目录中
十、磁盘和分区类
-
tree 目录
查看文件层级结构。安装命令yum install tree
-
du
查看文件和目录占用的磁盘空间 【disk usage】
选项 | 功能 |
-h |
会进行格式换算,方便阅读 |
-a |
显示目录和该目录下文件的大小 |
-c |
显示所有目录和文件的大小并显示总和 |
-s |
只显示总和 |
--max-depth=n |
统计目录深度为 n 的子目录 |
-
du /home --max-depth=1 -ah
统计/home
目录下深度为 1 的所有子目录
-
df
查看磁盘空间使用情况 【disk free】,-h
格式转换 -
free
显示内存的相关信息 -
lsblk
查看设备挂载情况,-f
显示详细信息 【block】 MOUNTPOINT -> 挂载点
-
mount
挂载文件到指定目录,mount /dev/cdrom /mnt/cdrom
-
umount
卸载挂载点,umount /dev/cdrom
和umonut /mnt/cdrom
均可 -
vim /etc/fstab
查看设备挂载信息
前一个 0 的位置代表是否开启备份(1 开启),后一个代表 0 的位置代表开机时fsck
检查的优先级(0 不检查、1 优先级最高、2 次之)
-
如果要设置开机自动挂载,需要添加以下的信息
-
fdisk -l
查看磁盘分区信息
十一、进程管理类
-
一个正在执行的程序和命令,被叫做进程(process),启动之后一直存在,常驻内存的进程,一般被叫做服务(service)
-
ps
查看当前系统进程状态【process status】PID
进程 ID,PPID
父进程 ID -
ps aux
查看系统中所有的进程(查看资源占用率),ps -ef
查看父子进程之间的关系
进程拥有者 进程ID 占用CPU 占用内存 虚拟内存(KB) 物理内存 终端 进程状态 进程启动时间 进程运行时间 执行的指令
-
tty1
图形化终端,tty2 ~ tty6
本地字符页面终端,pts/ 0 ~ 255
代表虚拟终端 -
kill PID
终止进程、kill -9 PID
强制终止进程,killall name
终止符合通配符 name 的所有进程 -
pstree
查看进程树,pstree -p
查看进程树并显示进程 ID,pstree -u
查看进程树并显示进程所属用户 -
top
实时监控系统进程状态,当前页面按下 P,以 CPU 占有率降序排序;按下 M,以内存占有率降序排序;按下 N,以 PID 降序排序 -
top -d 秒数
指定 top 命令刷新的间隔,默认为 3 秒,top -i
不显示闲置(从上一次显示到这次显示时,没有占用 CPU 的进程,不一定是 S 进程)或者僵死进程,top -p PID
监控指定 ID 的进程状态 -
在使用
top
命令之后的页面按下u
,切换指定用户所拥有的进程;按下k
,等同于kill
,之后发送信号 9(立即结束进程) -
netstat
显示网络状态和端口占用信息,IP 0.0.0.0 表示本机所有的 IPV4 地址,监听该地址代表监听本地所有地址,127.0.0.1(回环地址)
选项 | 功能 |
-a | 显示所有正在监听和未监听的套接字(socket) |
-n | 拒绝显示别名,尽量只显示数字 |
-l | 仅列出在监听的服务状态 |
-p | 显示哪个进程在调用 |
-
crontab
系统定时任务
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?