博客列表 >linux学习笔记

linux学习笔记

莫名的博客
莫名的博客原创
2018年02月22日 15:48:301021浏览

1.特点
    1.免费且开源
    2.支持多用户/多线程
    3.安全性好
    4.对内存和文件管理高效
    5.小巧(linux最小配置只需要4m就能运行),意味着能做嵌入式开发
    6.linux所有的设备都是文件

2.目录结构
    / root home bin sbin mnt etc var boot usr
    / 根目录
    root: 存放root用户的相关文件
    dev:系统中所有设备的文件
    home: 存放普通用户的相关文件
    bin:存放常用命令
    sbin: 存放具有一定权限才可以使用的命令
    mnt:挂载光驱和软驱的目录
    boot:存放引导相关的文件(系统相关,一旦删除将无法启动系统)
    etc:存放配置相关文件
    var:存放一些经常变化的文件如:用户文件
    usr:程序的默认安装文件(类似Windows的program)

3.磁盘分区:
linux安装的时候,分区是关键
boot分区    100m
swap 交换分区 一般是物理内存的两倍,一般不要大于256m
/    根分区    尽可能大
每个磁盘有两个分区,主分区和扩展分区
主分区放的是操作系统相关文件
扩展分区需要二次分区(逻辑分区)才能使用
扩展分区 + 逻辑分区  <= 4
查看分区命令:
fdisk -l
df ??? 查看目录属于哪个分区

4.vi编辑器的使用
    1.vi hello.java
    2.进入i[插入模式]
    3.esc建进去命令模式
    4.[wq]:保存且退出,[q!]:退出不保存

5.用户管理(具有root权限的用户)
    添加用户
    useradd xiaoming(用户名)
    passwd     xiaoming(用户名)
    删除用户
    userdel 用户名
    userdel -r 用户名(删除用户以及用户文件夹)

    用户组
    添加组
    groupadd police
    查看所有组信息
    vi /etc/group
    cat /etc/group
    添加用户时,指定用户所在组
    useradd -g police zhangsan

    查看所有用户信息
    cat /etc/passwd

    如何修改权限的访问权限?
    chmod 改变文件或者目录的权限
    chmod 777 文件名
    r 4 可读
    w 2 可写
    x 1 可执行

    修改某个用户的用户组
usermod -g 组名 用户名


6.命令运行级别
    0:关机
    1:单用户
    2:多用户状态没有网络服务
    3:多用户状态有网络服务(常用设置)
    4:系统未使用保留给用户
    5:图形界面
    6:系统重启

常用运行级别是3和5,要修改默认运行级别可修改文件/etc/inittab的id;5;initdefault;这一行

