2021-03-30

springCloud的学习  ubantu 服务器的学习, docker容器的学习 hive的学习  handoop的学习
MQ 的学习 , 源码的学习, 框架以及新 技术的学习, 自己写插件


ubantu是一个基于debian的以桌面为主的Linux操作系统,据说其名称来自非洲南部祖鲁语,或科萨语,
意思是人性,我的存在是非洲传统的一种价值观,ubantu目标为一般用户提供一个最新的又相当稳定的
主要以自由软件构成的操作系统,ubantu具有庞大的社区力量支持,用户可以方便的从社区获取帮助

虚拟机的网络类型的简单理解:虚拟机在我们的操作系统里使用软件模拟出来的,相当于虚拟机是寄宿在我们的物理及的操作系统里的,虚拟机和物理及之间的关系是 寄宿和被寄宿的关系, 其实真实的物理机是宿主机,

网卡:(network interface card) 叫做网络适配器,是电脑和局域网相互连接的设备,无论是普通电脑,还是高端服务器,只要连接到局域网,都需要安装一块网卡,如果有必要,一台电脑也可以同时安装两块或多块网卡。
一块网卡包括OSI 模型的两个层,物理曾和数据链路层: 1》物理层定义数据传输与接受所需要的电与光信号,
线路状态,时钟基准,数据编码,和电路等, 并且向数据链路层设备提供标准的接口。
2》数据链路层则提供寻址机构,数据帧的构建,数据差错检查,传送控制、向网络层 提供标准的数据接口等功能。
网卡的组成作用: 一是将电脑的数据封装成zhen,并通过网线(对无线网络来说就是电磁波)将数据发送当网络上去,
二是接受网络上其他设备传过来的帧 并且将帧重新组合成数据,发送到所在的电脑中
网卡能接受所有在网络传输的信号,但正常情况下只能接受发送到该电脑的帧和广播帧,将其余的帧丢弃,然后,传诵到CPU
作进一步处理,当电脑发送数据时,网卡等待和是的时间将分组插入到数据流中,接受系统同志电脑消息是否完整的到达,
如果出现问题,将要求对方重新发送。
(2)网卡的组成和工作原理
主芯片:网卡的主控制芯片是网卡的核心元件,一块网卡性能的好坏和功能的强弱多寡,主要就是看这块芯片的质量。如下图所示(2)BOOTROM槽 BOOTROM插座也就是常说的无盘启动ROM接口,其是用来远程启动服务构造无盘工作站的。
网卡充当计算机和网络之间的物理接口和连接线,负责将计算机中的数字信号转换成电或光信号。
网卡要承担串行数据或者并行数据之间的转换,数据在计算机总线中并行传输,而在网络的物理中以串行的比特流传输。
(2)数据泵:作用一是传输数据,二是格里连接不同网络设备之间的不同电平,还能起到一定的防雷保护作用。
(3)LED指示灯
以最常见的PCI接口的网卡为例:
网卡的组成:
(1)主芯片:网卡的主控制芯片的核心
四:工作原理
网卡充当计算机和网络缆线之间的物理接口或连线,负责将计算机中的数字信号转换成电或光信号,网卡要承担串行数据或并行数据间的转换,数据在计算机总线中并行传输,而在为那个罗的物理兰线中以串行的byte stream  transfer

安装方式
bridged(桥接):电脑上网需要一个网络分配的ip地址,通过这个地质可以确认我们电脑在网络上的位置,桥接模式就是将我们
虚拟机中的网卡的网络地质方在我们真实的物理机的网卡上.这样的话,我们的虚拟机就好像根我们的宿主机所在的局域网中一台机器一样;桥接模式适合有路由器的情况,和真实的物理环境一样。

2NAT(网络地址转换):在宿主机上制作一个网卡,通过这个网卡,给虚拟机分配IP.宿主机在这里的角色相当于局域网中的路由器。NET模式适合于没有路由器的情况,虚拟机通过宿主机去上网。

3host-only:和nat模式很像,唯一的区别是,没有地址转换服务,所以该模式上虚拟机只能访问到主机,无法访问外网。


目录结构

