linux的常用命令

目录

开机关机

获取帮助的Linux

Linux的辅助快捷键

目录操作命令

文件操作命令

文件内容操作命令

查找命令

打包

解压缩

Vi文本编辑模式

命令模式下的操作键

光标的移动

翻页

单词健的快速跳转

行内快速跳转

行间快速跳转

当前页跳转

行号显示

删除

复制

粘贴

搜索

撤销

输入模式的操作键

模式切换

输入模式操作

末行模式的操作键

账号管理和权限控制

用户管理

用户账户管理

设置与更改用户账户密码

临时切换用户命令

修改用户账户属性:

删除用户账户命令

用户组管理

创建组账户命令

修改组账户密码和添加组成员密码

修改组账户命令

删除用户组

用户与用户组账户查询命令

文件权限和归属权管理

查看文件和权限和归属权

修改文件权限

修改文件归属权

开机关机

bash 复制代码
//重启
reboot 或shutdown -r now  #-r表示参数重启 
shutdown -r 5 (5分钟后重启)
//关机
poweroff 或 shutdown -h now #-h表示关机 (分钟)
shutdown -h 10:20  (10:20关机)
//取消
shutdown -c

获取帮助的Linux

bash 复制代码
help 命令字
命令字 --help
man 命令字
info 命令字

Linux的辅助快捷键

bash 复制代码
Tab键:自动补全命令
Ctrl+L:快速清屏
Ctrl+C:中断命令
Ctrl+U:删除当前光标所在处至行首
Ctrl+K:删除当前光标所在处至行尾
Ctrl+A:切换到命令行首
shift+Page Up:向上翻页
shift+Page down:向下翻页

目录操作命令

bash 复制代码
pwd:打印当前目录位置

cd 目录名:切换目录

ls 选项 参数
ls -lhsi 参数
ls -lR | grep "^d" | wc -l  #查看目录下的文件夹数

mkdir 选项 参数
mkdir -p Zy/Zj/Rys   #创建多级目录
mkdir {a..d}  #批量新建多个目录
mkdir test1 test2 #创建两个文件

du 选项 参数 #统计目录或磁盘所占空间
du -ha /root
du -sh /root 查看该文件占用的磁盘空间

文件操作命令

bash 复制代码
stat命令 #用于显示目录的详细属性信息
stat /root/index.html

touch 选项 文件名    #创建文件或修改文件
touch 1.txt

