环境搭建
安装wsl
- 打开开始菜单,搜索启用或关闭windows功能
点开来
确定之后重启电脑 - 以管理员打开powershell ,输入下图命令
- 更新好后,输入并运行命令
wsl --shutdown
- 输入运行命令
wsl --set-default-version 2
- 打开windows商店,搜索ubuntu,找到最新版的下载安装
- 安装好后打开来,给root用户设置一个密码
- 测试一下能否登陆root
安装GUI可视化界面
以管理员身份打开终端:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
在Ubuntu中输入:
lsb_release -a
sudo apt update && sudo apt -y upgrade
sudo apt install xrdp
sudo apt install -y xfce4
apt install calc
calc
exit
sudo apt install -y xfce4-goodies
sudo vi /etc/xrdp/startwm.sh
进入vi文件后,注释掉最后2行
再添加一行startxfce4保存退出
service xrdp status
sudo /etc/init.d/xrdp start
ip a
sudo apt-get install xfce4-terminal
常用命令
基础常识
命令解析器
Linux命令解析器,通常被称为shell,是Linux操作系统中的一个关键组件。它充当用户和系统内核之间的接口,允许用户通过输入命令来控制和管理操作系统和应用程序,用户通过shell输入命令,shell解释这些命令,并将其转换为内核能理解的指令。常用的命令解析器主要有以下几种:
- Bash:是Linux上最常用的命令解析器,它是Bourne-Again Shell的缩写。支持命令行历史纪录、自动补全、别名、管道等。
- Bourne Shell:是Linux默认的shell,它是最早的一种shell,也是最基础的一种。在Linux中,我们输入用户名和密码登陆之后,就开始执行一个shell解释器程序,通常是/bin/bash,当然也可以是别的,比如/bin/sh。
- C Shell(csh): 是另一种常用的Unix shell,它是由Bill Joy在Bourne Shell的基础上开发的,提供了一些Bourne Shell没有的特性,如命令补全、历史命令、作业控制等。
- Korn Shell(ksh):是在Bourne Shell的基础上发展起来的,它的设计目标是提供Bounrne Shell的所有功能,并增加一些新的特性,如命令补全、历史命令、作业控制等。它是一种非常流行的Unix Shell,广泛应用于各种Unix系统中。
- Tcsh:是在Korn Shell的基础上发展起来的,它的设计目标是提供Bourne Shell和ksh的所有功能,并增加一些新的特性,如命令补全、历史命令、作业控制等。它是一种非常流行的Unix Shell,广泛应用于各种Unix系统中。
- Windows PowerShell:是微软的.NET FrameWork 技术的Windows NT系统中的一种命令解析器。它提供了强大的命令行操作功能,支持.NET FrameWork技术,可以方便地进行脚本编程
查看shell操作
当前系统使用的shell
$ echo $SHELL
当前系统所有shell
cat /etc/shells
系统结构
上图就是操作系统的“圈层模型”,其中最内层是最底层的系统组件,负责直接与硬件交互,而向外层逐渐过渡到用户空间和应用程序。这种模型有助于保护系统的安全,因为它限制了对核心组件的直接访问。只有经过适当的权限和系统调用,外层的应用程序和用户才能与内核层的组件交互。
- 内核:位于最中心的是Linux系统的核心。内核是操作系统的心脏,负责管理硬件资源,以及进程、内存、文件系统的控制等。
- shell层:离内核更远一些的是shell层。这个层次代表了系统中的命令解析器,也就是前面解释过的shell,它为用户提供了一个与系统交互的界面。
- 应用层:最外层是应用层,代表运行在用户空间的各种应用程序。这些程序通过系统调用与内核进行交互,并通过shell与用户进行交互
- 用户:在最外层,表示操作系统的用户,他们通过应用程序和shell与系统互动。
目录结构
Linux系统的目录结构是一个倒立的树状结构,根目录用/表示,对比windows目录结构理解linux的目录结构。
主要目录介绍
/bin
binary,二进制文件,可执行程序,shell命令
如:ls,rm,mv,cp等常用命令
/sbin
s是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
如:ifconfig,halt,shutdown,reboot等系统命令
/dev
device,在linux下一切皆文件:
- 硬盘,显卡,显示器
- 字符设备文件、块设备文件
- 如:sudo cat mouse0
/lib
linux运行的时候需要加载的一些动态库
如: libc.so、libpthread.so等
/mnt
手动的挂载目录,如u盘等
/media
外设的自动挂载目录,如光驱等
/root
liunx的超级用户root的家目录
/usr
unix system resource–类似于WINDOWS的programe files目录
- include目录里存放头文件, 如: stdio.h、stdlib.h、string.h、pthread.h
- games目录下的小游戏-如: sl小火车游戏
/etc
存放配置文件
- /etc/passwd
- man 5 passwd可以查看passwd文件的格式信息
- /etc/group
- man 5 group可以查看group文件的格式信息
- /etc/profile
- 系统的配置文件, 修改该文件会影响这个系统下面的所有的用户
/opt
安装第三方应用程序
比如安装oracle数据库可以在这个目录下
/home
linux操作系统所有用户的家目录
- 用户家目录:(宿主目录或者主目录)
- /home/itcast
/tmp
- /tmp: 存放临时文件
- 新建在这个目录下的文件会在系统重启后自动清除
路径结构
绝对路径
从根目录开始表示的路径,也就是从/开始,例如:/home/itcast
相对路径
-
从当前所处的目录开始表示的路径。
-
.表示当前目录
-
. . 表示当前目录的上一级目录
命令提示符
- yerennuo:当前登陆的用户
- @:在的意思
- YERENNUO:主机名
- ~:当前工作目录,~表示宿主目录
- $:表示当前用户为普通用户,#表示当前用户为root用户
文件属性
-
第1个字符:文件类型
- - : 普通文件
- d : 目录
- l : 符号链接,相当于windows中的快捷方式
- s : 套接字
- p : 管道
- b : 块设备
- c : 字符设备
-
第2-10个字符
-
文件所有者对文件的操作权限 (2,3,4个字符):rwx
-
文件所属组用户对文件的操作权限(5,6,7个字符):rwx
-
其他人对文件的操作权限(8,9,10个字符):r-x
-
权限属性
- r:是可读权限(read)
- w:是可写权限(write)
- x:是可执行权限(execute)
- -:没有权限
-
-
硬链接计数:1
- 对于目录来说, 链接计数等于该目录下所有的目录总数(含. 和 …), 但是不包含该目录的子目录下的目录文件数量
- 对于文件来说, 指的是该文件所有的硬链接文件数量
-
文件所有者:yerennuo
-
文件所属组:yerennuo
-
文件大小: 512 Byte
- 如果是目录: 只表示目录大小, 不包含目录中的内容, 目录大小为4k
- 如果是文件:表示文件大小
-
文件的创建日期或最后修改时间:10月 9日 09:40
-
文件名:Lyric
包管理命令
sudo apt-get
命令简述:apt-get命令是一个功能强大且免费的包管理命令行程序,用于与Ubuntu的APT(高级打包工具)库配合执行新软件包的安装、删除现有软件包、升级现有软件包、甚至用于升级整个操作系统
#更新本地软件包列表
sudo apt-get update
#从软件仓库中检索并拉取我们想要的软件
sudo apt-get install name
安装man手册
sudo apt update
sudo apt install manpages manpages-dev
也可以安装中文版的man,请自行