Linux系统常用命令

linux****关机重启

shutdown
shutdown -h now 表示立即关机
shutdown -h 1:表示一分钟后关机
shutdown -r now :立即重启
halt 就是直接使用,效果等同于关机
sync 把内存的数据同步到磁盘
reboot 就是重启系统
注意细节:

  1. 不管是重启系统还是关闭系统,首先要运行sync命令,把内存中的数据写入到磁盘中。
  2. 目前的shutdown、reboot、halt命令在关机前都进行了sync。

Linux用户的登录和注销

  1. 切换用户命令 :使用 su root 命令可以切换到 root 用户

  2. 退出命令 :提到了 exit 命令用于退出/注销

  3. 权限说明

    • 从普通用户(wen)切换到高级用户(root)时需要输入密码

    • 从root用户切换到普通用户(wen)时不需要输入密码

用户创建与设置

  • 创建用户

    bash

    复制代码
    useradd 用户名
    示例:
    bash
    useradd kobe  # 创建一个用户名为 kobe 的用户
  • 创建用户并指定家目录

    bash

    复制代码
    useradd -d 目录路径 用户名
    示例:
    bash
    
    useradd -d /home/test king  # 创建用户 king,并指定家目录为 /home/test
  • 设置用户密码

    bash

  • passwd 用户名

    示例:

    bash

  • passwd kobe # 为 kobe 用户设置密码


用户删除

  • 删除用户(保留家目录)

    bash

  • userdel 用户名

    示例:

    bash

  • userdel kobe # 删除用户 kobe,但保留其家目录

  • 删除用户并同时删除家目录

    bash

  • userdel -r 用户名

    示例:

    bash

  • userdel -r kobe # 删除用户 kobe 及其家目录


用户信息查询

  • 查看用户信息

    bash

  • id 用户名

    示例:

    bash

  • id kobe # 查看 kobe 用户的 UID、GID 及所属组信息

  • 查看当前登录用户名

    bash

  • whoami

用户组管理命令

创建与删除组
  • 创建组

    bash

    复制代码
    groupadd 组名称
  • 删除组

    bash

    复制代码
    groupdel 组名称
用户与组关联
  • 创建用户时指定所属组

    bash

    复制代码
    useradd -g 组名称 用户名

    示例:

    bash

    复制代码
    useradd -g wudang zhangsanfeng  # 创建用户 zhangsanfeng 并直接加入 wudang 组
  • 修改用户所属组

    bash

    复制代码
    usermod -g 组名 用户名

    示例:

    bash

    复制代码
    usermod -g wudang zhangsanfeng  # 将用户 zhangsanfeng 的主要组修改为 wudang
  • (1)/etc/passwd

文件用户的配置文件,记录用户的各种信息。
每行的含义:用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录shell
使用cat命令浏览这个文件: cat /etc/passwd

  • (2)/etc/shadow文件
    口令的配置文件,用户登录的时候需要口令(密码)。口令的验证都是通过这个shadow文件去验证的。
    每行的含义:登录名:加密口令:最后一次修改的时间:最小时间间隔:最大时间间隔:警告时间:不
    活动时间:失效时间:标志
    (3)/etc/group文件
    组的配置信息,记录linux包含的组的信息
    每行含义:组名:口令:组标识号:组内用户列表

Linux运行级别

linux操作系统运行的7种级别

关于linux的运行级别,一共有7种,我们给大家分别介绍一下:
0:关机
1:单用户(找回用户丢失的密码,可以使用单用户模式)
2:多用户状态但没有网络服务(一般很少用)
3:多用户状态但有网络服务(没有图形化界面,但是有网络,这种用的最多)
4:系统未使用,保留给用户(很少用)
5:图形界面
6:系统重启
常用的运行级别是3和5,我们也可以指定系统默认的运行级别。
切换运行级别的口令: init[0 1 2 3 4 5 6]
我们在linux操作系统(带有图形化界面的操作系统)输入init 3。此时linux操作系统就会以纯命令行模式 启动

如何修改linux操作系统默认的运行级别

在centos7中,有一个文件/etc/inittab文件中,描述了运行级别的相关信息

现在我们就来演示linux操作系统的运行级别:

如何找回root密码

