ubuntu Linux操作系统使用教程(学习笔记)

本文为《Ubuntu Linux操作系统使用教程》(人民邮电出版社)的个人学习笔记。

第一章——系统介绍

Linux、GNU、GPL的关系,Linux的主要发行版本、Linux系统特性及与Windows的区别,略

第二章——系统部署

  1. 系统安装——略,参考虚拟机安装与双系统(win10+ubuntu)安装及其他
  2. Grub程序简介——Grub是个启动引导程序
    • Grub的配置——设置默认启动系那个等,sudo gedit /etc/default/grub(使用gedit来编辑对应文件);修改文件保存后使用sudo update-grub更新
    • Grub的修复——安装新系统后覆盖了Grub引导程序则需要修复;从U盘启动ubuntu——参考ubuntu安装部分——然后执行以下命令:
    grub
    find /boot/grub/stage1
    root (hdx,y)
    setup (hd0)
    quit
    
    具体含义不多解释,我也没用过,参考书籍P19(2017版)
  3. Linux初始化、硬件设备设置、桌面环境等,图形操作,简单略。

第三章——应用管理

office、浏览器、多媒体、收发邮件、打印机等使用,简单略。

第四章——基本命令

1.结合个人的理解

在Linux中一切皆文件,Linux支持多用户,用户是文件的使用者,对任何一个文件,其使用者有三类——属主、属组用户与其他用户(当然在这三类用户之上还有一个超级用户root,root用户拥有所有文件的所有权限),每一类用户都拥有对该文件执行不同操作的权限。对文件执行操作的权限有三个r,w,x,分别为读(Read)、写(Write)、执行(eXecute)权限。

对不同类型的文件(上章介绍了有七种类型文件),这三种权限含义有一定差别——

  1. 对于目录文件,读权限意味着可以列出当前目录下所有的子目录与文件的权限,写意味着可以新建、删除文件的权限,执行权限意味着可以进入该目录(cd命令进入该目录),所以执行权限是最基本的权限;
  2. 对于普通文件,读权限意味着可以读取文件内容,写权限意味着可以向文件写入内容,执行权限意味着可以执行该文件——普通文件中的可执行文件(即机器二进制指令等)要被用户调用,需要该用户有执行权限;而一般的不是可执行文件其执行权限没有意义。

用户对文件的权限可通过ls -l列出文件时查看,-l参数指定列出文件的详细信息,其列出的第一项为10个字母串,比如drwxr-xr--,第一个字母表示文件类型,如下常用命令中说明的七种类型;接下来三个字母表示属主用户权限,之后三个是属组用户权限,之后是其他用户权限。更改文件的属主、属组可以参考常用命令,管理用户(增、删、分组)可以参考第五章命令。

