常用 Linux 命令

常用 Linux 命令。

一、关机与重启

1.1 关机

poweroff # 立即关机

shutdown -h now # 立即关机

shutdown -h 30 # 30 分钟后关机

1.2 重启

reboot # 立即重启

shutdown -r now # 立即重启

shutdown -r 30 # 30 分钟后重启

二、用户分组管理

2.1 新增分组

选项说明:

  • -g 指定新用户分组的分组号码(GID)
  • -o 表示新用户分组的 GID 可以与已有的用户分组 GID 相同
# 格式: groupadd -g 分组号码 新分组名称

# 本实例准备三个分组,但后边会把 test_group3 删除
groupadd -g 10001 test_group1
groupadd -g 10002 test_group2
groupadd -g 10003 test_group3

2.2 修改分组

选项说明:

  • -g 指定新用户分组的分组号码(GID)
  • -o 表示新用户分组的 GID 可以与已有的用户分组 GID 相同
  • -n 表示修改分组名称
# 格式: groupadd -g 新分组号码 -n 新分组名称 要修改的分组名称
groupmod -g 10003 -n test_group33 test_group3

2.3 删除分组

# groupdel 分组名称
groupdel test_group33

2.4 查询分组信息

用户分组的所有信息位于 /etc/group 文件中。

2.5 切换当前用户的分组

# newgrp 分组名
newgrp test_group1

三、用户管理

3.1 新增用户

选项说明:

  • -c 指定一段注释性描述
  • -g 指定用户所属用户组
  • -G 指定用户所属的附加组
  • -s 指定用户登录所用的 Shell 文件
  • -u 指定用户的用户号
# 例
useradd -g test_group1 -u 10000001 -c 第一位测试用户 test_user1

useradd -g test_group1 -u 10000002 -c 第二位测试用户 test_user2

3.2 修改账号

选项说明:

  • 包含新增用户的选项
  • -l 修改为新用户名
# 格式: usermod 选项 用户名
usermod -l test_user2_new test_user2

3.3 删除账号

# 选项: -r 删除用户同时删除用户主目录(可选)
# 格式: userdel -r 用户名
userdel -r test_user2_new

3.4 查询用户信息

用户的所有信息位于 /etc/passwd 文件中。

3.5 用户密码管理

创建用户后,需要为用户创建密码或无密码登录。

选项:

  • -l 用户锁定
  • -u 用户解锁
  • -d 使用户没有密码(用户无法登录)
  • -f 使用户下次登录时需要修改密码
# 格式: passwd 选项 用户名
passwd # 修改当前用户密码

passwd test_user1 # 修改 test_user1 用户密码

passwd -l test_user1 # 锁定

passwd -u test_user1 # 解锁

passwd -d test_user1 # 无密码,(用户无法登录)

passwd -f test_user1 # 登录后需要修改密码

3.6 切换当前登录用户

# su 用户名, 输入密码即可登录
su test_user1

四、目录操作

4.1 新增目录

选项:

  • -m 创建目录时候配置目录权限
  • -p 递归创建目录
# 格式: mkdir [-mp] 目录名称
mkdir test # 当前目录创建文件夹
mkdir test_log/log/2022-07-25 # 递归创建多级文件夹

4.2 删除空目录

# 格式: rmdir [-p] 目录名称
rmdir test # 删除 test 文件夹
rmdir test_log/log/2022-07-25 # 递归删除多级空文件夹

4.3 删除非空目录

# rm [-rf] 目录
rm -r test # 递归删除当前目录下的 test 目录,询问
rm -rf test # 递归删除当前目录下的 test 目录,不询问直接删除

4.4 目录的切换

# 格式: cd 选项
cd / # 切换到根目录
cd ~ # 切换到当前用户家目录
cd - # 切换到上次访问的目录
cd ../ # 切换到上级目录
cd 目录路径 # 切换目录

4.5 目录的查看

