【应届应知应会】Linux常用指令

SueWakeup

 个人主页:SueWakeup

系列专栏:学习技术栈

个性签名:保留赤子之心也许是种幸运吧

本文封面由 凯楠📸友情提供

目录

文件与目录管理

目录操作命令:

ls [选项] [目录或文件]

mkdir

文件操作命令:

cp [选项] 源文件或目录 目标文件或目录

rm [选项] 文件或目录

mv [选项] 源文件或目录 目标文件或目录

which 命令 显示命令所在位置

find [路径] [表达式]

cat [选项] [文件]

more / less / head / taill 命令

wc [参数] [文件]

grep [选项] [模式]

gzip [文件名]

tar [选项] [文件名]

创建归档文件

解压缩归档文件

查看归档文件内容

在归档中追加文件

用户及权限管理

用户和组的管理

groupadd [选项] 组名

groupdel 组名

useradd [选项] 用户名

passwd [用户名]

usermod [选项] 用户名

userdel [用户名]

id [用户名]

who / w

文件权限管理

 chmod 命令

chown 命令

vim 编辑器

行内命令模式

行间命令模式

字符串的查找

文件内容的复制粘贴删除

删除单个字符

输入模式

末行模式

禁用SELinux

磁盘及文件系统管理

对分区格式化 ext4/xfs 文件格式

挂载分区到挂载点上

临时挂载

卸载文件系统

将配置文件刷新重新挂载

查看全部分区的 UUID 和类型

开机自动挂载的配置文件

内核读取新分区表

swap 交换分区

LVM逻辑卷管理

文件系统的拓展

软件安装和管理

rpm

yum

服务管理和计划任务

服务管理

防火墙

查看进程

终止进程

任务的前台调度

计划任务

网络配置

手机端浏览本文章可能会出现 “目录”无法有效展示的情况,还请谅解!


文件与目录管理

目录操作命令:

cd    切换工作目录
pwd   查看当前工作目录所处位置

ls [选项] [目录或文件]

  • 用于查看目标目录或文件
ls [选项] [目录或文件]
ls -l     长格式显示,包括文件权限、所有者、大小等信息
ls -a     显示所有文件和目录,包括隐藏文件(以.开头的文件)
ls -h     与 -l 一起使用时,以可读性更好的方式显示文件大小(如 KB、MB、GB)
ls -r     逆序显示文件和目录列表
ls -t     按照文件修改时间排序
ls -S     按照文件大小排序
ls -R     递归列出目录及其子目录的内容
ls -d */  列出当前目录下的所有子目录
ls *.cfg  列出当前目录下所有以 .cfg 扩展名结尾的文件

* 匹配零个或多个字符。
? 匹配单个字符。

mkdir

  • 用于创建目录
mkdir dir0 dir1 dir2         同时创建多个目录,分别为 dir0、dir1 和 dir2
mkdir -p /tmp/practice/dir0  
创建递归目录,如果 /tmp/practice/ 不存在,mkdir 命令会先创建 practice 目录,
然后在其中创建 dir0 目录

rmdir [目录名]                删除空目录
du -sh [文件或目录名]         查看文件或目录的大小,并以易读的格式(如 KB、MB、GB)显示

文件操作命令:

touch             生成一个空文件,或者修改一个已存在文件的时间戳(访问时间和修改时间)
file 文件/目录     查看文件类型

cp [选项] 源文件或目录 目标文件或目录

  • 用于复制文件或目录
cp [选项] 源文件或目录  目标文件或目录
cp -r或-R 递归复制目录及其内容
cp -i     在覆盖目标文件前提示用户确认
cp -u     只在源文件比目标文件新或目标文件不存在时,才复制源文件
cp -v     详细模式,显示正在复制的文件名
cp -f     强制复制,如果目标文件已存在,则覆盖且不提示
cp -p     保留源文件或目录的属性,如时间戳、访问权限等

rm [选项] 文件或目录

  • 用于删除文件或目录
