韩顺平老师《一周学会Linux》视频笔记

前言: 这个教学视频使用的软件环境是:

Red Hat Linux(Kernel 2.4.20-8)红帽Linux系统[release 9 shrike],在虚拟机中运行

1.成为一个Linux专家的秘籍是:

思考-实践-再思考-再实践……

2.Linux学习方法:

1.高效而愉快地学习:边看视频边操作效率不错;

2.先建立一个整体框架,再细节:高屋建瓴,从宏观上把握知识体系,然后再逐个突破;

3.用到什么学什么:不可能把一个技术事无巨细地都学完,掌握一个基础,其他的等用到了再去学习;

4.先Know How,再Know Why:有些事情不是说做之前都会知道为啥要那样做,先学会,用到的时候就知道为什么了;

5.计算机是一门“做中学”的学科,不是会了再做,而是做了才会:要注重动手能力的培养,想当然是根本行不通的;

6.适当的囫囵吞枣:碰到一些小的牵绊,可以不在此花太多时间被绑在那里,也许你学着学着后边的,会悟懂前边的知识,但是前提是要思考;

7.学习Linux系统是在琢磨别人怎么做,而不是我认为怎么做的过程:站在开发者的角度看问题-他为何那样做,那样设计有什么好处和优势?多思考一下子。

3.linux特点

1.免费的/开源:(大学讲的都是Linux,windows不开源)

2.支持多线程/多用户的

3.安全性好

4.对内存和文件管理优越

4.Linux系统最小只需要4M,就可以跑起来:嵌入式开发

5.缺点:

操作相对困难(困难另一个层面说明有价值)

6.Linux写Java:

VI Hello.java

输入i

输入esc

输入:[wq表示退出保存 q!退出不保存]【注意:一定别忘了输入“:”】

编译Hello.java

运行Hello.class

7.Linux编写C程序:

VI Hello.cpp

输入i

#include <stdio.h>

int main(){

printf("Hello,World!");

return 0;

}

输入esc

输入:[wq表示退出保存 q!退出不保存]【注意:一定别忘了输入“:”】

编译 gcc -v (查看版本) gcc Hello.cpp  【或者可以使用:gcc -o hello Hello.cpp指定别名】

运行 ./a.out 【或: ./hello】

[注:写完之后,再输入“vi Hello.cpp”就会重新打开刚刚写的C++文件]

[注:Linux终端中写程序,是区分大小写的]

[注:这说明,Linux下可以进行Java语言和C语言的开发]

8.shell是一个命令语言解释器,它拥有自己内建的shell命令集,shell也能被系统中其它应用程序所调用。用户在提示符下输入的命令都由shell先解释(解释成内核可以执行的代码)然后传给Linux核心。

(相当于中间的翻译官)

shell还可以用来进行程序设计,它提供了定义变量和参数的手段以及丰富的程序控制结构。使用Shell编程类似于Dos中的批处理文件,成为ShellScript,又叫Shell程序或者Shell命令文件。

9.ls 可以看到不同颜色的文件和目录

蓝色→目录

绿色→可执行文件

红色→压缩文件

浅蓝色→链接文件

灰色→其他文件

  

如果在一些终端下没有颜色,可以使用

ls -color(always,auto,never)

10.cat可以直接将文字文件的内容显示在屏幕上。它反过来写就是tac,而tac恰巧也是一个Linux命令,它的功能就是把文件内容反过来显示,文件内容的最后一行先显示,第一行最后显示

有几种方法:

(1)显示单个文件

例如:显示单个文件file的内容

cat  file

(2)在一次显示多个文件时,按顺序处理每个文件

例如:依次显示三个文件file1、file2、file3的内容

cat  file1  file2   file3

(3)用户可以将cat命令的执行结果改向到终端或某个文件中去

例如:将三个文件file1、file2、file3的内容依次串接起来,存放到文件file中

cat   file1  file2  file3 > file

11.Linux的目录结构

root :存放root用户的相关文件

home :存放普通用户的相关文件

bin :存放常用命令的目录

sbin:要具有一定权限才能使用的命令

mnt:默认挂载光驱和软驱的目录

etc:存放配置相关文件(有关系统设置和管理的文件)

var:存放经常变化的文件

boot:存放引导相关的文件

usr:安装软件时的默认文件夹

dev:接口设备文件目录,如had表示硬盘

proc:当前系统核心与程序执行的信息

tmp:用来存放暂存盘的目录

12.公司服务器上一般不会装图形界面,原因是太耗费cpu和内存资源

13.Linux中,执行命令之后,如果没有任何提示,说明执行成功

14.Linux的运行级别:

0:关机

1:单用户

2:多用户状态无网络

3:多用户状态有网络

4:系统未使用保留给用户

5:图形界面

6:系统重启

常用的运行级别是3和5

要修改系统启动时默认的运行级别可修改文件/etc/inittab 的 id:5:initdefault: 这一行中的数字

*解决错误配置的方法:在进入CRUB引导界面时,输入e,会进入一个选择界面,选择第二行 然后再输入 e ,进入修改界面

在最后输入 1[单用户级别] (输入1的原因:单用户启动的时候不用读 inittab)

