1.Windows10下Linux开发环境的部署
1.1软件准备
CentOS 7 1804镜像
VMware Workstation Pro
Xshell6
1.2 安装虚拟机
将Centos7镜像放入硬盘根目录,将VMware和Xshell6安装到硬盘,中间无脑选下一步即可.
剩余步骤如需详述需要大量截图,可参考网络上的众多关于CentOS虚拟机安装的教程.
至此,win10下CentOS的开发环境已经部署完毕.
2.膜拜大佬 Linux之父–Linus
3.Linux基础
3.1 Linux基础知识
3.1.1 用户登录
- root 用户
一个特殊的管理帐户
也被称为超级用户
root已接近完整的系统控制
对系统损害几乎有无限的能力
除非必要,不要登录为 root
- 普通( 非特权 )用户
权限有限
造成损害的能力比较有限
3.1.2 终端Terminal
-
设备终端
-
键盘鼠标显示器
-
物理终端( /dev/console )
-
控制台console
-
虚拟终端(tty:teletypewriters, /dev/tty# #为[1-6])
-
tty 可有n个,Ctrl+Alt+F[1-7]
-
图形终端:startx, xwindows
-
串行终端( /dev/ttyS# )
-
ttyS
-
伪终端( pty:pseudo-tty , /dev/pts/# )
pty, SSH远程连接
我们使用的Xshell就是伪终端
- 查看当前的终端设备:#tty
3.1.3交互式接口
-
交互式接口:启动终端后,在终端设备附加一个交互式应用程序
-
GUI:Graphic User Interface
- X protocol, window manager, desktop
- Desktop:
- GNOME (C, 图形库gtk)
- KDE (C++,图形库qt)
- XFCE (轻量级桌面)
- Desktop:
- X protocol, window manager, desktop
-
CLI:Command Line Interface
3.2 关于shell
shell程序:sh (bourn 史蒂夫·伯恩) 包括但不限于csh tcsh ksh (korn) bash (bourn again shell)GPL zsh等多种shell,CentOS7使用的shell为bash
3.2.1 什么是shell
-
Shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行
-
shell也被称为LINUX的命令解释器(command interpreter)
-
shell是一种高级程序设计语言
3.2.2 bash
- GNU Bourne-Again Shell(bash)是GNU计划中重要的工具软件之一,目前也是 Linux标准的shell,与sh兼容
- CentOS默认使用
- 显示当前使用的shell
echo ${SHELL}(或者直接 ehco $SHELL)
[root@localhost ~]# echo $SHELL
/bin/bash
- 显示当前系统使用的所有shell
cat /etc/shells
[root@localhost ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
3.3 命令及命令提示符
3.3.1 命令提示符
3.3.1.1 命令提示符的基本信息
- 命令提示符:prompt
[root@localhost ~]#
-
# 管理员 $ 普通用户
-
显示提示符格式
[root@localhost ~]#echo $PS1
[root@localhost ~]# echo $PS1
\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\h \[\e[36;40m\]\W\[\e[37;40m\]]\$
3.3.1.2 修改命令提示符
- 修改提示符格式
如输入参数如下
PS1="[\e[1;5;41;33m][\u@\h \W]\$[\e[0m]"
PS1="[\e[1;32m][[\e[0m]\t [\e[1;33m]\u[\e[36m]@\h[\e[1;31m]
\W[\e[1;32m]][\e[0m]\$"
- PS文件中的一些基本参数
\e \033 \u 当前用户
\h 主机名简称 \H 主机名
\w 当前工作目录 \W 当前工作目录基名
\t 24小时时间格式 \T 12小时时间格式
\! 命令历史数 \ # 开机后命令历史数
- 这样只能暂时修改命令提示符样式,关机后格式丢失,如需永久保存,需要把PS信息写入.bashrc文件
[root@localhost ~]# vim .bashrc
#打开根目录下的.bashrc文件,将准备好的PS文件写入并保存即可
3.3.2 执行命令
- 输入命令后回车
提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来
- 在shell中可执行的命令有两类
内部命令:由shell自带的,而且通过某命令形式提供
help 内部命令列表
enable cmd 启用内部命令
enable –n cmd 禁用内部命令
enable –n 查看所有禁用的内部命令
外部命令:在文件系统路径下有对应的可执行程序文件
查看路径:
which -a |–skip-alias ; whereis
- 区别指定的命令是内部或外部命令
type COMMAND
3.3.3 执行外部命令
- Hash缓存表
系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找。利用hash缓存表可大大提高命令的调用速率
- hash常见用法
hash
#显示hash缓存
hash –r
#清除缓存
3.3.4 命令别名
- 显示当前shell进程所有可用的命令别名
alias - 定义别名NAME,其相当于执行命令VALUE
alias NAME=‘VALUE’ - 在命令行中定义的别名,仅对当前shell进程有效
- 如果想永久有效,要定义在配置文件中
仅对当前用户:
~/.bashrc
对所有用户有效:
/etc/bashrc
- 编辑配置给出的新配置不会立即生效
- bash进程重新读取配置文件
source /path/to/config_file
. /path/to/config_file
- 撤消别名:unalias
unalias [-a] name [name …]
-a 取消所有别名 - 如果别名同原命令同名,如果要执行原命令,可使用
\ALIASNAME
“ALIASNAME”
’ALIASNAME’
command ALIASNAME
/path/commmand
3.3.5 命令格式
-
COMMAND [OPTIONS…] [ARGUMENTS…]
选项:用于启用或关闭命令的某个或某些功能 短选项:-c 例如:-l, -h 长选项:--word 例如:--all, --human-readable 参数:命令的作用对象,比如文件名,用户名等
-
注意:
- 多个选项以及多参数和命令之间使用空白字符分隔
- 取消和结束命令执行:Ctrl+c,Ctrl+d
- 多个命令可以用;符号分开
- 一个命令可以用\分成多行
关于Linux的一些基础信息就写到这里了,下一篇博客将更新Linux下的一些常用命令及其常用的用法.希望通过记录的方式让自己对知识的理解更加深刻.