rm [选项] 文件或目录
rm -r或-R 递归删除目录及其中的所有文件和子目录
rm -f     强制删除,不提示用户确认
rm -i     在删除每个文件或目录前提示用户确认
rm -v     详细模式,显示正在删除的文件或目录名
rm -rf    强制递归删除目录及其中的所有文件和子目录,且不提示用户确认

mv [选项] 源文件或目录 目标文件或目录

  • 用于移动文件或目录,或者重命名文件或目录
mv [选项] 源文件或目录 目标文件或目录
mv  -i    在覆盖目标文件之前提示用户确认
mv  -u    只在源文件比目标文件新或目标文件不存在时,才移动或重命名源文件
mv  -v    详细模式,显示正在移动或重命名的文件名
mv  oldname.txt  newname.txt           
重命名文件的示例,将 oldname.txt 文件重命名为 newname.txt。

mv  file.txt     dir/                  将 file.txt 文件移动到 dir 目录下
mv  file.txt     dir/doc.txt          
将 file.txt 文件重命名为 doc.txt 并移动到 dir 目录下

mv  old_dir      new_location/new_dir  
将 old_dir 目录移动到 new_location 目录下,并将其重命名为 new_dir

mv  filel.txt file2.txt file3.txt dir/ 
将 file1.txt、file2.txt 和 file3.txt 这三个文件移动到 dir 目录下

which 命令 显示命令所在位置

find [路径] [表达式]

  • 用于在指定路径下查找符合表达式的文件
find [路径] [表达式] 
find  -name   按文件名查找
find  -type   按文件类型查找
find  -size   按文件大小查找
find  -mtime  按文件修改时间查找
find  -user   按文件所有者查找
find  -group  按文件所属组查找
find  /path -name 'file*'  用于查找匹配的文件
find 目录 -name 'file*'    在指定的目录下查找文件名包含 file 的所有文件
find 目录-type f/d         
f 表示查找普通文件,d 表示查找目录。例如,find /path -type f 会查找 /path 下的所有普通文件,而 find /path -type d 会查找所有的目录。

*匹配多个字符 
?匹配单个字符

cat [选项] [文件]

  • 用于查看文件内容
cat [选项] [文件]
cat -n 或 --number          为输出的每一行加上行号
cat -b 或 --number-nonblank 仅对非空行进行编号。
cat -A 或 --show-all        用于显示所有字符,包括不可见的字符(如制表符和行尾符)
cat file1.txt file2.txt     合并输出 file1.txt 和 file2.txt 的内容
cat file1.txt file2.txt > redirect.txt 
重定向 file1.txt 和 file2.txt 的合并输出到redirect.txt 文件中,如果 redirect.txt 已存在,则会覆盖

重定向输出 '>>'追加          
使用 >> 可以将输出追加到文件中,而不是覆盖文件。例如,cat file1.txt file2.txt >> redirect.txt 会将内容追加到redirect.txt 文件的末尾

more / less / head / taill 命令

  • 用于查看文件内容
more 文件名 用于分页查看文件内容
使用空格键翻到下一页,回车键查看下一行,b 键翻到上一页,q 键退出

less 文件名 用于分页查看文件内容
但与 more 不同的是,less 允许用户使用上下箭头键滚动一行或一页,q 键退出

head -n 文件名 用于查看文件的前 n 行内容
例如,head -n 10 file.txt 会显示 file.txt 文件的前10行

tail -n 文件名 用于查看文件的最后 n 行内容
例如,tail -n 10 file.txt 会显示 file.txt 文件的最后10行

tail -f 文件名 用于动态查看文件的内容,即实时显示文件内容的更新

wc [参数] [文件]

  • 根据参数输出统计信息
wc [参数] [文件]
wc -l     用于只统计行数
wc -w     用于只统计字数(word)
这里的“字”通常指的是由空白字符(如空格、制表符、换行符等)分隔的字符串

wc -c     用于只统计字节数
wc -L     用于显示最长行的长度。
wc 文件名 默认输出文件的行数、单词数和字节数。

grep [选项] [模式]

  • 在文件中搜索包含指定模式的行
