【Linux开发 第六篇】Linux常用命令知识

devtools/2024/11/15 8:33:53/

常用命令知识

  • 关机和重启
  • 用户管理
    • 用户组
    • 运行级别
    • 帮助指令
    • 文件目录类
    • 时间日期类
    • 搜索查找类
    • 压缩和解压类

关机和重启

java">shutdown -h now   //立刻进行关机
shutdown -h 11分钟后进行”   //一分钟后进行关机 并向登录Linux的各个用户发送字符串
shutdown -r now  //现在重新启动计算机
halt     //关机,作用一样
reboot   //现在重新启动计算机
sync     //把内存的数据同步到磁盘

注意:不管是重启还是关机,首先要运行sync命令,把内存中的数据写到磁盘中

注销用户:logout即可注销用户
注意:logout注销指令在图形运行级别无效,运行级别请看下方

用户管理

Linux是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统申请账号,然后以这个账号的什么访问资源

  • 添加用户
java">useradd 用户名

默认将创建好的用户放在home目录下
也可以通过useradd -d 指定目录

  • 创建密码
java">password 用户名

必须给出用户名,不给的话默认给当前用户创建密码
创建好之后通过 su 用户名 切换用户
切换好之后可以通过pwd显示当前所在的目录

  • 删除用户

删除有两种方式删除,第一种:删除用户,但是要保留家目录

java">userdel 用户名

第二种:删除用户以及用户主目录

java">userdel -r 用户名

一般建议保留家目录中的用户信息

  • 查询用户
java">id 用户名
  • 切换用户

用前面提到的 su 命令进行
注意:从权限高的用户切换到权限低的用户,不需要输入密码,反之需要
当需要返回到原来用户时,使用exit/logout指令

查询当前自己是什么用户:

java">who am i

显示的登录时的所用的身份,在执行过程中如果切换什么再次查看,还是刚开始的身份

用户组

系统可以对有共性/权限的多个用户进行统一的管理

  • 新增组
java">groupadd 组名
  • 删除组
java">groupdel 组名

如何在创建用户的时候直接给他加入到组中

java">useradd -g 组名 用户名

创建一个新用户的时候如果没有设置组信息,则会默认创建一个与用户名相同的组并将其放在其中。

  • 修改用户的组
java">usermod -g 用户组 用户名

注意:用户的配置文件,记录用户的各种信息,存放在 /etc/passwd文件中
其中信息的含义是:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
上述的口令是经过加密的那么口令的配置文件存放在etc/shadow
其中信息的含义是:登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效的时间:标志
组的配置文件,记录Linux包含的组的信息写在/etc/group
每行的含义:组名:口令:组标识号:组内用户列表

运行级别

运行级别说明:
0:关机
1 :单用户【找回丢失密码)
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用的运行级别是3和5,也可以指定默认运行级别

java">init 运行级别

运行级别相关的配置存放在文件etc/inittab之中
我们在终端中可以通过命令查看当前对应级别:

java">systemctl get-default

我们也可以在终端中通过命令设置默认开机的运行级别

java">systemctl set-default TARGET.target
  • 如何找回root密码

linux中如果忘记了Root密码,如何办
第一步:
在刚刚进入系统的界面输入e进入到编辑模式
在这里插入图片描述
按下e进入到编辑模式中
在这里插入图片描述
找到linux16那一行,在行未添加指令 init=/bin/sh进入到单用户模式,输入完成直接按下快捷键ctrl+x成功进入到单用户模式中
进入到单用户模式中输入命令mount -o remount,rw/完成之后进行回车
输入passwd进行重置密码,输入两次新的密码
在这里插入图片描述
在输入touch/.autorelabel输入完成后按下回车
继续输入 exec/sbin/init 完成后按下回车,等待系统自动修改密码,完成后系统会重启新的密码生效

帮助指令

  • man获取帮助信息

基本语法:

java">man [命令或配置文件] 

linux下,隐藏文件是以.开头,选项可以组合使用ls -al

  • help指令

基本语法:help命令 (功能描述:获得shell内置命令的帮助信息)
例如:help cd

文件目录类

  • pwd指令

基本语法:pwd(显示当前工作目录的绝对路径)

  • ls指令

基本语法:ls [选项] [目录或是文件]
选项:
-a:显示当前目录的所有文件和目录,包括隐藏的
-l:以列表的方式显示信息
-h: 将信息中的一些数据按照人的习惯直观展示

  • cd指令

基本语法:cd [参数] 表示切换到指定目录
cd ~或者 cd :回到当前用户所在的家目录
cd ..回到当前目录的上一级目录

  • mkdir指令

