工具:VMware Workstation 16 pro,CentOS 8.4(2105)
教程:bilibili-@HSP老师的Linux教学
Linux学习笔记 #1
下一篇:Linux学习笔记 #2
1 远程连接
- windows远程连接linux主机——xshell 6
- windows与linux主机传输文件——xftp6(Download: www.netsarang.com)
2 Linux目录
- Linux的文件系统采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其它的目录。与windows有所不同。在linux的世界里,一切皆文件。
- 根目录“/”下的具体目录结构
- /bin
是binary的缩写,这个目录存放最经常使用的命令。 - /sbin
是super user的意思,存放的是系统管理员使用的系统管理程序。 - /home
存放普通用户的主目录,在linux中每个用户都有一个自己的目录,一般该目录名是以用户的账号命名。 - /root
该目录为系统管理员(也称超级权限者)的用户主目录。 - /lib
系统开机所需要的最基本的动态链接共享库,其作用类似于windows里的dll文件。几乎所有的应用程序都需要用到这些共享库。 - /lost+found
一般是空的(且隐藏),但当系统非正常关机后会存放一些文件。 - /etc
存放所有系统管理需要的配置文件和子目录。安装了mysql数据库,其配置文件放在/etc中。 - /usr
用户安装的程序会放在这个目录,类似windows的Program Files文件夹。 - /boot
linux启动相关核心文件,包括一些连接文件以及镜像文件。 - /proc
【不能动】虚拟的目录,是系统内存的映射。 - /srv
【不能动】service的缩写,存放一些服务启动之后需要提取的数据。 - /sys
【不能动】是linux2.6内核的一个很大变化,该目录下安装了2.6内核中新出现的一个文件系统sysfs。 - /tmp
这个目录用来存放一些临时文件。 - /dev
管理设备。linux会把硬件映射为文件的形式来存储和管理(如cpu的每个核被映射为一个文件夹)。 - /media
linux把自动识别的设备(如U盘、光驱等),识别后映射为文件,挂载到该目录。 - /mnt
为了让用户临时挂载别的文件系统,系统将外部的存储挂载到/mnt目录,然后进入该目录就可以查看其内容了。 - /opt
是给主机额外安装软件所存放的目录,如安装ORACLE数据库就可放到该目录下,默认为空 - /usr/local
这是另一个给主机额外安装软件所安装的目录,一般是通过编译源码方式安装的程序。 - /var
这个目录中存放着在不断扩充着的东西,习惯将经常被修改的目录放在这个目录下。包括各种日志文件。 - /selinux
security-enhanced linux。selinux是一种安全按子系统,能控制程序只能访问特定文件,有三种工作模式,可以自行设置。
- /bin
3 基本命令
3.1 linux编辑器:vim
- Linux下内置的文本编辑器
- 三种模式:正常模式(默认)、插入模式(按下i、o、a、r中的一个字母后进入该模式)、命令行模式(按下esc,再输入冒号":"以进入该模式)
按下esc默认返回正常模式
命令行下,“:wq”:保存退出,“:q”:退出,“:q!”:不保存退出
3.2 关机&重启命令
shutdown -h now
立刻进行关机shutdown -h 1
1min后关机shutdown -r now
现在重新启动计算机halt
关机,作用和上面一样reboot
现在重新启动计算机sync
把内存的数据同步到磁盘
3.3 用户操作
3.3.1 用户登录与注销
- 登录时少用root账号(usr:root;psd:123456)登录。
- 注销用户只要在提示符下输入logout即可。
3.3.2 添加用户
- 语法:
useradd USERNAME
- 说明:创建用户成功后,会自动创建和用户同名的家目录,默认该用户的家目录在
/home/USERNAME
。也可以通过useradd -d DIRECTORY USERNAME
,给新创建的用户指定家目录。
3.3.3 指定/修改密码
- 语法:
passwd USERNAME
3.3.4 删除用户
- 语法:
userdel USERNAME
- 说明:删除用户的两种方式——保留家目录,或不保留家目录(
userdel -r USERNAME
)。
3.3.5 查询用户信息
- 语法:
id USERNAME
- 查看当前用户/登录用户:
who am i
3.3.6 切换用户
- 语法:
su - USERNAME
- 说明:若当前用户的权限不够,通过该指令可以切换到高权限用户,如root。当需要返回到原来用户时,使用
exit
或logout
指令。
3.3.7 用户组
- 理解:建立组可以对有共同特征/权限的多个用户进行统一管理。
- 语法:
- 新增组:
groupadd GROUPNAME
- 删除组:
groupdel GROUPNAME
- 增加用户时直接加上组:
useradd -g GROUPNAME USERNAME
- 新增组:
- 用户和组相关文件
/etc/passwd文件、/etc/shadow文件、/etc/group文件
3.4 运行级别及切换
- 关机
- 单用户
- 多用户状态没有网络服务
- 多用户状态有网络服务
- 系统未使用保留给用户
- 图形界面
- 系统重启
常用的运行级别是3和5。
- 命令:
init
- 功能:用来切换不同的运行级别。
- 指定运行级别
3.5 帮助指令
3.5.1 man指令
- 语法:
man [命令或配置文件]
- 功能:获得帮助信息。
3.5.2 help指令
- 语法:
help 命令
- 功能:获得shell内置命令的帮助信息。
3.6 文件/目录类
3.6.1 pwd指令
- 语法:
pwd
- 功能:显示当前工作目录的绝对路径。
3.6.2 ls指令
- 语法:
ls [选项] [目录或文件]
- 常用选项:
-a
:显示当前目录所有的文件和目录,包括隐藏的。-l
:以列表的方式显示信息。-h
:信息以便于人查看的方式呈现。
【白色】文件;【深蓝色】文件夹;【浅蓝色】链接;【红色】压缩文件
3.6.3 cd指令
- 语法:
cd [参数]
- 功能:到某个目录。
- 理解:绝对路径和相对路径。
- 常用【注意空格】:
cd ~
:回到自己的家目录。如用户tom,使用该指令后到/home/tom
。cd ..
:回到当前目录的上一级目录。
3.6.4 mkdir指令
- 语法:
mkdir [选项] 要创建的目录
- 功能:用于创建目录。
- 常用选项:
-p
:创建多级目录。
3.6.5 rmdir指令
- 语法:
rmdir [选项] 要删除的空目录
- 功能:删除空目录。
- 若要删除非空目录,需要使用指令
rm -rf 要删除的目录
。
3.6.6 touch指令
- 语法:
touch 文件名称
- 功能:创建空文件。
3.6.7 cp指令
- 语法:
cp [选项] 原文件或目录 目标目录
- 功能:拷贝文件到指定目录。
- 常用选项:
-r
:递归复制整个文件夹
- 强制覆盖不提示的方法:
\cp -r 源文件或目录 目标目录
3.6.8 rm指令
- 语法:
rm [选项] 要删除的文件或目录
- 功能:移除文件或目录。
- 常用选项:
-r
:递归删除整个文件夹。-f
:强制删除不提示。-rf
:强制删除整个文件夹,不提示。【慎用】
3.6.9 mv指令
- 语法:
mv FILE_1 FILE_2
- 功能:移动文件(或目录),或进行重命名
- 当FILE_1和FILE_2在同一个目录下时,为重命名功能。
- 当FILE_1和FILE_2在不同目录(路径)时,为移动文件功能。
亦可实现整体移动某个目录。例如:
mv /home/DIR_1 /root/DIR_2/
3.6.10 cat指令
-
语法:
cat [选项] 要查看的文件
-
功能:查看文件内容
> cat指令只能查看文件,而不能修改文件。
通常配合 管道命令 | more 使用
如:cat -n /etc/profile | more
,配合回车(下一行)和空格(翻页)查看文件 -
常用选项:
--n
:显示行号
3.6.11 more指令
- 语法:
more 要查看的文件
- 功能:是一个基于VI编辑器的文本过滤器,以全屏幕的方式,按页显示文本文件的内容。其中内置了若干快捷指令(交互的指令)。
3.6.12 less指令
- 语法:
less 要查看的文件
- 功能:用来分屏查看文件内容,较more指令效率较高。
3.6.13 echo指令
- 语法:
echo [选项] 输出内容
- 功能:输出内容到控制台。
- 示例:
- 使用echo输出环境变量:如
echo $HOSTNAME
输出主机名。 echo hello, world!
或echo "hello, world!"
。
- 使用echo输出环境变量:如
3.6.14 head指令
- 语法:
head 文件
- 功能:查看文件头10行(默认)的内容。(与tail指令相对)
- 常用:
head -n num 文件
:查看文件头num行的内容,num可以是任意行数。
3.6.15 tail指令
- 语法:
tail 文件
- 功能:查看文件尾10行(默认)的内容。(与head指令相对)
- 常用:
tail -n num 文件
:查看文件尾num行的内容,tail可以是任意行数。tail -f 文件
:实时追踪/监控该文档的所有更新。
3.6.16 >指令和>>指令
- >:输出重定向
- 示例
ls -l > 文件
:列表的内容写入文件。cat 文件1 > 文件2
:将文件1的内容覆盖到文件2。
- 示例
- >>:追加
- 示例:
ls -al >> 文件
:列表的内容追加到文件的末尾。echo "内容" >> 文件
:内容追加到文件的末尾。
- 示例:
3.6.17 ln指令
- 语法:
ln -s [源文件或目录] [软链接名]
- 功能:给源文件创建一个软链接
软链接也成为符号链接,类似于windows里的快捷方式,主要存放了其他文件的路径。
3.6.18 history指令
- 语法:
history
- 功能:查看已经执行过历史命令,也可以执行历史命令。
3.6 时间日期类
3.6.1 date指令
- 功能:显示当前日期。
- 语法:
date
- 语法:
- 功能:设置日期。
- 语法:
date -s 字符串时间
- 语法:
3.6.2 cal指令
- 功能:查看日历。
- 语法:
cal [选项]
3.7 搜索查找类
3.7.1 find指令
- 功能:从指定目录向下递归地遍历其各个子目录,将满足条件的文件或者目录显示在终端。
- 语法:
find [搜索范围] [选项]
- 常用选项:
-name
:按文件名查找。-user
:按用户名查找。-size
:按文件大小查找。
3.7.2 locate指令
- 功能:快速定位文件路径。利用事先建立的系统中所有文件名称及路径的locate数据库实现快速定位指定的文件。 locate指令无需遍历整个文件系统,查询速度较快。
- 语法:
locate 文件名
- 管理员必须定期更新locate时刻,以保证查询结果的准确度。
第一次运行前,必须使用updatedb指令创建locate数据库。
3.7.3 which指令
- 功能:查找某个指令所在目录。
- 语法:
which 命令名
3.7.4 grep指令和管道符号“|”
- 功能:
- grep指令:过滤查找。
- 管道符“|”:将前一个命令的处理结果输出传递给后面的命令处理。
- 语法:
grep [选项] 查找内容 源文件
- 常用选项:
-n
:显示匹配及行号。-i
:忽略字母大小写。
3.8 压缩和解压类
3.8.1 gzip / gunzip指令
- 功能:gzip用于压缩,gunzip用于解压。(*.gz文件)
- 语法:
gzip 文件
gunzip 文件
3.8.2 zip / unzip指令
- 功能:zip用于压缩,unzip用于解压。
- 语法:
zip [选项] XXX.zip 将要压缩的内容
unzip [选项] XXX.zip
- 常用选项:
-r
:zip指令使用。递归压缩。(即压缩目录)-d<目录>
:unzip指令使用。指定解压后文件的存放目录。
- 示例:
zip -r myhome.zip /home/
:将home目录及其包含的文件和子文件夹都压缩。unzip -d /opt/tmp /home/myhome.zip
:将myhome.zip解压到/opt/tmp目录下。
3.8.3 tar指令
-
功能:tar指令既是打包指令,也是解压指令。
-
语法:
tar [选项] XXX.tar.gz 要打包的内容
打包目录,压缩后的文件格式为“.tar.gz”
-
常用选项:
-
示例:
tar -zxvf /home/myhome.tar.gz -C /opt/tmp2
:将myhome.tar.gz解压到/opt/tmp2目录下。
下一篇:Linux学习笔记 #2