ssh连接ubuntu虚拟机

在mac中通过parallels在线下载ubuntu安装之后,通过已创建的用户登录进系统切换到root却发现root密码不对,应该做如下设置:

1、先用安装时候的用户登录进入系统

2、输入:sudo passwd 按回车

3、输入新密码,重复输入密码,最后提示passwd:password updated sucessfully

此时已完成root密码的设置,操作示例如下图所示,下图中设置了两遍root密码,由此可以判断我是一个喜欢做无用功的人。

[CSAPP]计算机系统漫游

深入理解计算机系统这本书在豆瓣评分竟罕见的到了9.9分!

目前在读第三版,已读完前两章,补充在阅读过程中的笔记部分,如有任何疑问请评论指出。

本系列读书笔记不会记录全部内容,只是记录与实战相关、存在疑惑的部分,个人认为本书中的每一段话每一个字都很重要!

信息=位+上下文#include <stdio.h>

int main()

{

printf("Hello,world\n");

return 0;

}

在linux中可以通过hexdump -C hello.c的ASCII码表示:

[APUE]第四章文件和目录

本章内容较多,本文只记录在学习过程中所发现的问题,同时记录所需掌握的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大常用快捷键

本文记录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

六......

Linux重定向

最近开始看UNIX环境高级编程,对于重定向的知识有所学习,在较早学习Linux命令行大全一书时对重定向学习不够深入,在UNIX环境高级编程第三章习题时有种恍然大明白的感觉。

重定向

按照惯例UNIX系统shell把文件描述符0与进程标准输入关联,1与标准输出关联,2与标准错误关联。

标准输入 标准输出 标准错误

默认情况下,标准输出和标准错误都被链接到屏幕上。

标准输入链接到键盘。I/O重定向的功能可以改变输出内容发送的目的地,也可以改变输入内容的来源。通常情况下,输入来自于键盘,输出内容显示在屏幕上,重定向可以改变这一惯例。

标准输出重定向

ls -l /usr/bin ......

[APUE]第三章文件I/O

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) 标准出错输出

文件......

[APUE]第二章UNIX标准及实现

这一章的阅读相对枯燥,20世纪80年代UNIX版本种类剧增以及他们之间的差别的扩大,导致很多用户呼吁对其进行标准化。

UNIX标准化介绍了ISO C IEEE POSIX Single UNIX Specification FIPS,这部分内容不详细总结。

UNIX系统实现介绍了 SVR4 4.4BSD Free BSD Linux Mac OSX Solaris.

UNIX系统中的“限制”,主要包括两类限制:

编译时限制,例如,短整型的最大值是多少。编译时限制可在头文件中定义,程序在编译时可包含这些头文件。

运行时限制,例如,文件名有多少个字符。运行时限制要求进程调......

[APUE]第一章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的操作数或......

TLPI-Chapter 20 信号

基本概念

信号是事件发生时对进程的通知机制。有时也称为软件中断,信号与硬件中断相似之处在于打断了程序执行的正常流程,大多数情况下,无法预测信号到达的精确时间。

一个具有合适权限的进程能够向另一进程发送信号,信号的这一用法可作为一种同步技术,甚至是进程通信IPC的原始形式。进程也可以向自身发送信号。然而发往进程的诸多信号,通常都是源于内核。

引发内核为进程产生信号的各类事件如下:

硬件发生异常:硬件异常的例子包括执行一条异常的机器语言指令,如被0除,或者引用了无法访问的内存区域。

用户键入能够产生信号的中断特殊字符:包括中断字符(Control-C)

发生了软件事件:例如......