然后输入 b ,启动

进入单用户模式,然后再修改配置文件进行恢复

[注:输入1的时候,是有一个空格的]

在图形界面下,切换到root用户:输入“su”命令,然后输入密码即可

15.Linux的命令很多,每个命令还有很多参数,所以,希望大家多问问Google大神

16. 输入命令的时候,按“Tab”键可以智能补全

17.在Linux和Unix系统中|就是管道命令

如何理解?

:把上一个命令的结果交给|后面的命令来处理

例如:ls -l /etc 命令会把etc目录下的文件都展示出来,但是一屏幕展示不完,我们可以这样写:

ls -l /etc | more

这样子,目录内容就会分页显示

18.在现实世界中,有问题找警察;

在Linux世界中,有问题,找男人

man 命令相当于Windows Dos中的help (manual 手册)。 或者使用: logname --help [man logname] 查看命令“logname”的帮助文档

注:输入“:q”退出帮助手册

19.Linux 中的每一个用户必须属于一个组,不能独立于组外。一个用户可以同时属于多个组。

查看Linux所有组的信息:

cat /etc/group

[注:查询结果分析

policeman:X:502:

policeman:组名

X:加密的一个权限

502:组的ID号,唯一

]

查看Linux中所有的用户信息:

cat /etc/passwd

[注:查询结果分析

mikey:x:500:500:mikey:/home/mikey:/bin/bash

用户名:加密过的密码:用户ID:组ID:注释:用户的组目录:该用户使用的shell解析器

]

添加组:

groupadd policeman

创建用户,并同时指定将该用户分配到哪个组:

useradd -g 组名 用户名[注:中间是有空格的]

HomeWork: 建立policeman警察组和bandit土匪组

在policeman组中添加 police110、police111 用户

在bandit组中添加bandit001、bandit002 用户

给新加用户添加统一的密码:123

在police110下创建police110.txt文件并分配权限,然后切换到其他用户查看权限

然后,在root下(自己改不了),把弃暗投明的bandit001改到police组下

20.查看一些Linux的关键配置文件时,建议使用cat命令而不是vi命令,vi命令有可能把文件修改了,从而导致不必要的麻烦。

21. ls -l 查看文件的时候,列出来的文件名前面的数字含义:如果是文件,就是1;如果是文件夹,就显示这个文件夹里面有几个文件,及文件夹里面文件的个数

22.chmod 可以对文件权限进行修改

chmod 777 police110 :777 第一个7代表:修改当前所有者的权限

第二个7代表:修改当前所有者所在组的权限

第三个7代表:修改其他组成员的权限

注:修改一个文件夹的权限之后,里面的文件默认权限不会随着修改

0 表示无权限

1表示可执行 x

2表示可写 w

4表示可读 r

7=1+2+4 即:rwx

23.修改用户所在组:

usermod -g police bandit001  :把bandit001修改到police组下

这样做会使你离开其他用户组,仅仅做为 这个用户组 groupA 的成员。

应该用 加上 -a 选项:

usermod -a -G groupA user

-a 代表 append, 也就是 将自己添加到 用户组groupA 中,而不必离开 其他用户组。

24.jdk的安装步骤:

1)把mypackage.iso挂载到Linux操作系统上  mount /mnt/cdrom/  然后 cd /mnt/cdrom/ 切换到那个目录下,ls查看,会发现iso文件中的文件内容

卸载:退到根目录,然后使用 umount /mnt/cdrom/

2)把安装文件拷贝到 /home 目录

cp 文件 /home (可以使用tab快捷提示)[在一个系统中可以有两个jdk]

3)cd /home [切换目录到home]

4)安装

./文件名.bin (解压缩)

5)看一个文件 /etc/profile [环境配置文件,非常重要]

6) 配置刚才自己安装的jdk

JAVA_HOME=/usr/java/jdk1.7.0

JRE_HOME=/usr/java/jdk1.7.0/jre

PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

export JAVA_HOME JRE_HOME PATH CLASSPATH

使修改生效

[[email protected] local]# source /etc/profile   //使修改立即生效

[[email protected] local]#echo $PATH   //查看PATH值 查看系统环境状态

7)注销然后重新登录一下

eclipse的安装

1)把mypackage.iso挂载到Linux操作系统上  mount /mnt/cdrom/  然后 cd /mnt/cdrom/ 切换到那个目录下,ls查看,会发现iso文件中的文件内容

卸载:退到根目录,然后使用 umount /mnt/cdrom/

2)把安装文件拷贝到 /home 目录

cp 文件 /home (可以使用tab快捷提示)[在一个系统中可以有两个jdk]

3)cd /home [切换目录到home]

4)使用 tar -zxvf **.tar.gz (有空格)解压,会发现多了一个eclipse的文件夹,查看这个文件夹下的文件,发现有一个eclipse的可执行文件(绿色的)

tar -zxvf [巧计:他章旭飞 张飞]

5)startx 命令切换到图形化界面

6)./eclipse 运行程序 (注:没有空格;在图形界面点击“注销”,可以退到命令行界面)

