现在的位置: 首页 > 综合 > 正文

每日学习 兜兜转转 6.29 Windows下远程登录到Linux — 以Win7,Ubuntu12.04LTS,SSH 为例

2017年11月22日 ⁄ 综合 ⁄ 共 3606字 ⁄ 字号 评论关闭

学习博客上的各种杂知识 兜兜转载

C解析

   1.文件:

1.1文件路径:文件在外部存储设备中的位置

                    1.2文件名:文件的标识名

                    1.3文件扩展名:标识文件的格式


2.1打开文件fopen():通过这个函数可以打开一个文件,用法:

                        文件指针名=fopen(文件名,打开文件方式)

文件打开方式,"w"代表以只读的方式打开一个二进制文件,这类参数还有:

                              r : 打开一个文本文件,只允许读数据

                            rb : 打开一个二进制文件,只允许读数据

                             w : 打开一个文本文件,只允许写数据 

                           wb :打开一个二进制文件,只允许写数据

2.2关闭文件fclose():这个函数用来关闭一个文件,其用法为:  

                         fclose(文件指针)       


动态内存管理与指针:
          动态内存管理的主要函数malloc() / free()都需要指针的支持

动态空间的申请是在堆区,malloc函数申请空间,free函数用于释放。

 
指针扮演一个什么样的角色?存储在静态区的全局变量与静态变量,栈区的局部变量



 2.malloc()开辟指定大小的存储空间:
  •            用法:malloc(int size)   ,size为需要开辟的字节数。
  •            返回值:开辟空间的首地址。
3.free()空间释放内存空间:
  •            用法:free(void *p)  , p为指向开辟空间的指针
  •            返回值:无返回值。

所谓动态内存管理,也指它能动态地满足对内存空间的需求


链表可以更好的适应实时变化的存储需求,具有无限的扩展性,然而你并不需要担心是否有足够连续的内存。

1.链表的优势:
  • 连续内存约束:数组的内存必须是连续的,当存储数据量达到一定程度,开辟数组空间可能面临一个严重的问题-内存中找不到足够大的连续内存。链表不需要连续的内存,它可以将零散的内存串起来,不断的延伸表的长度。
  • 插入与删除:数组的插入与删除需要移动大量的数据,并且在时间的消耗上具有不定性,在数据实时变化的情况下,数组的效率非常低下。链表的删除与插入只需操作几个指针,具有固定的时间消耗,相当高的效率。
  • 更好的适用性:即使是动态开辟的数组,如果遇到更大的存储需求,就必须重新开辟更大的数组并复制数据。链表在几乎可以满足任何大小,不断变化的存储需求

          2.链表的构成:

         链表由节点相互链接形成。那么组成链表的结点应该具有哪些特点,首先链表是用来存储数据的,所以结点必须有数据存储区,再者链表需要相互链接,那么显然还有一个指针存储区
                                
            数据存储区:存储数据信息。
            指针存储区:存储一个指针,用于指向下一个节点。


1.链表的插入:将新的节点插入到链表指定的位置。

等待插入的新节点(p),插入链表两个节点之间(左边为p1,右边为p2)

p1->next = p;
                         p->next = p2;

 2.链表的删除 将一个节点从链表删除。

删除节点P,只需要把P1的指针指向P2,P便不在属于链表了

 P1->next=P->next;

3.链表的查询:遍历链表查找满足特定要求的节点

P=Head->next;
P=P->next;

引言:

Linux大多应用于服务器,而服务器不可能像PC一样躺在办公室里,它们是放在IDC机房的,所以我们平时登录Linux系统都是通过远程登录的。Linux系统中是通过ssh服务实现的远程登录功能。默认ssh服务开启了22端口,而且当我们安装完系统时,这个服务已经安装,并且是开机启动的。所以不需要我们额外配置什么就能直接远程登录linux系统。

Ssh服务的配置文件为/etc/ssh/sshd_config,你可以修改这个配置文件来实现你想要的ssh服务。比如你可以更改启动端口为36000.

为什么不用Telnettelnet因为采用明文传送报文,安全性不好,很多Linux服务器都不开放telnet服务,而改用更安全的ssh方式了。


