文章目录
关机、重启
shutdown -h now 立刻进行关机 (-h 即halt 停止)
shutdown -h 1 1分钟后关机(如果直接shutdown 默认为这个)
shutdown -r now 立刻重启(-r 即reboot 重启)
halt 关机和上面作用一样(不同在于halt不会关闭电源,shutdown会)
reboot 现在重启
sync 把内存的数据同步到磁盘
注意细节:
- 不管是重启还是关机,首先要运行sync命令,把内存的数据写到磁盘
- 目前的 shutdown/reboot/halt 等命令均已经提前进行sync,但最好自己执行一边,以防万一!
用户登录(切换)和注销
登录时尽量少用root账号登录,权限过大,容易误操作。可以利用普通用户登录,登陆后再用” su - 用户名" 命令切换成管理员身份
(注意:密码输入时不会显示和变化,且su - 用户名 注意空格)
注销用户:提示符下输入logout即可注销用户
使用细节:
- logout注销指令在图形运行级别无效,在运行级别3下有效
- 从高权限切换到低权限的用户,不需要输入密码,反之需要
- 需要返回原来用户时,使用exit/logout指令
用户管理
Linux系统是一个多用户多任务的操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号身份进入系统
添加用户
useradd 用户名
细节说明:
- 创建用户成功后,会自动的创建和用户同名的家目录(默认家目录在/home里)
- 也可以通过useradd -d 指定目录 新的用户名 ,给新创建的用户指定家目录
上面图片就是创建了用户名为mokapeng2,且默认在home下创建家目录mokapeng2。
同时也创建了用户名为king的用户,且指定家目录为home下的test。
tips:当指定用户家目录时,不能指定已经存在的目录。
指定或修改密码
passwd 用户名 注意:一定要指定用户名,不然会默认当前用户
tips:虽然这提示我是无效密码,但我取消了安全策略,所有一样有用,工作中要设置符合安全策略的密码
删除用户
删除用户分两种情况
- 删除用户,但要保留家目录 userdel 用户名 (之后再想删家目录,可直接删除此文件夹即可)
- 删除用户以及用户家目录 userdel -r 用户名 (一般情况下建议保留家目录,保留资料)
查询用户信息
id 用户名
查看当前用户/登录用户
whoami/who am i
tips:只会显示你最初登录的id信息,如果你登录root用户,切换成mokapeng用户,那显示的依旧是root用户
用户组
类似于角色,系统可以对有共性/权限的多个用户进行统一的管理
- 新增组
指令: groupadd 组名 - 删除组
指令:groupdel 组名 - 增加用户时,指定分组(没有指定时,会默认生成一个跟用户名相同的组,并把用户放到改组)
useradd -g 用户组 用户名
- 修改用户的组
usermod -g 要加入的组名 用户名
用户和组相关的文件
- /etc/passwd 文件
用户(user)的配置文件,记录用户的各种信息
每行的含义: 用户名:口令(密码):用户标识号:组标识号:注释性描述:主目录:登录Shell - /etc/shadow 文件
口令配置文件
每行含义: 登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志 - /etc/group 文件
组(group)的配置文件,记录Linux包含的组的信息
每行含义: 组名:口令:组标识号:组内用户列表
运行级别
- 基本介绍
运行级别说明:
0:关机
1:单用户【找回丢失的密码】
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
常用的运行级别为3、5,也可指定默认运行级别
CentOS7中,可以通过init 级别切换运行级别
指定默认运行界别
- CentOS7前后运行级别说明
在CentOS7以前,在/etc/inittab文件中可进行修改
在CentOS5后进行了简化(分为两种),如下:
multi-user.target:analogous to runlevel 3 :即多用户级别类似于原来的级别3
graphical.target:analogous to runlevel 5 :即图形化级别类似于原来的5
# To view current default target,run (查看当前默认运行级别指令):
systemctl get-default
# To set a default target,run(设置默认运行级别指令):
systemctl set-default TARGET.target
找回root密码(CentOS7)
- 启动系统,进入开机界面,在界面中按"e"进入编辑界面
- 进入编辑界面后,使用键盘上下键把光标往下移动,找到"Linux16"开头内容所在行,在行的最后面输入: init=/bin/sh
- 接着,输入完成后,直接按快捷键:Ctrl+x 进入单用户模式
- 接着在光标闪烁位置输入:mount -o remount,rw / (注意单词间有空格)。完成后回车
- 在新的一行最后输入:passwd,完成后回车。输入密码,然后再确认密码即可。密码修改成功后,会显示passwd…样式,说明成功
- 接着,在鼠标闪烁位置(最后一行) 输入:touch /.autorelabel(注意touch后有空格),完成回车
- 继续在光标闪烁位置,输入:exec /sbin/init (注意exec后有空格)。完成回车,等待系统自动修改密码,(时间较长),完成后,系统会重启。
帮助指令
- man 获取帮助信息
man [命令或配置文件] (功能:获取帮助信息)
eg:查看ls命令的帮助信息: man ls - help
help 命令 (功能:获得shell内置命令的帮助信息)
eg: help cd
文件目录指令
- pwd 指令
基本语法:pwd (功能:显示当前工作目录的绝对路径) - ls 指令
基本语法:ls [选项] [目录或文件]
常用选项:
-a:显示当前目录所有的文件和目录,包括隐藏的
-l:以列表的方式显示信息 - cd 指令
基本语法:cd [参数] (功能:切换到指定目录)
cd ~ 或cd:回到自己的家目录
cd… :回到上一级目录 - mkdir 指令 用于创建目录
基本语法 [选项] 要创建的目录
常用选项:
-p:创建多级目录 如创建多级目录/home/animal/tiger(即home下创建animal,且anmial下创建tiger)
mkdir -p /home/animal/tiger - rmdir指令 删除空目录
基本语法:rmdir [选项] 要删除的空目录
使用细节:rmdir 删除的是空目录,如果目录下有内容则无法删除。如果要删除非空目录,需要用rm -rf 要删除的目录(r是recursion递归的简写,f是force的简写) - touch 指令 创建空文件
基本语法:touch 文件名称
eg:在home下创建一个空文件hello.txt:touch /home/hello.txt - cp指令 拷贝文件(或文件目录)到指定目录
基本语法:cp [选项] source dest
常用选项:-r :recursion递归复制整个文件夹
eg:将/home/bbb整个目录拷贝到 /opt:cp -r /home/bbb/ /opt/
强制覆盖不提示方法:\cp eg:\cp -r /home/bbb/ /opt/ - rm指令 移除文件或目录
基本语法:rm [选项] 要删除的文件或目录
常用选项:-r:recursion递归删除整个文件夹 -f:强制删除不提示 - mv 指令 移动文件与目录 或重命名
基本语法:
mv oldNameFile new NameFile (功能:重命名)
mv /old/movefile /targetfile (功能:移动文件或目录) - cat 指令 查看文件内容(只看不可修改,所有更安全)
基本语法:cat [选项] 要查看的文件
常用选项: -n:显示行号
使用细节:cat只能看不能改,为了浏览方便,一般会带上管道命令 | more
eg:cat -n /etc/profile | more - more 指令 一个基于VI编辑器的文本过滤器,它以全屏幕的方式按页显示文本文件的内容。more中内置了若干快捷键(交换的指令),如下:
- less指令 用来分屏查看文件内容,它的功能与more指令类似,但比more更强大,支持各种显示终端。less指令在显示文件内容时,并不是一次性将整个文件加载之后才显示,而是加载需要显示的内容,对大型文件有较高的效率
基本语法:less 要查看的文件
- echo指令:输出内容到控制台
基本语法:echo [选项] [输出内容]
eg:使用echo输出环境变量$PATH:echo $PATH
使用echo输出 hello,world
- head指令:显示文件开头部分内容,默认情况下head指令显示文件前10行
基本语法:head 文件
eg: head -n 5 文件 查看文件头5行内容 - tail指令:输出文件尾部的内容,默认显示文件后10行
基本语法:
tail 文件 查看尾10行
tail -n 5 查看尾5行
tail -f 文件 实时追踪文档的所有更新(退出则Ctrl+C) - > 指令和>>指令
>:输出重定向(直接覆盖) >>:追加(增至末尾)
基本语法:
1)ls -l > 文件 列表的内容写入文件中
2)ls -al >> 文件 列表的内容追加到文件的末尾
3)cat 文件1 > 文件2 文件1的内容覆盖到文件2
4)echo ‘内容’ >> 文件 - ln指令 软连接,也称符号连接,类似于快捷方式,主要存放链接其他文件的路径
基本语法:
ln -s [源文件目录] [软链接名] 功能:给原文件创建一个软连接
eg:在/home 目录下创建一个软链接 myroot,连接到/root目录
删除软连接==删除文件 - history指令:查看已经执行过的历史命名,也可以执行历史指令
基本语法:history
1)history 显示所有历史命令
2)history 10 显示最近使用过的10条指令
3)!5 执行历史编号为5的指令
时间日期类指令
- date指令 显示当前日期和设置日期
显示日期基本语法:
1)date 显示当前时间
2)date +%Y 显示当前年份
3)date +%m 显示当前月份
4)date +%d 显示当前是哪一天
5)date “+%Y-%m-%d %H:%M:%S” 显示年月日时分秒
设置日期基本语法:date -s 字符串时间
eg:设置当前时间为2021-4-25 13:10:20
date -s “2021-4-25 13:10:20” - cal指令 查看日历
基本语法:cal [选项] (功能:不加选项,显示本月日历)
1)显示当前当月日历:cal
2)显示2021年整年日历:cal 2021
搜索查找类
- find指令
find指令将从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端
基本语法:find [搜索范围] [选项]
选项说明
1)按文件名:根据名称查找/home目录下的hello.txt文件
find /home -name hello.txt
2)按拥有者:查找/opt目录下,用户名称为nobody的文件
find /opt -user nobody
3)查找整个linux系统下大于200M的文件(+n 大于 -n小于 n等于,单位有k,M,G)
find / -size +200M - locate指令
locate指令可以快速定位文件路径。locate指令利用事先建立的系统中所有文件名称及路径名的locate数据库实现快速定位给定文件。Locate指令无需遍历整个文件系统,查询速度较快。为了保证查询结果的准确,管理员必须定期更新locate
基本语法:locate 搜索文件
由于locate指令基于数据库进行查询,所以第一次运行前,必须使用updatedb指令创建locate数据库。
eg:使用locate指令快速定位hello.txt文件所在目录
- which指令 查看某个指令在那个目录下
eg: which ls - grep指令和管道符号 |
grep:过滤查找,管道符号 | :将前一个命令结果传递给后面的命令处理
基本语法:grep [选项] 查找内容 源文件
常用选项:-n 显示匹配行及行号 -i 忽略大小写
eg:查找hello.txt文件中,’yes‘所在的行,并显示行号
cat hello.txt | grep -n ‘yes’ 或grep -n ‘yes’ hello.txt
压缩和解压
- gzip/gunzip 指令
gzip 用于压缩文件,gunzip用于解压
基本语法:
gzip 文件 (功能:压缩文件,只能将文件压缩成*.gz文件)
gunzip 文件.gz (功能:解压缩文件命令)
1)gzip压缩,将/home下的hello.txt文件进行压缩
gzip /home/hello.txt (源文件直接被压缩,压缩后源文件不存在)
2)gunzip解压,将/home下的hello.txt.gz文件进行解压缩
gunzip hello.txt.gz - zip/unzip 指令
用于压缩文件或者文件夹,项目打包发布很有用
基本语法:
zip [选项] XXX.zip 将要压缩的内容,压缩后源文件仍存在
unzip [选项] xxx.zip,解压后XXX.zip仍存在
zip常用选项:-r :recursion递归压缩,即压缩目录
unzip常用选项:-d<目录>:指定解压文件存放的目录
1)将/home下的所有文件(包括home)进行压缩成myhome.zip
zip -r myhome.zip /home/
2)将myhome.zip解压到/opt/tmp目录下
unzip -d /opt/tmp /home/myhome.zip - tar指令
tar指令是打包指令,即可压缩也可解压,最后压缩文件是.tar.gz文件,压缩后源文件还在
基本语法:tar [选项] XXX.tar.gz 打包的内容 (功能:打包目录,压缩文件格式是.tar.gz)
常用选项
-z 用gzip来压缩/解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。
1)压缩多个文件,将/home/pig.txt 和/home/cat.txt压缩成 pc.tar.gz
tar -zcvf pc.tar.gz /home/pig.txt /home/cat.txt
2)将/home的文件夹压缩成myhome.tar.gz
tar -zcvf myhome.tar.gz /home/
3)将pc.tar.gz解压到当前目录,切换到/opt/
tar -zxvf pc.tar.gz
4)将myhome.tar.gz解压到/opt/tmp2目录下
tar -zxvf /home/myhome.tar.gz -C /opt/tmp2