cp 选项 源文件 目标位置文件 #复制文件或目录
cp -fr /*.txt /opt/test1  #循环递归复制

rm 选项 文件或目录  #删除文件或目录
rm -fr * #循环删除

mv 源文件或目录  目标文件或目录 #用于剪切或重命名文件或目录
mv test1.txt test2.txt

find 路径名 选项 查询结果处理动作 #整个磁盘中搜索文件
find -name a.txt 通过文件名进行搜索
find -type b.txt 通过文件类型进行搜索
...

locate 文件或目录 #locate命令==find -name 
locate 1.txt 

ln -s 源文件或目录 链接文件或目录    #软链接,无论哪个文件发生修改,另一个都会跟着变
ln -s /a/bb.txt bb.txt

ln 源文件 目标文件 #硬链接,修改都会相互影响但删除只删除自己
ln /a/bb.txt bb.txt

文件内容操作命令

bash 复制代码
cat 文件名 #查看文件内容
cat -b ect/hosts #显示行号(不包括空行)
cat -n ect/host #包括空行

wc 选项 文件  #统计文件中的行数、单词数和字节数
wc -c a.txt #统计字节数
wc -l a.txt #统计行数
wc -w a.txt #统计单词数
wc -m a.txt #统计字符数

more 命令
more 000000000000000000000000000

查找命令

bash 复制代码
which 命令字
find 路径名 选项 查询结果处理动作

打包

bash 复制代码
解压:tar -xzvf 归档文件名.tar.gz 源文件或目录
压缩:tar -czvf 归档文件名 源文件或目录文件

tar 选项 归档文件名 源文件或目录 命令
-c:创建.tar格式的包文件
-x:解压.tar格式的包文件
-v:输出详细信息
-f:使用归档文件
-p:打包时保留原始文件及目录的权限
-t:查看包内的文件
-C:解包时指定释放的目标文件夹
-z:调用gzip程序进行压缩或解压
-j:调用bzip程序进行压缩或解压

解压缩

bash 复制代码
gzip用于解压缩后缀名为.gz的归档文件
解压缩后文件是不存在的
只能解压缩.gz后缀的文件

Vi文本编辑模式

命令模式下的操作键

光标的移动

bash 复制代码
向上    光标向上移动一个字符
向下    光标向下移动一个字符
向左    光标下左移动一个字符
向右    光标向右移动一个字符
+        光标移动到下一行的行首
-        光标移动到上一行的行首
n+对应操作键        光标向上移动n个字符

翻页

bash 复制代码
Page Up    向上翻页
Page Down   向下翻页
Ctrl+D     向下翻半页
Ctrl+U    向上翻半页

单词健的快速跳转

bash 复制代码
w        跳转到下一个单词词首    
e        跳转到下一个单词词尾
b        跳转到上一个单词词首
n+对应操作健        跳转到后面n个单词的词首

行内快速跳转

bash 复制代码
Home    跳转到行首
End     跳转到行尾

行间快速跳转

bash 复制代码
lG        跳转到行首
G         跳转到行尾
nG        跳转到文件第n行
n+        向下跳n行
n-        向上跳n行

当前页跳转

bash 复制代码
H         跳转到当前页的首行
M         跳转到当前页的中建行
L         跳到当前页的末尾行
zt        当前光标所在行至于屏幕顶部
zz        当前光标所在行至于屏幕中间
zb        当前光标所在行至于屏幕尾部

行号显示

bash 复制代码
:set nu        编辑器中显示行号
:set nonu      取消显示行号

删除

bash 复制代码
x        删除光标位置的单个字符
X       删除光标位置的前一个字符
nx        删除从光标开始的n个字符
dd       删除当前光标所在行
ndd        删除从光标所在行开始的n行内容
d^        删除当前光标之前到行首的所有字符
d$        删除当前光标所在位置到行尾的所有字符
dw
de
db

复制

bash 复制代码
yy        复制当前行整行的内容到剪切版
nyy        复制从光标位置开始的n行内容
y^        复制从光标至行首的内容
y$        复制从光标至行尾的内容
yw
ye
nyw

粘贴

bash 复制代码
p    粘贴到光标位置之后
P    粘贴到光标位置之前

搜索

bash 复制代码
/word        从上而下在文件中查找字符串word
?word        从下而上在文件中查找字符串word
n            定位下一个匹配查找的字符串
N            定位上一个匹配查找的字符串

撤销

bash 复制代码
u        按一次撤销最近的一次操作
U        用于撤销对改行的所有编辑
ZZ       保存当前文件内容并退出vi编辑器

输入模式的操作键

模式切换

bash 复制代码
i            在当前光标所在位置之前插入数据
I            在当前光标所在行的行首插入数据
a            在当前光标所在位置之后插入数据
A            在当前光标所在行的行尾插入数据
o            在当前光标所在行的下一行插入数据
O            在当前光标所在行的上一行插入数据

输入模式操作

bash 复制代码
Backspace        删除光标之前的一个字符
Del              删除光标之后的一个字符
Home             跳转到当前光标所在行的行首
End              跳转到当前光标所在行的行尾
Enter            换行 行首上一行另起/行尾 下一行另起

末行模式的操作键

bash 复制代码
//保存与退出
:w    保存文件
:w /root/newfile    另存为文件
:q    不保存文件 直接退出
:q!    不保存文件,强制退出
:wq    保存并退出
:wq!    强制保存并退出

//打开新的文件
:e/路径名/文件名    打开新的文件进行编辑
:r/路径名/文件名    在当前文件中读入其他文件内容

//替换操作

账号管理和权限控制

用户管理

用户账户管理

bash 复制代码
添加用户账户命令
useradd 选项 用户名
-c    指定用户账户的描述语
-d    指定用户账户的宿主目录
-e    指定用户账户的失效日期
-f    指定用户账户密码过期多少天后禁用改用户
-g    指定用户账户的基本GID
-G    指定用户账户的附加GID
-m    默认在/home下生成宿主目录
-M    指定用户目录不生产宿主目录
-r    指定用户账户为程序账户
-o    指定用户账户的UID,允许重复
-s    指定用户账户的Shell环境
-p    指定用户账户的密码
-u    指定用户账户的UID

设置与更改用户账户密码

bash 复制代码
passwd 选项 用户名
-d    删除用户账户密码
-l    锁定用户账户(仅限root)
-u    解锁用户账户 (仅限root)
-e    修改用户账户密码有效期
-f    强制操作(当使用选项-l锁定密码为空时或无密码,必须使用-uf选项来进行解锁用户操作)
-x    修改用户账户的最长使用天数(仅限root)
-n    修改用户密码的最短使用天数(仅限root)
-w    修改用户账户密码过期的警告天数(仅限root)
-i    当密码过期后经过多少天后账户被禁用(仅限root)
-S    查看用户账户的状态

临时切换用户命令

bash 复制代码
su - 用户名

修改用户账户属性:

bash 复制代码
usermod 选项  用户名
-c 修改用户的账号描述
-d 修改用户账户的宿主目录
-e 修改用户账户的失效日期
-f 当密码过期后经过多少天改账户会被禁用
-g 修改账户的基本组
-l 重命名用户账户
-L 锁定用户账户
-u 修改用户账户的UID
-U 解锁用户账户
-p 使用加密后的密码来修改用户账户的密码
-m 将用户的宿主目录移到新目录(仅和-d选项一起使用)

删除用户账户命令

bash 复制代码
userdel 选项 用户名
-r 删除用户账户的宿主目录一并删除

用户组管理

创建组账户命令

bash 复制代码
groupadd  选项 用户组名
-g  指定用户账户组的GID号
-o  创建用户账户组时候允许GID号不唯一
-r  指定用户账户组为程序用户组

修改组账户密码和添加组成员密码

bash 复制代码
gpasswd 选项 用户组明
-a 添加组成员
-d 删除组成员
-r 删除组密码
-M 添加多个组成员
-A 设置组管理组

修改组账户命令

bash 复制代码
groupmod 选项 用户组名
-g 修改组的GID
-n 重命名组名
-o 允许GID不唯一

删除用户组

当一个用户组是某个用户的基本组时是无法直接删除的,默认情况下使用userdel 命令删除用户账户时。和用户组同名的用户组也会一并被删除

bash 复制代码
groupdel  选项  用户组

用户与用户组账户查询命令

bash 复制代码
//id命令 查询到用户的UDI 基本组 附加组
id 用户名

//groups命令 查询到用户属于哪些组
groups 用户名

//finger命令 查询到用户账户的详细信息 (默认CentOS是没有的,需要先安装:yum -y install finger)
finger 用户名

//w、users和who命令  都可以查询到当前登录到系统中所有用户的账户名

文件权限和归属权管理

查看文件和权限和归属权

bash 复制代码
ls -lhsi /home

修改文件权限

使用chmod命令修改文件权限时还需要指明针对不同的用户类型,即所属主,所属组,和其他用户三个类型

  • 一般用u 表示user 代表文件的所属主
  • g表示group ,代表文件的所属组
  • o表示other 代表文件 的其他用户
  • 字符a表示all,代表所有,等同于ugo
  • 字符+ 在原有权限的基础上增加权限
  • 字符- 在原有权限的基础上减掉权限
  • 字符= 会覆盖掉原有权限
  • 注意选项-R是针对目录而言,递归修改指定目录下所有的子目录和文件的权限
bash 复制代码
//使用chmod 修改权限的字符形式如下
chmod [-R] ugo+/-rwz 文件或目录
 chmod -u+r  a.txt
//使用chmod 修改权限的数字形式如下
chmod [-R] nnn 文件或目录

修改文件归属权

bash 复制代码
修改文件所属主
chown [-R] 用户名 文件或目录名
修改文件所属组时,组名前面必须使用:或 . 如下:
chown [-R] :用户组名 文件或目录名
chown [-R] .用户组名 文件或目录名
相关推荐
wanhengidc几秒前
短视频运营行业该如何选择服务器?
运维·服务器
雨中rain15 分钟前
Linux -- 从抢票逻辑理解线程互斥
linux·运维·c++
-KamMinG26 分钟前
Centos7.9安装openldap+phpldapadmin+grafana配置LDAP登录最详细步骤 亲测100%能行
运维·grafana
Bessssss35 分钟前
centos日志管理,xiao整理
linux·运维·centos
s_yellowfish35 分钟前
Linux服务器pm2 运行chatgpt-on-wechat,搭建微信群ai机器人
linux·服务器·chatgpt
豆是浪个36 分钟前
Linux(Centos 7.6)yum源配置
linux·运维·centos
vvw&38 分钟前
如何在 Ubuntu 22.04 上安装 Ansible 教程
linux·运维·服务器·ubuntu·开源·ansible·devops
我一定会有钱39 分钟前
【linux】NFS实验
linux·服务器
王铁柱子哟-42 分钟前
解决 正在下载VS Code 服务器... 问题
运维·服务器
Ven%43 分钟前
如何在防火墙上指定ip访问服务器上任何端口呢
linux·服务器·网络·深度学习·tcp/ip