grep [选项] [模式] 
grep -i 搜索时不区分大小写
grep -v 显示不匹配模式的行。
grep -r 或 -R 不仅在当前目录中搜索,还在子目录中搜索。
grep -l 用于只列出包含匹配行的文件名,而不显示匹配的具体内容
grep -n 用于显示匹配行及其行号
grep -w 用于只匹配整个单词,即模式必须是一个完整的单词,而不是单词的一部分
grep '关键词' 文件  用于从文件中过滤出包含“关键词”的行
grep '关键词$' 文件 用于从文件中过滤出以“关键词”结尾的行
cat /etc/passwd | grep root 显示 /etc/passwd 文件中包含“root”的行

gzip [文件名]

  • 使用GNU zip压缩算法压缩文件
gzip 文件名
将指定的文件压缩,并在原文件所在位置创建一个同名但扩展名为 .gz 的压缩文件
原文件会被替换为压缩后的文件
gzip -d 文件名.gz
解压缩指定的 .gz 文件,并恢复其原始内容

tar [选项] [文件名]

  • 用于创建、查看、解包和修改tar归档文件
tar -c  用于创建一个新的tar归档文件
例如,tar -czvf archive.tar.gz /path/to/directory 会创建一个名为 archive.tar.gz 的归档文件,其中包含 /path/to/directory 目录的内容,并使用gzip进行压缩

tar -C  用于解包时指定目录
例如,tar -xzf archive.tar.gz -C /new/path 会将 archive.tar.gz 解压到 /new/path 目录。

tar -d 用于从tar归档文件中删除某个文件。
例如,tar -rf archive.tar --delete /path/to/file 会从 archive.tar 中删除 /path/to/file。

tar -r 用于将文件追加到tar归档文件中
例如,tar -rf archive.tar /path/to/file 会将 /path/to/file 追加到 archive.tar 中。

tar -x  用于解压缩tar归档文件中的文件及目录
例如,tar -xzf archive.tar.gz 会解压 archive.tar.gz。

tar -f ARCHIVE  用于指定将要创建或已存在的归档文件名
例如,tar -czvf -f archive.tar.gz /path/to/directory。

tar -v  用于显示命令整个执行过程
例如,tar -czvf archive.tar.gz /path/to/directory。

tar -z  用于对归档文件使用gzip压缩
例如,tar -czvf archive.tar.gz /path/to/directory。

tar 命令的选项可以组合使用,例如 -czvf 是 -c(创建)、-z(gzip压缩)、-v(详细输出)和 -f(指定文件名)的组合。
创建归档文件
tar -cvf a.tar file1 file2 
创建一个名为 a.tar 的归档文件,并将 file1 和 file2 添加到归档中。

tar -czvf a.tar.gz dir 
创建一个名为 a.tar.gz 的归档文件,并将 dir 目录及其内容压缩为 gzip 格式。
解压缩归档文件
tar -xvf a.tar 解压缩名为 a.tar 的归档文件
tar -xzvf a.tar.gz 解压缩名为 a.tar.gz 的 gzip 压缩归档文件
查看归档文件内容
tar -tvf a.tar 以详细模式显示名为 a.tar 的归档文件中的文件列表
tar -tzvf a.tar.gz 以详细模式显示 a.tar.gz 的 gzip 压缩归档文件中的文件列表
在归档中追加文件
tar -rvf a.tar newfile 将 newfile 追加到名为 a.tar 的归档文件中

用户及权限管理

用户和组的管理

用户账号文件默认位置:
/etc/passwd  包含用户账号信息,如用户名、用户ID、用户主目录等
/etc/shadow  包含用户密码信息的加密版本,通常用于存储加密后的密码

组账号文件默认位置:
/etc/group   包含组账号信息,如组名、组ID、组成员等

groupadd [选项] 组名

  • 创建新组
groupadd -g,--gid     指定新组的组ID
groupadd -r,--system  创建系统组

groupdel 组名

  • 删除组

useradd [选项] 用户名

  • 创建新用户
useradd -u uid 号   指定新用户的用户ID
useradd -g 组名或号 指定新用户的初始组
useradd -G 附加组名 指定新用户所属的附加组

