Linux 系统概述
计算机的体系结构
计算机由计算机硬件和计算机软件两个部分组成,其中计算机软件可分为系统软件和应用软件,系统软件就是操作系统,是其他软件的基础。
Application -- OS Shell (KDE bash csh) -- OS Kernel -- Hardware
应用程序 / Java 应用 -- 操作系统外壳(GUI / 命令)-- 操作系统内核 -- 硬件
目前主流的操作系统有:Windows 系列、Unix 系列、Linux 系列、Android 系列、IOS 系列 ...
-
Linux 系统的概述
Linux 系统是一套免费、自由、开发源代码的类 Unix 操作系统,是一个基于 POSIX (Portable Operating System Interface) 标准和多用户、多任务、支持多线程的操作系统。
Linux 能运行主要的 Unix 工具软件、应用程序和网络协议,支持 32 位和 64 位硬件。
-
主要发行版本
Redhat
:目前最大的 Linux 发行商,功能全面并且稳定,被 IBM 收购。
Ubuntu
:目前最好的 Linux 桌面版,拥有很人性化的亮丽的交互界面,强大的软件源支持。
CentOS
:是 RHEL (Red Hat Enterprise Linux) 的克隆版本,可以认为是免费版本的 Redhat
系统。
-
CentOS 系统安装
Vmware
下载地址:https://www.vmware.com/cn.html
CentOS
系统下载地址:https://www.centos.org
-
目录结构
/bin binaries
存放二进制可执行文件(例如 tomcat 的 bin 目录)
/sbin super binaries
存放二进制文件,只有 root 用户才能访问
/boot
系统启动核心目录,存放系统启动程序文件,例:查看启动文件的大小
/dev devices
用于存放硬件设备文件
/etc et cetera
存放系统配置文件(字体文件等)
/home
家目录,每一个用户都有一个”家”,用户的起始目录,创建用户跟随创建相应的家目录
/lib library
系统资源文件类库
/proc
内存映射目录,可以查看系统相关硬件的信息
/var variable
可变的,变量。部署项目用的
/tmp temporary
用来存放临时文件
/root
超级用户 root 的家目录
/usr Unix shared resource
存放 Unix 共享系统资源,类似于 ”C:/ Program Files”,用于安装各种软件
常用命令
-
Shell 的概念
Shell 俗称外壳,是提供用户使用界面的一种软件,叫做命令解释器。
主要负责接受用户输入的命令,然后调用相应的应用程序,最后向用户输出程序运行的结果。
-
命令的格式
命令 [-选项] [参数]
命令区分大小写,其中选项和参数是可选的,中间采用空格隔开。
常用命令的详解
-
查看目录下文件/目录
ls list
:显示文件
ls -l 或 ll list -list
:显示详细信息
ls -a list -all
:显示全部(包含隐藏文件)文件
ls -al list -all -list
:两个合体
ls 目录名
:查看目录下有什么东西
-
目录切换
cd ..
:上一级目录
cd dirname
:进入目录
cd 或 cd ~
:直接回到用户的家目录
cd /
:回到系统根目录
-
查看完整路径
pwd
:查看当前目录所在的位置
-
查看当前用户
whoami
: 查看当前用户的名称
-
用户切换
su
:普通用户切换到root用户
su root
:切换到root用户
su 用户名
: 切换到普通用户
exit
:退回到原来用户
建议使用 su 和 exit 搭配使用,否则多次使用 su 指令会导致用户的”叠加”
-
管理用户
useradd xxx
: 创建用户
passwd xxx
:为创建的用户设置密码
userdel -r xxx
: 删除用户以及其目录
-
查看命令的所在目录
which 命令
:查看指定命令所在的路径信息
-
文件操作
touch filename
:创建名字为 filename 的文件
touch directory/filename
: 在 directory 目录下创建名字为 filename 的文件
echo 内容 > filename
: 把内容覆盖写到文件中,若文件不存在则创建
echo 内容 >> filename
:把内容追加到文件中
cat filename
:打印文件内容到终端
more filename
:分屏查看文件各行内容,不支持回看
less filename
:查看文件各部分内容,支持回看
head -n filename
: 查看文件的前 n 行内容
tail -n filename
:查看文件末尾 n 行内容
wc filename
:查看文件的行数
-
目录操作
mkdir 目录名
:创建普通文件夹
mkdir -p 目录/目录/目录
:递归方式创建多级父子文件夹
mv dir1 dir2
:将 dir1 移动到 dir2 中
mv dir1/dir2 ./
:将 dir1 中 dir2 移动到当前目录下
mv dir1 name
:将 dir1 改名为 name
cp dir1 name
:将 dir1 拷贝为 name
cp -r dir1 dir2
:需要设置参数 -r (recursive) 无视目录层次
rm 文件
:删除文件
rm -r 目录
:递归删除目录(无视目录层次)
rm -rf 文件/目录
:强制删除文件/目录
-
查找操作
find / -name password
:查找名称为 password 的文件
find ./ -name "p*"
:查找名字有 ”p” 的文件
find ./ -type f
:查找所有文件
grep 内容 filename
:从指定文件中查找指定的内容
-
权限管理
chmod 权限 文件/目录名
:管理指定文件的权限信息,r:4 w:2 x:1
chmod 777 file
:给所有用户赋予 file 的所有权限
-
进程管理
ps
:查看当前终端窗口里的进程
ps -aux
:查看系统中的所有进程
ps -ef
:查看进程列表
kill 进程号
:杀死指定的进程
kill -9 进程号
:强制杀死指定的进程
-
常用的系统服务命令
chkconfig --list
: 列出系统服务
service <服务名> status
: 查看某个服务
service <服务名> start
: 启动某个服务
service <服务名> stop
: 终⽌某个服务
service <服务名> restart
: 重启某个服务
systemctl status <服务名>
: 查看某个服务
systemctl start <服务名>
: 启动某个服务
systemctl stop <服务名>
: 终⽌某个服务
systemctl restart <服务名>
: 重启某个服务
systemctl enable <服务名>
: 开启⾃启动
systemctl disable <服务名>
: 关闭⾃启动
-
打包解压命令
zip xxx.zip file
: 压缩⾄zip包
zip -r xxx.zip file1 file2 dir1
: 将多个⽂件+⽬录压成zip包
unzip xxx.zip
: 解压zip包
tar -cvf xxx.tar file
: 创建⾮压缩tar包
tar -cvf xxx.tar file1 file2 dir1
:将多个⽂件+⽬录打tar包
tar -tf xxx.tar
:查看tar包的内容
tar -xvf xxx.tar
: 解压tar包
tar -xvf xxx.tar -C /dir
:将tar包解压⾄指定⽬录
tar -cvfj xxx.tar.bz2 dir
: 创建bz2压缩包
tar -jxvf xxx.tar.bz2
: 解压bz2压缩包
tar -cvfz xxx.tar.gz dir
:创建gzip压缩包
tar -zxvf xxx.tar.gz
:解压gzip压缩包
bunzip2 xxx.bz2
: 解压bz2压缩包
bzip2 filename
: 压缩⽂件
gunzip xxx.gz
:解压gzip压缩包
gzip filename
: 压缩⽂件
gzip -9 filename
: 最⼤程度压缩
-
其它命令
ifconfig
:查看当前系统的IP地址等信息
tar zcvf 压缩文件名.tar.gz 路径1 路径2 ...
:实现一组文件或文件夹的打包
tar zxvf 压缩文件名.tar.gz
:实现解压缩解包
man [章节号] 命令/函数名
:查询指定的命令或函数
vi 工具的使用
基本概念
vi 和 vim 是 Linux 系统命令行下的文本编辑器,通常格式为:vi 文件名 或 vim 文件名。
三种模式
命令模式 - 通过 a/i/o 键转换为编辑模式,通过 : 键转换位底行模式
底行模式 - 通过 Enter 键转换为命令模式
编辑模式 - 通过 Esc 键转换为命令模式
使用方式
- 命令模式的编辑命令
i
:在当前位置之前插入
a
:在当前位置之后插入
o
:在当前行下插入
- 命令模式的删除命令
x
: 删除一个字符
dw
: 删除当前词
3dw
: 删除三个词
dd
: 剪切当前行
5dd
: 删除五行
- 命令模式的修改命令
r
: 替换一个字符
cw
: 替换一个单词
cc
: 替换一行
C
: 替换从光标至行尾
- 命令模式的拷贝命令
yw
: 拷贝词
yy
: 拷贝行(或Y)
dd
: 剪切行
p
: 当前行下粘贴
u
: 撤销
ctrl+r
: 取消撤销
- 底行模式的命令
:w
存盘
:w newfile
另存为新文件
:wq
存盘退出Vi(或ZZ,或:x)
:q!
强行退出不存盘
:set nu
显示行号
:set nonu
隐藏行号
:1,5co8
拷贝行 1 和行 5 之间的内容到行 8 之后
:4,5mo6
移动行 4 和行 5 之间的内容到行 6 之后
:%s /pulbic/PUBLIC
替换每一行中的第一个 public 为 PUBLIC
:%s /public/PUBLIC/g
替换每一行中的所有 public 为 PUBLIC
注意使用
使用 vimtutor 命令用来练习 vi 命令。
用户主目录下 .vimrc 文件可以实现 vi 的简单设置。