文件和目录操作命令
ls – 列出目录内容
-
格式: ls [选项] [文件/目录]
-
常用选项:
-l | 显示详细信息 |
---|---|
-a | 显示隐藏文件 |
-h | 人类可读格式 |
-
示例:
注意 :<span>ls -l </span>
和 <span>ll </span>
通常是等效的,都用于显示目录内容的详细列表。ls -l
是个常用的命令,为了提高工作效率,一些Linux发行版将其别名为 ll
,以便用户可以更方便地输入。
cd – 切换当前工作目录
-
格式: cd [切换的目录]
-
示例:
pwd – 显示当前工作目录绝对路径
-
格式: pwd
-
示例:
mkdir – 创建新目录
-
格式: mkdir 新目录名
-
示例:
touch – 创建新文件或修改文件时间戳
-
格式: touch 新文件名
-
示例:
cp – 复制文件或目录
-
格式:
cp [选项] 源文件/目录 目标文件/目录
-
常用选项:
-r 递归复制 -v 显示详细信息 -
示例:
mv – 移动或重命名文件或目录
-
格式: mv [选项] 源文件或目录 目标文件或目录
-
示例:
rm – 删除文件或目录
-
格式:
rm [选项] 文件/目录
-
常用选项:
-r 递归删除 -f 强制删除 -
示例:
文本处理命令
cat – 连接文件并打印到标准输出设备
-
格式: cat 已存在的文件
-
示例:
find – 在文件系统中查找文件。
-
格式:
find [路径] [选项] [表达式]
-
常用选项:
-name pattern
根据文件名进行匹配 -type type
根据文件类型进行匹配(如 f
表示文件,d
表示目录)-size [+|-]size
根据文件大小进行匹配 -user user
根据文件所有者进行匹配 -group group
根据文件所属组进行匹配 -mtime [+|-]days
根据文件修改时间进行匹配 -
示例:
grep – 在文件中查找字符串模式
-
格式:
grep [选项] [表达式] [文件]
-
常用选项:
-i
忽略大小写 -r
递归搜索 -n
显示行号 -
示例:
head – 显示文件开头几行。
-
格式:
head [选项] [文件]
-
常用选项:
-n
指定显示的行数,默认为10行 -c
指定显示的字节数 -q
不显示文件名 -v
显示文件名 -
示例:
-
显示文件的前10行内容:head file.txt -
显示多个文件的前10行内容:head file1.txt file2.txt -
显示标准输入的前10行内容(通过管道):cat filename.txt | head
tail – 显示文件末尾几行。
格式:tail [选项] [文件]
常用选项:
-n |
显示文件末尾的行数。默认为10行 |
---|---|
-f | 实时跟踪文件末尾的内容,等待文件增长 |
-c | 显示文件末尾的字节数 |
-v |
显示文件名 |
-
示例:
-
显示文件末尾10行内容:tail file.txt -
实时跟踪文件末尾的内容:tail -f file.txt
more – 分页查看文本内容
-
格式: more 文件
-
示例:
more
会逐页显示文件的内容。用户可以按下空格键来向下翻页,按下q
键来退出more
命令。more
命令只支持向下翻页,不支持向上翻页或跳转到特定行。相比于more
,less
具有更多的特性和功能。
less – 显示文件内容,并允许向前或向后翻页。
-
格式: less [选项] 文件
-
常用选项:
-N | 显示每行的行号 |
---|---|
-i | 忽略搜索时的大小写 |
-S | 长行自动换行显示 |
-F | 在文件只有一页时,不进行分页,直接显示文件内容 |
-
less功能按键:
-
空格键(Space): 向下翻页。 -
b键: 向上翻页。 -
回车键(Enter): 向下滚动一行。 -
上箭头键和下箭头键: 向上和向下滚动一行。 -
/: 进入搜索模式,输入要搜索的字符串,然后按下回车键。按下n键可以继续向下搜索,按下N键可以向上搜索。 -
q键: 退出 less
命令。
vim – 文本编辑器
-
格式: vim 文件
-
注意:如果文件不存在,保存时候vim会创建一个新文件。
授权类命令
chmod – 修改文件或目录的权限
(1)数字形式修改权限 :
-
格式: chmod [选项] 数字模式 [文件/目录]
-
常用选项: -
-R
:递归地修改目录及其下所有文件和子目录的权限 -
示例: -
chmod 777 file.txt:
将文件file.txt
设置为所有用户可读、写、执行权限 -
chmod -R 777 folder:
设置文件夹folder
及其所有子目录和文件的权限
扩展:
数字模式是一种表示权限的简便方式,使用数字来表示文件或目录的权限。它的计算方式是将权限分为三组:用户权限、组权限和其他用户权限, 每组权限又分为读、写和执行权限,分别用数字 4、2、1 来表示 。以如下为例:
chmod 644 file
其中:
文件所有者权限为 6(4+2,可读可写)。 组权限为 4(只读)。 其他用户权限为 4(只读)
(2)符号形式修改权限 :
-
格式: chmod [ugoa][+-=][rwx] [文件/目录]
-
符号说明:
符号类型 | 符号 | 说明 |
---|---|---|
分组符号 | u |
表所有者(User) |
g |
所属组(Group) | |
o |
其他用户(Others) | |
a |
所有用户(User、Group、Others) | |
关联符号 | + | 添加权限; |
– | 移除权限 | |
= | 设置权限 | |
权限符号 | r |
读权限(Read) |
w |
写权限(Write) | |
x |
执行权限(eXecute) | |
- |
无权限 |
-
示例: -
给文件所有者添加执行权限:chmod u+x filename
chown – 用于修改文件或目录的所有者
-
格式 :
chown [选项] 用户名 [文件/目录]
-
常用选项 :
-
-R
:递归地修改目录及其子目录下的所有者。 -
示例:
-
将文件 file.txt
的所有者修改为用户user1
:chown user1 file.txt
-
将目录 folder
及其所有子目录和文件的所有者修改为用户user2
:chown -R user2 folder
扩展: 同时修改所属用户和用户组:chown [用户名]:[用户组名] [文件/目录]
chgrp – 用于修改文件或目录的所属用户组
-
格式 :
chgrp [选项] 用户组名 文件名
-
说明 :用于修改文件或目录的所属用户组。
-
常用选项 :
-
-R
:递归地修改目录及其子目录下的所属用户组。 -
示例:
-
将文件 file.txt
的所属用户组修改为用户组group1
:chgrp group1 file.txt
-
将目录 folder
及其所有子目录和文件的所属用户组修改为用户组group2
:chgrp -R group2 folder
系统管理命令
top – 实时显示系统的资源占用情况和进程信息
-
格式: top
-
示例:
free – 显示内存使用情况
-
格式: free [选项]
-
常用选项: -
-m:以MB为单位显示内存大小 -
-g:以GB为单位显示内存大小 -
-t:在输出末尾添加一行总计信息,显示总计的内存使用情况 -
示例:
打印出来的信息说明:
字段 | 说明 |
---|---|
total | 内存总大小 |
used | 使用的内存 |
free | 除了 buff/cache 剩余的内存 |
Shared | 共享内存 |
Buff/cact | 缓冲、缓存区内存数 |
available | 真实剩余的可用内存数 |
ps – 显示当前进程信息
-
格式: ps [选项]
-
特殊选项:aux,由三个独立的选项组合而成的: -
a
:显示所有用户的进程,而不仅仅是当前用户的进程。 -
u
:以详细的格式显示进程信息,包括用户、进程ID、CPU占用率、内存占用等。 -
x
:显示没有控制终端的进程,通常是守护进程或后台进程。 -
常用选项: -
-e :显示所有进程。 -
-f :显示完整的进程信息。 -
-l :显示长格式的进程信息。 -
-a :显示除控制进程和无终端进程之外的所有进程。 -
-x :显示没有控制终端的进程。 -
-u user :显示特定用户的进程。 -
-p pid :显示特定进程ID的进程。 -
-C command :显示特定命令名的进程。 -
-o format :自定义输出格式。 -
–sort key :按照指定的键值对进程进行排序显示。 -
–forest :以树形结构显示进程。 -
示例: -
显示所有用户的详细进程信息:ps aux -
列出系统的所有进程信息:ps -ef
打印出来的信息说明:
字段 | 说明 |
---|---|
USER | 进程的用户名,表示该进程是由哪个用户启动的 |
PID | 进程ID,唯一标识系统中的每个进程 |
%CPU | CPU使用率,表示进程占用CPU的百分比 |
%MEM | 内存使用率,表示进程占用内存的百分比 |
VSZ | 虚拟内存大小(Virtual Size),表示进程虚拟内存的大小,以KB为单位 |
RSS | 常驻内存集(Resident Set Size),表示进程实际使用的物理内存大小,以KB为单位 |
TTY | 控制终端,表示进程关联的控制终端 |
STAT | 进程状态,包括运行状态(R)、睡眠状态(S)、僵尸状态(Z)等 |
START | 进程启动时间,表示进程启动的时间点 |
TIME | CPU时间,表示进程累计占用CPU的时间 |
COMMAND | 进程的命令行,表示启动进程时使用的命令和参数 |
扩展:
1)只显示包含指定进程名的行:ps aux | grep <进程名>
2)ps -ef 和 ps aux 两者都可用于列出系统的所有进程信息,但ps aux更适合快速查看当前系统中的进程情况。
kill – 终止进程
-
格式: kill [选项] PID
-
常用选项: -
-9:表示强制终止进程 -
示例: -
终止进程ID为3252的进程: kill -9 3252
扩展:
执行命令ps -ef | grep <进程名>可获取进程ID(PID); 用
jps 命令获取正在运行的Java进程的进程ID(PID)及其对应的Java主类名称。
df – 显示磁盘空间使用情况
-
格式: df [选项]
-
常用选项: -
-h:使用人类可读的格式显示磁盘空间大小(例如,KB、MB、GB等) -
-T:显示文件系统类型 -
-t <类型>:仅显示指定类型的文件系统 -
–total:显示总计信息,包括所有文件系统的总空间、已用空间和可用空间 -
示例: df -h
du – 显示文件和目录的磁盘使用情况
-
格式: du [选项] 目录
-
常用选项: -
-h
:以人类可读的方式显示文件大小,例如KB、MB、GB等。 -
-s
:显示指定目录的总大小,而不显示其子目录的大小。 -
-a
:显示所有文件的大小,包括隐藏文件。 -
-c
:显示总大小,同时显示每个子目录的大小。 -
-k
:以KB为单位显示文件大小。 -
-m
:以MB为单位显示文件大小。 -
-B <block-size>
:设置块大小,可以指定以字节、KB、MB等为单位的块大小。 -
示例:
uname – 显示系统信息。
-
格式: uname [选项]
-
常用选项: -
-a
:显示全部系统信息。 -
-s
:显示系统内核名称。 -
-n
:显示网络节点主机名。 -
-r
:显示内核发布号。 -
-v
:显示内核版本。 -
-m
:显示机器硬件名称。 -
-p
:显示处理器类型或unknown。 -
-i
:显示硬件平台或unknown。 -
-o
:显示操作系统名称。 -
示例:
[root@linux100 ~]# uname -a
Linux linux100 4.15.0-70-generic #79-Ubuntu SMP Tue Nov 12 10:36:11 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
打印出来的信息说明:
字段 | 对应打印的值 | 说明 |
---|---|---|
操作系统类型 – Operating System Type | Linux | 显示操作系统类型,如Linux、Unix等。 |
主机名 – Hostname | linux100 | 显示当前主机的名称 |
内核版本 – Kernel Version | 4.15.0-70-generic | 显示当前系统正在使用的内核版本号 |
操作系统发行版版本号 – OS Distribution Version | #79 | 显示操作系统发行版的版本号。 |
操作系统发行版 – OS Distribution | Ubuntu | 显示操作系统的发行版信息,如Ubuntu、CentOS等。 |
操作系统架构 – Architecture | x86_64 | 显示操作系统的架构,如x86_64、i386等 |
service – 管理系统服务
-
格式:
service [选项] 服务名称 [命令]
-
start :启动指定的系统服务。 -
stop :停止指定的系统服务。 -
restart :重启指定的系统服务。 -
reload :重新加载指定的系统服务的配置文件,通常用于重新加载配置而不需要重启服务。 -
status :显示指定的系统服务的当前状态,如是否正在运行。 -
enable :设置指定的系统服务在系统启动时自动启动。 -
disable :禁用指定的系统服务,使其在系统启动时不自动启动。 -
list :列出系统中所有可用的系统服务。 -
选项:用于指定 service
命令的一些额外参数,如--status-all
用于显示所有系统服务的状态。 -
服务名称:要操作的系统服务的名称。 -
命令:指定要执行的操作 -
示例:
# 启动MySQL服务
service mysql start
# 重启Nginx服务
service nginx restart
# 查看SSH服务状态
service ssh status
# 设置Tomcat服务在系统启动时自动启动
service tomcat enable
systemctl- 管理系统服务(systemd系统)
-
格式: systemctl [选项] 命令 [服务名]
-
常用选项:
选项类型 | 选项 | 说明 |
---|---|---|
启动和停止服务 | start <服务名> |
启动指定的服务 |
stop <服务名> |
停止指定的服务 | |
重启和重载服务 | restart <服务名> |
重启指定的服务 |
reload <服务名> |
重新加载指定的服务配置,不会停止服务 | |
启用和禁用服务 | enable <服务名> |
设置服务为开机启动 |
disable <服务名> |
设置服务为不开机启动 | |
查看服务状态 | status <服务名> |
查看指定服务的状态 |
is-active <服务名> |
检查指定服务是否处于激活状态(运行中) | |
is-enabled <服务名> |
检查指定服务是否已设置为开机启动 | |
is-failed <服务名> |
检查指定服务是否失败 | |
显示所有服务列表 | list-units |
显示所有正在运行的单元(服务、套接字、设备等) |
list-unit-files |
显示所有可用的单元文件(服务配置文件) | |
查看日志 | journalctl |
显示的日志包含systemd日志 |
journalctl -u <服务名> |
显示指定服务的日志 |
-
示例:
# 启动mysql
systemctl start mysql
# 重启mysql
systemctl restart mysql
# 设置mysql为开机启动
systemctl enable mysql
# 检查mysql是否处于激活状态:
systemctl is-active mysql
shutdown – 关机或重启系统
reboot – 重启系统

原文始发于微信公众号(程序员储物箱):Linux常用关键操作命令(一)
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/289380.html