/boot:配置文件内和和其他启动所需的文件.
/etc::存放系统配置有关的文件
/home:存放普通 用户目录
/mnt:硬盘上手动挂在的文件系统
/media:自动挂载(加载)的硬盘分区以及类似CD 数码相机等可以东的介质
/cdrom:挂载光盘?
/opt存放一些可选程序,如某个程序测试版本,安装到该目录的程序的所有数据,库文件都存放在同一个目录下,
/root 系统管理元的目录,对于系统来说,系统管理员好比上帝,他可以对系统作任何操作,比如删除你的文件情况下不要使
/bin : 存放常用的程序文件(命令文件)
/sbin : 系统管理命令,这里存放的是系统管理员使用的管理程序
/tmp : 临时目录,存放临时文件,系统会定期清理该目录下的文件。
/usr : 在这个目录下,你可以找到那些不适合放在/bin或/etc目录下的额外的工具。比如游戏、打印工具等。/usr目录包含了许多子目录: /usr/bin目录用于存放程序;/usr/share用于存放一些共享的数据,比如音乐文件或者图标等等;/usr/lib目录用于存放那些不能直接 运行的,但却是许多程序运行所必需的一些函数库文件。/usr/local : 这个目录一般是用来存放用户自编译安装软件的存放目录;一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中。

查看是否安装了中文支持
locale -a
如果有 zh_CN.utf8 则表示系统已经安装了中文locale,如果没有则需要安装相应的软件包。安装方式如下:
sudo apt-get install language-pack-zh-hans language-pack-zh-hans-base

apt(adevanced packaging tool),他可以自动下载,配置,安装软件包,简化linux系统上的,debain及衍生版中的apt
redhat系列的linux使用yum进行管理


apt-cache search package 搜索包
apt-cache show package 获取包的相关信息,如说明、大小、版本等
sudo apt-get install package 安装包
sudo apt-get install package –reinstall 重新安装包
sudo apt-get -f install 强制安装
sudo apt-get remove package 删除包
sudo apt-get remove package –purge 删除包,包括删除配置文件等
sudo apt-get autoremove 自动删除不需要的包
sudo apt-get update 更新源
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
sudo apt-get dselect-upgrade 使用 dselect 升级
apt-cache depends package 了解使用依赖
apt-cache rdepends package 了解某个具体的依赖
sudo apt-get build-dep package 安装相关的编译环境
apt-get source package 下载该包的源代码
sudo apt-get clean && sudo apt-get autoclean 清理下载文件的存档
sudo apt-get check 检查是否有损坏的依赖

Ubuntu 软件仓库被分为四个部分:main(主要的), restricted(受限的), universe(广泛的) , multiverse(多元的),这主要根据我们对软件的支持能力,以及软件的目的是否符合我们的 自由软件哲学。
date : 用来显示或设定系统的日期和与时间

passwd

wc   :统计指定文件中的字节数、字数、行数,并将统计结果显示输出

-c 统计字节数。
-l 统计行数。
-m 统计字符数。这个标志不能与 -c 标志一起使用。
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串

cut命令可以从一个文本文件或者文本流中提取文本列。

选项与参数:
-d  :后面接分隔字符。与 -f 一起使用;
-f  :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思;
-c  :以字符 (characters) 的单位取出固定字符区间;

history : 查看执行过的命令。

history  # 显示最近1000条历史命令
history 5   # 显示最后5条命令
!number# number为history之后命令前的序号:执行该条命令
!cat # 执行最后一条以cat开头的命令

tail  :   查看文件尾部的内容。默认显示最后10行

tail file1
tail -n 5 file1
tail -f file1  # 动态监控文件

which # 查找其他命令的位置
 which ls

chown : 更改文件的所有者和所有组

chown root:root  file
chown root   file  
chown :root   file

chmod o+w  file1
chmod g-w file1
chmod go-w file1
chmod u=rwx file1

chmod 755  file1  # -rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
chmod 644  #  -rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限


 su  : 切换用户,没有参数时,默认切换为root用户
su -   # 切换为root 并加载user1的环境配置
su -  user1 # 切换为user1 并加载user1的环境配置


管道符

管道符 就是 |  :他的作用是 将前一个命令的结果 交给后一个命令使用

 

locate /etc/sh   # 搜索etc目录下所有以sh开头的文件。
locate ~/a   # 搜索用户主目录下,所有以a开头的文件。
locate -i ~/a   # 搜索用户主目录下,所有以a开头的文件,并且忽略大小写