进入到linux开机界面,然后按e键

按下e键然后进入另一个界面,找到以linux16开头的行数。在行的最后面输入:init=/bin/sh
接着输入完成之后,直接按快捷键Ctrl + X 进入单用户模式
接着在光标闪烁的位置输入: mount -o remount,rw / 然后按回车键。

在新的一行最后面输入:passwd,然后按回车键。输入密码,然后再次输入确认密码(密码长度
最好是8位以上,但不是必须的)。密码修改成功之后,会显示passwd .....的字样,说明密码修改
成功。

接着在光标闪烁的位置输入: touch /.autorelabel(注意touch 与后面的/之间有空格)。完成后按
回车。

接着在光标闪烁的位置继续输入:exec /sbin/init(注意exec 与后面的/之间有空格)。然后按回车
键,等待系统自动修改密码(这个时间可能会有点长,请耐心等待)。完成后系统会自动重启,新
的密码生效了。

linux****帮助指令

man 获得帮助信息

基本语法: man 命令名称(功能描述:获得指定命令的帮助信息)。

help 获得shell内置命令的帮助信息

help和man的区别

特性 help 指令 man 指令
目标命令类型 Shell 内建命令 (如 cd, echo, export) 外部程序/命令 (如 ls, grep, find),以及一些系统调用和库函数。
提供内容 简洁的用法摘要。通常是语法格式和选项的快速列表。 完整、详细的官方手册。包含名称、概要、描述、选项、示例、文件、作者等信息。
内容深度 浅,适合快速查阅。 深,适合深入学习。
使用语法 1. help [内建命令名] 2. [内建命令名] --help-h (这是一种常见惯例,并非 help 命令本身) man [命令名]
输出长度 通常较短,一屏或几屏就能显示完。 通常很长,需要翻页查看。

**linux文件(目录)**相关的指令

在linux操作系统里面,获取文件的方式有两种,一种是通过绝对路径的方式获取文件,一种是相对路径
获取文件。
假设我们在当前指定的目录下面,想要获取指定的文件,我们可以通过相对路径和绝对路径的方式来

pwd指令 显示当前目录的绝对路径

ls指令 显示当前目录下面的所有文件(目录)

常用选项:
-a: 显示当前目录下面的所有文件和目录 包括隐藏的
-l: 以列表的方式显示文件(目录)信息。

cd命令 切换到指定目录

常用选项:
~: cd ~ 回到当前用户的home目录(如果是root用户,那么回到的就是root目录下面,如果是非root 用户,那么就回到home/用户目录 下面)
/: cd / 回到系统根目录
.. : cd .. 回到当前目录的上一级目录
-: cd -回到上一条命令所在的目录

mkdir :用于创建目录

-p 创建多级目录。我们可以这样创建多级目录

rmdir:指令删除目录

rm删除目录

-r:递归删除整个文件夹
-f:强制删除不提示

如果我们要删除非空目录或者文件,我们使用rm -rf命令实现(r 递归删除 f不询问删除)。

touch: 创建空文件

cp:拷贝文件到指定目录

mv:移动文件(剪切)或重命名

在同一个目录下面操作: mv oldName newName (重命名)
需求:将kobe目录下面的Hello.txt重命名为Hello.java

在不同目录下面操作:
将home/kobe目录下面的Demo1.txt文件剪切到/home/guojing目录下面,并将文件命名为
Demo1.java

查看操作

cat查看文件内容 cat [选项] 要查看的文件

需求:查看/etc/profile文件,并显示行号
-n 显示行号 cat -n /etc/profile

cat只能浏览文件,并不能修改文件,为了浏览方便,一般会用上管道命令 |more。

more

more指令是一个基于vi编辑器的文本过滤器,他以全屏的方式显示文本文件的内容,more 指令内置了若干快捷键。

less

less指令用于来分屏查看文件内容,他的功能与more类似,但是比more更加强大,支持各种显示终
端。less指令在显示文件内容时,并不是一次将整个文件加载后才显示的,而是根据要加载的内容,
显示大型文件具有高效率。

echo:将输入内容到控制台

head用于显示文件开头部分内容,默认情况下head希纳是文件前10行的内容
基本语法: head 文件
head -n 5 文件 显示前五行的内容 5可以是任意数

