Linux学习笔记

Linux学习笔记

01. 软件包管理
    软件包常用安装方法: 使用RPM软件包管理工具、自行编译源代码、yum、apt
    (1)RPM(RedHat Package Manager)软件包管理工具
    a.安装与卸载软件包.
    # rpm -i packagename.rpm
    # rpm -Uvh glibc-2*
    # rpm -i --force -nodeps packagename.rpm
    # rpm -e packagename
    参数: -i       install
          -U       upgrade
          -v       显示详细的安装信息
          -h       用符号#指示安装进度
          -percent 显示已完成的百分比指示安装进度
          -nodeps  不检查依赖关系
          -test    检查软件包是否能成功安装
          -e       卸载软件包

     b.查询软件包.
     # rpm -qa                         列出所有软件包
     # rpm -qa | grep -i 'name'        查找软件包名称,grep命令指定名称 -i 区分大小写
     # rpm -qa | more                  每次一屏显示软件包
     # rpm -qf filename                查找文件属于哪个软件包
     # rpm -qi packagename             查出已安装的软件包的功能
     # rpm -qlp packagename            查看某个软件包有哪些文件

    (2)自行编译源代码(以安装ssh为例)
     # mv ssh-2.0.13.tar.gz /usr/local/src    把源代码包移到/usr/local/src下
     # cd /usr/local/src                      进入/usr/local/src目录
     # tar -xvzf ssh-2.0.13.tar.gz            解压源代码包
     # cd /usr/local/src/ssh-2.0.13           进入/usr/local/src/ssh-2.0.13目录
     # ./configure --help                     查看软件包的配置选项
     # make                                   编译软件包,将会读入所有configure脚本程序建立的制作文件,告诉make哪些需要编译和编译顺序.
     # make install                           安装软件包,软件一般都安装在/usr/local子目录中,如有错误信息,一般是访问权限问题,用chmod、chown和chgrp命令更改.
     # cd usr/local/src
     # rm -rf ssh-2.0.13                      清除源代码文件

    (3)Yum(Yellow dog Updater, Modified)
    Yum是Fedora、RedHat、SUSE、CentOS中的Shell前端软件包管理器,使用python编写,基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系

,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
    yum的命令格式:
    yum [options] [command] [package …]     
    [options]是可选的,选项包括-h(帮助),-y(当安装过程提示选择全部为"yes"),-q(不显示安装的过程)等等。
    [command]为所要进行的操作,
    [package …]是操作的对象。
    yum的配置文件:/etc/yum.conf
    常用命令
    # yum list               列出目前yum所管理的所有的软件名称与版本
    # yum list package       显示指定程序包安装情况
    # yum info package       显示指定程序包安装情况和详细信息
    # yum info installed     列出所有已安装的软件包与详细信息
    # yum install package    安装指定的安装包package
    # yum groupinsall group  安装程序组group
    # yum update             全部更新
    # yum update package     更新指定程序包package
    # yum check-update       检查可更新的程序
    # yum remove package     删除程序包package
    # yum groupremove group  删除程序组group
    # yum deplist package    查看程序package依赖情况
    # yum clean packages     清除缓存目录下的软件包
    # yum install yumex      安装yum图形窗口插件

    (4)apt
    apt-get是debian,ubuntu发行版的包管理工具,与红帽中的yum工具非常类似。
    apt-get命令一般需要root权限执行,所以一般跟着sudo命令
    # sudo apt-get xxxx
    sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具
    在修改/etc/apt/sources.list或/etc/apt/preferences之後运行该命令。
    常用命令
    # vi /etc/apt/sources.list               编辑/etc/apt/sources.list,可以添加源地址
    # apt-get update                         更新源
    # apt-get install packagename            安装一个新软件包
    # apt-get install package=version        安装指定版本的软件包
    # apt-get remove packagename             卸载一个已安装的软件包(保留配置文档)
    # apt-get remove --purge packagname      卸载一个已安装的软件包(删除配置文档)
    # apt-get autoremove packagename         卸载一个已安装的软件包
    # apt-get source packagename             下载该包的原代码
    # apt-get -u install packagename         升级软件包
    # apt-get -u upgrade                     更新已安装的包.
    # apt-get dist-upgrade                   更新已安装的包.
    # dpkg --force-all --purge packagename
    # apt-get autoclean                      仅仅清理旧版本的缓存文件
    # apt-get clean                          清理所有的缓存文件
    # apt-cache search xxx                   在本地缓冲里查找和xxx有关的软件

02. 用户管理.
    在Linux中,每个文件和程序必须属于某一个用户,每个用户都有一个唯一的身份标识用户ID(User ID,UID),每一个用户至少属于一个用户分组,用户分组也有唯一身份标识用

