您当前的位置: 首页 >  linux

暂无认证

  • 5浏览

    0关注

    92582博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

常用 Linux 命令

发布时间:2022-07-25 18:12:01 ,浏览量:5

常用 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 
关注
打赏
1653961664
查看更多评论
立即登录/注册

微信扫码登录

0.6495s