单纯python能完成网站开发吗,廊坊网站建设案例,电脑网站首页设计,电商的运营模式有几种系列文章目录
【跟小嘉学 Linux 系统架构与开发】一、学习环境的准备与Linux系统介绍 【跟小嘉学 Linux 系统架构与开发】二、Linux发型版介绍与基础常用命令介绍 文章目录 系列文章目录[TOC](文章目录) 前言一、 Linux 发行版(Linux distribution)介绍二、Centos 虚拟机初始化…系列文章目录
【跟小嘉学 Linux 系统架构与开发】一、学习环境的准备与Linux系统介绍 【跟小嘉学 Linux 系统架构与开发】二、Linux发型版介绍与基础常用命令介绍 文章目录 系列文章目录[TOC](文章目录) 前言一、 Linux 发行版(Linux distribution)介绍二、Centos 虚拟机初始化 和基础命令介绍2.1、初始化centos72.2、登录虚拟机2.3、推出登录2.4、Shell 命令的语法格式2.5、语系的支持2.5.1、显示支持的语言2.5.2、修改语言支持2.5.2.1、修改当前shell的值2.5.2.2、修改当前用户的配置2.5.2.3、修改系统级的设置2.5.2.4、通过 localectl 来修改 2.5.3、常见问题 2.6、基础命令介绍2.6.1、日期与时间命令date2.6.1.1、命令简介2.6.1.2、命令的基本语法2.6.1.3、常用的 date 命令选项2.6.1.4、常用的命令格式2.6.1.5、用法示例1、显示当前日期和时间2、显示指定格式的日期和时间3、设置系统的日期和时间4、显示目录或文件的最后修改时间5、date 命令还支持日期和时间的计算6、date 命令还支持相对日期的表示方式 2.6.2、日历的命令cal2.6.2.1、cal 命令介绍(Calendar)2.6.2.2、cal 语法格式2.6.2.3、选项 2.6.3、简单好用的计算器bc2.6.3.1、bc 命令安装2.6.3.2、bc 命令使用 三、重要的快捷键3.1、Tab 按键3.2、CTRLC按键3.3、CTRLD按键3.4、[shift]{[PageUP]|[Page Down]}按鍵 四、错误信息的查看
前言
本系列文章我们将讲述Linux操作系统和Linux集群架构、Shell脚本编程、Linux系统开发等相关知识点。我们需要注意《鸟哥的linux私房菜》中文版才到第三版用的CentOS5繁体版使用的CentOS7。
参考资料 《鸟哥的Linux私房菜繁体版》 《鸟哥的Linux私房菜简体版》 一、 Linux 发行版(Linux distribution)介绍
Linux 发行版(Linux distribution)是指一个基于 Linux 内核的操作系统由一组软件包组成包括操作系统内核、系统工具、应用程序、图形界面等。发行版通过整合和配置这软件包使得用户可以方便地安装、配置和使用Linux系统
目前由许多不同的 Linux 发行版可供选择每个发行版都有自己的特点和目标用户群一些常见的Linux发行版包括
1、Ubuntu基于 Debian 发行版注意易用性和用户友好性适用于桌面和服务器环境2、Fedora由 RedHat 公司支持的发行版注意最新的软件和技术使用于开发者和技术爱好者3、CentOS基于Red Hat Enterprise LinuxRHEL源代码的发行版注重稳定性和可靠性适用于企业和服务器环境。4、Debian非商业性质的发行版注重自由软件原则和稳定性适用于各种用途。5、Arch Linux注重简洁和灵活性的发行版适用于有技术基础的用户。6、Kali LinuxKali Linux是一种基于Debian的操作系统专门用于渗透测试和网络安全应用。它提供了一系列的安全工具和脚本用于评估和保护计算机系统的安全性。Kali Linux是一个开放源代码项目由Offensive Security开发和维护。它包含了多个渗透测试工具如Metasploit、Nmap、Wireshark等以及用于无线网络攻击、密码破解、漏洞利用等的工具。Kali Linux也被广泛用于网络安全培训和认证。
二、Centos 虚拟机初始化 和基础命令介绍
2.1、初始化centos7
vagrant init centos/7
vagrant up此时我们可以看到 VisualBox 上面有一个正在运行的虚拟机。 此时虚拟机是无界面启动的我们可以点击 显示按钮打开虚拟机显示界面。
2.2、登录虚拟机
此时我们打开了虚拟机显示界面可以看到 Cenos 的登录界面。
CentOS Linux 7 (Core)显示的 Linux 发行版的名称(Centos 7)Kernel 3.10.0-1127.e17.x86_64 on an x86_64显示的 Linux 内核的版本为 3.10.0-1127.e17.x86_64 且目前这部主机的硬件为 x86_6410 login: 那个10 是你的主机名称root 是登录账号的名称一般不建议推荐使用Password这一行就是输入密码输入密码的时候不会显示字样Last login 这一行列出使用者上一次这个账号登录系统等时间与终端等名称。[root10 ~]# : 这一行显示的用户名主机名 表示当前所在的目录为用户主目录也就是/root 或/home/用户名(普通用户)# 则是超级管理员 root账户的提示符$ 则是普通账户的提示符(这部分我们会在用户管理详细讲解)。
2.3、推出登录
[root10 ~]$ exit2.4、Shell 命令的语法格式
[vagrant10 ~]$ command [-options] paremeter1 parameter2 ...command: 命令或可执行程序或脚本(script)的名称例如 cd、ls、exit等 -[] 表示可选项通常选项带有 - 号(缩写) 或–符号(全称) 例如-h、–helpparameter1parameter2 为依附在选项后面的参数或事 command的参数z指令选项可以有多个以空格区分不论空格有多少个 都是认为是一个空格按下 enter 键命令就会立即执行如果指令太长可以使用 反斜杠(\ )来转义Enter符号链接到下一行。在Linux 系统中英文大小写字母是不同的例如 CD和cd 是不同的命令。
这部分详细介绍我们也会在 Bash 专题来讲解。
2.5、语系的支持
有时候我们的终端会出现乱码由于我们的系统有时候不支持中文编码输出。
2.5.1、显示支持的语言
[root10 ~]# locale
LANGen_US.UTF-8
LC_CTYPEen_US.UTF-8
LC_NUMERICen_US.UTF-8
LC_TIMEen_US.UTF-8
LC_COLLATEen_US.UTF-8
LC_MONETARYen_US.UTF-8
LC_MESSAGESen_US.UTF-8
LC_PAPERen_US.UTF-8
LC_NAMEen_US.UTF-8
LC_ADDRESSen_US.UTF-8
LC_TELEPHONEen_US.UTF-8
LC_MEASUREMENTen_US.UTF-8
LC_IDENTIFICATIONen_US.UTF-8
LC_ALL使用 locale -a 可以列出本机目前可以使用的值locale -av 还可以具体查看这些值更详细的信息。
这些内容都是环境与 Local 地区相关的环境变量。
LC_CTYPE 语言符号及其分类LC_NUMERIC数字LC_COLLATE比较和排序习惯LC_TIME时间显示格式LC_MONETARY货币单位LC_MESSAGES信息主要是提示信息错误信息、状态信息、标题、标签、按钮和菜单等LC_PAPER默认纸张尺寸大小LC_NAME姓名书写方式LC_ADDRESS地址书写方式LC_MEASUREMENT度量衡表达方式LC_IDENTIFICATION对 locale 自身包含的信息的概述
这些 local 定义文件放在 /usr/share/i18n/locales 目录下例如 en_US、zh_CN 都是 locale 的定义文件。
[root10 locales]# pwd
/usr/share/i18n/locales
[root10 locales]# ls
aa_DJ en_IE is_IS sat_IN
aa_ER en_IEeuro iso14651_t1 sc_IT
aa_ERsaaho en_IN iso14651_t1_common sd_IN
aa_ET en_NG iso14651_t1_pinyin sd_INdevanagari
af_ZA en_NZ it_CH se_NO
am_ET en_PH it_IT shs_CA
an_ES en_SG it_ITeuro sid_ET
ar_AE en_US iu_CA si_LKLocale 是软件在运行时的语言环境它包括了语言Language、地域Territory和字符集Codeset一个local的书写格式为 语言[_地域[.字符集]]
例如
zh_CN.UTF-8
zh_CN.GB18030LC_ALL、LANG和LC_* 均不指定特定的值系统将会采用 POSIX作为 locale也就是C locale。
LC_ALL 也是 glibc 定义的一个宏.
2.5.2、修改语言支持
2.5.2.1、修改当前shell的值
显示的目前系统的语言支持为 en_US.UTF-8LANG 只与输出信息有关如果要更改其他不同的内容需要同步LC_ALL 才行
export LC_ALLen_US.utf82.5.2.2、修改当前用户的配置
~/.config/locale.conf2.5.2.3、修改系统级的设置
[root10 locales]# cat /etc/locale.conf
LANGen_US.UTF-82.5.2.4、通过 localectl 来修改
localectl set-locale LANGen_US.utf8localectl 命令可以查看和设置区域和键盘布局的命令
2.5.3、常见问题
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directoryLC_CTYPE、LC_MESSAGES、LC_ALL 没有设置正确的值一般跨操作系统的ssh 才有可能导致这个问题例如从 Mac OS 上 ssh 登录到 LInux由于 Mac OS 变量值的格式 和 linux 不同ssh 时又会自动去设置会有LC_CTYPEUTF-8的情况出现而整个语法在linux中是错误的。只要输入export LC_CTYPEen_US.utf8即可修复
2.6、基础命令介绍
2.6.1、日期与时间命令date
2.6.1.1、命令简介
date 命令用于显示和设置系统的日期与时间它可以显示当前的日期与时间也可以根据指定的格式来输出日期和时间信息在系统管理和脚本编写中经常被使用。
2.6.1.2、命令的基本语法
date [选项] [格式][选项] 是可选的命令用于控制 date 命令的行为[格式]是可选的日期和时间的格式用于指定输出的日期和时间的格式
2.6.1.3、常用的 date 命令选项
-d指定要显示的日期和时间可以是具体的日期和时间字符串也可以是表示时间间隔的字符串。-u显示协调世界时UTC。-R以 RFC 2822 格式输出日期和时间。-I以 ISO 8601 格式输出日期和时间。-s设置系统的日期和时间。 -r显示指定文件的最后修改时间。--help显示帮助信息列出可用的选项和参数。
2.6.1.4、常用的命令格式
%Y四位数的年份。%m两位数的月份01-12%d两位数的日期01-31。%H两位数的小时00-23。%M两位数的分钟00-59。%S两位数的秒数00-59。%A完整的星期几名称例如Sunday。%a缩写的星期几名称例如Sun。%B完整的月份名称例如January。%b缩写的月份名称例如Jan。
2.6.1.5、用法示例
1、显示当前日期和时间
[vagrant10 ~]$ date
Fri Mar 29 21:02:26 UTC 2024上面显示的星期五三月29日 21:02:26在2024年UTC 时区。
2、显示指定格式的日期和时间
[vagrant10 ~]$ date %Y-%m-%d %H:%M:%S
2024-03-29 21:15:593、设置系统的日期和时间
[vagrant10 ~]$ sudo date -s 2024-03-31 17:39:08
Sun Mar 31 17:39:08 UTC 20244、显示目录或文件的最后修改时间
date -r filename例如
[vagrant10 ~]$ date -r .bashrc %Y-%m-%d %H:%M:%S
2020-04-01 02:17:305、date 命令还支持日期和时间的计算
date 命令支持对日期和时间进行计算和调整。可以使用-d选项指定要计算的日期和时间以及要添加或减去的时间间隔。
时间单位
seconds/secondminutes/minutehours/hourdays/dayweeks/weekmonths/monthyears/year
例如 1、指定日期后一个月的日期
[vagrant10 ~]$ date -d 2023-11-15 1 month %Y-%m-%d %H:%M:%S
2023-12-15 00:00:002、当前日期指定一个小时后的时间
[vagrant10 ~]$ date -d 1 hour %Y-%m-%d %H:%M:%S
2024-03-31 18:44:36
6、date 命令还支持相对日期的表示方式
X seconds ago表示 X 秒前的日期。X minutes ago表示 X 分钟前的日期。X hours ago表示 X 小时前的日期。X days ago表示 X 天前的日期。X weeks ago表示 X 周前的日期。X months ago表示 X 个月前的日期。X years ago表示 X 年前的日期。
X 是一个整数用于指定偏移的数量
2.6.2、日历的命令cal
2.6.2.1、cal 命令介绍(Calendar)
cal 使用显示当前日历或指定日期的日历 的命令。
2.6.2.2、cal 语法格式
cal [选项] [参数]2.6.2.3、选项
-l 显示单月输出-3显示临近三个月的日历-s将星期日作为月的第一天-m将星期一作为月的第一天-j显示“julian”日期-y显示当前年的日历。-v显示版本信息-h显示帮助文档
2.6.3、简单好用的计算器bc
2.6.3.1、bc 命令安装
精简版的系统中 默认是没有安装 bc 命令的我们可以使用 yum 去安装。
yum install bc -y2.6.3.2、bc 命令使用
[root10 ~]# bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type warranty.
123
6 此时光标就会停留在你要输入的地方。
如果你要进行小数的计算那么就必须设置计算精度 scalenumber 就是设置小数点的位数。
如果你要退出bc计算器 可以使用 quit 命令。
三、重要的快捷键
3.1、Tab 按键
在 类Unix系统中的 shellTab 提供的是文件名和命令补全的功能如果我们输入 ca 按两次Tab 键会输出 所有 ca开头的命令
[root10 ~]# ca
cacertdir_rehash ca-legacy capsh case catchsegv
cal caller captoinfo cat catman 如果输入ls -al ~/.bash 按两次 tab
[root10 ~]# ls -al ~/.bash
.bash_history .bash_logout .bash_profile .bashrc 在某些特殊的命令下tab可以变成 参数或选项补齐
[root10 ~]# date --
--date --help --reference --rfc-3339 --universal
--date --iso-8601 --rfc-2822 --set --version 使用 tab 可以避免很多输入错误的机会。
3.2、CTRLC按键
CTRLC 组合按键可以中断当前的程序的运行。
3.3、CTRLD按键
CTRLD 组合按键代表啦 输入结束End of FileEOF 或 End Of Input的意思某些情况下代表了 exit。
3.4、[shift]{[PageUP]|[Page Down]}按鍵
使用 [shift]{[PageUP]|[Page Down]} 可以进行向前翻页和向后翻页。
四、错误信息的查看
[root10 ~]# DATE
-bash: DATE: command not found-bash 表示 shell 的名称command not found 表示命令找不到可能的原因是
命令不存在因为软件没有安装解决方案就是安装相关软件这个命令所在目录和用户没有将他加入命令搜索路径中PATH打错单词了
非精简安装的可能会有 Similar command is: date 的提示表示相似的命令有 date这也是一种解决方案的参考。