ls # 查看当前目录下所有目录和文件
ls -a # 查看当前目录下所有目录和文件,包含隐藏文件
ls -l # 以列表形式查看当前目录所有目录和文件
ls -al # 以列表形式查看当前目录所有目录和文件,包含隐藏的文件
ls 目录路径 # 查看固定目录中的目录与文件

pwd # 查看当前目录的路径


五、文件操作

2.1 新增文件

# 常用方式
# 第一种
touch 新文件名

# 第二种
echo '内容' > 新文件名

# 第三种,使用 vim 保存后,生成文件
vim 新文件名

2.2 编辑文件

# 第一种: vim 编辑文件
vim 文件名

# 第二种: 将文件内容清空
echo '' > 文件名
# 或
cat /del/null > 文件名

2.3 删除文件

# rm [-f] 路径/文件名
rm test.txt # 删除文件,询问是否删除
rm -f test.txt # 删除文件,不询问直接删除

2.4 查看文件

# cat 文件名(从头显示文件内容)

# tac 文件名(从结尾倒着显示文件内容)

# nl 文件名(显示行号并显示内容)

# more 文件名(一页一页下翻显示内容,空格:向下翻动一页,[Enter]:向下翻动一行)

# less 文件名(向前或向下翻显示内容,空格:向下翻动一页,[pagedown]:向下翻动一页,[pageup]:向上翻动一页)

# head 行数 文件名(只显示开头行数内容)

# tail 行数 文件名(只显示结尾行数内容)
# tail -f 文件名 (持续加载监测新数据)

六、目录与文件相同操作

6.1 修改所属用户

# 修改文件所属用户
chown 用户名 文件或目录路径 # 例: chown test_user1 /test/test.txt

# 修改文件所属用户与所属分组
chown 用户名:分组名 文件或目录路径 # 例: chown test_user1:test_group1 /test/test.txt

# 修改当前目录中的文件与所有子目录的所属用户
chown 用户名 -R 文件或目录路径 # 例: chown test_user1 -R /root/test

6.2 修改所属用户组

# chgrp [-R] 分组名 文件或目录路径, -R 递归修改

6.3 修改权限

修改权限有两种方式: 数字与符号。这里只介绍数字方式。

  1. 权限字符以及对应的数字: rwx-
  • 读:r,对应权限数字:4
  • 写:w,对应权限数字:2
  • 执行:x,对应权限数字:1
  • 不赋予当前位置的权限,用-代替,对应权限数字:0
  1. 权限表示位置:
# 目录与文件的信息
# 列表显示当前目录下的目录与文件
ls -al

# 例: 显示以下内容
drwxrw-r-x 2 test_user1 root 4096 Jul 25 15:35 111
-rw-r--r-- 1 root       root    4 Jul 25 15:13 1.txt

第一组代表权限:

  • 第一个字符 d 代表当前为文件夹, 第一个字符 - 代表当前为文件
  • 第二、第三、第四(rwx)代表 拥有者(owner)权限
  • 第五、第六、第七(rw-)代表组(group)权限
  • 第八、第九、第十(r-x)代表其他(others)权限

也就是三种角色,每位角色都可设置 rwx 的权限。

  1. 数字权限就是 rwx- 属性数相加,举例:

    • 拥有者(owner) = rwx = 7
    • 组(group) = rw- = 6
    • 其他(others) = r-x = 5
# 格式: chmod [权限数字值-R] 文件或目录的路径
chmod 775 test.log # 修改文件

chmod 775 ./test # 修改目录

chmod 775 -R /root/test/log # 递归修改目录

6.4 复制、删除、剪切或改名

# 复制,只列举常用选项
# -i 若目标已存在, 则询问是否覆盖
# -p 连同目标的属性一起复制过去
# -r 递归复制, 用于目录的复制

cp [-ipr] from文件或from目录 to文件或to目录 

# 文件示例:
cp -p ./test.log /www/log/ # 文件复制至新目录
cp -p ./test.log /www/log/new_test.log # 文件复制至新目录并起新名

