韩顺平_linux_随堂笔记
这还是自己3年前(2011年)整理的笔记,记得当时那会儿自己对Linux还特别的憧憬,也很喜欢韩老师的讲课风格,边看边做笔记乐此不彼,现在开通了技术博客,所以把当年的笔记也放上来和大家分享。同时推荐没有Linux基础又看不下去书的童鞋们也去看看韩老师的视频,入门还是非常不错滴。
1.linux 系统管理员
2.linux 程序员{linux 软件工程师(PC)
linux 嵌入式开发(单片机,芯片)}
1.linux 平台上的开发,包括vi,gcc,gdb,make,jdk,tomcat,mysql.. 和linux基本操作
2.加厚C语言功底《C专家编程》或是java语言
3.学习Unix环境高级编程《Unix环境高级编程》
4.linux应用程序开发/linux嵌入式开发
思考----实践----再思考----再实践。。 1.高效而愉快的学习
2.整体的框架然后细节
3.用到什么学习什么
4.先know how,再know why
5.做了才会
6.适当的囫囵吞枣
7.学习linux是在琢磨别人怎么做,而不是我认为应该怎么做
1.基础部分
a)linux基础知识
b)linux的常用命令80个
c)linux分区/vi/权限… 2.实用部分
a)Samba安装
b)jdk/apache/mysql/ssh/rpm安装与配置
c)linux下网络环境配置
d)linux下java网络编程
e)crontab使用
f)Shell初步介绍
1.鸟哥的linux私房菜
2.linux编程从入门到精通
3.linux内核完全剖析
最最基本的命令:关机、重启、注销当前用户、切换到图形界面、vi编辑
shutdown -h now, poweroff
shutdown -Fr now, reboot
logout, exit
startx
vi ps:生产环境的关机或重启之前,要输入三次以上sync命令,强制把内存中数据写到磁盘.
1.vi Hello.java
2.i进入输入状态,
3.esc进入命令模式
4.保存或不保存,:wq或:q!
5.编译Hello.java --如何开发c程序,cpp程序
1.gcc Hello.cpp
2../a.out
gcc -o name Hello.cpp 链表,数组
丢手帕问题,
约瑟夫问题最后一个谁出列
root,home,bin,sbin,mnt,etc,var,boot,usr
var,存放经常变化的数据,如sock文件
pwd命令查看当前目录
useradd
password
userdel (删除用户,但系统下的用户文件夹还在)
userdel -r username (删除用户且删除用户文件夹)
su 切换用户(只切换用户,不切换用户的环境变量,如需要切换环境变量,用su -)
3.多用户状态有网络服务
5.图形界面
选择默认运行级别 /etc/inittab 进入单用户运行级别修改错误配置
redhat在进入grub引导界面的时候,e
高亮第二行 e
空格1 回车
b 启动
ls -la
mkdir,rmdir
touch
cp -r 文件 路径
rm 文件名
more
less
grep
|
帮助man find / -name aaa.java
find /root -name aaa.java 管道重定向命令
>,>>,<
ls -ahl
rwx r-x r-x
制作的iso文件可以挂载到Linux中
mount -o loop -t iso9660 /tmp/xxx.iso /mnt/jyzhao
1.安装.bin文件
./***.bin
2.安装.tar.gz文件
tar -zxvf ***.tar.gz
3.安装realplayer,qq
4.安装jdk,eclipce,myeclipce.tomcat.
5.安装mysql数据库,oracle数据库
fdisk -l
df -h
建议新手练习机分以下3个区:
/
/boot
swap ps:由于LVM的优势明显(可弹性调整文件系统的容量),所以现在生产环境Linux主机的分区基本都是采用LVM的管理方式。
查看当前使用的shell种类:env |more
改变shell命令:chsh -s /bin/bsh
由来:美国国防部
TCP/IP协议是一组协议:TCP,IP,UDP,ARP,RARP ;
推荐参考书:TCP/IP详解:协议; 实现; TCP事物协议 HTTP.NNTP和UNIX域协议 --作者:(美国)史蒂文斯(Seves,W.R.)
案例:QQ间互相通信(qq1发送“您好” 经过应用层,传输层,网络层,链路层 分别加上了app头,tcp段,ip头,帧头与帧尾,传到网卡,然后经过路由等设备,传到qq2所在的网卡,然后经过4层,
分别去掉加上的东西,发送到qq2上。)
ip地址与包的路由传递:
1.ip地址由 网络号 和 主机号 组成,由此分为A,B,C,D,E五类。
2.tracert追踪路由命令
3.ping 测试网络是否畅通
4.在Unix/Linux下查看ip命令 ifconfig
5.netsend "Don't play CS!" 192.168.255.255(广播地址)
6.127.0.0.1 回路,测试自己的。
7.子网, 网关封杀
1.(1)setup进入图形界面,然后选择网络配置
(2)/etc/rc.d/init.d/network restart 命令生效
2.ifconfig eth0 192.168.88.88(临时生效)
3.(1)修改/etc/sysconfig/network-scripts/ifcfg-eth0
(2)/etc/rc.d/init.d/network restart 命令生效
linux修改主机名:
(1)hostname newname
(2)vi /etc/sysconfig/network,修改hostname
(3)vi /etc/hosts,修改对应的hostname.
1.如何查询Linux中安装了那些rpm软件
rpm -qa
2.查询是否装mysql
rpm -q mysql
3.安装rpm包
rpm -i RPM包全路径名称
rpm -ivh RPM包全路径名称
参数说明:i=install;v=verbose;h=hash.
4.卸载rpm包
rpm -e
rpm -e --nodeps samba
Windows之间 网络邻居
Linux 之间 NFS
Windows 和 Linux之间 samba
samba安装步骤
1.rpm -q samba
2.如有,卸载
rpm -e samba
3.把自己的安装文件,挂载到Linux下
4.把samba开头的文件,拷贝到/home下
cp /mnt/cdrom/samba* /home
5.开始安装
rpm -ivh samba-common-2.2.7a-7.9.0.i386.rpm
rpm -ivh samba-client-…… .rpm
rpm -ivh samba-2.2.7…… .rpm
6.创建一个用户youyou
useradd youyou
passwd youyou
123
7.设置youyou的samba密码
(1)cat /etc/passwd | mksmbpasswd.sh >/etc/samba/smbpasswd
(2)smbpasswd youyou
8.启动samba服务器测试
service smb start
service smb stop
service smb restart
9.Windows下输入Linux的ip地址
//192.168.*.*
10.samba的详细配置
某个用户只读权限
1.设置任务crontab -e
2.每隔一定时间执行命令
每天2点备份mysql数据库
0 2 * * * date>>/home/mytest1
调度文件的规则:
分钟(0-59) 小时(0-23) 日期(1-31) 月份(1-12) 星期(0-6)
3.怎样调度多个任务
1).直接crontab -e 添加 * * * * * cp /home/mytest1 /root (不推荐)
2).可以把所有的任务写入到一个可执行的文件中(shell编程)
vi mytask.sh
赋予mytask.sh 文件可以执行的权限 chmod 744 mytask.sh
任务调度文件加入调度命令 * * * * * /root/mytask.sh
3).如何终止任务调度 crontab -r
列出当前有哪些任务调度 crontab -l
进程 就是 正在执行的程序;
线程 就是 1)轻量级的进程;
2)进程有独立的地址空间,线程没有;
3)线程不能独立存在,它是由进程创建;
4)相对讲,线程耗费的cpu,内存小于进程。
ps -aux 查看进程
kill 进程号,终止进程
kill -9 进程号,强制终止进程
killall 进程号,终止进程以及子进程 top 动态显示进程
输入u 可以选择输入指定用户;
输入k 可以选择杀掉指定进程;
指定系统状态更新时间 top -d 10(10秒更新); date命令更改系统时间
date MMDDHHMMCCYY.SS 月月日日时时分分年年年年.秒秒
查看月历 cal 3 2003
查看年历 cal 2008
netstat -an netstat -anp
ping
traceroute
route
a.1个安装文件tar.gz,1个jar驱动包;
解压安装文件
b.mv 命令 改名文件/文件夹
c.继续安装
(1)groupadd mysql
rpm -qa mysql 查询是否已经安装
rpm -e mysql 强制删除:rpm -e --nodeps mysql
(2)useradd -g mysql mysql 创建mysql用户并把它放入mysql组
(3)初始化数据库:进入到mysql的文件夹内,输入命令 scripts/mysql_install_db --user=mysql
(4)修改文件的所有者:chown -R root .
修改data文件夹的所有者:chown -R mysql data
改变用户组:chgrp -R mysql .
(5)启动mysql
bin/mysqld_safe --user=mysql & (&代表后台启动)
查看mysql的3306端口 netstat -anp |more
进入mysql目录下的bin目录下:cd bin
./mysql -u root -p
进入mysql命令行:mysql> show databases;
》》如果想在任何目录下都可以输入命令直接访问,需要配置环境变量
env |more 看到PATH的配置信息
在 /root/ .bash_profile 添加/home/mysql/bin
任意路径直接输入 mysql -u root -p 即可成功
如果在 /etc/.bash_profile 添加,就是系统环境变量
mysql> show databases;
mysql> create database spdb1;
mysql> use spdb1;
mysql> create table users (userID varchar(4),userName varchar(8));
mysql> insert into users values('0001','shunping');
mysql> select * from users;
mysql> desc users;
import java.sql.*;
class ShowUser
{
public static void main(String[] args)
{
//System.out.println("Hello World!");
//connect to mysql database;
try{
Class.forName("com.mysql.jdbc.Driver");
Connection ct = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/spdb1?user=root&password=");
Statement sm = ct.createStatement();
ResultSet rs = sm.executeQuery("select * from users");
while(rs.next()) {
System.out.println("username="+rs.getString(1));
}
}catch(Exception e) {
e.printStackTrace();
}
}
}
#mysqldump -u root -p 密码 数据库名 > data.bak (备份)
#mysql -u root -p 密码 数据库名 < data.bak (恢复)
恢复时,新建一个数据库即可..
循环备份,例如备份10份,第11份覆盖第一份。
免费 跨平台 轻 支持多并发
echo "/usr/local/mysql/bin/mysql">>/etc/rc.local --待验证
linux默认安装sshd的服务,并且默认启动,监听的端口是22。
使用ssh客户端登陆到linux(前提是linux的sshd服务启动)
踢人: kill -9 进程号(PID)
╮(╯_╰)╭ 课上没有讲哈,ssh太强大,功能都有了..
a.linux目录结构 当前目录(pwd),相对路径(以当前目录为基点),绝对路径(以/目录为基点),工作目录(tomcat的工作目录是: ……/bin)
b.init 运行级别
c.cd命令什么都不写,会切换到当前用户目录下
d.常用命令mkdir,rmdir,rm -rf ,touch建立空文件,重定向命令>,>>,< ...
e.mysql 数据库每天凌晨2点备份,生成的文件名如何以日期命名,确保原来备份的数据不会被后来的覆盖,如果做成循环3天备份更好.
f.关于shell的补讲:
(1)环境变量配置
/etc/profile (配置系统环境变量jdk,tomcat)
/home/xiaobei/.bath_profile(配置用户的环境变量)
(2)登录自启动
把希望用户登录的时候就启动 配置
/home/xiaobei/.bathrc
希望所有用户登录时都启动,/etc/.bathrc
(3)当你希望临时加入一个路径的时候,可以使用export
比如:export PATH=$PATH:/root
(4)echo命令
echo $PATH
echo $USER
echo $SHELL
(5)通配符
* 多个字符
? 一个字符
[1-6] 范围 ls 100[1-5].gif
(6)alias用法
别名:
mysqldump -u root -p spdb1 >yy.bak
ls -l /home
alias llh='ls -l /home'
a.BIOS自检
b.启动GRUB/LILO
c.运行linux内核并检测硬件
d.运行系统的第一个进程init
e.init读取系统引导配置文件/etc/inittab中的信息进行初始化
f./etc/rc.d/rc.sysinit系统初始化脚本
g./etc/rc.d/rcX.d/[KS]* - 根据运行级别X配置服务
终止以“K”开头的服务
启动以“S”开头的服务
h./etc/rc.d/rc.local 执行本地特殊配置
i.其他特殊服务
a.使用zip,unzip处理.zip文件
zip aa.zip 文件名
zip aa.zip 文件名1 文件名2
zip -r aa.zip 文件夹路径
unzip aa.zip
b.使用gzip和gunzip处理.gz文件
a.如何使用java进行socket编程
qq聊天,经过服务器中转.
韩顺平_linux_随堂笔记的更多相关文章
- 尚硅谷韩顺平Linux教程学习笔记
目录 尚硅谷韩顺平Linux教程学习笔记 写在前面 虚拟机 Linux目录结构 远程登录Linux系统 vi和vim编辑器 关机.重启和用户登录注销 用户管理 实用指令 组管理和权限管理 定时任务调度 ...
- 学韩顺平老师linux教程--笔记
第二讲:1.startx 进入图形界面2.shutdown -h now 立刻进行关机3.shutdown -r now 现在重新启动计算机4.reboot 现在重新启动计算机5. ...
- smarty详细使用教程(韩顺平smarty模板技术笔记)
MVC是一种开发模式,强调数据的输入.处理.显示是强制分离的 Smarty使用教程1.如何配置我们的smarty解压后把libs文件夹放在网站第一级目录下,然后创建两个文件夹templates 存放模 ...
- 初级Oracle和SQL学习者的学习笔记。韩顺平-玩转oracle。
我自己就是一个oracle和sql的初学者,前段时间看了韩顺平老师的oracle视频教程,觉得很深入浅出,收获了很多.同时自己也做了不少笔记,现在想将纸质笔记以自己的话总结出来.俗话说得好:教学总是相 ...
- 韩顺平Oracle笔记
韩顺平Oracle笔记 分类: DataBase2011-09-07 10:24 3009人阅读 评论(0) 收藏 举报 oracle数据库sqljdbcsystemstring 目录(?)[-] ...
- Linux学习笔记-韩顺平
这是我学习哔哩哔哩UP主韩顺平的2021韩顺平图解Linux课程的学习笔记. 课程地址:2021韩顺平图解Linux课程 Linux基础篇-Linux目录结构 基本介绍 linux 的文件系统是采用级 ...
- 韩顺平HTML5教程www.gis520.com
传智播客.韩顺平.HTML5游戏公开课-坦克大战01.HTML5介绍.HTML5发展.HTML5学习网站推荐.wmv http://dl.vmall.com/c0b7xrkftf 传智播客.韩顺平.H ...
- 韩顺平Java(持续更新中)
原创上课笔记,转载请注明出处 第一章 面向对象编程(中级部分) PDF为主 1.1 IDEA 删除当前行,ctrl+y 复制当前行,ctrl+d 补全代码,alt+/ 添加或者取消注释,ctrl+/ ...
- IT讲师韩顺平:我为什么辞去百万年薪,自己创业?
先自我介绍一下,我叫韩顺平,是一名IT讲师.国内很多自学PHP和Java的朋友都看过我的视频课程,算是有些知名度. 15年8月从传智辞职后,很多朋友非常关心我的去向,网上也流传各种说法,有的说我和某某 ...
随机推荐
- python基础之day2
python基本数据类型 1.数字 int(整型) 在32位机器上,整数的位数为32位,取值范围为-2**31-2**31-1,即-2147483648-2147483647 在64位系统 ...
- webstorm快捷键
webstorm应该是目前最强的js编辑器了,结合sublime text可以很效率的开发项目.今天整理了一些webstorm比较实用的快捷键: Ctrl+/ 或 Ctrl+Shift+/ 注释(// ...
- initWithCoder与initWithFrame的区别
1. initWithFrame方法是什么? initWithFrame方法用来初始化并返回一个新的视图对象,根据指定的CGRect(尺寸). 当然,其他UI对象,也有initWithFrame方 ...
- STL之关联容器
关联容器包含map.set.multimap.multiset. 关联容器的特点是明显的,相对于顺序容器,有如下特点: 1.其内部是采用非线性的二叉树结构,具体的说是红黑树的结构原理实现的. 2.se ...
- 下载apk文件浏览器会直接打开并显示乱码的问题
今天同事反映他的apk文件在自己的老项目中下载有问题:下载apk文件浏览器会直接打开并显示乱码,在别的项目中就没有问题. 后分析response的content-type发现,老项目的类型是text/ ...
- ubuntu中source insight打不开,报错pagefault的解决方法
在ubuntu中装了source insight用来看代码. 但用了一段时间后,有一天突然就发现打不开了,打开马上会弹出wine的错误,详细信息里面是什么PageFault 0x0000008之类的, ...
- mysql解决其他服务器不可连接问题
在安装mysql的机器上运行: 1.d:\mysql\bin\>mysql -h localhost -u root //这样应该可以进入MySQL服务器 2.mysql> ...
- PowerDesigner PDM生成sql脚本时:表的名称和表里面的字段名称都有引号解决。。。
PowerDesigner PDM生成sql脚本时:表的名称和表里面的字段名称都有引号解决... 1.当你的PowerDesigner 是新安装时,你得设置可能就会出现一些问题,在这里比如:PDM生成 ...
- Ruby 里的 %Q, %q, %W, %w, %x, %r, %s, %i (译)转
原文地址 转自 %Q 用于替代双引号的字符串. 当你需要在字符串里放入很多引号时候, 可以直接用下面方法而不需要在引号前逐个添加反斜杠 (\") >> %Q(Joe said: ...
- PHP的函数应用
1.全部变量 全局变量也称为外部变量,是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的结尾.和其他编程语言不同,全局变量不是自动设置为可用的.在PHP中,由于函数可以视为单独的程序片 ...