zoukankan      html  css  js  c++  java
  • Linux新手扫盲(转载)

    一. Linux特点

    1.免费/开源;

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

    3.安全性好;

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

    Linux最小只需4M ——> 嵌入式开发

    二. 文件目录

    Linux系统所有软硬件都是以文件的形式存在,可以自由设置、挂载、卸载。了解Linux文件目录,是学习Linux的关键。

    主要目录

    / :Linux文件系统的上层根目录,主目录。

    /root :超级管理员的主目录,存放root用户相关文件。

    /home :一般用户目录或FTP站点目录,存放普通用户文件。

    /etc :存放系统配置相关文件。

    /boot :存放Linux系统启动所需文件,相关引导文件。

    /dev :系统设备文件,如:硬盘、打印机。

    /mnt :装置文件系统的加(挂)载点。如:光驱、软盘等的挂载目录。

    /proc :当前系统核心与程序执行的信息。(process,系统当前运行的进程信息。)

    /usr :存放系统应用程序和相关文件,类似于win的Program Files。

    /var :存放系统经常变动的文件,如日志文件、用户邮件。

    /tmp :系统零时文件目录(如安装程序过程中产生的零时文件),每个用户都可以对他进行读写操作,一段时间不使用系统会自动删除该目录下的文件。

    /bin :存放可执行命令的目录,系统任何用户均可执行该目录下的命令。

    /sbin :存放系统启动时所需执行的命令的目录,该目录里的命令需要高级权限的用户才可使用。

    swap :相当于windows的虚拟内存。

    当前目录:pwd

    相对路径:指从当前目录去访问某个文件(夹)

    绝对路径:指从根目录(/)去访问某个文件(夹)

    绿色  ---->代表可执行文件

    红色  ---->代表压缩文件

    深蓝色---->代表目录

    浅蓝色---->代表链接文件

    灰色  ---->代表其它的一些文件

    三. Linux系统分区

    Linux系统分区和windows一样,怎么分,分多大因人而异,基础分区如下:

    /      根目录分区(一般大小为分完其他分区后硬盘剩余的总量)

    /boot  系统启动、引导分区,大小随意( 最好200+ M)。

    swap   相当于win的虚拟内存,大小为内存两倍,最好1024M以上。

    分好区后,需要安装软、硬件可直接通过/mnt 挂载上去,不需要的时候再卸载。

    (文件挂载先将其转换成ISO格式)

    001

    四. Linux网络环境的配置

    修改IP的三种方法

    第一种(在gui视图模式下配置):

    1. 用root身份登录,运行setup 命令进入到text mode setup utility 对网络进行配置,可对IP,子网掩码,网关,DNS设置。
    2. 此操作网卡配置并未生效,需重启网络才生效。

    命令:/etc/rc.d/init.d/network restart

    第二种(快速修改):

    1. ifconfig eth0 x.x.x.x //对网卡进行设置
    2. ifconfig eth0 network x.x.x.x //设置子网掩码

    广播地址和dns使用默认的。

    注:此操作网络配置会立即生效,但只是临时生效,系统重启会恢复到之前的。

    第三种(修改最底层的网卡文件内容):

    1. 修改/etc/sysconfig/network-scripts/ifcfg-eth0 这个文件,可修改IP,子网掩码,网关,DNS,广播地址等。
    2. 此操作网卡配置并未生效,需重启网络才生效。

    命令:/etc/rc.d/init.d/network restart

    设置系统日期

    1. data:直接执行,显示系统当前时间。

    data MMDDHHMMCCYY.SS

    //修改系统时间,后面字母代表:月月日日时时分分年年年年.秒秒

    1. 查看日历(calendar)

    查看月历:cal 5 2016   //查看2016年5月的月历

    查看年历:cal 2016    //查看2016年的整年日历

    用户的环境变量:/home/用户/.bash_profile

    系统环境变量:/etc/profile

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

    对系统某个用户在:/home/用户/.bashrc

    整个系统(所有用户):/etc/bashrc

    Linux启动过程分析

    1. BIOS自检;
    2. 启动GRUB/LILO;
    3. 运行Linux内核并检测硬件;
    4. 运行系统的第一个进程init;
    5. init读取系统引导配置文件/etc/inittab中的信息进行初始化;
    6. /etc/rc.d/rc,sysinit系统初始化脚本;
    7. /etc/rc.d/rcX.d/[KS]* 根据运行级别X配置服务;

    终止以K开头的服务,启动以S开头的服务(如下图init为5)

    002

    1. /etc/rc.d/rc/local 执行本地配置;
    2. 其他特殊服务。

    五. 用户管理

    添加用户:useradd 用户名(useradd aaa)

    设置/修改密码:passwd 用户名(passwd aaa)

    添加用户组:groupadd 用户组名(groupadd root123)

    将用户添加到某用户组:

    useradd –g 用户组 用户(useradd –g root123 aaa)

    修改用户属性(需root权限)

    usermod –g 用户组 用户

    usermod –d 目录 用户名   //改变用户登陆的初始目录

    usermod -s shell类型 用户名

    usermod -c 注释 用户名

    usermod -u 用户编号 用户名

    删除用户:userdel aaa (删除用户,但/home下用户主目录文件信息仍存在)

    userdel –r aaa (彻底删除用户及用户所有文件信息)

    查看系统中所有用户:

    cat /etc/passwd

    查看系统所有用户组:

    cat /etc/group

    默认情况下新建一个用户,就会生成一个以该用户名命名的用户组。

    六. 进程/网络状态管理

    进程:

    1. 在Linux中,每个执行的程序成为一个进程,每个进程都分配一个ID号(PID)。
    2. 每一个进程都会对应一个父进程,父进程可以复制多个子进程,如www服务器。
    3. 每个进程都可能一两种方式存在,前台与后台。
    4. 一般系统服务都是以后台进程的方式存在,而且常驻系统中,直到关机才结束。

    进程与线程:

    进程:正在执行的程序。

    线程:1. 轻量级的进程;

    1. 进程有独立的地址空间,线程没有;
    2. 线程不能独立存在,它是由进程创建的;
    3. 线程耗费的cpu和内存小于进程。

    查看进程:1. ps –aux (当前运行进程,静态)

    1. top (动态监控进程)

    003

    终止进程:

    kill 进程号( PID )

    eg:kill 16251     //终止进程号为16251的进程

    kill -9 16251   //某些进程不能被杀,使用 -9 参数强制终止进程

    显示网络状态命令:netstat

    此命令用来显示整个系统目前的网络情况。如连接、数据包、路由表内容。

    netstat –an 显示所有端口和连接信息(包括远程链接到本机的ip)

    netstat –anp 与上面想比,多显示进程号(PID),推荐使用此命令

    显示数据包经过历程命令:traceroute

    此命令用来检测数据包在网络上传输的过程,可显示本机到目标主机所经历路由的完整路径。

    traceroute + 参数 + 目标IP或网址   //参数可忽略,相当于win下的tracert。

    eg:traceroute www.baidu.com

    route –n 显示本机网关、路由情况。

    linux上进程有5种状态:
    1. 运行(正在运行或在运行队列中等待)
    2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号)
    3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有中断发生)
    4. 僵死(进程已终止, 但进程描述符存在, 直到父进程调用wait4()系统调用后释放)
    5. 停止(进程收到SIGSTOP, SIGSTP, SIGTIN, SIGTOU信号后停止运行运行)

    ps工具标识进程的5种状态码:
    D 不可中断 uninterruptible sleep (usually IO)
    R 运行 runnable (on run queue)
    S 中断 sleeping
    T 停止 traced or stopped
    Z 僵死 a defunct (”zombie”) process

    七. 文件管理

    文件所有者:

    文件是哪个用户创建的,它的所有者就是该用户。

    ls –ahl   查看文件所有者

    // a代表显示所有,包括隐藏文件;h代表输出文件大小;l代表用长列表显示,显示更详细内容。

    修改文件所有者:chown 用户名 文件名

    修改文件夹所有者:chown –r 用户名 文件夹目录   //Linux中-r 为递归的意思。

    文件所在组:

    文件是哪个用户创建的,它的所在组就是该用户所在组。

    ls –ahl   查看文件所在组(如上)

    修改文件所在组:chgrp 组名 文件名

    文件和目录权限:

    rwx = 421   //读写执行

    chmod 777 aaa   //赋予文件aaa最高权限

    文件赋权执行上面格式即可,下面做详细诠释。

    chmod u=rwx,g=rx,o=rx aaa

    //相当于chmod 755 aaa;u代表user;g代表group;o代表other

    chmod u-x,g+w aaa   //给aaa去除用户执行权限,增加用户组写的权限

    八. 常用命令

    Linux运行级别   init [0123456]

    运行级别 0:关机           //shutdown –h now也可立即关机

    1:单用户

    2:多用户状态没有网络服务

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

    5:图形界面

    6:系统重启       //reboot

    常用运行级别是3和5,修改系统启动默认的运行级别:

    /etc/inittab文件中的id:5:initdefault中的数字。

    查看用户当前运行级别命令:runlevel 或 who -r

    若不慎将默认运行级别设置为6,系统将不断重启。

    解决:在启动界面按e,进入第二个界面选中第二行按e,然后输入1(以单用户启动,且进入不需要密码,也可用于忘记密码时进入然后重设密码),进入init 1级别用命令改回文件的默认运行级别。

    Linux常用命令

    有问题用man命令(manual指南,相当于dos下的help)

    eg :#man grep(后直接接命令)

    ls:查看文件目录,等于dir

    ls –l 用长列表显示,显示更详细内容;

    ls –a 显示隐藏文件;

    ls –h 显示文件大小。

    重定向命令:

    ls –l > a.txt 将显示的内容写入a.txt(覆盖原内容)

    ls –al > aa.txt 将现实的内容追加到文件aa.txt的末尾(不覆盖原内容)

    lsb_release -a   //查看版本信息

    uname -a   //可显示电脑以及操作系统的相关信息。

    cat /proc/version   //说明正在运行的内核版本。

    cat /etc/issue   // 显示的是发行版本信息

    touch:创建空文件

    mkdir:创建文件夹

    vi:编辑文件,当文件不存在时可创建文件

    cat:查看文件内容

    cp:复制命令

    cp –r aaa bbb (递归复制,将aaa文件及子文件复制到bbb)

    mv:移动文件或重命名

    rm:删除文件

    rm –rf * 删除文件夹所有内容(包括目录及子文件)

    r 递归   f 强制

    ln:建立符号链接,相当于建立快捷方式link。

    ln –s 源文件路径 目标文件路径

    eg:ln –s /root/abc3.java toabc3

    //建立后显示如下(文件属性前会多个l,代表ln命令建立的)

    004

    more:分页显示文件内容,按空格查看下一页,不可查看上一页内容

    less:分页显示文件内容,空格查看下一页内容,上下键也可查看上/下一页内容

    grep:显示文本中查找的内容(grep只显示查找的内容,cat显示文本所以内容)

    grep –n 显示内容所在行数

    |:管道命令,把上一个命令的结果交给 | 后面的命令处理。(一条命令可有多个管道命令)

    find:文件查找

    find 文件路径 –name 文件名

    eg:find / -name aaa.txt 全目录查找aaa.txt (路径越详细查找越快)

    ★ 搜索一段时间内被存取/变更的文件或目录:

    find /hoem –amin -10    //查找十分钟内存取的文件或目录

    find /hoem –atime -10   //查找十小时内存取的文件或目录

    find /hoem –cmin -10    //查找十分钟内更改过的文件或目录

    find /hoem –ctime +10   //查找十小时前更改过的文件或目录

    find /hoem –size +10k    //查找/home目录下大于10k的文件

    a:access 存取   c:change 更改

    该查找多用于安全方面,查看黑客在一段时间内动过的系统文件。

    pwd:查看当前路径

    whereis:查找目标文件的路径

    whereis ssh   //查看ssh的路径

    压缩与解压缩

    zip(压缩)和unzip(解压缩)

    zip(压缩):

    1. zip a.zip aaa //zip后直接接压缩后的文件名,将aaa压缩成a.zip
    2. zip –m a.zip aaa //压缩后删除原文件,将aaa压缩成a.zip并删除aaa
    3. zip –r a.zip aaa //将子目录一起压缩,文件夹aaa及其子目录一起压缩为a.zip(常用)
    4. zip -9 a.zip aaa //-9为压缩率(-1 — -9,-9压缩率最高)

    压缩当前文件夹,两种方法:

    (1)zip –r 111.zip .  //.代表当前文件夹

    (2)zip –r 111.zip 文件夹路径/*(eg:zip –r 111.zip /home/*)

    unzip(解压缩):

    1. unzip a.zip //解压缩文件a.zip
    2. unzip a.zip –x bbb //不解压某文件,a.zip中除了bbb其他都解压
    3. unzip –z a.zip //查看压缩包内容,也可用“-l”、“-v”查看

    将压缩文件解压扫某处:unzip *.zip –d /目录 (如果该目录下没某文件会自动创建)

    gzip(压缩)和gunzip(解压):

    1. gzip a.gz aaa //压缩
    2. gzip –d a.gz //解压缩

    3.gunzip a.gz     //解压缩

    tar.gz解压:tar -zxvf aaa.tar.gz

    corntab用于设置周期性被执行的指令,可用于任务调度。

    005

    终止任务调度:

    conrtab –r :终止任务调度

    conrtab –l :列出当前有哪些任务调度

    其他常用命令:

    http://www.oschina.net/translate/useful-linux-commands-for-newbies

    http://www.tecmint.com/20-advanced-commands-for-middle-level-linux-users/

    九. Shell

    shell,壳,是指“提供使用者使用界面”的软件,将命令解析成机器语言。从作用上说,类似于cmd,接受用户命令然后调用相应应用;从功能上说又类似于bat批处理,可将程序编写成shell执行。

    shell的分类:

    shell名称     开发者     命令名称

    Bourne     S.R. Bourne    /bin/sh

    C          Bill Joy        /bin/csh

    Kom        David        /bin/ksh

    Shell的修改:chsh –s 输入新的shell   //eg:chsh –s /bin/csh

    不同shell的命令稍有差别

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

    .bashrc 位于用户主目录下,它之前执行系统的脚本/etc/bashrc,主要是配置基础数据

    .bash_profile位于用户主目录下,它之前执行系统脚本/etc/profile,主要是配置环境变量

    alias(别名),可简化常用命令的输入,shell程序用经常使用

    命令:alias 自定义命名=’想要替换的命令’

    eg:alias cp=’cp -i’

    alias ll=’ls –l –color=tty’

    十. 软件的安装

    RPM管理

    rpm,RPM Package Manager(RPM软件包管理器)的缩写,一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中。它生成具有.rpm扩展名的文件,与dpkg类似。这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。

    如何查询linux中安装了哪些rpm软件:

    rpm –q   //查看有没有安装mysql

    006

    rpm –qa  //查看所有rpm软件

    007

    rpm常用命令:

    008

    安装rpm包:

    rpm –ivh *.rpm   // i=install安装;v=verbose提示;h=hash进度条

    卸载rpm包:

    rpm –e *.rpm

    //如果其他软件包依赖于当前要卸载的包,会产生错误告警

    rpm –e –nodeps *.rpm

    //该命令用于强制卸载当前rpm包,但依赖于此包的软件可能无法运行

    升级rpm包:

    rpm –U *.rpm

    文件共享:

    1.Samba服务器安装:Linux下开发人员好像喜欢装这个。

    安装传送门

    2.FTP服务器安装:大多数Linux机器都是用的这个。

    安装传送门

    3.SCP命令:

    scp [OPTIONS] file_source file_target
    eg:scp ntp-4.2.8p7-0.10591.1.PTF.959243.x86_64.rpm boco4a@200.200.0.114:/home/boco4a

    OPTIONS:
    -v 和大多数 linux 命令中的 -v 意思一样 , 用来显示进度 . 可以用来查看连接、认证、 或是配置错误
    -C 使能压缩选项
    -P 选择端口 . 注意 -p 已经被 rcp 使用

    4.方便快捷的文件传输软件:sshClient

    另外putty、xshell、secureCRT也可用于管理主机,但文件传输基于FTP或rz、sz命令。

    Mysql数据库的安装

    Mysql数据库由于免费、跨平台、轻、支持多并发,一直是中小型企业数据库的首选。

    安装:

    1. 把安装文件拷贝到 /home 下
    2. 解压mysql文件.tar.gz 命令:tar –zxvf
    3. groupadd mysql //创建用户组

    useradd –g mysql mysql     //创建mysql用户,并放入到mysql组

    进入/home下的mysql文件夹

    sripts/mysql_install_db –user=mysql   //初始化数据库

    chown root .                      //修改文件所有者(.代表当前文件目录)

    chown –R mysql data

    //修改data文件夹所有者(R参数代表递归,表示当前文件夹下所有文件/文件夹)

    chgrp –R mysql .                   //改变用户组

    启动mysql

    bin/mysqld_safe –user=mysql &      // & 代表以后台方式启动

    查看端口3306是否起来:netstat –anp | more

    进入mysql:

    cd bin

    ./mysql –uroot –p123

    //登录mysql(此种方式只能在/home/mysql/bin下启动mysql)

    如果想在任何目录都可以启动mysql,修改环境变量里面的路径PATH:

    env   //可以看到PATH路径

    在root用户目录下 ls –al | more 找到 .bash_profile

    (此文件存放用户变量,系统变量在/etc目录下)

    vi .bash_profile在PATH路径后面加上mysql路径

    009

    注销/重启电脑,然后任意路径都能使用mysql –uroot –p123    进入mysql

    (注:只能在此用户任意目录,其他用户照样修改。如要所有用户都可以,那就需要改系统变量,在/etc/profile下也存在该文件)

    数据库备份与恢复

    010

    备份操作在mysql下的bin目录下,非在数据库中。

    恢复的时候要先在数据库中新建个空数据库。

    可以利用任务调度crontab,写个shell脚本将数据库自动备份。

    原文地址:http://www.cnblogs.com/customsec/p/5616902.html

  • 相关阅读:
    web_arcgis 步骤
    《程序员修炼之道》读后感
    《人月神话》读后感
    七天开发记录(6)
    七天开发记录(5)
    七天开发记录(4)
    七天开发记录(3)
    七天开发记录(2)
    七天开发记录(1)
    《梦断代码》读后感
  • 原文地址:https://www.cnblogs.com/huangzelin/p/5617611.html
Copyright © 2011-2022 走看看