• 补充-Linux基础


    概述

    1 操作系统定义:操作系统是一个用来协调、管理和控制计算机硬件和软件资源的系统程序,它位于硬件和应用程序之间。

    2 操作系统内核:一个管理和控制程序,负责管理计算机的所有物理资源,其中包括:文件系统、内存管理、设备管理和进程管理。

    3 操作系统安装:

    安装Linux操作系统时对内存的最低要求为:512M。

    安装过程中的各选项的含义:
    a) install or upgrade an existing system:安装或升级现有的系统
    b) install system witn basic video driver:安装系统和基本的视频驱动程序
    c) rescue installed system:救援安装系统
    d) boot from local drive:从本地硬盘启动

    掌握默认的管理员为root。

    自定义布局:boot引导分区 500M;/根分区;swap交换分区 2倍内存。

    4 操作系统基本操作:

    关闭Linux系统的命令:init 0。

    掌握普通用户登录后系统的提示符:$

    掌握root用户登录后系统的提示符:#

    掌握退出命令:exit

    5 操作系统终端命令:

    命令 + 选项 + 参数:ls -l / or ll

    who命令:显示当前登录的所有用户,以及当前的日期和时间。

    date命令:显示系统当前的日期和时间。eg.修改时间: date  '月日时分年'

    (hwclock –s 同步硬件 –w 同步系统)

    cal命令:显示某月的日历。

    clear命令:清除屏幕 或者 ctrl+l。

    su命令:从当前的用户切换到另一个指定的其他用户。eg.切到root用户的命令:su – root

    passwd命令:修改用户的密码,默认为root。eg.修改dog用户密码的命令:passwd dog

    useradd命令:新增用户。

    man命令:获取某个Linux命令的使用说明。eg.查看su命令的使用说明的命令为:man su 使用q退出

    命令名 --help:获取帮助。

    pwd命令:打印当前目录。

    6 操作系统目录结构:

    bin目录:用来存放常用的可执行文件。
    sbin目录:用来存放系统的可执行文件。
    家目录:用来存放用户自己的文件或目录,其中,超级用户root的家目录是/root,而普通用户的家目录被存放在/home目录下,并使用用户名作为最后一级目录。eg.nova用户的家目录为/home/nova
    dev目录:设备文件目录。
    etc目录:配置文件目录。
    挂载点(目录):通常可移除式硬件会被挂载在/media或/mnt目录之下。

    其他目录:opt 程序文件目录 / tmp 临时文件目录。

    文件和目录

    7 cd命令:

    cd .. :返回上级目录。
    cd ~ :进入当前用户家目录。
    cd – :返回上一次目录。
    cd :进入当前用户的家目录。

    8 ls命令:

    -> ls 默认列出当前目录下的所有文件。

    -> ls -l(long)以长格式查看文件。

    -> ls -a:显示所有文件,包括隐藏文件,默认点开头的文件是隐藏文件。

    -> ls -r:倒排序。

    -> ls -t:按修改时间排序,一般rt结合,查看最近被修改的文件。

     

    -> ls -l --time-style=long-iso /data:规范时间显示(2018-04-01)。

    9 cp命令:

    -> cp /data/aa.txt /test/ :将/data/aa.txt文件拷贝到/test/目录下。

    -> cp –r /data /test/ :将/data目录递归拷贝到/test/下面。

    -> cp –a /data /test/ :-a参数相当于-pdr。

    -p:连同档案属性一块拷贝,而非默认属性。

    -d::若原文件为链接文件,则复制链接文件属性而非档案本身。

    10 mv命令:

    -> mv dir1 new_dir 重命名/移动 一个目录 。

    11 mkdir命令:

    -> mkdir /data 在根目录下创建data目录。

    -> mkdir -p /aa/bb/cc:递归创建目录。

    12 touch命令:

    -> touch /data.txt 直接在/目录下创建data.txt文件。

    13 rm命令:

    -> rm /test/aa.txt :删除/test/aa.txt文件。 不加参数会提示确认删除。

    -> rm –f /test/aa.txt :强制删除,不会出提示。

    -> rm –r /test :删除目录,目录下若有文件,则每个文件都会提示,可以加f参数 rm -rf /20171231。

    14 cat命令:

    -> cat /data.txt 查看data.txt文件中的内容。

    -> cat -n /data.txt:显示行号。

    -> cat test{1,2}.txt >/tmp/aa.txt:将test1.txt和test2.txt文件内容合并到aa.txt里面。

    -> cat -T test.txt:区分tab键和空格,tab键会被^I替代。

    -> cat -E test.txt:会在行尾加$符号,空行也会有。

    15 head命令:

            -n<行数> 显示的行数。eg.显示文件的前n行:head -n 5 log2014.log

          eg.输出文件除了最后n行的全部内容:head -n -6 log2014.log 

    -c<字节> 显示字节数。eg.显示文件前n个字节:head -c 20 log2014.log 

          eg.文件的除了最后n个字节以外的内容:head -c -32 log2014.log

    16 tail命令:

    -n<行数> 显示行数。eg.显示文件最后5行内容:tail -n 5 log2014.log

    -f 循环读取。eg.循环查看文件内容:tail -f test.log

    17 more命令:more命令,功能类似cat,cat命令是整个文件的内容从上到下显示在屏幕上。more会以一页一页的显示方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能 。

    eg.显示文件中从第3行起的内容:more +3 log2012.log

    eg.从文件中查找第一个出现”day3”字符串的行,并从该处前两行开始显示输出:more +/day3 log2012.log 

    eg.设定每屏显示行数:more -5 log2012.log 

    18 less命令:less 与 more 类似,但使用 less 可以随意浏览文件,而 more 仅能向前移动,却不能向后移动,而且 less 在查看之前不会加载整个文件。 

    eg.查看文件:less log2013.log 

    eg.ps查看进程信息并通过less分页显示:ps -ef |less 

    用户、群组和权限

    19 用户及passwd文件:id+用户名

    /etc/passwd文件的功能:存储所有用户的相关信息,该文件也被称为用户信息数据库(Database)。

    /etc/passwd文件每个字段的具体含义:

    a) 第1个字段(列)记录的是这个用户的名字(在创建用户时root用户起的)。
    b) 第2个字段(列)如果是x,表示该用户登录Linux系统时必须使用密码;如果为空,则该用户在登录时无须提供密码。
    c) 第3个字段(列)记录的是这个用户的uid。
    d) 第4个字段(列)记录的是这个用户所属群组的gid。
    e) 第5个字段(列)记录的是有关这个用户的注释信息(如全名或通信地址)。
    f) 第6个字段(列)记录的是这个用户的家目录的路径。
    g) 第7个字段(列)记录的是这个用户登录后,第一个要执行的进程。

    20 shadow文件:

    /etc/shadow文件的功能:存储所有用户的密码,每一个用户占用一行记录,该文件实际上就是存放用户密码的数据库(Database)。

    /etc/shadow文件每个字段的具体含义:

    a) 第1个字段(列)是用户名。
    b) 第2个字段(列)是密码,这个密码是经过MD5加密算法加密过的密码。

    21  群组及group文件:

    /etc/group文件的功能:存放了Linux系统中所有群组的信息,它实际上就是一个存放群组信息的数据库(Database)。

    /etc/group文件每个字段的具体含义:

    a) 第1个字段是这个群组的名字。
    b) 第2个字段中的x表示这个群组在登录Linux系统时必须使用密码。
    c) 第3个字段记录的是这个群组的gid。
    d) 第4个字段记录的是这个群组里还有哪些群组成员。

    22 useradd命令:新增一个用户

    a) –u:指定用户的UID
    b) –g:指定用户所属的群组
    c) –d:指定用户的家目录
    d) –c:指定用户的备注信息
    e) –s:指定用户所用的shell

    23 usermod命令:修改用户账户

    a) –u:修改用户的UID
    b) –g:修改用户的GID
    c) –G:将一个用户加入到指定的群组中
    d) –d:修改用户的家目录
    e) –c:修改用户的备注信息
    f) –s:修改用户所用的shel

    eg.将babydog4这个用户添加到babydog6这个群组中的命令:usermod –G babydog6 babydog4

    24 锁定、解锁用户:

    usermod –L命令:将用户的账号锁住。eg.将babydog6用户的账号锁住的命令:usermod –L babydog6

    usermod –U命令:将用户的账号解锁。eg.将babydog6用户的账号解锁的命令:usermod –U babydog6

    25 userdel命令:删除用户

    –r:在删除用户的同时删除这个用户的家目录及其邮箱。

    eg.删除babydog5用户不删除其家目录的命令:userdel babydog5

    26 groupadd命令:创建一个新的群组账号

    –g:指定群组的GID

    eg.新增加一个名为boydogs的群组的命令:groupadd boydogs

    27 groupmod命令:修改一个群组账号的信息

    a) –g:修改群组的GID。eg.修改police群组的gid为521的命令:groupmod –g 521 police
    b) –n:修改群组的名称。eg.将群组boydogs改名为daddogs的命令:groupmod –n daddogs boydogs

    28 groupdel命令:删除一个群组账号

    eg.删除daddogs群组的命令:groupdel daddogs

    29 ls -l 查看文件权限:权限信息、硬链接数、属主、属组、文件大小、文件创建日期、文件名

         ll -d 查看目录权限:

    第一列权限信息:

    a) 第1个字符为第1组,代表这是一个文件(-)或是一个目录(d),也可以是其他资源。
    b) 第2、3、4个字符为第2组,定义了文件或目录的所有者(owner)所具有限的权,使用u代表所有者(owner)对文件的所有权限。
    c) 第5、6、7个字符为第3组,定义了文件或目录的所有者所在的群组中其他(用户)所具有的权限,使用g代表这一组(group)权限。
    d) 第8、9、10个字符为第4组,定义了既不是owner也不和owner在同一群组的其他用户对文件或目录所具有的权限。使用o代表这一组(other)权限。

    使用如下4个字符来表示文件操作权限:

    a) r:表示read权限,也就是可以阅读文件或者ls命令列出目录内容的权限。
    b) w:表示write权限,也就是可以编辑文件或者在一个目录中创建和删除文件的权限。
    c) x:表示execute权限,也就是可以执行程序或者使用cd命令切换到这个目录以及使用带有-l选项的ls命令列出这个目录中详细内容的权限等。
    d) -:表示没有相应的权限(与所在位置的r、w或x相对应)。

    30 chown修改文件权限。eg.修改文件file1的属主为root的命令为:chown root file1

    chown 属主:属组 文件
    chown :属组 文件
    chown 属主 文件

    -R:修改目录下所有文件

    31 chgrp修改文件的属组。eg.修改文件file1的属组为wg的命令为:chgrp wg file1

    32 chmod命令的功能:设定或更改文件或目录上的权限。只有属主才可以修改文件的权限。只写文件权限修改文件即覆盖原文件内容。只写目录权限不可以新建文件,必须加上可执行权限。

    u:表示所有者(owner)的权限。
    g:表示群组(group)的权限。
    o:表示既不是owner也不与owner在同一个group的其他用户(other)的权限。
    a:表示以上3组,也就是所有用户(all)的权限。

    +:表示加入权限。
    -:表示去掉权限。
    =:表示设定权限。

    r:表示read(读)权限。
    w:表示write(写)权限。
    X:表示execut(执行)权限。

    eg.在dog_wolf文件上添加所有者和同组用户的可执行权限的命令:chmod ug+x dog_wolf

    根目录没有可写权限只有可执行权限,但可以在根目录下的目录创建文件。

    33 执行文件方法:

    sh 文件路径

    bash 文件路径

    . 文件路径

    ./ 文件路径

    34 使用数字表示法设定文件或目录上的权限

    数字代表的资源权限状态:eg.664代表rw-rw-r--权限
    4:表示具有读(read)权限。
    2:表示具有写(write)权限。
    1:表示具有执行(execute)权限。
    0:表示没有相应的权限。

    打包和压缩文件

    35 >符号和>>符号

    eg. cat /ect/passwd >new_pass.txt

    eg. 回显内容:echo 'hello'

    eg. 覆盖文件内容:echo 'hello' > new_pass.txt

    eg. 追加文件内容:echo 'hello' >> new_pass.txt

    36 归档文件和归档技术:

    归档的目的就是方便备份、还原及文件的传输操作。

    tar命令:将多个文件(也可能包括目录)放在一起存放到一个磁带或磁盘归档文件中。并且将来可以根据需要只还原归档文件中的某些指定的文件

    c:创建一个新的tar文件。
    t:列出tar文件中目录的内容。
    x:从tar文件中抽取文件。
    v:显示所打包的文件的详细信息,v是verbose的第1个字母。
    z:使用gzip压缩算法来压缩打包后的文件。
    j:使用bzip2压缩算法来压缩打包后的文件。

    可选参数如下: 
    -C:切换到指定目录 
    -f:指定压缩文件 

    eg.使用tar命令将arch目录打包成一个名为arch.tar的归档文件的方法(要求显示所有打包的文件和目录):tar cvf arch.tar arch 

    eg.使用tar命令显示arch.tar这个归档文件(包)中的所有文件的方法:tar tf arch.tar

    eg.使用tar命令恢复arch.tar中的全部内容的方法:tar xvf arch.tar -C 路径

    eg.使用tar命令压缩arch.tar的归档文件和该目录下a.txt文件的方法:tar czvf arch.tar.gz /a.txt

    压缩的定义:压缩就是将一个大的文件通过一些压缩算法变成一个小文件。 

    解压缩就是将一个通过一些压缩算法的文件恢复到压缩之前的样子。

    gzip命令和gunzip命令:

    eg.将文件file1压缩成.gz格式的压缩包应该使用的命令为:gzip file1 –C > /路径/name.gz

    eg.将压缩文件file1.gz解压缩的命令为:gunzip file1.gz >

    使用tar命令的同时进行压缩和解压缩:

    eg.使用tar命令将arch目录打包而且同时使用gzip的技术压缩打包后文件的方法,包括目录下的文件(打包后的文件名为arch.tar.gz):tar cvfz arch.tar.gz arch

        使用tar命令将arch目录下的文件打包而且同时使用gzip的技术压缩打包后文件的方法,(打包后的文件名为arch.tar.gz):tar cfz arch.tar.gz *

    eg.使用tar命令将arch目录打包而且同时使用bzip2的技术压缩打包后文件的方法(打包后的文件名为arch.tar.bz2):tar cvfj arch.tar.bz2 arch

    编辑文件

    37 vim创建文件

    进入文件进入命令行模式,输入a,i,o进入编辑模式,按ESC切回命令行模式,输入:进入扩展模式,按ESC切回命令行模式。

    vi编辑器的3中基本模式:

    a) 命令行模式:vi的默认模式。在这一模式中,所有的输入被解释成vi命令,可以执行修改、复制、移动、粘贴和删除正文等命令,也可以进行移动光标、搜索字符串和退出vi的操作等。
    b) 编辑模式:在编辑模式中,可以往一个文件中输入正文。在这一模式下,输入的每一个字符都被vi编辑器解释为输入的正文。使用ESC键返回命令行模式。
    c) 扩展模式:在一些UNIX系统上也叫最后一行模式。在这一模式下,可以使用一些高级编辑命令,如搜寻和替代字符串、存盘或退出vi编辑器等。要进入最后一行模式,需要在命令行模式中输入冒号(:),冒号这一操作将把光标移到屏幕的最后一行。

     进入插入模式:

    a:进入插入模式并在光标之后进行添加。
    i:进入插入模式并在光标之前进行插入。
    o:进入插入模式并在当前(光标所在)行之下开启新的一行。

    常用的删除与复制的常用按键:

    粘贴命令:

    复原和重做命令:

    扩展模式下常用的命令: 

    快速移动光标在文件中的位置的命令:

    快速在屏幕中移动光标的位置的命令:

    0跳到行首,¥跳到行末

    ctrl+a跳到命令首部,ctrl+e跳到命令尾部

    扩展模式:set nu 显示行号

    系统的初始化和服务

    38 Linux系统引导的顺序:

     

    BIOS的定义:BIOS(Basic Input/Output System)(基本输入/输出系统的缩写),它是硬件与软件之间的接口,而且是非常基本的接口。

    MBR会告诉电脑从该设备的某一个分区(partition)来装载引导加载程序(boot loader)。Boot loader储存有操作系统(OS)的相关信息,比如操作系统名称,操作系统内核 (kernel)所在位置等。常用的boot loader有GRUB和LILO。

    GRUB的定义:GRUB是Grand Unified Bootloader(多重操作系统启动管理器)的缩写。

    grub的配置文件为:grub.conf 用root使用vim命令在/ect目录下打开:defaul为默认加载某操作系统,timeout为读秒时间
    设置grub Md5加密命令 grub-MD5-crypt
    Password = 明文或 password --md5 密文(编辑grub配置文件的密码)

    Title 前加Password = 明文或 password --md5 密文(加载内核系统引导必须的密码

    内核的初始化和init的初始化:

    init的配置文件为:/etc/inittab 

    a) 决定预设(默认)要使用哪个run levels(运行级别)。 
    b) 执行一些系统初始化的脚本(程序)来初始化操作系统。
    c) 根据run level的设置来执行所对应目录中的程序,以决定要启动哪些服务。
    d) 设定某些组合键。
    e) 定义UPS不间断电源系统,即当电源出现问题时或电源恢复时要执行哪些程序。 
    f) 产生6个virtual consoles,也就是tty1~tty6。

  • 相关阅读:
    拓扑排序模板
    杭电 2066 一个人的旅行
    杭电 1596 find the safest road (最小路径变形求最大安全度)
    【状态压缩DP】【BZOJ1087】【SCOI2005】互不侵犯king
    【bzoj1001】【最短路】【对偶图】【最大流转最小割】狼抓兔子题解
    [BZOJ1179][APIO2009][强连通分量Tarjan+spfa]ATM
    [BZOJ1194][HNOI2006][强连通分量Tarjan+dfs]潘多拉的盒子
    说一说ST表 讲一讲水题
    【强连通分量】tarjan算法及kosaraju算法+例题
    对拍程序讲解及源码举例
  • 原文地址:https://www.cnblogs.com/cirr-zhou/p/8760332.html
Copyright © 2020-2023  润新知