# 将当前目录下所有.txt文件打包并压缩归档到文件this.tar.gz
tar czvf this.tar.gz ./*.txt
# 将当前目录下的this.tar.gz中的文件解压到当前目录
tar xzvf this.tar.gz ./


# 将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar
tar -cvf /tmp/etc.tar /etc  # 仅打包,不压缩!
tar -zcvf /tmp/etc.tar.gz /etc  # 打包后,以 gzip 压缩
tar -jcvf /tmp/etc.tar.bz2 /etc  # 打包后,以 bzip2 压缩

# 解压文件
tar -xf  a.tar.gz   #
tar -xf  a.tar.gz  -C /tmp  # 指定解包路径


grep
复制代码

格式:
grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] [-e PATTERN]  [FILE...]
参数:
-c    --count   #计算符合样式的列数
-l    --file-with-matches   #列出文件内容符合指定的样式的文件名称。
-v   --revert-match   #显示不包含匹配文本的所有行。
-i    --ignore-case   #忽略字符大小写的差别。
-o   # 只显示匹配到的关键字
-n  # 现实行号

-E    使用正则表达式


内核和文件系统

文件系统是存在的物理空间,linux系统 swap 都是一个文件系统,都有自己的目录层次结构,linux文件系统中的文件,目录
软链接以及文件保护等信息都存储在其中,这种机制有利于用户和操作系统的交互。

每个实际文件系统从不同的操作西哦他嗯和系统服务中分离出来,他们之间通过一个接口曾:虚拟文件系统或VF-S来通讯
VFS使的Linux可以支持多个不同的文件系统,每个表示一个VFS的通讯接口。由于软件将linux文件系统的所有细节都进行了转换,所有的linux核心的其他部分以及系统中的运行的程序将看到统一的文件系统。Linux 的虚拟文件系统允许用户同时能透明地安装许多不同的文件系统。
根文件系统首先是一种文件系统,该文件系统不仅具有普通文件系统的存储数据文件的功能,但是相对于普通的文件系统,它的特殊之处在于,它是内核启动时所挂载(mount)的第一个文件系统,内核代码的映像文件保存在根文件系统中,系统引导启动程序会在根文件系统挂载之后从中把一些初始化脚本(如rcS,inittab)和服务加载到内存中去运行。我们要明白文件系统和内核是完全独立的两个部分。在嵌入式中移植的内核下载到开发板上,是没有办法真正的启动Linux操作系统的,会出现无法加载文件系统的错误。

那么根文件系统在系统启动中到底是什么时候挂载的呢?先将/dev/ram0挂载,而后执行/linuxrc.等其执行完后。切换根目录,再挂载具体的根文件系统.根文件系统执行完之后,也就是到了Start_kernel()函数的最后,执行init的进程,也就第一个用户进程。对系统进行各种初始化的操作。

根文件系统之所以在前面加一个”根“,说明它是加载其它文件系统的”根“,既然是根的话,那么如果没有这个根,其它的文件系统也就没有办法进行加载的。它包含系统引导和使其他文件系统得以挂载(mount)所必要的文件。根文件系统包括Linux启动时所必须的目录和关键性的文件,例如Linux启动时都需要有init目录下的相关文件,在 Linux挂载分区时Linux一定会找/etc/fstab这个挂载文件等,根文件系统中还包括了许多的应用程序bin目录等,任何包括这些Linux 系统启动所必须的文件都可以成为根文件系统。Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会出错而退出启动。成功之后可以自动或手动挂载其他的文件系统。因此,一个系统中可以同时存在不同的文件系统。在 Linux 中将一个文件系统与一个存储设备关联起来的过程称为挂载(mount)。使用 mount 命令将一个文件系统附着到当前文件系统层次结构中(根)。在执行挂装时,要提供文件系统类型、文件系统和一个挂装点。根文件系统被挂载到根目录下“/”上后,在根目录下就有根文件系统的各个目录,文件:/bin /sbin /mnt等,再将其他分区挂接到/mnt目录上,/mnt目录下就有这个分区的各个目录,文件。

三.什么是内核

Linux内核就像人的心脏,灵魂,指挥中心。内核是一个操作系统的核心,它负责管理系统的进程,内存,设备驱动程序,文件和网络系统,决定着系统的性能和稳定性。内核以独占的方式执行最底层任务,保证系统正常运行。协调多个并发进程,管理进程使用的内存,使它们相互之间不产生冲突,满足进程访问磁盘的请求等.
操作系统是一个用来和硬件打交道并为用户程序提供一个有限服务集的低级支撑软件。一个计算机系统是一个硬件和软件的共生体,它们互相依赖,不可分割。计算机的硬件,含有外围设备、处理器、内存、硬盘和其他的电子设备组成计算机的发动机。但是没有软件来操作和控制它,自身是不能工作的。完成这个控制工作的软件就称为操作系统,在Linux的术语中被称为“内核”,也可以称为“核心”。Linux内核的主要模块(或组件)分以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的初始化(引导)、系统调用等。
四.内核与文件系统的关系

技术上说Linux是一个内核。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。一套基于Linux内核的完整操作系统叫作Linux操作系统,或是GNU/Linux。

文件系统是kernel的一部分。文件系统实现了系统上存储介质和其他资源的交互。kernel tree中的fs目录都是关于文件系统的,可以说它是kernel的一个大子系统。

嵌入式系统在flash中分配了存放内核、根文件系统的区域。bootloader加载了内核,内核启动,加载文件系统,进入Linux系统。

整个嵌入式系统而言,可以分为三个部分1.uboot 2.kernel 3.文件系统。其中kernel中以VFS去支持各种文件系统,如yaffs,ext3,cramfs等等。yaffs/yaffs2是专为嵌入式系统使用NAND型闪存而设计的一种日志型文件系统。在内核中以VFS来屏蔽各种文件系统的接口不同,以VFS向kernel提供一个统一的接口。如打开一个文件时统一使用open,写时采用write,而不用去考虑是那种文件系统,也不用去考虑文件系统是如何将数据写入物理介质的。其中 kernel中的配置,只是让VFS支持这种接口


ubantu下SSH使用详细说明
linux下的ssh分为openssh-client 和服务器openssh-server 客户端的ssh程序是用ssh来连接别的电脑的服务器的ssh程序是让别的电脑通过ssh链接本机的。

并且客户端openssh-client通常Ubuntu会默认安装的。
sudo apt install openssh-client #本地主机运行此条,实际上通常是默认安装client端程序的
sudo apt install openssh-server #在被连接的服务器运行此条命令安装

如果远程服务器的SSH服务不是使用22端口,那么SSH链接时则需要用-p指定端口(如258端口):

ssh -p 258 yucicheung@10.170.11.147
#或
ssh -l yucicheung -p 202 10.170.11.147

(1)从远程服务器主机下载文件

scp username@serverip:/path/filename /local_path

上传本地文件到服务器
scp /local_path/filename username@serverip:/path

不需密码连接方法:利用公钥省去口令输入
每次登录远程主机都需要输入密码是很不便捷的,如果要加速这一步骤,可以利用密钥对进行连接,主要思路是:生成一对公钥私钥,私钥在local主机上,公钥在远程服务器上,每次建立ssh连接自动检查密钥对是否匹配。

ssh-keygen -t rsa #-t表示选择类型,类型为rsa1
执行以后会在$HOME目录下生成一个.ssh文件夹,其中包含私钥文件id_rsa和公钥文件id_rsa.pub


 登录远程服务器
ssh yucicheung@10.170.11.147
# 在服务器上创建.ssh文件夹,如果已经存在就跳过此步
mkdir .ssh
# 为了保证.ssh文件夹的安全,应取消其他用户对文件夹的所有权限
chmod 700 .ssh
# 退出登录
exit
sudo apt-get update
sudo apt install openssh-server #在被连接的电脑上运行此条命令安装
sudo service ssh start
sudo ps -e |grep ssh
sudo netstat -tlp
查看配置文件中/etc/ssh/sshd_config是否开启了端口(一般默认时22端口,也可以改成其他端口)


重启网络命令,使用最新的systemctl

systemctl restart networking

编辑网卡配置文件

 vi /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto enp0s3
iface enp0s3 inet dhcp

auto enp0s8
iface enp0s8 inet static
address 1.1.1.2
mask 255.255.255.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

springCloud的学习  ubantu 服务器的学习, docker容器的学习 hive的学习  handoop的学习
MQ 的学习 , 源码的学习, 框架以及新 技术的学习, 自己写插件


ubantu是一个基于debian的以桌面为主的Linux操作系统,据说其名称来自非洲南部祖鲁语,或科萨语,
意思是人性,我的存在是非洲传统的一种价值观,ubantu目标为一般用户提供一个最新的又相当稳定的
主要以自由软件构成的操作系统,ubantu具有庞大的社区力量支持,用户可以方便的从社区获取帮助

虚拟机的网络类型的简单理解:虚拟机在我们的操作系统里使用软件模拟出来的,相当于虚拟机是寄宿在我们的物理及的操作系统里的,虚拟机和物理及之间的关系是 寄宿和被寄宿的关系, 其实真实的物理机是宿主机,

网卡:(network interface card) 叫做网络适配器,是电脑和局域网相互连接的设备,无论是普通电脑,还是高端服务器,只要连接到局域网,都需要安装一块网卡,如果有必要,一台电脑也可以同时安装两块或多块网卡。
一块网卡包括OSI 模型的两个层,物理曾和数据链路层: 1》物理层定义数据传输与接受所需要的电与光信号,
线路状态,时钟基准,数据编码,和电路等, 并且向数据链路层设备提供标准的接口。
2》数据链路层则提供寻址机构,数据帧的构建,数据差错检查,传送控制、向网络层 提供标准的数据接口等功能。
网卡的组成作用: 一是将电脑的数据封装成zhen,并通过网线(对无线网络来说就是电磁波)将数据发送当网络上去,
二是接受网络上其他设备传过来的帧 并且将帧重新组合成数据,发送到所在的电脑中
网卡能接受所有在网络传输的信号,但正常情况下只能接受发送到该电脑的帧和广播帧,将其余的帧丢弃,然后,传诵到CPU
作进一步处理,当电脑发送数据时,网卡等待和是的时间将分组插入到数据流中,接受系统同志电脑消息是否完整的到达,
如果出现问题,将要求对方重新发送。
(2)网卡的组成和工作原理
主芯片:网卡的主控制芯片是网卡的核心元件,一块网卡性能的好坏和功能的强弱多寡,主要就是看这块芯片的质量。如下图所示(2)BOOTROM槽 BOOTROM插座也就是常说的无盘启动ROM接口,其是用来远程启动服务构造无盘工作站的。
网卡充当计算机和网络之间的物理接口和连接线,负责将计算机中的数字信号转换成电或光信号。
网卡要承担串行数据或者并行数据之间的转换,数据在计算机总线中并行传输,而在网络的物理中以串行的比特流传输。
(2)数据泵:作用一是传输数据,二是格里连接不同网络设备之间的不同电平,还能起到一定的防雷保护作用。
(3)LED指示灯
以最常见的PCI接口的网卡为例:
网卡的组成:
(1)主芯片:网卡的主控制芯片的核心
四:工作原理
网卡充当计算机和网络缆线之间的物理接口或连线,负责将计算机中的数字信号转换成电或光信号,网卡要承担串行数据或并行数据间的转换,数据在计算机总线中并行传输,而在为那个罗的物理兰线中以串行的byte stream  transfer

安装方式
bridged(桥接):电脑上网需要一个网络分配的ip地址,通过这个地质可以确认我们电脑在网络上的位置,桥接模式就是将我们
虚拟机中的网卡的网络地质方在我们真实的物理机的网卡上.这样的话,我们的虚拟机就好像根我们的宿主机所在的局域网中一台机器一样;桥接模式适合有路由器的情况,和真实的物理环境一样。

2NAT(网络地址转换):在宿主机上制作一个网卡,通过这个网卡,给虚拟机分配IP.宿主机在这里的角色相当于局域网中的路由器。NET模式适合于没有路由器的情况,虚拟机通过宿主机去上网。

3host-only:和nat模式很像,唯一的区别是,没有地址转换服务,所以该模式上虚拟机只能访问到主机,无法访问外网。


目录结构

/boot:配置文件内和和其他启动所需的文件.
/etc::存放系统配置有关的文件
/home:存放普通 用户目录
/mnt:硬盘上手动挂在的文件系统
/media:自动挂载(加载)的硬盘分区以及类似CD 数码相机等可以东的介质
/cdrom:挂载光盘?
/opt存放一些可选程序,如某个程序测试版本,安装到该目录的程序的所有数据,库文件都存放在同一个目录下,
/root 系统管理元的目录,对于系统来说,系统管理员好比上帝,他可以对系统作任何操作,比如删除你的文件情况下不要使
/bin : 存放常用的程序文件(命令文件)
/sbin : 系统管理命令,这里存放的是系统管理员使用的管理程序
/tmp : 临时目录,存放临时文件,系统会定期清理该目录下的文件。
/usr : 在这个目录下,你可以找到那些不适合放在/bin或/etc目录下的额外的工具。比如游戏、打印工具等。/usr目录包含了许多子目录: /usr/bin目录用于存放程序;/usr/share用于存放一些共享的数据,比如音乐文件或者图标等等;/usr/lib目录用于存放那些不能直接 运行的,但却是许多程序运行所必需的一些函数库文件。/usr/local : 这个目录一般是用来存放用户自编译安装软件的存放目录;一般是通过源码包安装的软件,如果没有特别指定安装目录的话,一般是安装在这个目录中。

查看是否安装了中文支持
locale -a
如果有 zh_CN.utf8 则表示系统已经安装了中文locale,如果没有则需要安装相应的软件包。安装方式如下:
sudo apt-get install language-pack-zh-hans language-pack-zh-hans-base

apt(adevanced packaging tool),他可以自动下载,配置,安装软件包,简化linux系统上的,debain及衍生版中的apt
redhat系列的linux使用yum进行管理


apt-cache search package 搜索包
apt-cache show package 获取包的相关信息,如说明、大小、版本等
sudo apt-get install package 安装包
sudo apt-get install package –reinstall 重新安装包
sudo apt-get -f install 强制安装
sudo apt-get remove package 删除包
sudo apt-get remove package –purge 删除包,包括删除配置文件等
sudo apt-get autoremove 自动删除不需要的包
sudo apt-get update 更新源
sudo apt-get upgrade 更新已安装的包
sudo apt-get dist-upgrade 升级系统
sudo apt-get dselect-upgrade 使用 dselect 升级
apt-cache depends package 了解使用依赖
apt-cache rdepends package 了解某个具体的依赖
sudo apt-get build-dep package 安装相关的编译环境
apt-get source package 下载该包的源代码
sudo apt-get clean && sudo apt-get autoclean 清理下载文件的存档
sudo apt-get check 检查是否有损坏的依赖

Ubuntu 软件仓库被分为四个部分:main(主要的), restricted(受限的), universe(广泛的) , multiverse(多元的),这主要根据我们对软件的支持能力,以及软件的目的是否符合我们的 自由软件哲学。
date : 用来显示或设定系统的日期和与时间

passwd

wc   :统计指定文件中的字节数、字数、行数,并将统计结果显示输出

-c 统计字节数。
-l 统计行数。
-m 统计字符数。这个标志不能与 -c 标志一起使用。
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串

cut命令可以从一个文本文件或者文本流中提取文本列。

选项与参数:
-d  :后面接分隔字符。与 -f 一起使用;
-f  :依据 -d 的分隔字符将一段信息分割成为数段,用 -f 取出第几段的意思;
-c  :以字符 (characters) 的单位取出固定字符区间;

history : 查看执行过的命令。

history  # 显示最近1000条历史命令
history 5   # 显示最后5条命令
!number# number为history之后命令前的序号:执行该条命令
!cat # 执行最后一条以cat开头的命令

tail  :   查看文件尾部的内容。默认显示最后10行

tail file1
tail -n 5 file1
tail -f file1  # 动态监控文件

which # 查找其他命令的位置
 which ls

chown : 更改文件的所有者和所有组

chown root:root  file
chown root   file  
chown :root   file

chmod o+w  file1
chmod g-w file1
chmod go-w file1
chmod u=rwx file1

chmod 755  file1  # -rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
chmod 644  #  -rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限


 su  : 切换用户,没有参数时,默认切换为root用户
su -   # 切换为root 并加载user1的环境配置
su -  user1 # 切换为user1 并加载user1的环境配置


管道符

管道符 就是 |  :他的作用是 将前一个命令的结果 交给后一个命令使用

 

locate /etc/sh   # 搜索etc目录下所有以sh开头的文件。
locate ~/a   # 搜索用户主目录下,所有以a开头的文件。
locate -i ~/a   # 搜索用户主目录下,所有以a开头的文件,并且忽略大小写

# 将当前目录下所有.txt文件打包并压缩归档到文件this.tar.gz
tar czvf this.tar.gz ./*.txt
# 将当前目录下的this.tar.gz中的文件解压到当前目录
tar xzvf this.tar.gz ./


# 将整个 /etc 目录下的文件全部打包成为 /tmp/etc.tar
tar -cvf /tmp/etc.tar /etc  # 仅打包,不压缩!
tar -zcvf /tmp/etc.tar.gz /etc  # 打包后,以 gzip 压缩
tar -jcvf /tmp/etc.tar.bz2 /etc  # 打包后,以 bzip2 压缩

# 解压文件
tar -xf  a.tar.gz   #
tar -xf  a.tar.gz  -C /tmp  # 指定解包路径


grep
复制代码

格式:
grep [OPTIONS] PATTERN [FILE...]
grep [OPTIONS] [-e PATTERN]  [FILE...]
参数:
-c    --count   #计算符合样式的列数
-l    --file-with-matches   #列出文件内容符合指定的样式的文件名称。
-v   --revert-match   #显示不包含匹配文本的所有行。
-i    --ignore-case   #忽略字符大小写的差别。
-o   # 只显示匹配到的关键字
-n  # 现实行号

-E    使用正则表达式


内核和文件系统

文件系统是存在的物理空间,linux系统 swap 都是一个文件系统,都有自己的目录层次结构,linux文件系统中的文件,目录
软链接以及文件保护等信息都存储在其中,这种机制有利于用户和操作系统的交互。

每个实际文件系统从不同的操作西哦他嗯和系统服务中分离出来,他们之间通过一个接口曾:虚拟文件系统或VF-S来通讯
VFS使的Linux可以支持多个不同的文件系统,每个表示一个VFS的通讯接口。由于软件将linux文件系统的所有细节都进行了转换,所有的linux核心的其他部分以及系统中的运行的程序将看到统一的文件系统。Linux 的虚拟文件系统允许用户同时能透明地安装许多不同的文件系统。
根文件系统首先是一种文件系统,该文件系统不仅具有普通文件系统的存储数据文件的功能,但是相对于普通的文件系统,它的特殊之处在于,它是内核启动时所挂载(mount)的第一个文件系统,内核代码的映像文件保存在根文件系统中,系统引导启动程序会在根文件系统挂载之后从中把一些初始化脚本(如rcS,inittab)和服务加载到内存中去运行。我们要明白文件系统和内核是完全独立的两个部分。在嵌入式中移植的内核下载到开发板上,是没有办法真正的启动Linux操作系统的,会出现无法加载文件系统的错误。

那么根文件系统在系统启动中到底是什么时候挂载的呢?先将/dev/ram0挂载,而后执行/linuxrc.等其执行完后。切换根目录,再挂载具体的根文件系统.根文件系统执行完之后,也就是到了Start_kernel()函数的最后,执行init的进程,也就第一个用户进程。对系统进行各种初始化的操作。

根文件系统之所以在前面加一个”根“,说明它是加载其它文件系统的”根“,既然是根的话,那么如果没有这个根,其它的文件系统也就没有办法进行加载的。它包含系统引导和使其他文件系统得以挂载(mount)所必要的文件。根文件系统包括Linux启动时所必须的目录和关键性的文件,例如Linux启动时都需要有init目录下的相关文件,在 Linux挂载分区时Linux一定会找/etc/fstab这个挂载文件等,根文件系统中还包括了许多的应用程序bin目录等,任何包括这些Linux 系统启动所必须的文件都可以成为根文件系统。Linux启动时,第一个必须挂载的是根文件系统;若系统不能从指定设备上挂载根文件系统,则系统会出错而退出启动。成功之后可以自动或手动挂载其他的文件系统。因此,一个系统中可以同时存在不同的文件系统。在 Linux 中将一个文件系统与一个存储设备关联起来的过程称为挂载(mount)。使用 mount 命令将一个文件系统附着到当前文件系统层次结构中(根)。在执行挂装时,要提供文件系统类型、文件系统和一个挂装点。根文件系统被挂载到根目录下“/”上后,在根目录下就有根文件系统的各个目录,文件:/bin /sbin /mnt等,再将其他分区挂接到/mnt目录上,/mnt目录下就有这个分区的各个目录,文件。

三.什么是内核

Linux内核就像人的心脏,灵魂,指挥中心。内核是一个操作系统的核心,它负责管理系统的进程,内存,设备驱动程序,文件和网络系统,决定着系统的性能和稳定性。内核以独占的方式执行最底层任务,保证系统正常运行。协调多个并发进程,管理进程使用的内存,使它们相互之间不产生冲突,满足进程访问磁盘的请求等.
操作系统是一个用来和硬件打交道并为用户程序提供一个有限服务集的低级支撑软件。一个计算机系统是一个硬件和软件的共生体,它们互相依赖,不可分割。计算机的硬件,含有外围设备、处理器、内存、硬盘和其他的电子设备组成计算机的发动机。但是没有软件来操作和控制它,自身是不能工作的。完成这个控制工作的软件就称为操作系统,在Linux的术语中被称为“内核”,也可以称为“核心”。Linux内核的主要模块(或组件)分以下几个部分:存储管理、CPU和进程管理、文件系统、设备管理和驱动、网络通信,以及系统的初始化(引导)、系统调用等。
四.内核与文件系统的关系

技术上说Linux是一个内核。“内核”指的是一个提供硬件抽象层、磁盘及文件系统控制、多任务等功能的系统软件。一个内核不是一套完整的操作系统。一套基于Linux内核的完整操作系统叫作Linux操作系统,或是GNU/Linux。

文件系统是kernel的一部分。文件系统实现了系统上存储介质和其他资源的交互。kernel tree中的fs目录都是关于文件系统的,可以说它是kernel的一个大子系统。

嵌入式系统在flash中分配了存放内核、根文件系统的区域。bootloader加载了内核,内核启动,加载文件系统,进入Linux系统。

整个嵌入式系统而言,可以分为三个部分1.uboot 2.kernel 3.文件系统。其中kernel中以VFS去支持各种文件系统,如yaffs,ext3,cramfs等等。yaffs/yaffs2是专为嵌入式系统使用NAND型闪存而设计的一种日志型文件系统。在内核中以VFS来屏蔽各种文件系统的接口不同,以VFS向kernel提供一个统一的接口。如打开一个文件时统一使用open,写时采用write,而不用去考虑是那种文件系统,也不用去考虑文件系统是如何将数据写入物理介质的。其中 kernel中的配置,只是让VFS支持这种接口


ubantu下SSH使用详细说明
linux下的ssh分为openssh-client 和服务器openssh-server 客户端的ssh程序是用ssh来连接别的电脑的服务器的ssh程序是让别的电脑通过ssh链接本机的。

并且客户端openssh-client通常Ubuntu会默认安装的。
sudo apt install openssh-client #本地主机运行此条,实际上通常是默认安装client端程序的
sudo apt install openssh-server #在被连接的服务器运行此条命令安装

如果远程服务器的SSH服务不是使用22端口,那么SSH链接时则需要用-p指定端口(如258端口):

ssh -p 258 yucicheung@10.170.11.147
#或
ssh -l yucicheung -p 202 10.170.11.147

(1)从远程服务器主机下载文件

scp username@serverip:/path/filename /local_path

上传本地文件到服务器
scp /local_path/filename username@serverip:/path

不需密码连接方法:利用公钥省去口令输入
每次登录远程主机都需要输入密码是很不便捷的,如果要加速这一步骤,可以利用密钥对进行连接,主要思路是:生成一对公钥私钥,私钥在local主机上,公钥在远程服务器上,每次建立ssh连接自动检查密钥对是否匹配。

ssh-keygen -t rsa #-t表示选择类型,类型为rsa1
执行以后会在$HOME目录下生成一个.ssh文件夹,其中包含私钥文件id_rsa和公钥文件id_rsa.pub


 登录远程服务器
ssh yucicheung@10.170.11.147
# 在服务器上创建.ssh文件夹,如果已经存在就跳过此步
mkdir .ssh
# 为了保证.ssh文件夹的安全,应取消其他用户对文件夹的所有权限
chmod 700 .ssh
# 退出登录
exit
sudo apt-get update
sudo apt install openssh-server #在被连接的电脑上运行此条命令安装
sudo service ssh start
sudo ps -e |grep ssh
sudo netstat -tlp
查看配置文件中/etc/ssh/sshd_config是否开启了端口(一般默认时22端口,也可以改成其他端口)


重启网络命令,使用最新的systemctl

systemctl restart networking

编辑网卡配置文件

 vi /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto enp0s3
iface enp0s3 inet dhcp

auto enp0s8
iface enp0s8 inet static
address 1.1.1.2
mask 255.255.255.0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值