passwd [用户名]

  • 设置或更改用户密码。
echo '123456' | passwd --stdin 用户名  使用标准输入设置密码

usermod [选项] 用户名

  • 用于修改用户的账户信息
usermod -l,--login NEW_LOGIN  修改用户的用户名
例如,usermod -l new_login username

usermod --uid                 修改用户的用户 ID
例如,usermod --uid 1001 username

usermod -g,--gid              修改用户的用户组 ID
例如,usermod -g new_group_id username

usermod -d,--home HOME_DIR    修改用户的家目录
例如,usermod -d /new/home username

usermod -e,--expiredate DATE  设置用户的账户过期时间
例如,usermod -e 2024-06-30 username

usermod -G 附加组名 用户名     修改用户的附加组
例如,usermod -G new_group username

usermod -p '密码' 用户名       设置用户的密码
例如,usermod -p 'new_password' username
 
usermod -s /bin/bash 用户名   修改用户的登录shell
例如,usermod -s /bin/bash username

usermod -s /bin/nologin 用户名 修改用户的登录shell为 /bin/nologin,这会阻止用户登录.
例如,usermod -s /bin/nologin username。

userdel [用户名]

  • 用于删除用户账号
userdel -r 用户名  删除用户账户并删除家目录

id [用户名]

  • 查看用户的uid、gid、groups

who / w

  • 查看目前登录的用户

文件权限管理

rwxrwxrwx  这是文件权限的八进制表示法,其中:
r:文件中只能读取文件内容  目录会列出存储在该目录下的文件
w:文件可以打开并修改      目录中允许删除或添加新的文件
x:文件可以做程序执行      允许在目录中查找,可 cd 进入该目录

7(421)77  文件权限的八进制表示法,其中:
4:读权限(r)
2:写权限(w)
1:执行权限(x)

 chmod 命令

  • 用于改变文件或目录的权限
chmod u+rwx,g+rw,o+rx 目录名  
为所有者添加读写执行权限,为组添加读写权限,为其他用户添加读执行权限

chmod o=rwx 目录名  为其他用户设置读写执行权限
chmod 777 文件名    为所有者、组和其他用户设置读写执行权限

chown 命令

  • 用于改变文件或目录的所有者和组
chown newuser filename           更改文件的所有者为 newuser
chown newuser:newgroup filename  更改文件的所有者为 newuser,组为 newgroup
chown -R newuser:newgroup dir    递归更改目录 dir 及其所有子目录和文件的所有者和组
chown -R newuser:newgroup dir    递归更改目录 dir 及其所有子目录和文件的所有者和组
chgrp newgroup filename          更改文件所属的组为 newgroup。

vim 编辑器

行内命令模式

^ 到行首  将光标移动到行首
$ 到行尾  将光标移动到行尾

行间命令模式

G 末尾行         将光标移动到当前缓冲区的末尾行
1G 或 gg 第几行  将光标移动到第 1 行或第 gg 行
nG 下一个        将光标移动到下一个 G 标记的行
N 上一个         将光标移动到上一个 N 标记的行

字符串的查找

/字符串 自上而下  从光标所在位置向下查找字符串
?字符串 自下而上  从光标所在位置向上查找字符串
n 下一个         查找下一个匹配的字符串
N 上一个         查找上一个匹配的字符串

文件内容的复制粘贴删除

dd 剪贴当前行  删除当前行。
yy 复制当前行  复制当前行。
P 复制到上一行 将复制的内容粘贴到上一行。
p 复制到下一行 将复制的内容粘贴到下一行。

删除单个字符

X 向前删除        向前删除光标位置的字符。
x 向后删除        向后删除光标位置的字符。
5x 向后删5个字符  向后删除光标位置后的 5 个字符。

输入模式

a:光标下一个字符进入      在光标位置后面插入文本并进入插入模式。
i:光标前一个字符进入      在光标位置前面插入文本并进入插入模式。
o:光标所在行的下一行进入  在光标所在行的下一行开始插入文本。
A:光标下一行行尾进入      在光标所在行的下一行行尾插入文本。

末行模式

