Linux基础知识3--using the system

本文讲述使用Linux系统需要了解的部分知识。上一篇是:Linux基础知识2--install Linux

三、使用系统

  基础知识、文件与目录、进程、Linux文献

1.Installing software on Linux

(安装前均需要先su -切换到root用户);

  1)从压缩包安装:tar zxvf application.tar.gz; cd application; ./configure; make; su-; make install;

    tar包安装、卸载的搭档有:KinstallKife

    tar.gz包安装流程如上,tar.gz2解压命令改为:tar-xjvf software.tar.bz2

  2apt-get command *:apt-getdebianubuntu发行版的包管理工具,与Redhat中的yum工具类似;一般需要root权限;

    apt-cache search soft:在网络上查找soft指定的软件

    apt-get install soft:安装一个新的软件包

  3dpkgdeb包安装方式,流程如下:进入安装包.deb所在目录,执行dkpg -i software.version.deb

    Debian Linux提供的一个包管理器,与RPM类似,但由于RPM出现得更早,所以后者更加常见,前者只出现在Debian Linux中。

    安装:dpkg -i deb的软件包名

    卸载:dpkg -e 软件名

    查询:dpkg -I '*软件包名*',查询当前系统安装的软件包,如:dpkg -I '*software*'

  4aptitude:与apt-get一样,是Debian及其衍生系统中功能极其强大的包管理工具。与apt-get比较,aptitude在处理依赖问题上更佳。

   语法:aptitude install packagname

 5yum+rpmrpmLinux的一种软件包名称,以.rpm阶位,安装语法为rpm -ivhrpm有个很大的缺点是文件的关联性太大,有时安装一个软件需要很多其他的软件包,比较麻烦,所以Redhat开发了yum安装方法,可以彻底解决这个关联性的问题,只需要配置两个文件即可安装。安装方法是:yum -y install

  yum并不是一个包,而是安装包的软件;

  简单地说,rpm只能安装本地的rpm包,yum则能在线下载并安装rpm包,能更新系统,还能自动处理包之间的依赖问题;

 6rpm:全称是redhat package manager

    rpm -q -a,查询已经安装的rpm包,-q代表query-a代表all

    rpm -ivh package-name:安装软件,参数如下:

      -i安装软件; -t 测试安装,不是真的安装;-p显示安装进度;-f 忽略任何错误; -U升级安装; -v 检测套件是否正确安装;

       -h,hash包档如果没有被解包打印50个破折号.配合-v使用可以

             使得有更好的展示.

    rpm -e package-name:卸载,注意,-e后面的是软件名,而不是软件包名;如要安装software-1.2.3-1.i386.rpm这个包是,应执行:rpm -ivh software-1.2.3-1.i386.rpm,而卸载时应执行:rpm -e software

 

    注:在不同类别的Linux发行版上,安装软件的方式是不同的,如Centos中使用RPM包,而Debian使用deb包(Ubuntu属于debian系)

   补充1bin文件安装,如果下载的软件名为soft.bin,一般是个可执行文件,安装方法如下:su -rootchmod +x soft bin;./soft.bin;即可;

  补充2Linux下软件的安装主要有两种形式,一种安装文件名为filename.tar.gz,使用tar方式安装,另一种是filename.i386.rpm,使用rpm方式安装;

 

 Multi-user and Multi-tasking

  Linux是一个多用户、多任务的操作系统,多个用户可以同时运行多个任务,彼此独立;

  在使用系统之前总是需要先登录:验证usernamepassword

  有多种登录方法:

    consoleDirectly attached keyboard,mouse,monitor;即通过控制台登录;

    serial terminal:串行端口,即命令行窗口;

    network connection:通过网络连接登录,即远程登录方式;

 

虚拟终端(virtual terminal

  大多数的Linux发行版,其控制台都模拟了很多虚拟终端;

  每一个虚拟终端都可以被视为一个分离的、直接附着的控制台:即不同的用户可以使用不同的虚拟终端;

  Typical setupVT 1-6:命令窗口;VT 7:图形窗口;

  VT切换使用:Alt-Fn或者Ctrl-Alt-Fnin X(即X-window,如果没理解错的话)

  Linux终端切换:

    1.查看当前终端:fgconsole

    2.终端切换:chvt n (n=终端的名字)

    3.快捷键切换终端:CRTL+ALT+FN1-6是终端,7是图形界面)

   PSemmm试了下Ubuntucentos7,发现两个系统下面,快捷键切换必须都使用Ctrl+Alt+FN+键盘最上面的Fn键,而在centos7中,F1表示图形界面,2-6是命令窗口,7只有光标在闪;而Ubuntu中,1-6都是命令窗口,7是图形界面;

 

