ssh连接ubuntu虚拟机
在mac中通过parallels在线下载ubuntu安装之后,通过已创建的用户登录进系统切换到root却发现root密码不对,应该做如下设置:
1、先用安装时候的用户登录进入系统
2、输入:sudo passwd 按回车
3、输入新密码,重复输入密码,最后提示passwd:password updated sucessfully
此时已完成root密码的设置,操作示例如下图所示,下图中设置了两遍root密码,由此可以判断我是一个喜欢做无用功的人。
在mac中通过parallels在线下载ubuntu安装之后,通过已创建的用户登录进系统切换到root却发现root密码不对,应该做如下设置:
1、先用安装时候的用户登录进入系统
2、输入:sudo passwd 按回车
3、输入新密码,重复输入密码,最后提示passwd:password updated sucessfully
此时已完成root密码的设置,操作示例如下图所示,下图中设置了两遍root密码,由此可以判断我是一个喜欢做无用功的人。
深入理解计算机系统这本书在豆瓣评分竟罕见的到了9.9分!
目前在读第三版,已读完前两章,补充在阅读过程中的笔记部分,如有任何疑问请评论指出。
本系列读书笔记不会记录全部内容,只是记录与实战相关、存在疑惑的部分,个人认为本书中的每一段话每一个字都很重要!
信息=位+上下文#include <stdio.h>
int main()
{
printf("Hello,world\n");
return 0;
}
在linux中可以通过hexdump -C hello.c的ASCII码表示:
本章内容较多,本文只记录在学习过程中所发现的问题,同时记录所需掌握的Linux方面知识.
文件类型
普通文件
目录文件
块特殊文件
字符特殊文件
FIFO
套接字
符号链接
这里要介绍下dos2unix命令,刚好前几天在工作中有所接触。
dos2unix命令用来将DOS格式的文本文件转换成UNIX格式的(DOS/MAC to UNIX text file format converter)。DOS下的文本文件是以\r\n作为断行标志的,表示成十六进制就是0D 0A。而Unix下的文本文件是以\n作为断行标志的,表示成十六进制就是 0A。DOS格式的文本文件在Linux底下......
本文记录Mac下10大常用快捷键,来源于10个你不知道的Mac键盘快捷方式小窍门
一
option + wifi图标
可以查看链接的wifi信息等,在网络出问题时可以方便打开无线诊断。
二
音量键
option + shifit+音量调节键(F11 F12)
更小粒度的音量调节
三
截屏
自定义区域:command+shift+4
全屏:command+shift+3
四
command+option+escape
五
command + space(空格键) 短按
切换输入法
command + space 长按
打开Sirl
六......
最近开始看UNIX环境高级编程,对于重定向的知识有所学习,在较早学习Linux命令行大全一书时对重定向学习不够深入,在UNIX环境高级编程第三章习题时有种恍然大明白的感觉。
重定向
按照惯例UNIX系统shell把文件描述符0与进程标准输入关联,1与标准输出关联,2与标准错误关联。
标准输入 标准输出 标准错误
默认情况下,标准输出和标准错误都被链接到屏幕上。
标准输入链接到键盘。I/O重定向的功能可以改变输出内容发送的目的地,也可以改变输入内容的来源。通常情况下,输入来自于键盘,输出内容显示在屏幕上,重定向可以改变这一惯例。
标准输出重定向
ls -l /usr/bin ......
Unix系统中大多数文件I/O只需用到五个函数:open、read、write、lseek、close。本章介绍的I/O是不带缓冲的,即:每个read和write都调用内核中的一个系统调用。它们不是ISO C的组成部分。
对于内核而言,所有打开的文件都通过文件描述符引用;
当打开或创建文件时,内核向进程返回一个文件描述符;
读写文件时,文件描述符将作为read和write的参数。
在 unistd.h中定义三个标准的文件描述符:
STDIN_FILENO (0) 标准输入
STDOUT_FILENO (1) 标准输出
STDERR_FILENO (2) 标准出错输出
文件......
这一章的阅读相对枯燥,20世纪80年代UNIX版本种类剧增以及他们之间的差别的扩大,导致很多用户呼吁对其进行标准化。
UNIX标准化介绍了ISO C IEEE POSIX Single UNIX Specification FIPS,这部分内容不详细总结。
UNIX系统实现介绍了 SVR4 4.4BSD Free BSD Linux Mac OSX Solaris.
UNIX系统中的“限制”,主要包括两类限制:
编译时限制,例如,短整型的最大值是多少。编译时限制可在头文件中定义,程序在编译时可包含这些头文件。
运行时限制,例如,文件名有多少个字符。运行时限制要求进程调......
UNIX简介
操作系统的狭义定义,是将操作系统定义为一种控制计算机资源,提供程序运行环境的软件,通常我们称之为内核,内核提供接口供上层应用调用,也叫做System Call(系统调用)。同时,为了方便应用程序使用内核,通常都会有公用函数库,应用程序既可以使用系统调用,也可以使用公用函数库。系统调用和公用函数库实际上并不是同一个东西,但是对于开发者来说,可以当作同一个层,都可以使用C函数来调用。再向上,就是shell终端,作为人机交互部分,最外层则是应用程序。
而从广义上来说,操作系统就是一个包含了内核和必备系统软件的集合,这些软件是支持一个系统正常运转使用、人机交互的最小要求。
目前来说......
指针数组:array of pointers,即用于存储指针的数组,也就是数组元素都是指针
数组指针:a pointer to an array,即指向数组的指针
还要注意的是他们用法的区别,下面举例说明。
int* a[4] 指针数组
表示:数组a中的元素都为int型指针
元素表示:*a[i] *(a[i])是一样的,因为[]优先级高于*
int (*a)[4] 数组指针
表示:指向数组a的指针
元素表示:(*a)[i]
我们先看维基百科中对于数组指针的解释:
数组名出现在表达式中时,绝大多数情况(除了数组名作为sizeof的操作数或......
基本概念
信号是事件发生时对进程的通知机制。有时也称为软件中断,信号与硬件中断相似之处在于打断了程序执行的正常流程,大多数情况下,无法预测信号到达的精确时间。
一个具有合适权限的进程能够向另一进程发送信号,信号的这一用法可作为一种同步技术,甚至是进程通信IPC的原始形式。进程也可以向自身发送信号。然而发往进程的诸多信号,通常都是源于内核。
引发内核为进程产生信号的各类事件如下:
硬件发生异常:硬件异常的例子包括执行一条异常的机器语言指令,如被0除,或者引用了无法访问的内存区域。
用户键入能够产生信号的中断特殊字符:包括中断字符(Control-C)
发生了软件事件:例如......