户分组ID(Group ID,GID).用户可以归属多个用户分组.
    /home            用户登录子目录 
    /root            根用户的登录子目录
    /var/spool/mail  用户电子邮件位置
    /etc/passwd      口令文件,全部用户可读,保存登录名,加密口令,UID,GID,姓名,登录使用的shell
    /etc/shadow      加密口令文件,只对具有根用户优先权的程序可读
    /etc/group       用户分组文件

    用户管理
    a. 添加用户.
    useradd [-c comment] [-d homedir] [-e expire date] [-f inactive time]
       [-g initial group] [-G group[,...]] [-m [-k skeleton dir]] [-M]
       [-s shell] [-u uid [-o]] [-n] [-r] login
    # useradd username    添加用户,使用默认参数
    # useradd -D          查看默认参数
    # useradd -c "H.D.core" -g admin -G support -s /bin/tcsh hdc

    b. 删除用户
    userdel [-r] username    删除用户,-r指示删除用户归属的文件.

    c. 修改用户
    usermod [-c comment] [-d homedir] [-m] [-e expire date] [-f inactive time]
       [-g initial group] [-G group[,...]] [-l login]
       [-s shell] [-u uid] login
    # usermod -c "H.D.Core" hdc
        -l 允许改变用户的登录名

    d. 分组管理
    groupadd [-g gid] [-r] [-f] group
    groupdel group
    groupmod -g gid -n group-name group

03. BASH的使用.
    作业控制
    # jobs                     跟踪作业

    环境变量
    # printenv                 查看用户的环境变量
    # printenv OSTYPE          查看某个环境变量
    # variable = value         设置环境变量
    # export variable          使环境变量立即生效
    # export variable = value  设置环境变量,并立即生效
    # unset variable           取消已设置的环境变量

    管道:通过它可以把一个程序的输出发送到另一个程序作为输入
    # printenv | grep "LOGNAME"

    重定向:输出到文件(>)、附加到文件末尾(>>)、发送文件作为输入(<)
    # ls > /tmp/directory-listing
    # echo "Directory Listing" >> /tmp/directory-listing
    # grep 'root' < /etc/passwd

04. 文档工具
    # man program_name        查看使用手册(manual)
    # info emacs

05. 文件列表、所有权和访问权限
    列出文件清单         # ls
    改变文件所有权       # chown [-R] username filename       参数[-R]包含子目录
    改变文件的用户分组   # chgrp [-R] groupname filename
    改变文件属性         # chmod

06. 文件管理和操作
    a. 拷贝文件命令cp
        参数: -f 强制性拷贝;不要求确认
              -i 交互式拷贝;在每个文件被拷贝之前要求用户确认
    b. 移动文件命令mv
    c. 链接文件ln
    d. 查找文件命令find
    e. 转换并拷贝文件命令dd, 可以用来生成磁盘镜象
        # dd if = /dev/fd0 of = /tmp/floppy_imaage
        参数: if=infile    指定输入文件
              of=outfile   指定输出文件
    f. 文件压缩命令gzip , 原文件会被删除
        # gzip myfile
        # gzip -d myfile.gz
        参数: -c 把压缩后的文件写到stdout标准输出(这样可以使输出经过管道送入其他程序)
              -d 解压缩
              -r 递归找出全部需要压缩的文件
              -9 最大压缩效果
              -1 最快压缩时用
    g. 建立特殊文件命令mknod
        # mknod name type [major] [minor]
        # mknod /tmp/mypipe p         建立一个名为/tmp/mypipe的命名管道
            name -- 文件名称
            type -- 块设备b,字符设备c,命名管道p.
    h. 建立子目录命令mkdir
    i. 删除子目录命令rmdir
    j. 显示当前工作子目录命令pwd     (print working directory)
    k. 磁带文件归档命令tar
        # tar [commands and options] filename
        参数: -c 建立一个新的档案文件
              -t 查看档案文件的内容
              -x 释放档案文件的内容
              -f 定义档案文件所在文件(或者设备)的名字
              -v 操作过程中显示流程信息
              -z 使用gzip进行压缩
        # tar -cvzf apache.tar.gz /usr/src/apache   将包含/usr/src/apache子目录的全部文件打包并压缩成apache.tar.gz文件
        # tar -xvzf apache.tar.gz                  
    l. 显示文件内容合并文件命令cat
        # cat /etc/passwd                             显示文件/etc/passwd的内容
        # cat /etc/passwd /etc/group                  显示文件/etc/passwd和/etc/group的内容
        # cat /etc/passwd /etc/group > /tmp/complete  把文件/etc/passwd和/etc/group合并到/tmp/complete中
        # cat /etc/passwd >> /tmp/orb                 把文件/etc/passwd添加到/tmp/orb的末尾
    m. 分屏显示文件命令more   [使用输入文件每次一屏显示,输入文件可以来自标准输入stdin,也可以来自命令行参数]
        # more /etc/passwd        每次一屏显示文件/etc/passwd的内容
        # ls | more               每次一屏查看用ls命令显示的子目录清单
    n. 磁盘操作工具命令du [disk usage]
        # du -sh /home/*
    o. 查找文件保存的子目录which
    p. 查找命令的保存位置、源文件及使用手册的位置whereis
    q. 查看磁盘空间命令df
        # df -hl
        参数 -h 以易理解的数字给出自由空间大小
             -l 只对本地挂装的文件系统进行操作,不显示网络挂装文件系统的信息
    r. 同步磁盘命令sync
    s. cpio.gz文件解压
        # gunzip 10201_database_linux_x86_64.cpio.gz    // 得到10201_database_linux_x86_64.cpio文件
        # cpio -idmv <10201_database_linux_x86_64.cpio  //在当前目录下解压出来