tail****指令

用于输出文件中尾部的内容,默认情况下tail指令显示文件的前10行内容
tail 文件 (查看文件最后10行的内容)
tail -n 5 文件 (查看文件最后5行的内容,5可以是任意数)
tail -f 文件 (实时监控文件发生的变化)

> 指令和 >> 指令: >输出重定向 ,>>追加

echo 'hello' > /home/guojing/test.txt (将hello输入到guojing文件夹下的test.txt中 之前内容覆
盖)。
echo 'hello' >> /home/guojing/test.txt (将hello追加到guojing文件夹下的test.txt文件的末尾处 之前 内容不会覆盖)。
cat /etc/profile > /home/guojing/myprofile (将etc/profile 重定向到home目录下的myprofile 没有会自动创建)
cal > /home/guojing/test.txt (将日历信息重定向输出到opt下的test文件)覆盖
cal >> /home/guojing/test.txt(将日历信息追加到opt目录下的test文件)追加

软连接

软连接也称为符号链接,类似中windows里面的快捷方式,主要是存放了链接文件的路径。
ln -s [源文件或目录] [软连接名称]

删除软连接 rm -f /linkToRoot

history****指令

查看用户已经执行过的历史指令

linux****时间指令

基本语法:
date(功能描述:显示当前时间)
date +%Y(功能描述:显示当前年份)
date +%m(功能描述:显示当前月份)
date +%d(功能描述:显示当前是哪一天)
date "+%Y-%m-%d %H:%M:%S"(功能描述:显示年月日时分秒)


date指令也可以设置日期
基本语法:date -s 字符串时间

cal 日历指令

搜索查找

find 将从指定目录下递归地遍历各个目录,将所有满足条件的目录显示在控制台。
语法格式:

find [搜索范围] [选项]

locate指令

locate指令可以快速定位文件路径。locate指令利用事先建立好的系统中所有文件名
称及路径的locate数据库实现快速定位给定的文件。locate****指令无需遍历整个文件系统,查询速度
较快。
特别说明:
由于locate指令基于数据库进行查询。所以第一次查询运行前,必须使用updatedb指令创建locate
据库。
需求:用locate指令快速定位 Hello.java 文件所在目录 locate Hello.java

which指令 可以查看某个指令在哪个目录下,

grep指令

grep过滤查找,管道符,"|",表示前一个指令的处理结果输出传递给后面的指令处理。一般我们将 | 和 grep一起结合起来使用。
基本语法:grep [选项] 查找内容 源文件

Linux压缩和解压指令

gzip/gunzip****指令

gzip用于压缩文件 gunzip用于解压缩文件
gzip 压缩文件(将文件压缩为*.gz的文件,原文件被压缩后不存在。)

zip/unzip****指令

zip用于压缩文件,unzip用于解压的,这个功能打包发布中很有用。
zip [选项] XXX.zip 将要压缩的内容 (压缩文件和目录的命令)
-r: 递归压缩,即压缩目录
-d: 指定解压后文件存放方目录

tar****指令

tar指令是打包指令,最后打包后的文件是.tar.gz的文件。
语法格式:tar [选项] XXX.tar.gz 打包的内容 (功能描述:打包目录,压缩后的文件格式.tar,gz)

相关推荐
wdfk_prog1 小时前
[Linux]学习笔记系列 -- [kernel]signal
linux·笔记·学习
栈低来信1 小时前
Linux I2C子系统
linux
百***06011 小时前
Linux下PostgreSQL-12.0安装部署详细步骤
linux·运维·postgresql
c++逐梦人1 小时前
Linux下编写进度条小程序
linux·运维·小程序
求知若渴,虚心若愚。1 小时前
traefik 启用并指定根证书*.cer
linux·运维·服务器
n***27192 小时前
SQL Server 中行转列
运维·服务器
q***82912 小时前
Nginx中$http_host、$host、$proxy_host的区别
运维·nginx·http
Claudedy2 小时前
Linux 网络代理指南:解决下载慢、访问受限的开发痛点
linux·运维·网络·代理·proxy代理
q***14642 小时前
RustDesk搭建公网中继服务器远控内网机器(完整版)
运维·服务器