myeclipse 的安装:

参照eclipse的安装过程

Tomcat的安装:

参照eclipse的安装过程

启动eclipse(./eclipse) 的时候,若加上一个“&”符号,会释放控制台的控制权给用户(即用户可以使用控制台进行输入,而不是被占用)

安装娱乐软件 realplay.bin

然后一路回车,最后./运行

安装好之后,挂载一个光盘就可以看电影了

然后安装一个QQ for linux

25.Linux好多文件中,是使用“#”来注销的

26.fdisk -l查看的含义:[查看Linux系统分区情况]  列出指定的外围设备的分区表状况。

查询的结果:/dev/sda1

解释:

“sd” 值scss硬盘 “a” 代表第一块硬盘

1 表示第一个分区

注:IDE硬盘使用“hd”表示

例如:hda3 表示:第一个IDE硬盘上的第三个主分区或者扩展分区

展示格式为:hdx~

x表示盘号 (a为基本盘 b为基本从属盘 c为辅助主盘 d为辅助从属盘)

~表示分区 前四个分区用数字1到4表示,他们是主分区或扩展分区,从5开始就是逻辑分区。

如:hdb2 指的是第二个IDE硬盘上的第二个主分区或者扩展分区

主分区不一定只有一个,可以拿来直接使用

27.Linux下磁盘的主分区和扩展分区加起来的数量不能超过4个

扩展分区中可以有逻辑分区

扩展分区不能直接使用,需要分成逻辑分区

逻辑分区的数量没有限制

可以参照Windows的磁盘分区加深理解,计算机-->>管理-->>磁盘管理 分区使用了不同的颜色进行区分

28. 查看某一个目录是在哪一个分区下面

df /boot/

如果我们 umount /boot/ 之后,会发现cd 到/boot/目录下之后,没有文件显示了

mount /boot/ 之后,文件又恢复了显示

说明Linux是使用挂载、卸载的方式使用磁盘中的文件的

我们可以新建一个 test 文件夹 :mkdir test

然后把sda1挂载到test下:mount /dev/sda1 /test/

转到test目录下:cd /test/

查看:ls,会发现sda1盘的内容显示出来了

注:df + 回车 可以查看磁盘使用情况

df -h 查看的界面会更加友好

29. 对Red Hat Linux 用户来说,无论有几个分区,分给哪一个目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构。

30.Linux系统的安装

版本:Red Hat Linux 9.0 英文版

安装方式;

1.独立安装

2.虚拟机安装

a.安装虚拟机,这个比较简单,一路“next”

b.安装Linux 准备好安装文件。 新建虚拟机-->>典型安装-->>勾选Linux(加版本的选择)-->>选一个目录(磁盘空间大点儿的,相当于从window系统上分出来了一块区域,来安装linux)-->>默认网桥-->>填写虚拟机大小-->>OK

此时还不能启动系统

然后点击:菜单中的虚拟机-->>设置-->>CD-ROM-->>使用iso文件来启动 选择linux的iso文件(第一个文件,一共有三个),然后启动虚拟机,开始安装liux

c.安装过程中,可以跳过iso文件检测(CD Testing),按“tab”键选择“skip”-->>选择简体中文-->>默认键盘配置-->>默认鼠标配置-->>安装类型 [个人桌面:普通用户,没有什么开发工具;定制:自己勾选所需要的功能;]-->>磁盘分区:

Linux安装的时候,分区是关键(选手动分区)

/boot 分区 建议100M大小

/swap 分区 即交换分区  一般是物理内存的2倍 但是也不要大于256M(说明:以前内存普遍小,才推荐分内存2倍的,现在内存都是1G开头了,所以不必分内存2倍大了,如果平时要用的程序不大,256MB就可以了) [注意:选择“swap”时,新建的文件类型要选择“交换分区”,和/boot不是一个文件类型]

“/” 根分区 尽可能大一些

防火墙默认-->>系统默认支持语言(中文)-->>设置口令-->>选择软件包组(一般会选“ftp服务器”、“邮件服务器”、“sql服务器”、“开发工具”PS:做java开发的话,一般“开发”这一栏不用勾选,下面的“其他”栏有“最小值”安装和“全部”,“最小值”安装只会装必要的组件,其它的一概不装;而“全部”则会全部选择然后安装)

如果安装过程中提示要换盘时,就在虚拟机的“CD-ROM”中勾选第二张盘,然后继续。

(注:此说明中并不是每一个安装步骤都记载有,只是记载了需要特殊设置或者需要说明的步骤)

31. Linux系统的文件共享

Windows和Windows系统文件共享可以使用“网上邻居”实现

但是如果Linux系统和Windows系统交互呢?

我们可以使用Linux下的samba服务

Samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,Samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享,由于NFS(网络文件系统)可以很好的完成Linux与Linux之间的数据共享,因而 Samba较多的用在了Linux与windows之间的数据共享上面。

32.查看目前使用的是哪种shell

env [该命令可以显示当前操作系统的环境变量]

注:Linux环境变量

Linux中环境变量包括系统级和用户级,系统级的环境变量是每个登录到系统的用户都要读取的系统变量,而用户级的环境变量则是该用户使用系统时加载的环境变量。