Linux命令

  Linux系统中,所有事情都可以通过命令行做到。而GUI,即X-window并不是运行一个OS必要的。

  为了键入命令,必须先打开了一个终端模拟器,即命令窗口。

  命令提示符:可以自行配置; $表示普通用户,#表示root用户

 

  命令语法:

    格式:$ command options(s) argument(s)

    例如:$ ls; $ ls -l; $ ls /dev; $ ls -l /dev

  一些基础的Linux命令:

    passwd:改变密码

    mkpasswd:生成随机密码

    date, cal:找到今日的date,以及展示日历

    who, finger:找到现在系统中的active用户(在Ubuntucentos中,finger需要另外安装才行,使用sudoapt install finger即可

    clear:清空屏幕

    echo:直接输入echo后面的文本

    write, wall, talk; mesg:向指定用户、所有用户、指定用户,终端发送mesg(消息);

    ……

 

2.文件与目录

 1 what is a file

    -一个数据的集合

    -一个可读、可写又或者既可读又可写的对象。文件拥有确定的属性,包括访问权限和类型;

 2)文件结构:

    通常:字节流、记录序列、记录树

    Linux:字节流

 

  3)文件类型:

    常规文件:文本或者Code数据;没有特殊的内部结构;

    字符特殊文件(character special file

   块特殊文件(block special file):

     特殊文件代表硬件或逻辑设备;通常在/dev中;字符特殊文件通常是装置文件中的串行端口设备,如键盘、鼠标等一次性读取设备;块特殊设备表示装置文件中的可供储存的接口设备(可随机存取装置);

    socket,即套接口文件:socket,又名“套接口”,用于描述IP地址和端口,应用程序是通过套接字向网络发送请求或者应答网络请求;

    符号链接文件:类似Windows中的快捷方式;

    目录:内容的表;目录内文件的列表;

 

 4)目录结构:

    所有Linux目录被包括在一个虚拟的unifiedfile system,即统一文件系统;

    物理设备被挂载在挂载点上:软盘、硬盘分区、CD-ROM驱动器

    没有像A:,C….这样的驱动器盘符(???这是什么鬼意思)


Linux基础知识3--using the system

6)与目录有关的命令:

     pwdprint working directory,即输出当前目录(注意pwd不是密码的意思)

     cdchange directory

     mkdirmake directory,即创建目录

     rmdirremove directory,即删除目录

     lslist the contents of directories,有-l,-a,-R options

  

 7)与文件有关的命令:

    touchupdate the access and/or modification time of a files(创建文件使用这个命令,格式为:touch + 文件名)

    cpcopy files

    mvmove and rename files

    lnlink files

    rmremove files

    catprint file contents

    more/lessdisplat files page by page

 

  8file permission文件权限

    文件权限帮助用户保护自己的文件,避免系统中其他用户的操作;

    三种读取级别:usergroupothers,即文件拥有者(/文件创建者)、文件拥有者所在组、其他用户;

    三种权限:rwx,即readr)、writew)、executee

    read:读取文件内容或列举目录内容

    write:改变文件内容或创建和删除目录中的文件

    execute:执行文件或use directory as active directory(个人理解是可以对目录内所有文件进行execute???具体不清楚)

   使用ls -l查看目录内文件权限情况:

Linux基础知识3--using the system

   改变文件/目录权限:

   

    第一种——模式命令:chmod <who operator what> filename

     whou=owner of file; g=group; o=other users on the system;a=all(owner+group+others)

     operator+=add permission; -=remove permission;  ==clear permissions and set to mode specified

     whatr=read; w=write; x=execute;

  

    第二种——数字命令:

      rwx分别用数字4,2,1表示,对于u,g,o这些不同的用户,将代表其权限的数字累加(如果有这个权限,就用数字加到结果上,如当前用户对filerw权限,但是没有x权限,那么计算结果为:4+2+0=6),命令:chmod num1 num2 num3 filename

    num1,2,3之间没有空格,分别代表了u,g,o对当前file的权限)

 

    默认的文件权限:新建文件和目录的默认权限如下:

      File-rw-r--r-- 644

      Directory drwxr-xr-x 755

 

 Editing files

  vi/emacs/gedit….编辑器

 

3.Linux进程

 1what is a process?

  进程是一个任务;

  进程是一个正在执行的程序实例。由执行程序、它的当前值、状态信息以及通过操作系统管理此进程执行情况的资源组成;

  从更小的角度看,进程是由一个地址空间和在这个地址空间内执行的一个或多个线程,以及这些线程所需要的系统资源组成;

  一个正在运行的程序就是一个进程的实例;

Linux基础知识3--using the system

shell是一个读取命令然后启动适当进程的进程,比如:echo $$

2Starting and Stopping a Process

  所有的进程都是由其他进程启动的,也就是Parent/Child关系。只有一个例外:init(即PID1的进程)是由Linux内核自身启动的。这是一个树层次结构;

  一个进程可以由两个原因而终止:

    当任务结束时,进程终止自身;

    进程被来自其他进程的信号所终止;

 3)基本命令:

  ps:报告当前系统的进程状态。

  pstreedisplay a tree of processes

  jobs,fg,bg,<ctrl-z>:job controlling

  kill:删除执行中的程序或工作;

  nohup:run a command, ignoring hangup signals

  nice,renice;

  top:display top CPU processes;实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具。通过top命令所提供的互动式界面,用热键可以管理;在top命令执行过程中可以使用一些单字母的交互命令;

 4Daemons,即守护进程

  即永不停止的进程,通常是一个控制系统资源的系统进程,如打印机队列,或执行网络服务;

 

4.Linux文献--如何寻求帮助?:

 1"man" command:使用man命令可以阅读命令的手册;手册被存储在/usr/man

    手册由以下组成:名称(Name)、概要(Synopsis)、描述(Description)、文档(Files)、Bugssee also

    手册分为8个章节:User Commands; Systemcalls; Libc calls; Devices; File formats and protocols; Games;Conventions,macro packages and so forth; System adminstation

    要选定正确的章节来进行搜索,添加章节号到命令,如:

 man 1 passwd, man 5 passwd

 

 2"info":有时候作为手册替代;存储在/usr/info

  info的一些命令:

   spacenext screen of text

   deleteprevious screen of text

   nnext node

   pprevious node

   uup node

   qquit info

   <tab>skip to next menu item

补充:info pageinformation page的缩写,主要是针对GNU tools的帮助文档的查看,通常情况下得到的帮助信息会比man page上面显示的要新一些。背景是90年代,GNU项目认为man page得到的信息已经过时,开发了info命令来替换man命令;

 

  3)其他:

  command --help

  HOWTO Documentation

  Refer to Internet