基本语法:mkdir [选项] 要创建的目录
选项: -p 创建多级目录

  • rmdir指令

rmdir指令删除空目录
基本语法: rmdir [选项] 删除的目录
注意:rmdir删除的是空目录,如果有内容的话需要rm -rf 删除目录
rm -rf /home/animal 表示:强制递归的删除目录

  • touch指令

touch创建一个空文件
基本语法:touch 文件名称
例如:touch hello.txt

  • cp指令

拷贝文件到指定目录
基本语法: cp [选项] 要复制的文件 目标目录
选项: -r:递归复制整个文件
例子:cp -r /home/bbb /opt
但是当进行复制的时候会对相同的文件进行覆盖判断处理,这样如果要覆盖的文件很多的话会很繁琐,我们可以使用以下命令进行强制覆盖
\cp -r /home/bbb /opt

  • rm指令

rm指令移除文件或目录
基本语法: rm [选项] 要删除的文件或目录
选项:
-r:递归删除整个文件夹
-f:强制删除不提示

  • mv指令

mv移动文件与目录或重命名
基本语法:
mv 被重命名文件 重命名(重命名)
mv 被移动文件 目标位置(移动文件)
mv hello.txt buhao.txt(重命名)
mv /home/hello.txt /root/buhao.txt(移动并重新命名)
mv /home/nihao opt/(将整个目录进行移动)

  • cat指令

cat查看文件内容
基本语法: cat [选项] 要查看的文件
选项: -n 显示行号

  • more指令

more指令是一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本的内容。more指令内置快捷键
基本语法: more 文件名称
在这里插入图片描述

  • less指令

less指令用来分屏查看文件的内容,它的功能与more指令类似,支持各种显示终端,less指令在显示文件内容时,并不是一次将整个文件加载之后才显示,而是根据显示需要加载内容,对于大型文件具有较高的效率
基本语法:less 文件
操作快捷键:
快捷键

  • echo指令

echo输出内容到控制台中
基本语法: echo [选项] [输出内容]

  • head指令

head用于显示文件的开头部分内容,默认情况下head指令显示文件的前10行内容
基本语法:head 文件(查看文件前十行的内容)
head -n 5 文件(查看文件前5行的内容)

  • tail指令

tail用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容
基本语法:
tail 文件(查看文件尾部10行的内容)
tail -n 5 文件(查看文件尾部5行的内容)
tail -f 文件(实时追踪该文档的所有更新)

  • >指令和>>指令

>输出重定向,将左侧的执行的输出内容输出到右侧指定的文件中
>>追加:向右侧的文件追加内容
基本语法:
echo "hello">文件(将输出到控制台的hello,覆盖的写入到文件当中)
echo "mowei">>文件(将输出的内容追加到指定文件的末尾)
cat 文件1>文件2(将文件1的内容覆盖到文件2)

  • cal指令

显示当前的日历信息

  • ln指令

软链接也称为符号链接,存放链接其他文件的路径
基本语法:ln -s [原文件或目录] [软链接名]
例如: ln -s /root/ /home/myroot (然后访问/home/myroot目录的时候实际进入的是/root目录)
rm /home/myroot(删除软链接)

  • history指令

查看已经执行历史版本,也可以执行历史指令
基本语法:history (查看已经执行过的历史命令)
history 10 (显示坐进使用过的10个命令)
! 5 执行历史编号为5的指令

时间日期类

  • date指令

显示当前日期:
基本语法:
date (显示当前时间)
date+%Y (显示当前年份)
date +%m (显示当前月份)
date +%d (显示当前是哪一天)
date "+%Y-%m-%d %H:%M:%S"(显示年月日时分秒)
date -s "1313-12-12 12:12:12" (根据自己的意愿改变时间)

  • cal指令

查看日历指令
基本语法cal[选项] (不加选项,显示本月日历)
cal 2024 显示2024年的日历

搜索查找类

  • find指令

find指令将从指定的目录向下递归地遍历其各个子目录,将满足条件的文件或目录显示在终端
基本语法: find [搜索范围] [选项]
选项:
选项
find /home -name hello.txt(查找home目录下的hello.txt文件)
find /home -user hlh(查找目录下用户名为hlh的文件)
find /home -size +200M (查找home目录下所有大于200M的文件,-号为小于,n为等于,单位有K,M,G)

  • locate指令

locate指令可以快速定位文件路径,locate指令利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位给定的文件,locate指令无需遍历整个文件系统,查询速度较快,为了保障查询数据的准确性,需要定时给定更新Locate时刻

基本语法:
locate 搜索文件
注意:由于locte指令基于数据库进行查询,所以第一次运行,需要使用updatedb指令创建locate数据库

  • which指令

