常用命令知识
- 关机和重启
- 用户管理
- 用户组
- 运行级别
- 帮助指令
- 文件目录类
- 时间日期类
- 搜索查找类
- 压缩和解压类
关机和重启
java">shutdown -h now //立刻进行关机
shutdown -h 1 “1分钟后进行” //一分钟后进行关机 并向登录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
(将压缩文件指定解压路径)