set nu    显示行号
set nonu  隐藏行号
s/旧字符串/新字符串             在当前行内替换旧字符串为新字符串
:%s/旧字符串/新字符串/g         在所有行中替换旧字符串为新字符串
:%s#/etc/passwd#/etc/shawad#g  在所有行中替换 /etc/passwd 为 /etc/shawad

禁用SELinux

getenforce  用于查看 SELinux 的当前强制模式(enforcing 或 permissive)
配置文件 /etc/sysconfig/selinux 修改 selinux=disabled

磁盘及文件系统管理

df -Th          用于查看当前磁盘分区和分区情况
-Th 选项表示以表格形式显示磁盘使用情况,包括文件系统类型

lsblk           用于列出所有的磁盘和分区,以及它们的状态和挂载点
fdisk -l        用于列出所有可用的磁盘和分区
fdisk /dev/sdb  用于进入 /dev/sdb 分区的交互式分区表编辑器。

n:添加新分区。
p:打印当前分区表。
w:保存分区表。
t:改变分区的类型。

对分区格式化 ext4/xfs 文件格式

mkfs.ext4 用于创建 ext4 文件系统的分区,而 mkfs.xfs 用于创建 xfs 文件系统的分区

挂载分区到挂载点上

mount /dev/sdb1 /data 用于将 /dev/sdb1 分区挂载到 /data 目录

临时挂载

mount /dev/sdb1 /data 用于临时挂载分区

卸载文件系统

umount /data 用于卸载挂载点

将配置文件刷新重新挂载

mount -a 用于重新挂载所有在 /etc/fstab 文件中定义的文件系统

查看全部分区的 UUID 和类型

blkid 用于显示磁盘和分区的 UUID、类型和标签

开机自动挂载的配置文件

/etc/fstab 用于配置系统启动时自动挂载的文件系统

内核读取新分区表

partx -a 或 partprobe 用于通知内核重新扫描分区表,以便挂载新的分区

swap 交换分区

free -m:用于显示内存使用情况,其中 -m 选项表示以兆字节为单位显示内存使用情况。
fdisk  使用 t 选项可以改变分区的类型
例如,fdisk /dev/sdb2 进入 /dev/sdb2 分区的交互式分区表编辑器,然后使用 t 命令改变分区类型。

mkswap    格式化swap
swapon -s 用于列出当前的交换分区。

拓展分区:可以使用 fdisk 命令将最后一个分区做拓展分区,在里面做逻辑分区(最多12个)。

gdisk 或 parted 使用 gpt 分区表格式化磁盘。

LVM逻辑卷管理

pvcreate /dev/sdc1 /dev/sdc2             用于创建物理卷
其中 /dev/sdc1 和 /dev/sdc2 是物理卷的设备文件

pvs 或 pvdisplay                         用于查看物理卷信息
vgcreate vg_myvg /dev/sdc1 /dev/sdc2     创建卷组
vgs 或 vgdisplay                         用于查看卷组信息。
lvcreate -L 1G -n lvmylv vg myvg         用于创建逻辑卷
其中 -L 1G 指定逻辑卷的大小为 1GB,-n lvmylv 指定逻辑卷的名称,vg myvg 指定逻辑卷所属的卷组

lvs 或 lvdisplay                         用于查看逻辑卷信息

在线拓展 LVM 文件系统:
使用 lvresize -L +?G 命令在线扩展逻辑卷的大小
然后 resize2fs 调整 ext2、ext3 或 ext4 文件系统的大小

文件系统的拓展

resize2fs 卷名     用于在线扩展 ext4 文件系统的大小
xfs_growfs 挂载点  对于 xfs 文件系统,使用 xfs_growfs 命令来在线扩展文件系统的大小
vgextend 卷组名 物理卷路径  
用于在线扩展卷组的大小,其中 卷组名 是要扩展的卷组,物理卷路径 是要添加到卷组的物理卷。

软件安装和管理

rpm

  • 用于管理rpm软件包