查看指令在哪个目录下
which ls

  • grep指令和管道符号 |

grep表示过滤查找,管道符| 将前一个命令的处理结果输出传递给后面的命令处理
基本语法:grep [选项] 查找内容 源文件
选项:
在这里插入图片描述
cat /home/hello.txt | grep -i "hello" (表示将hello.txt文件中的hello进行查找,不区分大小写)

压缩和解压类

  • gzip/gunzip指令

gzip用于压缩文件,gunzip用于解压文件
基本语法:
gzip 文件(压缩文件,压缩为.gz文件)
gunzip 文件.gz(解压缩命令)

  • zip/unzip指令

zip用于压缩文件,unzip用于解压的
基本语法:
zip [选项] XXX.zip (压缩文件和目录)
unzip [选项] XXX.zip (解压缩文件)
zip选项:-r :递归压缩,压缩目录
unzip选项: -d<目录>:指定解压后文件的存放目录
zip -r home.zip /home/ (将home目录及其子包的文件和子文件夹都压缩)
unzip -d /opt/tmp /home/home.zip(将zip文件解压到 /opt/tmp目录下)

  • tar指令

tar 指令是打包指令,最后打包后的文件是.tar.gz的文件
基本语法:
tar [选项] XXX.tar.gz 打包的内容
选项:
在这里插入图片描述
tar -cvzf hello.tar.gz /home/cat.txt (注意:压缩多个文件的时候文件之间使用空格分开)
tar -cvzf hello.tar.gz /home/ (将整个home目录压缩到文件中)
tar -zvxf hello.tar.gz (解压当前目录)
tar -zxvf hello.tar.gz -C /opt/tmp(将压缩文件指定解压路径)


http://www.ppmy.cn/devtools/6573.html

相关文章

最新在线工具箱网站系统源码

最新在线工具箱网站系统源码 源码下载&#xff1a;https://download.csdn.net/download/m0_66047725/89080638 更多资源下载&#xff1a;关注我。

关于FastJson转换map集合为json字符串解析时格式出错的问题

在Java中使用Fastjson将包含Map类型key的Map集合转换为String时&#xff0c;如果直接使用Fastjson的JSON.toJSONString()方法&#xff0c;可能会因为JavaScript的安全性限制&#xff08;例如对象的key必须是字符串&#xff09;而在前端JavaScript解析时出现问题。 因为当 转换时…

最大子数组和(贪心)

53. 最大子数组和 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&#xff08;子数组最少包含一个元素&#xff09;&#xff0c;返回其最大和。 子数组 是数组中的一个连续部分。 样例输入 示例…

元宇宙-虚拟世界的安全风险如何应对

元宇宙&#xff08;Metaverse&#xff09;是一个虚拟时空间的集合&#xff0c;由一系列的增强现实&#xff08;AR&#xff09;、虚拟现实&#xff08;VR&#xff09;和互联网&#xff08;Internet&#xff09;所组成。这个虚拟时空间是一个持续存在的、由众多虚拟世界互相连接而…

Oracle 12c修改字符集的方法(解决数据导入后中文乱码,ORA-12899错误 列 的值太长)

之前在Windows上安装的Oracle&#xff0c;现在迁移到Linux上&#xff0c;把dmp文件导入Linux的时候发现字段的注释和存储过程中的中文是问号&#xff1f;&#xff0c;而且导入的时候还会报ORA-12899错误。其实这些都是字符集问题。 1、查询当前字符集 select * from nls_data…

第十五届蓝桥杯题解-握手

题目大意&#xff1a;有50个人组成的派对&#xff0c;每个人都要与其他所有人进行握手&#xff0c;但其中有7个人之间互相不握手&#xff0c;求握手多少次&#xff0c;a与b握手即b与a握手 思路&#xff1a;规定前7个人互相不握手&#xff0c;两重for循环暴力就好 代码&#x…

python操作数据库

1 关系型数据库ORM SQLAlchemy 安装 pip install SQLAlchemy 优点&#xff1a; 易用 损耗小 可移植性强 1.1 环境整备 安装插件 pip install mysqlclient 创建数据库 create database db1; 创建数据表 create table user( id int(10), name varchar(20), email varchar…

npm 常用命令详解

npm&#xff08;Node Package Manager&#xff09;是 Node.js 的包管理工具&#xff0c;用于安装、管理和发布代码包。以下是 npm 常用命令的详解&#xff1a; npm init&#xff1a;初始化一个新的 Node.js 项目&#xff0c;生成一个 package.json 文件&#xff0c;用于管理项目…