http://blog.csdn.net/zjf280441589/article/details/17408991

1ssh的安装

2、生成密钥

3、修改配置文件

5windows上启动putty,进行如下配置



Linux作为:

1.开发平台

2.服务器

Windows平台学习的话,一但涉及到底层的东西,你就会发现很难深入

附:美女的比喻:

Linux就好像是一个极富内涵的美女,不光外表漂亮,而且富有感染力,她会毫不隐藏自己的优点,缺点,然你去自己的品味,欣赏她,以至于深入的了解她,她甚至会为了你而去改变她自己!!

Windows则更像一位贵妇,虽然外表很漂亮,很有吸引力,但是,万一你要是紧盯着她,她就会说:看什么呢,丑流氓,再看我报警了!!!


作为程序员,有两种方式快速的提高

1)不断的写代码

2)不断的看别人的代码

解决问题的智慧:

注意系统的英文提示信息,以及系统的文档,示例;

提问前,首先自己分析,学习。

互联网,教材,论坛的检索;#Google.combaidu.com提问的智慧!

整理好自己得学习笔记!

学习大纲:

1、文件处理命令

2、权限管理命令

3、文件搜索命令

4、帮助命令

5、压缩解压缩命令

6、网络通信命令

7、系统开关机命令

8Shell应用技巧

命令存放目录的不同决定了所执行权限的不同:

只有root才能执行的命令

/sbin /usr/sbin

所用用户都可执行的命令

/bin或 /usr/bin

1ls[list]
/bin/ls

选项: -a all

-l long 详细信息

-d directory 查看目录属性

rread读权限

wwrite写权限

xexecute执行权限

用户也分为三种:

1、所有者Uuser

2、所属组Ggroup

3、其他人Oothers

Linux很多的大小是用数据块来表示:block,其单位512字节,但其 大小可根据实际应用进行调节。

数据块可以理解为:存储数据的最小单位。

2cd [change directory]

cd [目录]

e.g.

ch /  切换到根目录

cd..  切换到上级目录


3pwd [printworking directory] /bin/pwd

4touch:创建文件 
/bin/touch

touch[文件名]


5mkdir [makedirectories] :创建目录

mkdir [目录名

mkdir /test

//mkdir test :在当前目录下创建目录

6cp[copy]:复制文件或目录
/bin/cp

cp-R [复制目录]

//如果复制的是文件的话,就不用加-R,并且文件数不做限制


附: etc目录下保存的大多是配置文件。

Ctrl+c:终止程序运行


7mv[move]:移动文件,更名  /bin/mv
类似与剪切、重命名

mv[源文件或目录][目的目录]

e.g.

mv servers ser
改名

mv /test/ser /tmp
移动

mv /test/testfile /tmp/file.test
移动并改名


8rm[remove]:删除文件 /bin/rm

rm -r [文件或目录]

rm只能用来删除文件,要想删除目录,则要加上-r即可,有时候会很烦人。。。

但是如果你十分确定这个文件目录确实应该删除,则加上-rf即可

如果不想弹出确认信息,则加上 -f选项【force】,并不推荐,不同与UNIX


8.1rmdir 用来删除目录,不常用


9cat[concatenateand diplay files] /bin/cat

比较适用于文件内容不是很长的文件

cat[文件名]


10more /bin/more

分页显示文件内容

命令:

fSpace 翻页

Q退出

Enter 下一行

e.g. more /etc/servies


11head /bin/head

查看文件的前几行

head -num [文件名]// 不加数字默认看10

e.g. head -20 /etc/servirs


12tail/bin/tail

查看文件的后几行

tail -num [文件名]

-f  动态显示文件内容


13ln[link] /bin/ln

产生链接文件。

语法: 产生硬链接 不需要加任何选项,直接生成

ln[源文件][目标文件]

产生软链接 需要加-s[soft]

ls-s [源文件][目标文件]


附: 为什么他可以同步更新

ls -i i[inode] i节点实际上就是一个数字标识,因为Linux 不认识字符!在Linux里面处理任何东西,都要有一个数字标识。所以,所有文件必须要有i节点!

抱歉!评论已关闭.