Linux基础篇--linux基础和帮助用法
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Linux基础篇--linux基础和帮助用法,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含18471字,纯文字阅读大概需要27分钟。
内容图文
![Linux基础篇--linux基础和帮助用法](/upload/InfoBanner/zyjiaocheng/981/68be433d86984a61a3042d497db5c8f1.jpg)
Linux基础篇--linux基础和帮助用法
本章概要
- 用户登录
- 终端
- Shell介绍
- 执行命令
- 简单命令
- Tab键补全
- 命令行历史
- bash快捷键
- 使用gnome-terminal
- whatis
- command--help
- manandinfo
- 本地帮助文档/usr/share/doc/
- 官网在线文档
- 其它网站和搜索
用户登录
- root用户
??一个特殊的管理帐户
??也被称为超级用户
??root已接近完整的系统控制
??对系统损害几乎有无限的能力
??除非必要,不要登录为root - 普通用户
??权限有限
??造成损害的能力比较有限
终端类型terminal
- 设备终端
??键盘鼠标显示器 - 物理终端(/dev/console )
??控制台console - 虚拟终端(tty:teletypewriters,/dev/tty# #为[1-6])
??tty可有n个,Ctrl+Alt+F[1-6] - 图形终端(/dev/tty7 )startx, xwindows
??CentOS 6: Ctrl + Alt + F7
??CentOS 7: 在哪个终端启动,即位于哪个虚拟终端 - 串行终端(/dev/ttyS# )
??ttyS - 伪终端(pty:pseudo-tty,/dev/pts/# )
??pty, SSH远程连接 - 查看当前的终端设备命令:#tty
交互式接口
- 交互式接口:启动终端后,在终端设备附加一个交互式应用程序
- GUI:Graphic User Interface
??X protocol, window manager, desktop
??Desktop:
????GNOME (C, 图形库gtk),
????KDE (C++,图形库qt)
????XFCE (轻量级桌面) - CLI:Command Line Interface
??shell程序:sh(bourn 史蒂夫·伯恩)cshtcshksh(korn)bash (bourn again shell)GPL zsh
shell
- Shell 是Linux系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行
- 也被称为LINUX的命令解释器(command interpreter)
- shell是一种高级程序设计语言
bash shell
- GNU Bourne-Again Shell(bash)是GNU计划中重要的工具软件之一,目前也是Linux标准的shell,与sh兼容
- CentOS默认使用
- 显示当前使用的shell
?? ${SHELL} - 显示当前系统使用的所有shell
??cat /etc/shells[root@centos7 ~]#echo $SHELL /bin/bash [root@centos7 ~]#cat /etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin /bin/tcsh /bin/csh
命令提示符
- 命令提示符:prompt
?[root@localhost~]#
??# 管理员$ 普通用户 - 显示提示符格式
??[root@localhost~]#echo $PS1 - 修改提示符格式
??PS1="\[\e[1;5;41;33m\][\u@\h \W]\\$\[\e[0m\]"
??\e \033 \u 当前用户
??\h 主机名简称 \H 主机名
??\w 当前工作目录 \W 当前工作目录基名
??\t 24小时时间格式 \T 12小时时间格式
??\! 命令历史数 \# 开机后命令历史数
执行命令
- 输入命令后回车
??提请shell程序找到键入命令所对应的可执行程序或代码,并由其分析后提交给内核分配资源将其运行起来 - 在shell中可执行的命令有两类
?内部命令:由shell自带的,而且通过某命令形式提供
??help 内部命令列表
??enable cmd启用内部命令
??enable –n cmd禁用内部命令
??enable –n 查看所有禁用的内部命令
?外部命令:在文件系统路径下有对应的可执行程序文件
??查看路径:which -a |--skip-alias; whereis - 区别指定的命令是内部或外部命令
?type COMMAND
执行外部命令
- Hash缓存表
??系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell解释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找。利用hash缓存表可大大提高命令的调用速率 - hash常见用法
??hash 显示hash缓存
??hash –l 显示hash缓存,可作为输入使用
??hash –p path name 将命令全路径path起别名为name
??hash –t name 打印缓存中name的路径
??hash –d name 清除name缓存
??hash –r 清除缓存
注意:如果在将外部命令执行过一次的情况下,把该命令的路径进行更改,那么该命令将无法执行。
原因:因为在执行命令,shell会首先查看hash缓存,会根据缓存中的路径执行该命令,但此时该命令的路径已经改变,因此会发生错误。
解决方法:清除缓存即可
命令别名
- 显示当前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
注意:别名、内部命令、外部命令优先级:从大到小分别是别名、内部命令、外部命令
命令格式 - COMMAND [OPTIONS...] [ARGUMENTS...]
?选项:用于启用或关闭命令的某个或某些功能
??短选项:-c 例如:-l, -h
??长选项:--word 例如:--all, --human-readable
?参数:命令的作用对象,比如文件名,用户名等 - 注意:
?多个选项以及多参数和命令之间使用空白字符分隔[root@centos7 ~]#ls /etc/fstab /etc/issue
?取消和结束命令执行:Ctrl+c,Ctrl+d
?多个命令可以用;符号分开[root@centos7 ~]#ls /etc/fstab;cat /etc/issue /etc/fstab \S Kernel \r on an \m
?一个命令可以用\分成多行
[root@centos7 ~]#host\ > na\ > me centos7.localdomain
日期和时间date
- linux系统的两种时钟
??系统时钟:由Linux内核通过CPU的工作频率进行的
??硬件时钟:主板 - 相关命令:
?date 显示和设置时间和日期
??date -u 显示格林尼治时间
??date 月日时分年秒(时间格式) 设置时间
??date +%Y%m%d或+%F 显示年月日
??date +%H%M%S或+%T 显示时分秒
??date +“%F %T” 选项带有空格,需用引号
??date -d ‘-2 day’ 显示前天时间
??date -d ‘2 day’ 显示后天时间
??date -d ‘-2 day’ +%F 只显示前天的年月日
??date -d ‘-2 day’ +%a(或%u) 只显示前天是星期几
??date -f 文件 批量处理文件
??date -d “具体日期” +%s 将1970年1月1日到该具体日期的时间转换为秒 date -d @秒数 +“%F %T” 把秒数转换为时间和日期
?clock,hwclock 显示硬件时间
??-s 以硬件时间为准,更改系统时间
??-w 以系统时间为准,更改硬件时间 - 时区:/etc/localtime
?cat /etc/localtime 查看时区
?设置时区:
?timedatectl set-timezones (centos7系统)
?tzselect (centos6系统) - cal 显示日历
??-m 显示当月日历
??-y 显示当年日历
知识扩展:
更改数量较多设备的时间
ntpdate 时钟服务器ip地址 校准服务器时间
时钟服务器需要做配置才能使用ntpdate命令,在后面会提到这方面内容
linux趣事:
cal 09 1752 1752年9月份少了12天
[root@centos7 ~]#cal 09 1752
September 1752
Su Mo Tu We Th Fr Sa
1 2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
简单命令
- 关机:halt,poweroff
- 重启:reboot
??-f:强制重启,不调用shutdown
??-p:切断电源 - 关机或重启:shutdown
- 用法:
?shutdown [OPTIONS...] [TIME] [WALL...]
?即shutdown 选项 关机时间 关机提示
??-r:reboot
??-h:halt
??-c:cancel 取消关机
??TIME:无指定,默认相当于+1,单位为分钟
????now:立刻关机,相当于+0
????+m:相对时间表示法,几分钟之后;例如+3
????hh:mm:绝对时间表示,指明具体关机时间
如:shutdown -h 18:30 “the system will be halt”
系统在18:30关机并发出提示“the system will be halt”
备注:系统提示(“the system will be halt”)只有在关机前15分钟内才会出现。 - 用户登录信息查看命令:
??whoami:显示当前登录有效用户
??who:系统当前所有的登录会话
??w:系统当前所有的登录会话及所做的操作 -
nano文本编辑
- screen命令:
??创建新screen会话
????screen –S [SESSION]
??加入screen会话
????screen –x [SESSION]
??退出并关闭screen会话
????exit
??剥离当前screen会话
????Ctrl+a,d
??显示所有已经打开的screen会话
????screen -ls
??恢复某screen会话
????screen -r [SESSION]
知识扩展:
使用screen命令解决断网中断正在操作的程序或命令问题
screen 开启会话
screen -r 恢复某会话 此命令只对单个会话有用,即当前会话没有加入其它用户
以下命令针对两个用户连接到同一台机器上才能使用
screen -S [session](会话名) 创建新会话 [root@centos7 ~]#screen -S help
screen -ls 查看当前开启的全部会话
[root@centos7 ~]#screen -ls
There is a screen on:
3485.help (Attached)
1 Socket in /var/run/screen/S-root.
screen -x [session](会话名) 加入会话
当连接在同一台设备上的两个用户加入同一个会话以后,两个终端显示画面一致。
ctrl+a,d 剥离当前会话
exit 退出并关闭screen会话
- echo 显示字符
- 用法:echo [-neE][字符串]
- 说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号
- 选项:
?-E:(默认)不支持\解释功能
?-e:启用\字符的解释功能
?-n:不自动换行 - 显示变量
?echo “$环境变量”
‘ ’(单引号) 既不识别变量,又不识别命令 最傻
" "(双引号) 只能识别变量,不识别命令 一般
` `(反向单引号)相当于$() 既识别变量,又识别命令 最聪明 - 启用命令选项-e,即echo -e ,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出
?\a 发出警告声
?\b 退格键
?\c 最后不加上换行符号
?\n 换行且光标移至行首
?\r 回车,即光标移至行首,但不换行
?\t 插入tab
?\\插入\字符
?\0nnn 插入nnn(八进制)所代表的ASCII字符
??echo -e '\033[43;31;5mmagedu\033[0m'
?\xHH插入HH(十六进制)所代表的ASCII字
命令行扩展、被括起来的集合
- 命令行扩展:$( ) 或
` <br/> 把一个命令的输出打印给另一个命令的参数 <br/> echo "This system's name is $(hostname) " <br/> This system's name is server1.example.com <br/> echo "i am \
whoami` "
?i am root - 括号扩展:{ }
?打印重复字符串的简化形式
?echo file{1,3,5}
??file1 file3 file5
?rm -f file{1,3,5}
?echo {1..10} 显示1到10
?echo {a..z} 显示a到z
?echo {000..20..2} 以三位数显示0到20,并且以2递增
tab键
- 命令补全
??内部命令:
??外部命令:bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到的命令即为要执行的命令
??用户给定的字符串只有一条惟一对应的命令,直接补全
??否则,再次Tab会给出列表 - 路径补全
??把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名
??如果惟一:则直接补全
??否则:再次Tab给出列表
双击tab键
- command 2Tab 所有子命令或文件补全
- string2Tab 以string开头命令
- /2Tab 显示所有根目录下一级目录,包括隐藏目录
- ./2Tab 当前目录下子目录,包括隐藏目录
- *2Tab 当前目录下子目录,不包括隐藏目录
- ~2Tab 所有用户列表
- $2Tab 所有变量
- @2Tab /etc/hosts记录(centos7不支持)
- =2Tab 相当于ls –A (centos7不支持)
命令行历史
- 保存你输入的命令历史。可以用它来重复执行命令
- 登录shell时,会读取命令历史文件中记录下的命令~/.bash_history
- 登录进shell后新执行的命令只会记录在缓存中;这些命令会用户退出时“追加”至命令历史文件中
- 重复前一个命令,有4种方法
?重复前一个命令使用上方向键,并回车执行
?按!! 并回车执行
?输入!-1 并回车执行
?按Ctrl+p并回车执行 - !:0 执行前一条命令(去除参数)
- Ctrl + n 显示当前历史中的下一条命令,但不执行
- Ctrl + j 执行当前命令
- !n 执行history命令输出对应序号n的命令
- !-n 执行history历史中倒数第n个命令
- !string 重复前一个以“string”开头的命令
- !?string 重复前一个包含string的命令
- !string:p仅打印命令历史,而不执行
- !$:p 打印输出!$ (上一条命令的最后一个参数)的内容
- !*:p打印输出!*(上一条命令的所有参数)的内容
- ^string删除上一条命令中的第一个string
- ^string1^string2将上一条命令中的第一个string1替换为string2
- !:gs/string1/string2将上一条命令中所有的string1都替换为string2
- 使用up(向上)和down(向下)键来上下浏览从前输入的命令
- ctrl-r来在命令历史中搜索命令
?(reverse-i-search)`’: - Ctrl+g:从历史搜索模式退出
- 要重新调用前一个命令中最后一个参数
?!$ 表示
?Esc, .(点击Esc键后松开,然后点击. 键)
?Alt+ .(按住Alt键的同时点击. 键)
调用历史参数
- command !^ 利用上一个命令的第一个参数做cmd的参数
- command !$ 利用上一个命令的最后一个参数做cmd的参数
- command !* 利用上一个命令的全部参数做cmd的参数
- command !:n 利用上一个命令的第n个参数做cmd的参数
- command !n:^ 调用第n条命令的第一个参数
- command !n:$ 调用第n条命令的最后一个参数
- command !n:m调用第n条命令的第m个参数
- command !n:* 调用第n条命令的所有参数
- command !string:^ 从命令历史中搜索以string 开头的命令,并获取它的第一个参数
- command !string:$ 从命令历史中搜索以string 开头的命令,并获取它的最后一个参数
- command !string:n 从命令历史中搜索以string 开头的命令,并获取它的第n个参数
- command !string:* 从命令历史中搜索以string 开头的命令,并获取它的所有参数
命令history
- history 查看历史命令
- 用法:history [-c] [-d offset] [n]
?history -anrw [filename]
?history -ps arg [arg...] - 常用选项:
??-c: 清空命令历史
??-d offset: 删除历史中指定的第offset个命令
??n: 显示最近的n条历史
??-a: 追加本次会话新执行的命令历史列表至历史文件
??-r: 读历史文件附加到历史列表
??-w: 保存历史列表到指定的历史文件
??-n: 读历史文件中未读过的行到历史列表
??-p: 展开历史参数成多行,但不存在历史列表中
??-s: 展开历史参数成一行,附加在历史列表后
命令历史相关环境变量
- HISTSIZE:命令历史记录的条数
- HISTFILE:指定历史文件,默认为~/.bash_history
- HISTFILESIZE:命令历史文件记录历史的条数
- HISTTIMEFORMAT=“%F %T “ 显示时间
- HISTIGNORE=“str1:str2*:… “ 忽略str1命令,str2开头的历史
- 控制命令历史的记录方式:
?环境变量:HISTCONTROL
??ignoredups 默认,忽略重复的命令,连续且相同为“重复”
??ignorespace 忽略所有以空白开头的命令
??ignoreboth 相当于ignoredups, ignorespace的组合
??erasedups 删除重复命令 - export 变量名="值“
- 存放在/etc/profile 或~/.bash_profile
bash的快捷键
- bash常用快捷键
Ctrl + l清屏,相当于clear命令
Ctrl + o执行当前命令,并重新显示本命令
Ctrl + s阻止屏幕输出,锁定
Ctrl + q允许屏幕输出
Ctrl + c终止命令
Ctrl + z挂起命令
Ctrl + a光标移到命令行首,相当于Home
Ctrl + e光标移到命令行尾,相当于End
Ctrl + u从光标处删除至命令行首
Ctrl + k从光标处删除至命令行尾
Alt + r 删除当前整行
Ctrl + w从光标处向左删除至单词首
Alt + d从光标处向右删除至单词尾
Ctrl + d删除光标处的一个字符
Ctrl + h删除光标前的一个字符
Ctrl + y将删除的字符粘贴至光标后
Alt + c从光标处开始向右更改为首字母大写的单词
Alt + u从光标处开始,将右边一个单词更改为大写
Alt + l从光标处开始,将右边一个单词更改为小写
Ctrl + t交换光标处和之前的字符位置
Alt + t交换光标处和之前的单词位置
Alt + N提示输入指定字符后,重复显示该字符N次
备注:当使用xshell或secureCRT远程连接时,alt功能键会有冲突,需要在软件中进行设置以后才能使用alt快捷键功能
gnome-terminal
- 应用程序->附件->终端
- 支持多个“标签”shell的图形化终端模拟器
?Ctrl-Shift-n 创建新窗口
?Ctrl-Shift-q关闭当前窗口
?Ctrl-Shift-t 创建一个标签页
?Ctrl-Shift-w 关闭一个标签页
?Ctrl-PaUp/PgUn切换到下一个/前一个标签页
?Ctrl-Shift-c 复制选中的文本
?Ctrl-Shift-v 把文本粘帖到当前光标处
获得帮助
- 获取帮助的能力决定了技术的能力!
- 通过帮助查询一个命令如何使用
??步骤:先查看是内部还是外部命令 type
??如果是内部命令,使用help 内部命令
??如果是外部命令,使用whatis查看该命令在man帮助第几章节
??然后man 章节号 command - 多层次的帮助
?whatis
?command--help
?manandinfo
?/usr/share/doc/
?Red Hat documentation
?其它网站和搜索
whatis
- 显示命令的简短描述
- 使用数据库,系统刚安装后不可立即使用
- 需执行以下命令makewhatis| mandb制作数据库
- 使用示例:whatis cal或man -f cal
命令帮助
- 内部命令
帮助用法:
??help command
??man bash 查看所有内部命令帮助,可通过关键字查询 - 外部命令
帮助用法:
(1) COMMAND --help
?COMMAND -h
(2) 使用手册(manual)
?man COMMAND
(3) 信息页
?info COMMAND
(4) 程序自身的帮助文档
?README
?INSTALL
?ChangeLog
(5) 程序官方文档
?官方站点:Documentation
(6) 发行版的官方文档
(7) Google
--help和-h选项
- 显示用法总结和参数列表
- 大多数命令都可以使用此帮助格式,但并非所有的命令都支持
- 如: --help
- 用法:
??date[OPTION]... [+FORMAT]
??date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]]
符号说明:
??[]表示可选项
??CAPS或<>表示变化的数据
??...表示一个列表
??x |y| z的意思是“x或y或z“
????-abc的意思是-a -b –c
??{ } 表示分组
练习:
1、显示当前时间,格式:2016-06-18 10:20:30 date +“%F %T”或date +“%Y-%m-%d %H:%M:%S”
2、显示前天是星期几 date -d “-2 day” +%a(或%u)
3、设置当前日期为2019-08-0706:05:10 date 080706052019.10
man命令
- 提供命令帮助的文件
- 手册页存放在/usr/share/man
- 几乎每个命令都有man的“页面”
- man页面分组为不同的“章节”
- 统称为Linux手册
- man命令的配置文件:/etc/man.config| man_db.conf
- ??MANPATH /PATH/TO/SOMEWHERE: 指明man文件搜索位置
- man -M/PATH/TO/SOMEWHERE COMMAND: 到指定位置下搜索COMMAND命令的手册页并显示
- 中文man需安装包man-pages-zh-CN
man章节
- 1: 用户命令
- 2: 系统调用
- 3: C库调用
- 4: 设备文件及特殊文件
- 5: 配置文件格式
- 6: 游戏
- 7: 杂项
- 8: 管理类的命令
- 9:Linux 内核API
备注:作为运维工程师,只需关注1(用户命令)、5(配置文件格式)、8(管理类的命令)章节
man帮助段落说明
?NAME 名称及简要说明
?SYNOPSIS 用法格式说明
??[]可选内容
??<> 必选内容
??a|b二选一
??{ }分组
??...同一内容可出现多次
?DESCRIPTION 详细说明
?OPTIONS 选项说明
?EXAMPLES 示例
?FILES 相关文件
?AUTHOR 作者
?COPYRIGHT版本信息
?REPORTING BUGS bug信息
?SEE ALSO 其它帮助参考
man帮助
- 查看man手册页
??man [章节] keyword - 列出所有帮助
??man –a keyword - 搜索man手册
??man -kkeyword列出所有匹配的页面
??使用whatis数据库 - 相当于whatis
??man –f keyword - 打印man帮助文件的路径
??man –w [章节] keyword
man搜索
- /KEYWORD:
??以KEYWORD指定的字符串为关键字,从当前位置向文件尾部搜索;不区分字符大小写;
??n: 下一个
??N:上一个 - ?KEYWORD:
??以KEYWORD指定的字符串为关键字,从当前位置向文件首部搜索;不区分字符大小写;
??n: 跟搜索命令同方向,下一个
??N:跟搜索命令反方向,上一个
练习
1、在本机字符终端登录时,除显示原有信息外,再显示当前登录终端号,主机名和当前时间
在/etc/issue文件中写入以下内容
hostname is \n
time is \t
tty is \l
解题思路:
(1)先查看issue章节号 whatis issue
[root@centos7 ~]#whatis issue
issue (5) - prelogin message and identification file
(2)man 5 issue 发现没有先关信息,在查看SEE ALSO内容
SEE ALSO
motd(5), agetty(8), mingetty(8)
(3)man 8 agetty,发现issue文件用法
l Insert the name of the current tty line.
m Insert the architecture identifier of the machine. Same as `uname -m'.
n Insert the nodename of the machine, also known as the hostname. Same as
`uname -n'.
o Insert the NIS domainname of the machine. Same as `hostname -d'.
O Insert the DNS domainname of the machine.
r Insert the release number of the OS. Same as `uname -r'.
t Insert the current time.
u Insert the number of current users logged in.
U Insert the string "1 user" or "<n> users" where <n> is the number of
current users logged in.
2、今天18:30自动关机,并提示用户 shutdown -h 18:30 “the system will be halt”
info
- man常用于命令参考,GNU工具info适合通用文档参考
- 没有参数,列出所有的页面
- info 页面的结构就像一个网站
- 每一页分为“节点”
- 链接节点之前*
- info [命令]
导航info页
- 方向键,PgUp,PgDn导航
- Tab键移动到下一个链接
- d 显示主题目录
- Home 显示主题首部
- Enter进入选定链接
- n/p/u/l进入下/前/上一层/最后一个链接
- s文字文本搜索
- q退出info
通过本地文档获取帮助
- System->help(centos6)
- Applications -> documentation->help(centos7)
??提供的官方使用指南和发行注记 - /usr/share/doc目录
?多数安装了的软件包的子目录,包括了这些软件的相关原理说明
?常见文档:README INSTALL CHANGES
?不适合其它地方的文档的位置
??配置文件范例
??HTML/PDF/PS 格式的文档
??授权书详情
通过在线官方文档获取帮助
- 第三方应用官方文档
??http://www.nginx.org
??http://tomcat.apache.org
??http://httpd.apache.org
??http://www.python.org - 通过发行版官方的文档光盘或网站可以获得
?安装指南、部署指南、虚拟化指南等
?红帽知识库和官方在线文档
??http://kbase.redhat.com
??http://www.redhat.com/docs
??http://access.redhat.com - 搜索引擎
??google搜索引擎
??搜索格式:Openstack filetype:pdf
??rhcasite:redhat.com/docs
内容总结
以上是互联网集市为您收集整理的Linux基础篇--linux基础和帮助用法全部内容,希望文章能够帮你解决Linux基础篇--linux基础和帮助用法所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。