如果修改错级别后(想改了6,则会一直处于重启状态
解决方法:
在进入grub引导界面的时候,输入e
输入e,弹出三行,选择第二行修改(root=LABEL/1),
在最后输入1[当用户级别](因为单用户不会去读我们配置的inittab文件)
输入b重启

7.文件系统
    touch建立空文件
    mkdir 建立目录
    cp 复制文件
    cp -r 复制文件夹
    cp -rf 直接覆盖,不询问
    mv 移动文件和改文件名
    rm 删除文件
    rm -rf删除所有内容(包括文件和内容)
    rmdir 删除空目录
    ls -a 显示隐藏文件
    ls    -l 显示长列表格式

    建立符号链接:
    ln -s  源 目标
    ln -s /etc/initab totab
    (totab指向实际文件/etc/initab)
    作用:类库共享

    find的使用:
    作用:在特定的目录下搜索并显示指定名称的文件和目录
    场景:查看一段时间内系统被查看了什么内容。
    搜索一定时间内被存取、变更的文件或者目录:
    a.find /home -amin -10  10分装内存取文件
    b find /home -atime -10 十小时
    c.find /home -cmin    -10 十分钟更改的文件或目录
    d.find /home -ctime +10 十小时
    e.find /home -size +10k 大于10k的文件

    more 分页打开显示文本的内容
    less 显示内容带分页
    grep 文件名    ---------- 查找某个文件出现的关键词
    在linux和unix中|就是管道命令?
    把上一个命令的结果交给|后面的命令处理

    man 相当于dos下的help命令,查找某个命令的具体用法
    重定向命令:
    ls /etc > test.txt 把某个东西覆盖的写到test.txt文件中
    ls /etc > test.txt 追加写到某个文件



8.软件安装
    jdk的安装
    小知识:
    要把window上的文件放到linux,先把文件制作成iso格式的镜像文件,然后挂载,也可以通过配饰symba服务器
    1.把mypackage.iso挂载到linux上
    在vm上做好配置
    mount /mnt/cdrod
    2.把文件拷贝到home文件下
    cp 文件  /home
    3.cd /home
    4.安装
    ./???.bin
    5./etc/profile    [环境配置文件]

    安装tar.gz结尾的软件
    解压缩:tar -zxvf ??? tar.gz
    如果安装的是图形化界面的软件,先要进入linux图形化操作
    进入图形化界面命令:startx

9.shell
定义:命令翻译机,当linux管理员的命令输入窗口时,系统并不知道我们输入的是什么,这时shell就起了关键作用,它充当了用户与linux内核之间的翻译,把用户输入的指令翻译成Linux内核能识别的指令

种类:
Bource /bin/bash(默认)
C /bin/csh
Kom /bin/ksh

系统命令:
env [该命令可以查看操作系统的环境变量]
查看某个字母下的所有命令:
双击tab键
查看最近执行的命令:(万能命令)
history [num]    显示最近执行的num个命令
!5:执行历史编号为5的命令

10.tcp/ip
1969年美国国防部用于军事目的阿帕网诞生,期间民间各机构也产生自己内部的网络,于是网络间的通讯将成为进一步的需求。
1972年,开会制定通用的通讯协议
1974年,tcp/ip协议诞生并向外界开源
到如今形成庞大的英特网(internet)
命令:
    1.查看ip:ifconfig
    2.测试两个ip是否相通:ping
    3.追踪路由:tracert
网络环境的配置:
第一种方法:
1.用root用户登入系统
2.运行setup命令进入到text mode setup utiliy 对网络进行配置
3.重启网络:/etc/rc.d/init.d/network restart

第二种方法:(重启失效)
1.ifconfig eth0 196.168.1.2
2.ifconfig th9 network 子网

第三种方法:
1.修改.etc.sysconfig/network-scripts/if/cfg-eth0的相关属性(第一二种方法其实根本上也是改变了这个文件)
2.重启网络:/etc/rc.d/init.d/network restart

windows怎么与linux通讯?
1.设置虚拟网卡vmnet8
2.把网络设置成与vmnet8同网段

11.RPM
用于互联网中下载包及安装工具,生成.rpm文件
常用命令:
rpm -qa 查询所有安装的rpm软件

安装rpm包
rpm -i rpm全路径
rpm -ivh rpm包全路径(带进度)
删除
rpm -e rpm全路径
升级
rpm -u rpm全路径

samba安装步骤:
a.查看是否已经安装
rpm -q samba
b.有则卸载
rpm -e samba
去过存在相关依赖,则无法删除
强制删除:rpm --nodeps samba
c.把自己的安装文件挂载到linux上
mount /mnt/cdrom
d.把samba开头的文件,拷贝到/home下
cp /mnt/cdrom/sam* /home
e.开始安装
rpm -ivh ???
f.创建一个用户zhangming
useradd zhangming
g.设置密码
cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
smbpasswd zhangming
h.启动samba服务
services samba start
services samba restart
services samba stop

12.任务调度crontab
作用:可以定时做一些操作
概念:系统在某个时间执行某个命令
典型例子:数据库备份
分类:系统工作,个别用户工作
使用步骤:
a.设置任务:crontab -e
b.每隔一段时间去执行 date > /home/mydata1
c.每天凌晨1:00去执行 date >> /home/mydata1
                    0 1 * * * /分钟/小时/日/月/星期
d.每分钟执行
    * * * * * date >> /home/mydata1
如何调用多个任务?
1.在crontab中直接写
2.把所有的任务,写入到一个可执行文件(shell编程),文件以.sh结尾
命令:crontab -e -------------- * * * * * /home/???.sh
(推荐使用)

终止任务调度:
删除所有任务:crontab -r
列出当前有哪些任务调度:crontab -l

13.进程
概念:正在执行的程序
线程:a.轻量级的进程。b.没有进程一样,有独立的地址空间。c.不能独立存在,由进程创建的。d.相对来说耗费的资源小
存在方式:
a.前台进程:用户屏幕上可以操作的
b.后台进程:用户无法在界面上看到的,但实际在后台操作的。例如:系统开启的各种服务

命令
查看:
ps -a
ps -u
ps -aux(显示更全)
终止进程:
kill pid
强制终止:
kill -9 pid
删除进程及以下所有子进程:
killall pid
动态监控进程:
命令:top(此命令可以显示系统的基本信息,极为重要)
top -d 10 定时更新

top命令进入后出现:
up 3 min 系统启动了对久
load average: 0.02 0.02 0.09 当前系统负载数,三个的平均值>0.7 就该注意了
1 user 当前登入系统的用户数
37 progess 进程数
zombie: 0 僵尸进程(无用占用空间的程序)
cpu status:idle 空闲cpu
swap:虚拟内存(速度介于磁盘和内存之间)
按u h回车 输入用户名 查看指定用户的进程
k pid 结束指定进程

时间命令:
date: 显示系统时间
cal 2017    查看月历

监控网络状态
显示当前网络信息:netstat -an
显示当前的网络信息带进程号: netstat -anp
使用场景:非法用户登录时,找到进程号并删除
显示包经历的历程:traceroute
使用场景:当一个公司上不了网时
显示路由表:route

14.mysql安装
a.groupadd mysql
b.useradd -g mysql zm
c.scripts/mysql_install_db  --user=mysql(前提:先进入mysql/bin目录,作用:初始化数据库)
chown root .    (把当前文件及文件夹下的所有文件的所有者改为root用户)
chown -R mysql data    (修改文件的所有者)
chgrp -R mysql . (修改用户组)
启动mysql
bin/mysqld_safe --user=mysql & [&表示以后台的方式进入]

如何在任何目录下都能进入mysql
1./root/.bash_profile文件存储着用户变量
缺点:只能某个用户使用
2.修改系统变量

mysql使用注意:mysql驱动要放在jdk下,主目录/jre/lib/ext/,这样才能连接上数据库

mysql的备份和恢复(重点)
备份:
mysqldump -u root -p密码 数据库名 > data.bak
恢复:
mysql -u root -p密码 数据库名 < data.bak


15.ssh(secure shell)(重点)
概念:ssh是一款集远程操作linux和进行文件上传,下载的软件
利用ssh登入到Linux前先确保,linux上sshd服务启动

配置.bashrc文件,自定义配置

linux启动过程:
a.BIOS自检(判断硬件从哪里启动)
b.启动GRUB/LILO    (引导界面)
c.运行linux内核并检测硬件
d.运行系统的第一个进程 init
e.init进程读取引导配置文件/etc/initab中信息进行初始化
f./etc/rc.d/rc. sysinit系统初始化脚本
g./etc/rc.d/rcX.d/[KS]* - 根据运行级别X配置服务
    终止以K开头的服务
    启动以S开头的服务
h./etc/rc.d/rc.local执行本地特殊配置
i.其它特殊服务

16.压缩与加压
命令:
zip aa.zip 文件名
zip aa.zip 文件名1 文件名2
zip -r aa.zip 文件夹路径

解压缩:
unzip aa.zip
gunzip file.gz
gzip -d file.gz


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议