# 目录示例:
cp -r /test/log /www # 目录复制至新目录
# 删除
# -f 忽略警告信息
# -i 执行前询问是否删除
# -r 递归删除

rm [-rfi] 文件或目录
# 剪切或改名
# -f 忽略警告信息,直接覆盖
# -i 若目标已存在, 则询问是否覆盖
mv [-fi] from文件或from目录 to文件或to目录

# 文件示例:
mv -i ./test.log /www/log/ # 文件剪切至新目录
mv -i ./test.log /www/log/new_test.log # 文件剪切至新目录并起新名

# 目录示例:
mv /test/log /www/log # 目录剪切至新目录

七、查找文件

7.1 find

find 用于在指定目录下查找文件,只列举常用情况。

# 选项
# -amin n : 在过去 n 分钟被读取过的文件
# -atime n : 在过去 n 天被读取过的文件
# -cmin n : 在过去 n 分钟被修改过的文件
# -mtime n : 在过去 n 天被修改过的文件
# -ctime n : 在过去 n 天内创建的文件

# 以下为常用选项

# -iname n 或 -name n : 文件名称符合 n 的文件,iname 会忽略大小写
# -ipath p 或 -path p : 路径名称符合 p 的文件,-ipath 会忽略大小写
# -type t : 文件类型是 t 的文件 (d:目录 c:字型装置文件 b:区块装置文件 f:一般文件 s:socket)
# 格式: find 目录 选项 [-exec -ok command] {} \;

# 例:
find ./ -name "*.log" # 查找当前目录与其子目录中后缀为 log 的文件

find /root/test -type f # 查找 /root/test 目录中所有的 一般文件

find /root/test -mtime 10 # 查找最近10天内更新过的文件

7.2 locate

Locate 用于查询符合条件的文件, 他会去保存文件和目录名称的数据库内查找,一般文件的文件数据库在 /var/lib/slocate/slocate.db 中。


这个相当于查询缓存,不是实时的数据,但可以运行 updatedb 命令 手动更新数据库。

# 常用选项
# -c : 只输出找到的总数量
# -i : 忽略大小写

# 例:
locate useradd

7.3 whereis

whereis 用于查找文件。该命令只查找 二进制文件、源代码文件、说明文件。

# -b : 只查找二进制文件
# -B<目录> : 只在设定的目录下查找二进制文件

# -m : 只查找说明文件
# -M<目录> : 只在设定的目录下查找说明文件

# -s : 只查找源代码文件
# -S<目录> : 只在设定的目录下查找源代码文件

# -f : 不显示文件名前的路径
# -u : 查找不包含指定类型的文件
# 例:
whereis adduser

whereis -b adduser

7.4 which

which 用于查找文件。该命令会在环境变量$PATH设置的目录里查找符合条件的文件。

which adduser

7.5 grep

grep 用于查询文件中符合条件的字符。

# 常用选项
# -c : 返回每个文件符合条件的行数
# -d : 查找目录时必须使用这项参数
# -e : 指定字符串做为查找文件内容的
# -i : 不分大小写搜索
# -l : 只显示搜索结果的文件名
# 常用示例

# 查找当前目录中,文件内包含 MySQL 字符串的所有文件并打印出字符所在的行。
grep MySQL *

# 查找当前目录中,文件内包含 MySQL 字符串的文件名
grep MySQL -l *

# 查找指定的服务进程
ps -ef | grep httpd

# 查找指定端口
netstat -an | grep 80

八、其它命令

# 查看进程
ps -ef | grep httpd

# 结束进程, PID 为进程号
kill -9 pid

# 显示内存使用情况
# -b -k -m -g : 取其一,以 Byte、kb、mb、bg 单位显示
# -s<间隔秒数> : 周期性统计内存使用情况
# -t : 显示内存使用总合
free [-bkmgst]  

# 清屏
clear
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后端木木

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值