07. 进程管理
    a. 列出进程清单命令ps  [processes snapshot]
        # ps -auxww
        参数: -a  列出带有控制终端的全部进程,不仅仅是当前用户的进程
              -r  只列出正在运行中的进程
              -x  列出没有控制终端的进程
              -u  列出进程的所有者
              -f  给出进程的归属关系
              -l  按长格式显示清单
              -w  显示进程的命令行参数(最多半行)
              -ww 显示进程的全部命令行参数,不管其长度是多少
        输出内容标题
              USER  谁拥有进程
              PID   进程标识号
              %CPU  进程占用CPU的百分比
              %MEM  进程占用内存的百分比
              VSZ   进程占用的虚拟内存总量
              RSS   进程占用真实(内存)的总量
              TTY   进程的控制终端
              STAT  进程的状态
                    S  休眠中
                    R  CPU正在处理
                    D  不可中断休眠
                    T  正在被纠错程序跟踪或已被终止
                    Z  昏迷的进程
                    W= 内存中没有驻留页面(全部交换出内存)
                    <= 高优先权进程
                    N= 低优先权进程
                    L= 内存页面被锁定(通常表示需要实时操作功能)
              START 进程开始时间
              TIME  进程已经使用的CPU时间
              COMMAND 进程名称和它的命令行参数
    b. 交互列出进程清单命令top
    top命令是一个交互式操作的ps命令版本,它不是给出一个静态的输出,top命令每隔2-3秒(用户可调)就会刷新进程清单的显示画面,从这个进程清单中,用户可以重新安排优

先权,或者终止它们.
    缺省情况下,每个人都可以使用top命令. 可以用以下命令修改限制只能由根用户使用.
       # chmod 0700 /usr/bin/top
    c. 向某个进程发送消息命令kill
       kill [信号代码] 进程ID
       # kill -STOP pid        发送SIGSTOP(17,19,23)停止一个进程,而并不消灭这个进程.
       # kill -CONT pid        发送SIGCONT(19,18,25)重新开始一个停止的进程.
       # kill -KILL pid        发送SIGKILL(9)强迫进程立即停止,
       # kill -9 -1            终止你拥有的全部进程
       SIGKILL和SIGSTOP信号不能被捕捉、封锁或者忽略,但是,其它的信号可以.

08. 其他工具
    a. 显示系统名称命令uname
       # uname -a
       参数: -m 给出机器的硬件类型
             -n 给出机器的主机名
             -r 给出操作系统的发行名称
             -s 给出操作系统的名称
             -v 给出操作系统的版本
             -a 列出以上全部的信息资料
    b. 查看用户命令的who
    c. 改变用户登录身份
       $ su               以自己的身份切换为根用户,系统会提示输入口令
       # su sshah         以根用户身份登录系统,切换到其它用户
       # su - sshah       以根用户身份登录系统,切换到其它用户,并具备这个用户的登录和Shell配置情况
    b. 编辑器程序
       vi, emacs, joe, pico

09. Linux系统的文件目录
    /        根目录
    /bin     存放用户可执行的程序
    /boot    操作系统启动时所需要的文件
    /dev     设备接口文件目录
    /etc     有关系统设置与管理的文件目录
    /home    一般用户的主目录或FTP站点目录
    /mnt     装置的文件系统加载点.如光驱、软盘等.
    /proc    目前系统核心与程序执行的信息.
    /root    管理员的主目录
    /sbin    此目录存放系统启动时所需要执行的程序
    /tmp     临时文件目录
    /usr     存放用户的使用系统的命令和应用程序等信息
    /var     具有变动性质的相关程序目录.log

10. Linux的开机引导
    a. 引导管理程序Grub,LILO
    b. 开机引导步骤
       1> 加载内核
       2> 执行内核
       3> init进程
    init进程是非内核进程中第一个被启动运行的,因此它的进程编号PID总是1. init读它的配置文件/etc/inittab,决定它需要启动的运行级别(runlevel).
    运行级别: 0 停止系统运行
              1 进入单用户模式(不激活网络功能)
              2 多用户模式,但是没有网络服务
              3 完全的多用户模式(正常操作)
              4 保留
              5 与运行级别3相当,但是使用x-windows登录程序代替文本登录程序
              6 重启动系统
        常用运行级别是3和5.
    c. rc命令脚本程序
    当运行级别发生改变时,将由/etc/inittab文件定义需要运行哪一个命令脚本程序。这些命令脚本程序负责启动或者停止该运行级别特定的各种服务.
    因为需要管理的服务数量很多,因此需要使用rc命令脚本程序。其中最主要的一个是/etc/rc.d/rc,
    /etc/rc.d/rcX.d/    此目录存放运行级别X的所有脚本程序(实际是符号链接,大多指向/etc/rc.d/init.d下的)
    /etc/rc.d/init.d/   此目录存放服务程序.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值