rpm -qa  列出系统中已安装的所有 RPM 软件包
rpm -qf  查找安装了指定文件的软件包
rpm ~q1  列出由指定软件包提供的所有目录和文件
rpm -ivh 安装软件包,其中 -i 表示安装,-v 表示详细输出,-h 表示显示进度条
rpm -e   卸载软件包

yum

  • 用于管理软件包
yum search                        搜索软件名或关键字
yum list                          列出当前 YUM 所管理的所有软件名称与版本
yum install                       安装软件包,&& 符号是错误的,应该是 |
yum remove                        移除软件包
yum clean [packages headers all]  删除已下载的软件包文件、文件头或所有软件库数据
yum makecache                     生成新的缓存
yum rm -rf /var/cache/yum         删除磁盘中的 YUM 缓存 

服务管理和计划任务

服务管理

systemctl list-units           用于列出所有启动的服务
systemctl list-unit-files      用于查看服务开机是否启动
systemctl status sshd.service  用于查看服务的状态

防火墙

systemctl status firewalld     用于查看 firewalld 的状态
systemctl is-enabled firewalld 用于检查服务是否开机启动。
systemctl disable firewalld    用于禁用 firewalld,使其开机不启动
systemctl stop firewalld       停止 firewalld
networkmanger 服务关闭,作为服务器,自己控制网络配置

查看进程

ps aux/ps -ef  用于查看进程信息,aux 选项提供了更多详细信息,包括多 CPU 信息
top            用于动态查看进程
  1 行:系统时间,登录用户数,系统平均负载
  2 行:任务信息(total, running, sleeping, stopped, zombie)
  3 行:CPU 区域
    us,user:用户空间的CPU百分比
    sy,system:内核空间占用的CPU百分比
    ni,niced:调整过优先级的用户进程占用的CPU百分比
    id,idle:空闲CPU的百分比
    wa,IO wait:用于等待IO完成的CPU时间
  4 行:内存区域
  5 行:交换空间区域(total, free, used)
  6 行:进程列表区(PID,user,.....)

终止进程

ctrl + c            用于终止当前命令,适用于前台命令
kill -9             用于强制杀死进程,通常用于结束无法正常停止的进程
killall top         用于杀死全部终端的top
pkill -9 -t pts/0   用于根据特定条件终止进程,其中 -t pts/0 指定终端类型

任务的前台调度

command &           在命令执行的同时可以继续输入其他命令
at                  用于安排在指定时间执行命令
nohup sh test.sh &  关闭终端也不会停止命令的执行
jobs                用于查看当前终端中所有后台任务的状态
fg 任务号            用于将指定的后台任务恢复到前台执行
ctrl + z            用于将任务挂起,即暂停任务
bg 任务号           用于将挂起的任务恢复到后台执行
kill -9 %任务号     用于强制杀死后台任务

计划任务

systemctlstatuscrondcrond服务状态
/etc/crontab 存放了一些系统运行的调度程序以及格式说明(分,时,天,月,周)
/etc/cron,deny   不能使用 crontab 的用户
/etc/cron.allow  能使用的用户
不存在这俩文件,只有root用户可以安排计划任务


crontab [选项]  用于设置定时任务
-u <用户名称>   用于指定设置定时器的用户
-e              用于编辑计划任务。
-r              用于删除计划任务。
-l              用于查看计划任务。

网络配置

ifconfig            用于查看网络接口配置信息
ip addr             用于显示所有设备的 IP 地址 
ip addr show ens33  用于显示 ens33 网络接口的 IP 地址
ping                用于测试网络连接
ping pingip -c 2    用于对 pingip 进行两次 ping 操作
ethtool             用于显示和修改网络接口的硬件信息
ethtool ens33       用于显示 ens33 网络接口的信息
traceroute          用于追踪数据包到达目标主机所经过的路由
traceroute ip       用于追踪数据包到达 ip 的路由信息
hostname            用于显示或设置当前主机的名称
hostname -i         用于返回对应主机的解析 IP
/etc/hostname       用于配置主机名
/etc/hosts          用于将主机名映射到 IP 地址。
网卡配置文件:
/etc/sysconfig/network/network-scripts/ifcfg-ens33

  • 18
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值