2.常用命令列表(记忆)

  1. man 命令——查看命令行手册,man 命令查看命令的用法

  2. 目录操作

    • 创建目录——mkdir

    • 删除目录——rmdir

    • 修改创建文件——touch

    • 删除文件——rm

    • 移动——mv

    • 复制——cp

    • 跳转目录——cd(打印当前目录pwd

  3. 文件查看——lscatheadtailmoreless

  4. 权限管理

    • 权限表示——九个字符,三个八进制数,九个二进制数——权限对目录与文件意义
    • 改变权限——chmod 权限数字 文件名
    • 用户组增删权限、赋予权限——chmod [u/g/o/a][+/-,=][r/w/x] 文件名——chmod g+w file给其他用户增加对file文件的写权限(另有-的用法减去权限);chmod u=rwx file给属主用户权限设为rwx;chmod g=u file给属组用户权限设为与属主用户相同
    • 只有root用户与文件所有者才有更改权限的资格
    • 更改所有权、更改组(该权限只有root用户有)——chownchgrp
  5. 链接文件——创建链接:ln -s file file-link

    共有七种文件类型——

    • 普通文件(-);
    • 目录(d);
    • 字符设备文件(c);
    • 块设备文件(b);
    • 本地域套接口(s);
    • 有名管道(p);
    • 符号链接(l)
  6. 文件重定向——

    • 输入重定向——<即时输入;<<块输入;
    • 输出重定向——>覆盖输出;>>追加输出
  7. 文件查找

    • 文件查找——find 路径 -name 文件名 -type 文件类型,前面文件类型符号,如果是普通文件不需指定这个参数
    • 命令查找——which 命令
  8. 管道——重定向的拓展,将一个命令的输出作为另一个命令的输入——如ls|grep ay,列出当前目录下文件名,并将其作为后一个命令的输入;后一个命令查找这些文件名中含有字符ay的

多使用man查看命令用法!

一点个人理解补充——
比如用一个一般用户执行以下命令useradd alice添加一个用户alice(当然按照常理也知道添加用户不是一个一般用户可以执行的操作)发现无法执行,执行which useradd来查看该命令在那个文件夹下(在/usr/sbin/下),然后ls -l /usr/sbin/useradd查看该可执行文件权限,为rwxr-xr-x说明即使是一般用户也有执行权限,但却不能执行。观察执行该命令时的报错——

useradd:Permission denied
useradd:无法锁定 /etc/passwd,请稍后再试

可以发现是跟/etc/passwd文件的权限相关,使用ls -l /etc/passwd查看其文件权限为rw-r--r--说明该文件对于一般用户只有读权限。实际上这里是因为useradd命令执行中需要向/etc/passwd添加内容(/etc/passwd是系统保存用户的账号、密码、id、分组等信息的配置文件),而一般用户对该文件没有写权限。Linux中一切皆文件,执行的命令也是文件,所以某个命令无权限执行实际上是无权限执行该命令的脚本,或者是该命令执行过程中需要改动一个该用户无权限改动的文件等。

第五章——用户管理

  • 添加用户——sudo useradd [-g 组id] -m 新用户名——m表示创建主目录,不创建无法使用图形界面
  • 更改密码——sudo passwd 用户名
  • 查看用户名与组名——id 用户名
  • 删除用户——sudo userdel 用户名——加参数-r表示同时删除用户主目录,确定主目录中没有重要文件
  • 添加组——sudo groupadd [-g gid] 组名
  • 删除组——sudo groupdel 组名
  • 将用户添加到组——sudo usermod -g 组名 用户名
  • 切换当前用户——/bin/su 用户名——不带用户名切换到root用户;ubuntu中不能切换到root用户,只能用sudo来借用root用户权限
  • 切换回原用户——exit——su切换只切换用户,没切换环境
  • 切换其他用户身份执行——sudo [-u 用户名] 执行的命令——不给出用户名则切换为root用户执行,/etc/sudoers文件决定每个用户可在哪些机器上切换到哪些用户执行哪些命令
  • 查看用户与分组——cat /etc/passwdcat /etc/group
  • 打印历史命令——history [n]——n表示最近n条命令

第六章——进程管理

  • 显示进程——
    • ps aux——显示所有进程
    • ps lax——显示所有进程,字段不一样,有父进程与谦让度信息
    • top——实时(其实是3s刷新一次)显示占用CPIU与内存前几的
    • 显示进程字段——USER创建用户;PID进程ID;%CPU、%MEM为CPU与内存占用百分比;VSZ占用虚拟内存大小;RSS内存中页数量(一页通常为4K);TTY终端id号;STAT进程状态(R运行,D休眠,S睡眠,T终止,Z僵尸进程,附加标志:<,N,L,s);START启动时间;TIME占用CPU时间;COMMAND命令和参数
  • 杀死进程——
    • kill pid——杀死id为pid的进程,只是向pid进程发送了一个EXIT信号,大部分情况下退出;但是进程可能捕捉到这个信号并忽略(如果不捕捉系统默认进程退出),比如命令行执行命令时默认ctrl+c是向当前命令进程发送一个INT(中断)信号,但是执行bc命令时其捕捉并忽略了该信号
    • kill 信号 pid——向pid进程发送信号,(kill -l列出可向进程发出的信号,这些信号都是以SIG开头,使用时大小写不敏感,且前面的SIG可省略)
    • sudo kill -KILL pid或者sudo kill -SIGKILL pid或者sudo kill -9 pid,内核级别“杀死”进程,该信号不可能被捕捉,所以绝大部分情况能杀死进程;还不行只能重启了
    • killall -HUP pname杀死名称为pname的进程
  • 设置进程的优先级
    • nice -n 谦让度 执行的命令——设置执行的命令的谦让度,这里谦让度为相对的数值(相对于父进程),谦让度越高优先级越低
    • renice 谦让度 -p pid——重新设置进程的谦让度,这里谦让度为绝对的数值
      • 谦让度为-20~19的整数,只可提高谦让度降低其优先级,不可降低谦让度提高优先级(防止出现子进程优先级高于父进程的情况);但是使用root权限可以提高其优先级
  • PROC文件系统——在运行时在/proc目录(该目录只存在于内存中,计算机外存上没有该目录)下有数字命名的文件夹,保存进程相关信息,文件夹名称即为进程id,通过改变这里的相关文件即可改变进程行为(这里相当于进程也是文件了,这个查阅相关专业书籍);ps命令即是访问该文件获取进程信息的

第七章——磁盘管理

  • 查看分区——设备信息文件保存在/dev目录下,SCSI硬盘文件在目录下为名称是sd的文件,第一块硬盘为sda,第二块为sdb以此类推;硬盘上的分区为sda1,sda2等,1~4为主分区,5之后为逻辑分区;可用ls /etc/|grep sd查看硬盘分区信息
  • 磁盘分区——fdisk,该命令是交互式命令行操作,输入相应命令执行分区(n)、打印分区类型(print)、更改分区类型(type),查看可用命令(m)、查看分区类型编号(L)等,每一个命令执行过程可能需要询问用户相应命令执行过程中的参数(比如分区从哪个扇面开始、是否为主分区等);完成分区后需要输入write命令写入磁盘才能生效,之后q退出fdisk交互命令——直接使用安装U盘可视化分区更简单
  • 查看各磁盘空间域使用情况——df
  • 查看各目录大小——du

第八章——软件包管理

  • RPM(Red Hat Package Manager)与DEB(Debian)——都是软件包管理工具
  • APT软件包管理工具——是目前最成熟的软件包管理工具,可自动下载、安装软件以及解决其依赖项(软件下载源在/etc/apt/sources.list文件指定,可查看该文件看有哪些下载源以及修改添加自定义的下载源);主要有apt-get命令和apt-cache命令,使用sudo加以下命令:
    • apt-get install 软件名——安装
    • apt-get upgrade 软件名——更新已有软件
    • apt-get remove 软件名——卸载已安装软件
    • apt-get purge 软件名——卸载并清除配置文件
    • apt-get source 软件名——获取软件源码
    • apt-get clean 软件名——清理已下载包文件

第九章——任务计划

  • at——设置单次的定时任务,如
    • at 16:00——enter之后输入要执行的命令,会在当天16:00执行
    • at now +5 minutes——会在五分钟后执行
    • at 17:00 -f ~/alarm——会在17:00执行当前目录下的alarm脚本
    • at 3:00 12/09/2019——之后输入在该时间点执行的命令
    • atq——列出当前所有的一次性定时任务
    • atrm n——清除序号为内的单次定时任务
  • crontab——在/etc/crontab文件中添加系统管理相关的定时任务,保存文件即有效;在/etc/cron.d/目录下添加应用程序的定时任务,定时任务文件与应用程序同名配置方法与系统定时任务一样;在var/spool/cron/crontabs/目录下简历用户的定时任务配置文件,方法如下:
    • crontab filename——将filename文件安装为用户的crontab文件(每次更改后都要重新安装以生效)
    • crontab -e——编辑用户的crontab文件
    • crontab -l——列出用户的crontab文件中内容
    • crontab -r——删除用户的crontab文件
    • 关于crontab文件的编辑——一般在文件开始几行注释会说明(如/etc/cron文件中),一般一行一个任务,每个任务每一列分别设置m h dom mon dow user command(即分钟、小时、每月第几天、第几个月、每周星期几、执行任务的用户身份、执行的命令),如0 0 * * * root (tar czf /media/disk/passwd.tar.gz /etc/passwd)即每天0点0分以root身份打包/etc/passwd文件为disk盘上的passwd.tar.gz文件备份

第十章——网络管理

不太理解,参考原书籍或其他文章。

第十一章——搭建网络服务

第十二章——安全设置

第十三章——编程开发

发布了28 篇原创文章 · 获赞 14 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/liyunxin_c_language/article/details/103362824