• 专注于网站建设,网络推广,关键词优化,SEO优化,专业的网站建设开发团队!

叶景网络之Linux系统学习笔记

2015-06-13 17:04:18   来源:叶景网络
    linux的特点
    1、免费的、开源的
    2、支持多线程、多用户
    3、安全性好
    4、对内存的管理和文件管理的优越
    注:linux最小所需内存可以用4M--》嵌入式开发
    linux常用命令:
    startX:开启图形界面
    shutdown -h now 立刻关机
    shutdown -r now 现在重新启动计算机
    reboot     现在重新启动计算机
    login out 注销计算机
    尽量少用root用户,因为他是最高管理员
    可以用普通用户登陆再用su-来切换
    //=========================================
    vi编辑的开发者(世界第一黑客)
    vi下的编程
    //==========linux下开发java程序============================
    vi hello.java
    public class hello{
    public static void main(string[] args){
    System.out.printIn("Hello world!");
    }
    }
    //----------输出html-----------------------------
    echo "zhoushiyongaaaaaaaaaaaaa" > /home/zhou/index.html
    service httpd start
    elinks 192.168.0.1
    输入i进入插入模式
    输入ESC键进入命令模式
    w保存
    wq保存并退出
    q!退出不保存
    set nu 在每行行处加入行号
    ser nonu 取消行号
    /字符串  在很长的文件代码中查找如:/zhou 可以用n来查找下一个
    //=======================================
    ls 可以看到当前目录的所有文件
    ls -l  以看到当前目录的所有文件详细信息
    ls -a  显示当期目录隐藏文件
    ls -la  以看到当前目录的所有文件(包含隐藏文件)详细信息
    javac hello.java 编译java文件
    java hello 运行java文件
    //==========linux下开发c程序============================
    vi hello.c
    gcc hello.cpp 编译cpp文件
    cd 进行切换目录(cd /home/zhou)
    dir 显示当前文件
    pwd  显示当前你所在的位置
    mkdir //建立目录
    rmdir //删除空目录
    rm  -rf //删除有文件的目录
    touch 建立空目录
    cp 复制 如:cp a.out /home/zhou/
    复制一个文件夹: cp -rf a.out /home/zhou/
    tab 键为补全健
    rm 删除文件 如:rm a.out
    more 显示文件内容带分页(如:more 文件名 ,按空格键可以看下一页,按ctrl+pgUP 可以向看上一页)
    less 显示文件
    如:ls -l | more
    linux unix 系统中的|表示管道(把上一个命令结果交给|的后面的命令来处理)
    grep 在文件中查询内容 如:grep "hello" hello.java
    grep -a.out /home/zhou/ "hello" hello.java > kkk.bak(保存到文件kkk.bak中,n显示第几行)
    find的使用
    find 查找文件 如:find /home/zhou hello.java
    find /home -amin -10 十分钟内存取的文件或目录
    find /home -atime -10 十小时内存取的文件或目录
    fine /home -cmin -10 十分种内更改的文件或目录
    find /home -ctime +10 十小时前更改过的文件或目录
    按文件大小搜索
    find /home -size +10k 查找/home目录下大小为10k的文件
    cat 可以查看文件内容,但不可以改,在一些关键的文件中,我们不用vi而用cat
    ln:建立符号连接(相当于windows下地快捷方式)
    ln -s 源  目标  如:ln -s /root/abc3.java  toabc3
    重定向命令:
    ls -l > a.txt 列表的内容写入文件a.txt中(覆盖写入)
    ls -l >> aa.txt 列表的内容追加到文件aa.txt (两个尖括号,则为追加)
    命令历史和互动:用上下键可以找到已用过的命令。
    命令完成功能:用tab 键能自动完成相关命令,再次用tab键可以得到清单
    每天定时备份数据库实现的shell脚本:
    vi mysqldb.sh
    /home/mysql/bin/mysqldump -u root -p my_db[数据库名称] > /home/my_db.bak
    修改mysqldb.sh 为有可执行的权限,用:chmod 744 mysqldb.sh
    crontab -e 0 2 * * * /root/mysqldb.sh(定时每天凌晨2点进行备份)
    //==========================================
    linux 下的目录
    //==========================================
    / 根目录
    /bin 存放用户可执行的程序
    /boot 操作系统启动时所用的的文件目录
    /dev 设备接口文件目录,如had表示硬盘
    /etc 有关系统设置与管理的文件
    /home 一般用户的主目录或FTP站点目录
    /mnt 装置的文件系统加载点,例如光驱、软盘等。
    /proc 目前系统核心与程序执行的信息。
    /root 管理员的主目录
    /sbin 此目录存放系统启动进所需执行的程序
    /tmp 用来存放暂存盘的目录
    /usr 存放用户的使用的系统命令和应用程序等信息
    /var 具变动性质的相关程序目录,log
    //==============================================
    linux 用户管理 
    //==============================================
    ------------添加用户-------------------
    useradd xiaoming //添加一个用户xiaoming
    passwd xiaoming //选择给xiaoming设置密码
    给用户加上密码:  passwd zhou(给用户zhou加上密码)
    然后设置new passwrod
    ------------删除用户-------------------
    userdel xiaoming //删除xiaoming的用户(不删除xiaoming的文件夹)
    userdel -r xiaoming //删除xiaoming的用户(删除xiaoming的文件夹)
    //=============================================================
    init[0123456]指定运行级别
    //========================================================
    0:关机
    1:单用户
    2:多用户状态没有网络服务
    3:多用户状态有网络服务
    4:系统未使用保留给用户
    5:图形界面
    6:系统重启
    我们一般选择的是3或者是5的级别
    设置方法(必须root用户):修改文件/etc/inittab的id:5:initdefault这一行中的数字修改成你想要的级别就可以了!
    解决修改错误配置的方法:在启动grub引导的时候,按下e
    然后选中第二行,再输入一个e
    在最后再输入1【单用户级别】
    这种方法也可以修改root用户密码
    //-------------------------------------------
    用户管理              文件管理
    //===========================================
    groupadd zhoushiyong     添加组zhoushiyong
    cat /etc/group 查看当前有哪些用户组(也可以用vi /etc/group ,但一般不用)
    useradd -g zhoushiyong shi (新建一下个shi的用户并把其加入zhoushiyong组中)
    cat /etc/passwd 查看linux 中所有的用户信息
    如:cat /etc/passwd 可看到 zhou:   x:     500:   500:     zhou:    /home/zhou:   /bin/bash
    用户名|密码|    用户ID |  组ID|  用户名|  目录|          shell
    文件:如
    -rw-r--r--  1 shi zhoushiyong 18 9 15:44 test.c
    注: 权限分为三种--r可读,用4表示
    --w可写,用2表示
    --x可执行,用1 表示
    第一个-表示:文件类型
    第二个rw表示:文件所有者的权限读写的权限
    第二个r表示:文件所在组对此文件的权限
    第二个r表示:其它组的用户对该文件的权限
    shi 表示用户
    zhoushiyong 表示组
    18 表示文件的大小
    chmod 777 test.java改变文件的访问权限(第一个7自己,第二个7为同组,第三个7其它组的权限)
    改变一个用户所在的组(root用户)
    usermod -g zhoushiyong shi
    who am i 查看自己是谁(当前用户)
    //================================================
    linux网络管理
    //================================================
    ifconfig  查看IP地址
    netconfig 配置ip地址
    vi /etc/sysconfig/network-scripts/ifcfg -eth0
    //---------------------------------------------------
    linux 之java
    //---------------------------------------------------
    jdk 的安装步骤:
    1.做一个iso镜像文件(包含jdk文件)
    2.把iso文件挂载到linux操作系统上(挂载/mnt)
    命令:mount /mnt/cdrom (查看ls,可以看到iso中的文件jdk)光驱的默认挂载目录/mnt/cdrom
    卸载:先返回根目录 cd / ,再用umount /mnt/cdrom
    3.找到jdk相关的文件来安装,把jdk复制到其它目录(cp jdk文件名 /home)
    4. cd /home  //切换目录到home
    5.安装 ./jdk(文件名).bin   [回车]
    /etc/profile[环境配置文件]
    6.配置环境就可以了!
    //--------------------------------
    eclipse安装
    1.把文件拷贝到home目录(cp 文件 /home)
    2.安装 tar -zxvf ???.tar.gz(dir 可以看到有eclipse相关的文件)
    3.启动eclipse [前提是进入图形界面:startx]
    4.在图形界面的终端运行 ./eclipse 就可以开启eclipse(./eclipse & 表示以后台方式运行)
    //--------------------------------
    安装tomcat
    1.把文件拷贝到home目录(cp 文件 /home)
    2.安装 tar -zxvf ???.tar.gz(dir 可以看到有tomcat 相关的文件)
    3.安装完毕
    //========================================================================
    安装mysql 数据库
    //====================================================================
    安装realplay 
    1.把文件拷贝到home目录(cp 文件 /home)
    2.cd /home  //切换目录到home
    3.安装 ./(文件名).bin   [回车]
    4.[回车][回车][回车]就可以安装好了!
    5.挂载一个视频文件测试:做成一个iso文件(可以挂载到linux即可用realplay打开)
    //==========================================================
    linux分区
    //==========================================================
    IDE    硬盘驱动器标识符为:hdx~("x"为盘号,a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘;"~"表示分区,前四个分区用数字1到4表示,它们是主分区或扩展分区,从5开始就是逻辑分区)
    SCSI  硬盘是用“sd”来表示分区所在设备的类型的,其余则和IDE硬盘的表示方法一样。
    挂载命令 monut [-参数][-设备名称][挂载点] 如:mount /mnt/cdrom
    卸载命令 umount [设备名称]
    查看磁盘使用情况 df[-参数] 如:df -l
    查看某个目录是在哪个分区 df[目录全路径] df -h可以查看到可用与已用的空间的大小
    查看linux系统分区具体情况 fdisk -l
    //==========================================================
    linux 系统的安装方法---三种
    //===========================================================
    1.独立安装
    2.虚拟机的安装
    a.安装虚拟机
    b.安装linux系统
    3.双操作系统的安装
    linux 安装系统时候,分区是关键
    /boot 分区一般 100M
    swap交换分区一般是物理内存的2倍,但一般不要大于256M
    / 根分区尽可能大
    //=================================================
    shell 编程(常见的有三种)
    //=================================================
    Shell名称    开发者     命令名称
    Bourne        S.R.Bourne  /bin/bash
    C             Bill Joy    /bin/csh
    Kom           David       /bin/ksh
    查看linux下的shell命令:ls -l /bin/*sh
    查看目前使用的是哪种shell 命令:env | more [该命令可以显示当前操作系统的环境变量]
    修改shell 命令:chsh -s/bin/csh(注:修改后注销再登录才生效)
    history | more 可以显示使用过的命令(history 5可以显示最近使用的5个命令)
    !5 表示要执行行号为5的历史命令
    !ls 表示执行最后一次以‘ls’开头的命令
    //-------------------------------------------------
    linux 之 tcp Ip协议
    //-------------------------------------------------
    查看百度的ip:ping www.baidu.com  可以看到ip为:220.181.111.148
    追踪路由命令(可以看到经历多少个路由):tracert 220.181.111.148
    测试两台电脑是否畅通可用命令:ping (ip地址)
    在windows 查看ip情况的命令是:ipconfig
    linux 、unix 查看ip情况的命令是:ifconfig
    网络的设置:以root的身份登录,运行setup 可以看到相关的选项来进行设置(也可以用netconfig命令来进行设置)
    设置了以后还没有生效,运行:/etc/rc.d/init.d/nerwork restart
    第二种方法:(ifconfig eth0  192.168.3.22)这种方法只是临时生效,重新启动后就恢复原来的。
    第三种方法:修改/etc/sysconfig/netword-scripts/ifcfg-eth0(vi /etc/sysconfig/netword-scripts/ifcfg-eth0)
    //=================================================
    rpm包的使用
    //=================================================
    在linux 中,所有的设备都是文件
    如何查询linux 中,安装了哪些rpm软件:
    rpm -qa(查询全部)
    rpm -q mysql(查询是否安装了mysql)
    //--------------RPM包的安装--------------------------------------------
    rpm -i RPM包的全路径名称  :安装包到当前系统(参数:i=install)
    rpm -ivh RPM包的全路径名称,安装包到当前系统有提示信息(参数:v=verbose 提示,h=hash 进度条)
    //--------------RPM包的删除--------------------------------------------
    rpm -e RPM包的全路径名称(如:rpm -e jdk)
    当有依赖的软件包时,有错误提示信息,则使用命令 --nodeps 
    如:rpm -e --nodeps samba(删除依赖的相关包)
    //--------------RPM包的升级--------------------------------
    rpm -U RPM包的全路径名称(如:cvs-11.11.2-10.i386.rpm)
    //=================================================
    实现linux 和 windows 跨平台---------samba服务器
    //=================================================
    1.检查是否安装了:samba
    rpm -q smaba (rpm -qa | grep smaba) 此命令会检查出已经安装了samba软件包,若是已经安装了,下面会出现samba软件包的具体名称。
    删除samba 命令:rpm -e samba
    2.monut /mnt/cdrom
    cd/mnt/cdrom/samba*/home   (把samba开头的文件复制到/home目录下)
    找到samba-common-2.2.7a-7.9.0.i1386.rpm客户和服务器均需要的文件。
    rpm -ivh samba-common-2.2.7a-7.9.0.i1386.rpm
    rpm -ivh samba-2.2.7a-7.9.0.i1386.rpm 服务器端软件
    rpm -ivh samba-client-2.2.7a-7.9.0.i1386.rpm  客户端软件
    cd ~
    umonut /mnt/cdrom
    //--------------samba --启动----------------------
    1.
    useradd yong (添加一个用户)默认为yong的组(自动添加的)
    passwd yong  (设置一个登录密码)
    2.
    给yong设置一个samba密码
    将/etc/passwd中的用户都添加到smbpasswd中
    cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
    设置用户yong的samba的密码 : smbpasswd yong
    启动samba 服务
    service smb start 启动
    service smb stop 停止
    service smb restart  重启
    启动了以后可以在windows下运行(win+r):\\IP地址(如:\\192.168.222.88)
    则可以在跳出来的框中输入用户密码就可以看到linux下yong用户的文件了!
    =========思考????设置某个用户只能读的权限====================
    优势科技招聘linux程序员的测试题,并评分(看是否合格)。
    //------------------------end samba-------------------------------------------------------
    crontab 可用于数据的定时备份、重启等等。
    netstart -an 可以查看用有什么端口在监听
    //==========================================================
    ssh(secure shell)的使用---在linux 下的一种sshd的服务
    //==========================================================
    商家开发了一个ssh客户端软件,用于linux远程登录(实现多用户--多用户系统linux)
    1.设置任务
    crontab -e 
    2.每隔一段时间去执行一次,如保存当前时间到/home/mydate,则:date > /home/mydate
    3.每天凌晨2:00去执行:先运行crontabl -e再写入 0 2 * * * date >> /home/mydate(其中0 2 * * *格式为:分 时 日 月 年 星期)
    怎么去实现多个任务?
    第一种方法:
    一种比较原始的方法:在同一个下建多个任务,如下:
    crontabl -e再写入:
    0 2 * * * date >> /home/mydate
    0 2 * * * cp >> /home/mydate /root
    第二种方法:
    可以把所有的任务,写入到一个可执行的文件(shell编程)
    下面的shell编程的例子(shell文件后缀默认为.sh):
    vi mytask.sh
    date >> /home/mydate
    cp /home/mydate /root
    保存并退出!
    修改mytask.sh文件的读写权限:chmod 744 mytask.sh
    crontab -e 写入* 2 * * * /home/mytask.sh(这里是全路径)
    终止任务调度 crontab -r 删除所有的任务
    crontab -l 列出当前所有的调度任务
    //----------------------------------------------------------------
    进程,进程就是正在执行的程序
    线程,是轻量级的进程,进程有独立的地址空间,线程没有!
    线程不能独立存在,它是由进程创建的。(linux下fork Thread)
    相对来讲,线程耗费的CPU,和内存小于进程
    每一个进程都可以有两种方式存在,分为前台和后台。
    查看目前系统中,有哪些正在执行的,以及它们执行的状况,可以不加任何参数
    查看进程命令:ps -aux [看的全面,信息全面]
    终止进程:kill [进程号] 如:kill 1770
    强行终止进程:kill -9 1770 
    查看动态的进程命令:top
    1.top -d 10(10秒进程一次更新)  可以输入u 再输入作用户名可以查看对应用户的相关进程
    退出时按ctrl+c
    注意top命令后看到的参数:
    当看到当前负载情况load average的参数(三个加起来大于0.6时),系统负载很重
    swap 分区:相当于windows 虚拟内存
    //--------------------------------------------------------------
    查看系统时间:date
    cal 4 2012  查看2012年4月的日历
    cal 2012 查看2012年日历
    把日历写到文件,cal 2012 > test
    //------------------监控网络-------------------------------------
    netstat -an | more 可以监控当前的网络情况(an 按端口号来排序)
    netstat -anp | more 可以查看当前的进程号
    kill -9 1840([进程号] 可以用来封杀进程
    traceroute 显示数据包经过历程命令(可用于追踪路由)
    route 可以直接查看本机路由的情况。
    //---------------------------------------------------------------------
    mysql 数据库在linux 下的安装与使用
    //---------------------------------------------------------------------
    mysql 数据库特点:
    1.免费  2.跨平台  3.轻   4.支持多并发
    安装
    a.把安装文拷贝到/home 下:cp [文件全路径]文件名  /home (两个同时拷贝时,用mysql -*)
    删除文件:rm  文件名(会提示是否删除,不要提示时可以用rm -f)         
    b.解压文件:tar -zxvf 文件名.tar.gz  
    c.修改文件名:mv 文件名   新文件名         
    d. groupadd mysql (创建一个mysql组,将来给mysql组的用户管理)
    e.useradd -g mysql mysql 创建一个mysql用户添加到mysql组
    f.scripts/mysql_install_db --user=mysql(初始化数据库,先进入mysql的文件目录才能执行)
    g.
    chown -R root . (修改 文件的 所有者)
    chown -R mysql data (修改data 文件的所有者)
    chgrp -R mysql . (改变用户组)
    启动mysql
    /bin/mysqld_safe --user=mysql & 检查一下OK,正常启动
    如何进入并配置mysql
    cd /bin  转到/bin目录下  
    ./mysql -u root -p  输入密码可以进入mysql 数据库了!
    当你想在任何目录下,打mysql都可以打开mysql ,则我们提修改环境变量查看命令  env | more
    修改命令    vi .bash_profile  在PATH=$PATH:$HOME/bin:/home/mysql/bin/ 保存并退出,注销重登录
    如果希望在任何一个目录下都可以进入mysql ,则需要在/root/.bash_profile中添加路径。(用户变量,不同用户而具有自己独立的)
    mysql 数据库的使用
    1)进入mysql 
    2)创建一个数据库my_db: create database my_db
    3)建表  create table user (userid varchar(10,)username varchar(20)) 
    use my_db 选择表my_db 
    show tables  显示表中的字段
    insert into username values ('1','zhoushiyong');
    desc username  查看字段的数据
    quit 退出mysql
    mysql 数据库的备份和还原(恢复)
    数据库的备份:./mysqldump -u root -p  my_db > /home/mydata.bak
    数据库的还原(恢复):mysql -u root -p my_db < /home/mydata.bak 
    注:在数据库恢复时,要先建立一个空的数据库。create database my_db;