所以管理环境变量的文件也分为系统级和用户级的

1.系统级:

(1)/etc/profile:该文件是用户登录时,操作系统定制用户环境时使用的第一个文件,应用于登录到系统的每一个用户。该文件一般是调用/etc/bash.bashrc文件。

/etc/bash.bashrc:系统级的bashrc文件。

(2)/etc/environment:在登录时操作系统使用的第二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。

2.用户级(这些文件处于家目录下):

(1)~/.profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件。这里是推荐放置个人设置的地方

(2)~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。不推荐放到这儿,因为每开一个shell,这个文件会读取一次,效率肯定有影响。

3. ~/.bash_profile or ~./bash_login:当这个文件存在时,在登录shell时会读取./bash_profile文件,而不是.profile文件。当查找的资料中需要你修改.bash_profile文件,但却你没有该文件的时候,也可以修改 .profile 来完成 实现。

33.shell不止一种,使用“ls -l /bin/*sh”可以查看当前系统中有几种shell

4.修改完成后,使用 source /etc/profile 命令进行更新

修改shell:“chsh -s 输入新的shell”,如:“chsh -s /bin/csh” 注:我们平常用的是 “sh”

34.非常有用的命令补全功能:

是指用户输入命令时,并不需要输入完整的命令,而系统自动会找出最符合的名称。

如:直接输入“mk”-->>按两下“tab”-->>出现开头两个字母为“mk”的命令,然后选用要用的那个命令即可

35.man命令查看帮助时,输入“q”可以退出

36.在Linux下,我们有时可能希望知道或是使用最近执行的命令,history可能会帮上大忙。

history 5:此项说明会显示最近使用的5个命令

!5:此项说明执行历史编号为5的命令

!ls:此项说明执行最后一次以“ls”开头的命令

37.学技术要厚积薄发!

38.Linux/Unix的世界就是网络的世界,而网络的基础就是TCP/IP,所以一个优秀的linux/unix程序员必须了解并掌握tcp/ip

TCP/IP协议不是一个独立的协议,而是一组协议

层是一个逻辑的概念,不是具体的可以看到的

从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层[链路层]、网络层、传输层、应用层。

百度百科定义:Transmission Control Protocol/Internet Protocol的简写,中译名为传输控制协议/因特网互联协议,又名网络通讯协议,是Internet最基本的协议、Internet国际互联网络的基础,由网络层的IP协议和传输层的TCP协议组成。TCP/IP 定义了电子设备如何连入因特网,以及数据如何在它们之间传输的标准。协议采用了4层的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。通俗而言:TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台电脑规定一个地址。

tcp/ip 可以说是一种语言,计算机之间交流的语言

38.QQ 传输过程的解析:

A客户端发送-->>"你好"

应用层-->>加上应用程序的标识:"app 你好"

传输层-->>加上tcp前端标识:“tcp app 你好”[tcp段]

ip层-->>加上ip头:“ip tcp app 你好” [发送到哪个地址][称为数据包]

链路层-->>加上帧头和帧尾:“帧头 ip tcp app 你好 帧尾”

网卡--路由--对方网卡--反过程解析……对方接收到“你好”

黑客有可能在ip层进行攻击,对ip地址等信息进行修改

39. Windows下使用"ping www.baidu.com"可以直接查看百度的IP地址

40.Dos下追踪路由命令:tracert

如:tracert www.baidu.com

41.在Linux/Unix下查看ip情况的命令是 ifconfig

eth0 代表第一块网卡

lo 代表回路

42.127开头的ip地址可以回路(不一定是127.0.0.1,可以是任意范围内的数字)

43.linux网络环境配置 [1]

1)使用root身份登录,运行setup命令进入到text mode setup utiliy对网络进行配置。这里可以进行ip、子网掩码、默认网关、dns的配置

2).这时网卡的配置没有生效,运行/etc/rc.d/init.d/network restart 命令之后,我们刚才的配置才生效

44. linux网络环境配置 [2]

(1)ifconfig eth0 192.168.x.x 对网卡进行设置

(2)ifconfig eth0 network x.x.x.x 对子网掩码进行设置

注意:这样配置网络会立即生效。但是是临时生效,使用ifconfig查看是改变了,重启机器之后,会恢复成设置前的地址

45. linux网络环境配置 [3]

(1).修改/etc/sysconfig/network-scripts/ifcfg-eth0这个文件里各个属性可以修改,包括ip、子网掩码、广播地址、默认网关

(2)这时网卡的配置没有生效,要运行/etc/rc.d/init.d/network restart 命令,我们刚才做的设置才会生效

重启网络服务还可以使用:service network restart

注:这是最根本的一种该法,上面两种设置方法最终就是修改这个文件的内容

文件内容简介:

DEVICE=eth0 :网卡名称

ONBOOT=yes  :随系统的启动而生效,如果改成no,就相当于把这个网卡给禁用了

ROOTPROTO=dhcp :指的是动态分配IP地址(dhcp),静态指定是(static) Dynamic host configuration protocol

IPADDR=192.168.2.22  :IP地址

NETMASK=255.255.255.0 :子网掩码

GATEWAY=192.168.2.254 :默认网关

46.在Linux中,所有的设备都是文件

这样子编程会比较方便,比如说网卡,Linux把网卡的配置当成一个文件来管理,这样设置起来就很方便了

47.两个网络在同一个子网里面,才可能ping通

如果想让Windows ping通虚拟机中的Linux,可以把Linux中的Ip地址设置成和Windows中的虚拟网卡ip地址在同一网段,然后就可以联通了

(注:在虚拟中中,要选择:vm-->>Setting-->>Ethernet-->>Custom:Specific virtual network,选一个虚拟网卡,本机上选的是VMnet8(NAT))

在windows网络中查看,vmnet1和vmnet8 是安装虚拟机时,虚拟的两块网卡

48.如何查询Linux中安装了哪些rpm软件? [Redhat Package Manager:RPM软件包管理器]
[注:这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。]

rpm -qa 注:qa指queryall

(注意:在CentOS系统中命令无效)

49.安装rpm包:

rmp -i rpm包全路径名称:安装包到当前系统

rmp -ivh rpm包全路径名称:安装包到当前系统有提示信息

参数说明:

i:install

v:verbose 提示

h:hash 进度条

删除rpm包:rpm -e jdk

如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误的信息

如果忽略这个错误信息继续卸载,使用 --nodeps命令行选项(不要轻易使用,会破坏两个软件的依赖关系)注:有两个“-”

"rpm -e --nodeps samba"

升级rpm包:

rpm -u RPM包全路径包

50.samba的安装步骤

1)看看是否已经安装了samba

rpm -q samba (或者输入:setup ,选择“System services”,往下翻页,会发现一个“smb”的服务项,这个就是samba的服务)

PS:SMB是Server Message Block的缩写,即为服务器消息块

2)如果有,可以先卸载 rpm -e samba

3)把自己的安装文件,挂载到Linux下

4)把samba开头的文件,拷贝到指定目录,准备安装

cp /mnt/cdrom/samba* /mypackage

5)开始安装

a.先安装common

b.再安装client

c.再安装samba

6)创建一个用户 mysamba

useradd mysamba [这种创建方式会默认创建一个同名的用户组,然后把此用户放在这个同名的用户组下]

passwd samba 回车,然后输入新密码

这只是登录到系统的密码,还要设置“samba”的密码

7)给mysamba设置samba密码

将/etc/passwd中的用户都加到smbpasswd中

“cat /etc/passwd | mksmbpasswd.sh>/etc/samba/smbpasswd”

:设置用户mysamba的samba密码

解释:把“cat /etc/passwd”的执行结果交给“mksmbpasswd.sh”脚本处理,然后放在“/etc/samba/smbpasswd”(samba密码)里面

(注:redhat linux 9下没有找到“smbpasswd”文件,但是找到了一个“smbusers”文件)

smbpasswd mysamba :设置samba密码

自己设置的新密码是:"mysamba"

8) samba服务相关

service smb start  可以通过/etc/init.d/smb start/stop/restart来启动、关闭、重启Samba服务

service smb stop

service smb restart

查看samba的服务启动情况   service smb status

重新加载配置(修改了/etc/samba/smb.conf文件之后) service smb reload

设置开机自启动  chkconfig --level 35 smb on   //在3、5级别上自动运行samba服务

Samba安装好后,使用testparm命令[巧计:怕人吗?]可以测试smb.conf配置是否正确。使用testparm –v 命令可以详细的列出smb.conf支持的配置参数。

9)自己设置的Linux的IP地址是:192.168.0.22 (注意:要和虚拟网卡的ip设置成同一网段内,同时,在虚拟机的网络适配器设置中,要选上自定义中自己选择要用的那个网卡)

10)samba 使用windows客户端访问共享文件夹时如果报错

:您没有权限访问\\,请与网络管理员联系请求访问权限

就把SELinux暂时停掉:

#setenforce 0

51.任务调度 crontab

概念:是指系统在某个时间执行的特定的命令或程序。

作用:比如定期备份数据库数据(每日,在晚上备份,用户少的时候)

1)设置任务:crontab -e

2)每隔一定时间去执行 date>/home/mikey/mydate(把当前时间写在文件中)

(1)每天凌晨两点半去执行 date>>/home/mikey/mydate2 (>>表示追加内容到文件中)

可以在crontab -e中加入:0 2 * * * date>>/home/mikey/mydate2

然后退出,wq保存即可

(2)每分钟去执行

* * * * * date>>/home/mikey/mydate2

3) 在crontab -e[中间是要有空格的]中加注释,使用“#”符号

4)怎样去调度多个任务?

(1)在crontab -e中直接写。这个方法比较原始,不推荐

(2)【推荐方式】可以把所有的任务,写入到一个可执行文件(shell编程)

Linux中shell文件,一般用“.sh”结尾

注意:写好.sh文件之后,需要赋给用户可执行的权限

在crontab 下执行可执行文件,只需要写好可执行文件所在的目录即可。

5)如果终止任务

crontab -r:终止任务调度

执行之后,会发现,crontab -e里面没有东西了

crontab-l:列出调度任务

52.DOS中,netstat -an 可查看监听

Linux中:

netstat –a 本选项显示一个所有的有效连接信息列表,包括已建立的连接(ESTABLISHED),也包括监听连接请求(LISTENING)的那些连接。

netstat –n 显示所有已建立的有效连接。

netstat -ano|findstr "8080" :有针对性的查看端口

如:查看1521的端口信息: netstat -ano|findstr "1521" 执行结果如下:

TCP    0.0.0.0:1521           0.0.0.0:0              LISTENING       2488

TCP    [::]:1521              [::]:0                 LISTENING       2488

最后一列为PID,对应的Windows任务管理器的“服务”选项卡PID为2488

经测试,在CentOS 6.4下,findstr 不管用,可改为:

netstat -an|grep "9265" 命令来查看9265端口的情况

记录:端口越多,越危险。当系统管理员时,要尽可能关闭一些不用的端口

53.衡量一个操作系统好不好,主要取决于这个操作系统最多支持多少个用户同时使用。

将来你们迟早会去了解TCP/IP的。 From:韩顺平老师

Samba服务器虽然可能不经常用,但是必须得会,它很基础,很经典。

Linux ssh是个客户端,各个PC用户可以通过ssh客户端来访问Linux系统,通过sshd服务(service)

54.

进程和线程的概念

进程:可以理解为正在运行的程序

线程:1)轻量级的进程

2)进程有独立的地址空间,线程没有

3)相对来讲,线程不能独立存在,它是由进程创建的。(linux 中一般是 fork)

4)相对讲,线程耗费的CPU和内存小于进程

55. 》在Linux中,每个执行的程序都称为一个进程。每一个进程都分配一个ID号。

》每一个进程,都会对应一个父进程,而这个父进程可以复制多个子进程。例如www服务器。

》每个进程都可能以两种方式存在:前台和后台,所谓前台进程就是用户当前的屏幕上可以进行操作的(如:VI);后台进程则是实际在操作,但由于屏幕上无法看到该进程,通常使用后台方式自执行。

》一般系统的服务都是以后台进程的方式存在,而且都会常驻在系统中,直到关机才结束。

ps命令是用来查看目前系统中,有哪些正在执行,以及它们执行的状况。可以不加任务参数。

ps -a :显示当前中断的所有进程信息

ps -u:以用户的格式显示进程信息

ps -x:显示后台进程运行的参数

ps -aux 看的比较全面,信息也全面。[巧记:奥克斯]

56.终止进程 kill/killall

若是某个进程执行一半需要停止时,或是已消耗了很大的系统资源时,可以考虑停止该进程。使用kill命令来完成此项任务。

kill 16251 :终止进程号为16251的进程。

kill -9 16251:因为有些进程会捕捉某些信号,如果直接不能结束进程可以用“-9”传送信息。[巧记:就(9)是要杀死]

运行命令:killall -9 bash 后,所有bash都会被卡掉了,所以当前所有连接丢失了。需要重新连接并登录。

57.动态监控进程top

top和ps命令很相似,它们都用来显示正在执行的进程。top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的进程。

1).监视特定用户

top:输入此命令,按回车键,查看执行的进程。

u:然后输入“u”回车,再输入用户名,即可

2).终止指定的进程。

top:输入此命令,按回车键,查看执行的进程。

k:然后输入“k”回车,再输入要结束的进程ID号

3)执行系统状态更新的时间:

top -d 10:指定系统更新进程的时间为10秒

4)按“q”退出

展示信息解释:

load average: 0.00, 0.04, 0.05

这个是当前系统的负载情况,当这三个数值平均数大于“0.6”的时候,就要格外注意了,说明系统资源已经很紧张了。

58.Ⅰ.date命令:显示系统的时间。可以直接输入:“date”,来查看系统的时间。

Ⅱ.利用date命令来更改系统时间。

date MMDDHHMMCCYY.SS:意思是 月日时分年.秒

Ⅲ.查看月历:

cal 3 2002:查看2002年3月的月历。

Ⅳ.查看年历:

cal 2013:查看2013年的年历

Ⅴ.输入:cal,默认查看的是本月的月历

59.监控网络统计信息的命令netstat:

此命令用来显示整个系统目前的网络情况。例如目前的连接、数据包传递数据、或是路由表内容。此命令直接输入即可使用。

如:netstat[记忆:net为网络,stat为状态,连起来就是“网络状态”] -an  an表示按照端口号进行排序

netstat -anp :会显示进程号出来

检测主机连接命令ping:

是一种网络监测工具,它主要是用来检测远程主机是否正常。或是两部主机间的介质是否为断,网线是否脱落或网卡故障。

如:ping 对方ip地址

60.显示数据包经过的历程命令:traceroute (这个命令网关用的挺多的)

此命令可以直接输入使用,用来检测数据包在网络上传输的过程。从本机到远程的主机完整路径。帮助管理员解决问题。

traceroute指令让你追踪网络数据包的路由途径,预设数据包大小是40Bytes,用户可另行设置。

traceroute www.baidu.com

route 所谓路由是指将数据由来源网络送往目的地网络的操作。在大型网络中,路由是非常复杂的,因为数据包在抵达目的地时,可能经过的节点有很多,路由表是存储在路由器或一些其他链接设置上的窗体。其中记录着了到指定目的地的网络路径,以及这些路径的相关数值。

此命令可以直接输入使用,来查看本机路由的情况。

61.程序里最原始的东西往往是很复杂的,底层代码往往比较难以阅读和理解

62. ssh

概述:ssh(secure shell)是一款集远程操作linux和进行文件上传、下载的软件,那是相当的好用!在软件公司几乎所有的Linux程序员都会使用ssh。安全、方便是它最大的特点。

63.mysql备份数据库,.bak文件中记录的是表的创建语句和数据录入语句等。

如果连库都被删除了,要恢复数据时,需要先建一个空的数据库,然后进行数据恢复。

63.window通过ssh连接Linux的前提:

1)两台机器要可以 ping 通

2)Linux端sshd服务要启动,默认安装有这个服务,默认端口为:22

3)Windows安装ssh客户端

64.踢一个用户下线,假设他是黑客:

1)netstat -anp | more ,查看进程号(需要Root,才可以看到进程号)

2)kill -9 进程号 OK,已经成功踢出该用户

65.对Linux的目录结构,要非常清晰,如:/bin、/boot等,详细内容见图

66. 当前目录(pwd)、相对路径、绝对路径、工作目录的概念

pwd 查看当前所在目录的绝对路经

cd .. 回当前目录的上一级目录

cd - 回上一次所在的目录

cd -p aa/bb/cc直接创建多级子目录

cd ~ 或 cd
回当前用户的宿主目录

cd ~用户名
回指定用户的宿主目录(注意,“~用户名”之间没有空格)

工作目录:如Tomcat的工作目录是 D:\servers\apache-tomcat-6.0.35\bin 根据软件、项目不同,工作目录也是不一样的

rmdir :删除空目录 如果不为空,会报错:rmdir: failed to remove `myfolder/‘: Directory not empty

rm -rf :删除非空目录

拷贝文件夹:

如果我们直接这样用:cp Folder01/ FolderAll/(把当前路径下的“Folder01”文件夹拷贝到"FolderAll"文件夹下),会报错:cp: omitting directory `Folder01/‘

然后,我们可以使用:
cp -r Folder01 FolderAll/ 进行拷贝

如果想要覆盖拷贝,可以加上: cp -rf Folder01 FolderAll/ ,这个时候,系统不会询问是否覆盖,而会直接进行覆盖操作

67. ln :建立符号连接[巧计:link] 有些像Windows中的快捷方式

ln -s 源 目标

如:ln -s /etc/inittab inittab

(inittab 指向实际文件/etc/inittab)

我们编辑链接文件,会直接更改原文件,但是删除链接文件,并不会影响原文件。

68.shell使用

用户登录后自动执行的shell脚本文件:

bashrc 位于主目录下

它之前执行系统的脚本:/etc/bashrc主要是基本配置数据bash_profile 位于主目录下,它之前执行系统的脚本 /etc/profile 主要是配置环境变量

》配置.bashrc文件可以指定某些程序在用户登录的时候就自动启动

在/home/用户 目录下

如果希望所有的用户登录的时候,都执行一段程序,可以写到“/etc/bashrc”文件里面

“etc”目录下是指系统的,而“/home/用户”下面配置的是用户单独的

69.export的使用

export PATH=$PATH:$HOME/bin:/root/test/t1

:输出环境变量PATH 引用原来的值$PATH $HOME 表示工作主目录 :是路径分隔符

已定义好的环境变量:

SHELL : 默认shell

PATH :路径

USER :当前登录用户的用户名

注意大小写

显示变量内容:  echo $PATH

echo $USER

echo $SHELL

env 查看当前环境变量的配置

当你希望临时加入一个路径时,使用export

比如:export PATH=$PATH:/root 把/root 路径配置到系统路径中

70.shell通配符的使用

* 代表多个字母或数字

? 代表一个字母或数字

71.alias用法

比如: ls -l /home

取别名

alias llh=‘ls-l /home‘ [注:“=”前后没有空格]

72. 使用zip和unzip压缩和解压

zip aa.zip 文件名 (压缩一个文件)

zip aa.zip 文件名1 文件名2(压缩多个文件)

zip -r aa.zip 文件夹路径(压缩一个文件夹)

73.很多时候,程序写一遍什么都会了,就是不要有惧怕的情绪。越是不敢去写,越是什么都不会。

74.linux下网络编程是Linux最让程序员着迷的地方。QQ点对点传输时,使用的是socket编程

75.java socket编程,Windows客户端向Linux socket 服务器端发送消息时,记得切换到root用户,把Linux的防火墙关闭 [service iptables stop]

76.感谢韩老师的无私分享!

时间: 2024-10-03 02:23:26

韩顺平老师《一周学会Linux》视频笔记的相关文章

一周学会linux实战笔记

山篇 思考------实践-------再思考-------再实践 1.高效愉快地学习 2.先建立一个整体框架,然后细节 3.用的什么再学习什么 4.先know how,再know why 5.计算机是一门做中学的学科,不是会了再做,而是做了才会 6.适当的 囫囵吞枣 7.学习linux系统是在琢磨别人怎么做,而不是我认为应该怎么做的过程 第一天 需要掌握70多个命令,不过linux的总命令或许4000. linux特点: 1.免费的/开源的 2.支持多线程/多用户的 3.安全性好 4.对内存和

韩顺平老师亲临成都 PHP基础班火爆开班

"哇~~是他,居然是他!" "我自学的只是就是看他的视频资料" "我接触PHP到了解PHP也是因为在网上下载的他的视频" "没想到能见到他本人... ..." 小伙伴们这么惊讶,究竟是谁呢?没错,就是我们既熟悉又陌生的韩顺平老师.相信很多知道传智播客的同学,都在官网上看过我们的自学视频,其中韩顺平老师的视频由于人性化和专业化,更为得到大家的广泛关注,这次韩老师亲临成都,参与我们首期PHP基础班开班,更是引爆全场!许多经典和出人

韩顺平老师讲课问题

优点一大堆,不说了. 问题:1.不做对比,对比有好处:强调差异,印象更深刻.--于是我只好到处看比较分析2.不做总结.一直按顺序讲,内容是有了,但因为不总结,对知识点记忆不够深刻. 还有哪位在听韩老师讲课的,一同交流啊!QQ群368255977 韩顺平老师讲课问题,布布扣,bubuko.com

学韩顺平老师linux教程--笔记

第二讲:1.startx  进入图形界面2.shutdown -h now 立刻进行关机3.shutdown -r now 现在重新启动计算机4.reboot          现在重新启动计算机5.su -   切换成系统管理员身份6.logout (在提示符下输入)用户注销7.vi编辑器使用:/c程序开发(1)vi Hello.java / vi Hello.cpp(2)输入i[进入插入模式]   (3)输入esc[进入命令模式]  (4)输入:[wq表示退出保存,q!退出不保存](5)ja

linux视频笔记(韩顺平1-5)

一.linux概况: 1.linux市场需求: linux系统管理员.linux程序员(需掌握C/C++.java.php.jsp...),包括linux软件工程师和linux嵌入式开发 2.学习流程: ·1 linux平台上的开发,包括vi.gcc.gdb.make.jdk.tomcat.mysql及其它linux基本操作 ·2加厚C语言功底<C专家编程>或java语言 ·3学习unix环境高级编程 ·4linux应用系统开发.linux嵌入式开发 3.学习秘诀:思考--实践-----再思考

韩顺平linux视频笔记

Linux特别重要的命令: 1.      shutdown  –h  now 立即关机 2.      shutdown  –r now  立即重启 3.      reboot 重启 4.      pwd  显示当前目录的路径 5.      useradd ***  添加一个用户 6.      passwd username  设置username的密码,不加username则表示给当前用户更改密码 7.      userdel username 删除一个用户:userdel  –r

参考韩顺平老师的视频,用HTML写一个静态网页的邮箱

1.实现的效果图 1.1 邮箱主页如下 1.2 收件箱页如下 1.3 发件箱页如下 1.4 废件箱页如下 2.代码实现如下 2.1 主框架mailbox.html mailbox.html主框架的代码实现的功能主页是,将窗口分成3个行,上面一行占20%,中间那行的占70%,下面那行占10%,(这里的行只是我个人意识里面的并不是真的行,因为觉得这么说比较容易理解,所以才说成行的). 2.1.1 第一行我用了mailbox_top.html来填充 2.1.2 第二行我将它分成一个小的框架<frame

韩顺平老师的“坚持”说

”韩老师当时就把这个王同学骂了一顿,你太不像话了,你看你的同期同学,他们薪水基本上都能够在一万以上,你为什么就不坚持下去.现在不管是摆地摊还是做开发,你都给我坚持下去.你不要今天摆地摊,遇到了城管,你明天又去当厨师.你当厨师你又觉得油烟对身体有害,又去干出租车司机,不要转来转去.人家的时间都用在了努力,而你的时间却用在了选择,当你将放弃当作一种习惯,你一辈子也不会有出息.韩老师告诉我们说,成功其实也不难,只要树立一个目标,不需要你是一个很强的人,不需要你很高智商,不需要你是千里马,你只要像老黄牛

韩顺平老师的坚持说

”韩老师当时就把这个王同学骂了一顿,你太不像话了,你看你的同期同学,他们薪水基本上都能够在一万以上,你为什么就不坚持下去.现在不管是摆地摊还是做开发,你都给我坚持下去.你不要今天摆地摊,遇到了城管,你明天又去当厨师.你当厨师你又觉得油烟对身体有害,又去干出租车司机,不要转来转去.人家的时间都用在了努力,而你的时间却用在了选择,当你将放弃当作一种习惯,你一辈子也不会有出息. 韩老师告诉我们说,成功其实也不难,只要树立一个目标,不需要你是一个很强的人,不需要你很高智商,不需要你是千里马,你只要像老黄