1、用户和用户组
1.1、添加用户
useradd [选项] 用户名
# 当创建用户成功后,会自动创建和用户同名的 /home 目录
# 也可通过 useradd -d 指定目录 用户名,给新建的用户指定 /home 目录
[root@myCentos6 ~]# useradd zim
[root@myCentos6 ~]# cd /home
[root@myCentos6 home]# ls
zim
#########################
# 添加用户时直接加上组
useradd -g 用户组 用户名
1.2、给用户指定/修改密码
# 基本语法
passwd 用户名
# zim@123
[root@myCentos6 home]# passwd zim
更改用户 zim 的密码 。
新的 密码:
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
1.3、删除用户
userdel 用户名
[root@myCentos6 /]# userdel zim
[root@myCentos6 /]# cd /home
[root@myCentos6 home]# ls
zim
1.4、删除用户及用户主目录
userdel -r 用户名
# /home 下用户名相关目录也会删除
# 实际中,在删除用户时,我们一般不会将该用户 /home 目录下信息删除
1.5、查询用户信息
id 用户名
[root@myCentos6 home]# id zim
uid=500(zim) gid=500(zim) 组=500(zim)
[root@myCentos6 home]# id tom
id: tom:无此用户
1.6、切换用户
su - 用户名
# 在操作linux中,如果当前用户权限不够,可以通过 su - 指令,切换到高权限用户,比如切换到root用户
[root@myCentos6 home]# su - zim
[zim@myCentos6 ~]$
[zim@myCentos6 ~]$ cd /root
-bash: cd: /root: 权限不够
[zim@myCentos6 ~]$ exit
logout
[root@myCentos6 home]#
# exit 命令可以返回到原用户
1.7、用户组基本操作
# 新增组
groupadd 组名
# 删除组
groupdel 组名
1.8、修改用户的组
usermod -g 用户组 用户名
2、文件目录类
2.1、pwd 指令
# 显示当前工作目录的绝对路径
[root@myCentos6 src]# pwd
/usr/src
2.2、ls 指令
# 基本语法
ls [选项] [目录或文件]
# 常用选项
-a : 显示当前目录所有的文件和目录,包括隐藏的。
-l : 以列表的方式显示信息
[root@myCentos6 /]# ls
bin boot dev etc home lib
[root@myCentos6 /]# ls -l
总用量 98
dr-xr-xr-x. 2 root root 4096 8月 24 10:43 bin
dr-xr-xr-x. 5 root root 1024 8月 24 01:19 boot
drwxr-xr-x. 18 root root 3720 8月 24 13:51 dev
drwxr-xr-x. 105 root root 12288 8月 24 14:08 etc
drwxr-xr-x. 3 root root 4096 8月 24 14:08 home
dr-xr-xr-x. 13 root root 4096 8月 24 10:43 lib
[root@myCentos6 /]# ls -al
总用量 110
dr-xr-xr-x. 23 root root 4096 8月 24 13:50 .
dr-xr-xr-x. 23 root root 4096 8月 24 13:50 ..
-rw-r--r--. 1 root root 0 8月 24 13:50 .autofsck
dr-xr-xr-x. 2 root root 4096 8月 24 10:43 bin
dr-xr-xr-x. 5 root root 1024 8月 24 01:19 boot
drwx------. 3 root root 4096 8月 24 01:19 .dbus
drwxr-xr-x. 18 root root 3720 8月 24 13:51 dev
drwxr-xr-x. 105 root root 12288 8月 24 14:08 etc
drwxr-xr-x. 3 root root 4096 8月 24 14:08 home
dr-xr-xr-x. 13 root root 4096 8月 24 10:43 lib
2.3、cd 指令
# cd [参数] (功能描述:切换 到指定目录)
# cd ~ 或 cd 表示回到自己的家目录
[root@myCentos6 home]# cd
[root@myCentos6 ~]# cd /home
[root@myCentos6 home]# cd ~
[root@myCentos6 ~]#
# cd .. 表示回到自己的上级目录
[root@myCentos6 opt]# pwd
/var/opt
[root@myCentos6 opt]# cd ..
[root@myCentos6 var]# pwd
/var
2.4、mkdir 指令
# mkdir 指令用于创建目录(make directory)
mkdir [选项] 要创建的目录
# 常用选项
-p : 创建多级目录
[root@myCentos6 /]# mkdir test
[root@myCentos6 /]# ls
bin boot dev etc home test
[root@myCentos6 test]# mkdir aa/bb/cc
mkdir: 无法创建目录"aa/bb/cc": 没有那个文件或目录
[root@myCentos6 test]# mkdir -p aa/bb/cc
[root@myCentos6 test]# cd aa/bb/cc
[root@myCentos6 cc]#
2.5、rmdir 指令
# rmdir 指令用于删除空目录,如果目录下有内容时则无法删除。
rmdir [选项] 要删除的空目录
[root@myCentos6 bb]# ls
cc
[root@myCentos6 bb]# rmdir cc
[root@myCentos6 bb]# ls
[root@myCentos6 bb]#
# 如果要删除非空目录,可以用 rm -rf
rm -rf 要删除的目录
[root@myCentos6 /]# rm -rf test
2.6、touch 指令
# touch 指令是创建空文件
touch 文件名称
[root@myCentos6 /]# cd test
[root@myCentos6 test]# ls
[root@myCentos6 test]# touch aa.text
[root@myCentos6 test]# ls
aa.text
2.7、cp 指令
# cp 指令拷贝文件到指定目录,若目标目录下出现相同文件,会提示是否覆盖
cp [选项] source dest
# 常用选项
-r : 递归复制整个文件夹
# \cp 会强制覆盖原来的文件,不会提示是否覆盖
\cp [选项] source dest
2.8、rm 指令
# rm 指令移除(删除)文件或目录
rm [选项] 要删除的文件或目录
# 常用选项
-r : 递归删除整个文件
-f : 强制删除,不提示
[root@myCentos6 /]# rm -rf test
2.9、mv 指令
# mv 移动文件或目录或重命名
# 重命名
mv oldName newName
# 移动文件
mv /test1 /test2
2.10、cat 指令
# cat 以只读的方式,查看文件内容
cat [选项] 要查看的文件
# 常用选项
-n : 显示行号
# 使用cat 可以利用管道命令,分页浏览
cat 文件名 | more
[root@myCentos6 test]# cat -n aa.test
1 fa
2 dsfg
3 dsg
4 sdf
5 g
6 sdf
[root@myCentos6 test]#
[root@myCentos6 test]# cat aa.test | more
more 后的具体操作
操作 | 功能说明 |
---|---|
空格键(space) | 代表向下翻一页 |
Enter | 代表向下翻【一行】 |
q | 代表立刻离开more,不再显示该文件内容 |
Ctrl+F | 向下滚动一屏 |
Ctrl+B | 返回上一屏 |
= | 输出当前行的行号 |
:f | 输出文件名和当前行的行号 |
2.11、less 指令
# less 指令用来分屏查看文件内容,对于显示大型文件具有较高的效率
less 要查看的文件
操作 | 功能说明 |
---|---|
空白键 | 向下翻动一页 |
[pagedown] | 向下翻动一页 |
[pageup] | 向上翻动一页 |
/字符串 | 向下搜寻[字符串]的功能:n:向下查找;N:向上查找。 |
?字符串 | 向上搜寻[字符串]的功能:n:向下查找;N:向上查找。 |
q | 离开less程序 |
2.12、> 和 >> 指令
# > 指令表示输出重定向:会将原来的文件内容覆盖
# >> 指令表示追加:不会覆盖原文件内容,而是追加到文件的尾部。
# 例:
# 列表的内容写入文件(覆盖写),文件不存在会创建文件
ls -l > 文件
# 列表的内容追加到文件的末尾
ls -al >> 文件
# 将文件1的内容 覆盖到文件2
cat 文件1 > 文件2
2.13、echo 指令
# echo 指令:输出内容到控制台
echo [选项] [输出内容]
# 打印环境变量
[root@myCentos6 /]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
2.14、head 指令
# head 指令用于显示文件的开头部分内容,默认显示前10行
head 文件
# 查看文件的前5行
head -n 5 文件
2.15、tail 指令
# tail 指令用于输出文件尾部的内容,默认显示文件最后10行内容
tail 文件
# 查看文件最后 5行数据
tail -n 5 文件
# 实时追踪文件的所有更新,常用于实时查看日志
tail -f 文件
2.16、ln 指令
# ln 指令:软链接也叫符合链接,类似于windows 中的快捷方式,主要存放了链接其他文件的路径
# 给原文件创建一个软链接
ln -s [原文件或目录] [软链接名]
# 删除软链接,软链接名前不要加/,否则提示资源忙
rm -rf [软链接名]
2.17、history 指令
# history 指令:查看已执行过的历史命令,也可以执行历史命令
history
# 显示所有的历史命令
[root@myCentos6 /]# history
1 ./vmware-install.pl
2 reboot
3 ipconfig
4 setupt
5 setup
6 ipconfig
7 ifconfig
# 显示最近使用过的10条命令
history 10
[root@myCentos6 /]# history 10
127 rm -rf aa.text
128 ls
129 cd ..
130 ls
131 rm -rf test
132 ls
133 echo $PATH
134 history
135 clear
136 history 10
# 执行历史编号为 133 的指令
[root@myCentos6 /]# history 10
127 rm -rf aa.text
128 ls
129 cd ..
130 ls
131 rm -rf test
132 ls
133 echo $PATH
134 history
135 clear
136 history 10
[root@myCentos6 /]# !133
echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@myCentos6 /]#
2.18、data 指令
# 显示当前日期
date
# 显示当前年份
date +%Y
# 显示当前月份
date +%m
# 显示当前天
date +%d
# 显示年月日时分秒
date "+%Y-%m-%d %H:%M:%S"
[root@myCentos6 /]# date
2023年 08月 24日 星期四 16:10:07 CST
[root@myCentos6 /]# date +%Y
2023
[root@myCentos6 /]# date +%m
08
[root@myCentos6 /]# date +%d
24
[root@myCentos6 /]# date "+%Y-%m-%d %H:%M:%S"
2023-08-24 16:12:27
# 设置系统当前时间
date -s 字符串时间
# date -s 2020-11-20 12:12:29
3、搜索查找类
3.1、find 指令
# find 指令将从指定目录向下递归,遍历其所有子目录,将满足条件的文件或目录显示在终端
find [搜索范围] [选项]
# 按文件名在/home目录及其子目录下,查找hello.txt 文件
find /home -name hello.txt
# 查询 / 目录下所有的 .txt 文件
find / -name *.txt
# 查找整个linux系统下,大于20M的文件(+n 大于 -n 小于 n 等于)
find / -size +20M
# 查找/home 目录及其子目录下,用户名称为 tom 的文件
find /home -user tom
选项说明:
选项 | 功能 |
---|---|
-name<查询方式> | 按指定的文件名查找模式查找文件 |
-user<用户名> | 查找属于指定用户名所有文件 |
-size<文件大小> | 按照指定的文件大小查找文件 |
3.2、locate 指令
# locate 指令可以快速定位文件路径,locate 指令利用事先建立的系统中所有文件名称及路径的 locate 数据库,实现快速定位给定的文件。 locate 指令不需要遍历整个文件系统,查询快速。但是为保证查询结果的准确度,管理员必须定期更新locate 时刻。
locate 搜索文件
# 由于 locate 指令基于数据库进行查询,故,第一次运行前,必须使用 updatedb 指令创建 locate 数据库。
[root@myCentos6 /]# updatedb
[root@myCentos6 /]# locate aa.txt
3.3、grep 指令 和 管道符号 |
# grep 过滤查找,管道符号 "|" 表示将前一个命令的处理结果,输出传递给后面的命令处理。
grep [选项] 查找内容 源文件
# 在 hello.txt 文件中,查找 "yes" 所在行,并显示行号 (区分大小写)
cat hello.txt | grep -n yes
# 在 hello.txt 文件中,查找 "yes" 所在行,并显示行号 (不区分大小写)
cat hello.txt | grep -ni yes
常用选项:
选项 | 功能 |
---|---|
-n | 显示匹配行及行号 |
-i | 忽略字母大小写 |
4、压缩和解压类
4.1、gzip / gunzip 指令
# gzip 用于压缩文件,只能将文件压缩为*.gz文件,压缩后不会保留原文件
gzip 文件
# gunzip 用于解压文件,解压缩后不会保留原文件
gunzip 文件.gz
[root@myCentos6 test]# ls
hello.txt
[root@myCentos6 test]# gzip hello.txt
[root@myCentos6 test]# ls
hello.txt.gz
[root@myCentos6 test]# gunzip hello.txt.gz
[root@myCentos6 test]# ls
hello.txt
4.2、zip / unzip 指令
# zip 用于压缩文件
zip [选项] XXX.zip 将要压缩的内容
# unzip 用于解压文件
unzip [选项] XXX.zip
# zip 常用选项
-r : 递归压缩,即压缩目录
# unzip 常用选项
-d<目录> :指定解压后文件的存放目录
# 将 /home 目录下所有文件进行压缩成 aa.zip
zip -r aa.zip /home/
# 将 aa.zip 解压到 /tmp/test 目录下
unzip -d /tmp/test/ aa.zip
4.3、tar 指令
# tar 指令是打包指令,打包后的文件是 xxx.tar.gz 文件
tar [选项] xxx.tar.gz 打包的内容
# 压缩多个文件,将 /home/a1.txt 和 /home/a2.txt 压缩成 aa.tar.gz
tar -zcvf aa.tar.gz a1.txt a2.txt
# 将 /home 文件夹 压缩成 home.tar.gz
tar -zcvf home.tar.gz /home/
# 将 aa.tar.gz 解压到当前目录
tar -zxvf aa.tar.gz
# 将 home.tar.gz 解压到 /opt/ 目录下,指定解压到的那个目录,必须事先要存在,否则会报错。
tar -zxvf home.tar.gz -C /opt/
选项说明:
选项 | 功能 |
---|---|
-c | 产生.tar打包文件 |
-v | 显示详细信息 |
-f | 指定压缩后的文件名 |
-z | 打包同时压缩 |
-x | 解压.tar文件 |
5、编辑文件
-
vim 或 vi 文件名进入一般模式
-
i 进入编辑(插入)模式
-
esc 退出编辑(插入)模式返回到一般模式
-
:X 保存修改
-
:wq 退出文件
-
删除文件夹及其子目录下所有文件 rm -rf 文件夹或文件
-
从 windows copy到 linux 使用 rz 命令
-
从 linux copy到 windows 使用 sz 文件名 命令
6、查看服务是否是虚拟机
命令: dmidecode -s system-product-name
如上图则为虚拟机。
出现以下类似信息则为物理机。