叶景网络,网络推广,网站建设
特别推荐RECOMMEND
搜索引擎网站关键词seo优化的意义
视频推广怎么做
网站seo优化怎么做关键词排上首页?
SEO介绍什么叫搜索引擎网站关键词优化
seo优化怎样做提升关键词排名
热点图文Hot
没有加www域名打不开的解决方案 没有加www域名打不
叶景网络之CodeIgniter框架的学习 叶景网络之CodeIgni
叶景网络之Ajax学习笔记 叶景网络之Ajax学习
叶景网络之DIV+CSS学习笔记 叶景网络之DIV+CSS
关注排行RANKING
1

没有加www域名打不开的解决方案

没有加www域名打不开的解决方案 网站上线了,在做SEO时发现没带www的时候访问不了,是以前的域名绑定时没做好,这对se...

2

叶景网络之CodeIgniter框架的学习

叶景网络之CodeIgniter框架的学习 叶景网络(www cngxit com),致力于互联网品牌建设与网络营销,专业领域包括网站建...

3

叶景网络之Ajax学习笔记

叶景网络之Ajax学习笔记 叶景网络(www cngxit com),致力于互联网品牌建设与网络营销,专业领域包括网站建...

4

叶景网络之DIV+CSS学习笔记

叶景网络之DIV+CSS学习笔记 叶景网络(www cngxit com),致力于互联网品牌建设与网络营销,专业领域包括网站建设...

5

叶景网络之SQL注入与安全学习笔记

叶景网络之SQL注入与安全学习笔记 叶景网络(www cngxit com),致力于互联网品牌建设与网络营销,专业领域包括网站建...

6

叶景网络之Mysql常用命令学习笔记

叶景网络之Mysql常用命令学习笔记 叶景网络(www cngxit com),致力于互联网品牌建设与网络营销,专业领域包括网站建...

7

叶景网络之Mysql优化的学习笔记

叶景网络之Mysql优化的学习笔记 通俗地理解三个范式,对于数据库设计大有好处。 第一范式:1NF是对属性的原子性...

8

叶景网络之Gvim编辑器的学习笔记

叶景网络之Gvim编辑器的学习笔记 叶景网络(www cngxit com),致力于互联网品牌建设与网络营销,专业领域包括网...

9

叶景网络之memcached 学习笔记

叶景网络之memcached 学习笔记 memcached 是一个高效的分布式的内存对象系统,他可以支持把各种php的数据放入...