Linux复习


  • 一台主机上能够安装多个虚拟机
  • Linux操作系统诞生于1991 年10月5号,此为第一次正式向外公布时间
  • Linux是一个多用户系统,也是一个多任务操作系统。
  • Linux内核版本号命名:2.6.22---2为主版本号,6为次版本号,22为修正号
  • Ubuntu每6个月发行一个新版本,采用unity桌面环境
  • Red Hat默认采用GNOME桌面环境
  • Mandriva Linux默认采用KDE桌面环境
  • Linux系统一般由内核文件系统应用系统shell组成
  • 目前大部分Linux文件系统都默认采用ext4文件系统
  • /etc:系统配置文件
  • /dev:外部设备
  • /boot:启动程序(引导文件)
  • /lib:共享函数库
  • /mnt:默认挂载点
  • /proc:虚拟文件系统
  • /bin:外部命令目录
  • /var:系统修改过的数据
  • Linux采用树形结构,最上层是根目录,其他目录从根目录出发而生成
  • Linux中的文件类型:

  "-"——普通文件;

  "d"——目录文件;

  "l"——链接文件;

  "c"——字符设备文件;

  "b"——块设备文件;

  "s"——套接字文件;

  "p"——管道文件

  • 文件权限:共十位长度,分为四段:

    1.第一段 1个长度:文件类型 

    2.第二段 3个长度:文件所有者的权限(-u)

    3.第三段 3个长度:文件当前群组的权限(-g)

    4.第四段 3个长度:其他用户及群组的权限(-o)

    r(22)w(21)x(20) 

       chgrp,chown命令默认情况下只有root权限才能操作,而chmod命令只有文件的所有者和root权限才能进行操作

  chgrp 组名 文件/目录名

  chown 用户名:组名 文件/目录名    其中:组名可以省略

  chmod:符号模式:chmod [augo]+[+-=]+[rwx] 文件/目录名

      绝对模式:chmod 权限等级 文件/目录名     (权限等级中750和650使用较多)

  • SSH服务使用的默认端口号是22
  • tail:显示文件的最后n行,默认为10; tail -f:不断读取最新内容,达到实时监控目的
  • ls: -a 显示所有文件; -l 使用长格式显示; -t 按创建时间(由晚到早); -r 反序输出(默认首字母升序) -altr: 所有文件按创建时间从早到晚排序
  • pwd:显示当前工作目录的完整路径
  • wc:统计命令         wc filename ===>  行数(-l) 词数(-w) 字节数(-c) filename
  • 链接:
    • 硬链接:不能链接到目录和不同文件系统的文件,硬链接为指针,与原文件inode(索引结点号)相同,文件删除后硬链接仍有效 命令:ln
    • 软链接:能链接到目录并跨文件系统,系统会重新分配inode给软链接,文件删除后软链接也会失效 命令:ln -s

用户和用户组

  • 用户:任何使用系统资源的用户必须先向系统管理员申请一个账号,然后以账号的身份进入系统
  • 在Linux系统中,任何文件都属于某一特定用户,而任何用户都隶属于至少一个用户组
  • 用户分类:
    1. 普通用户:uid1000~65535  权限不高,只能在用户主目录创建文件
    2. 系统用户:uid1~999  代表系统的组成部分,一般没有运行环境
    3. 超级用户:uid0  root用户拥有最高权限
  • 创建新用户: useradd makonyan -g(指定群组)  makolin -m(创建主目录) -p(设置密码)123456
  • 用户相关文件: /etc/passwd /etc/shadow
  • 用户组相关文件: /etc/group /etc/gshadow
  • useradd:创建一个新用户
-d 指定用户主目录
-g 指定组

-m

自动创建主目录
-p 指定密码

 

  • passwd
-l 禁用用户
-u 解禁用户
-d 删除密码

 

  • usermod
-d 更改主目录
-l 更改账号名称
-g 更改所属组
  • userdel  -r把主目录一起删除
  • groupadd
-g 指定组id
-o 允许存在相同组id
  • groupmod
-g 指定组id
-o 与-g一起使用,允许新gid和已存在的相同
-n 更改组名
  • groupdel
  • gpasswd
-a 添加用户
-d 从组中删除用户
-r 删除密码

 硬盘:

  • 主分区:1-3  扩展分区:4  逻辑分区:5~
    • 只能格式化主分区和逻辑分区,不能格式化扩展分区
  • 硬盘分区:

    1.在虚拟机上设置添加SCSI类型的硬盘

    2.在Ubuntu系统内能够通过fdisk -l命令查看硬盘

    3.执行sudo fdisk /dev/sdb(新硬盘的名字)命令,通过输入m显示帮助命令(n(new) q退出           w保存退出)

    4.分区格式化,创建文件系统

     执行sudo mkfs -t ext4 /dev/sdb(+分区序号) *不能对拓展分区格式化

    5.在使用前,挂载分区

    挂载方式一:手动挂载(/share为挂载点)

    root@garton-virtual-machine:/#mount ext4 /dev/sdb1 /share

 

    挂载方式二:自动挂载

    root@garton-virtual-machine:/# vi /etc/fstab

    /dev/sdb1     /share    ext4        defaults    0  0  

    第一列  文件系统名称

    第二列 Mount point:设备的挂载点,就是你要挂载到哪个目录下。

    第三列 filesystem:磁盘文件系统的格式,包括ext2、ext3、reiserfs、nfs、vfat等

    第四列 parameters:文件系统的参数

    第五列:能否被dump备份命令作用

    第六列 是否检验扇区:开机的过程中,系统默认会以fsck检验我们系统是否为完整(clean)。

  • 交换分区:swap

    概念:Linux下的虚拟内存分区,作用是在物理内存使用完之后,将磁盘空间(swap分区)虚拟成内存使用

    • 设置方法:
    1. 创建交换条件:dd if(输入文件)=/dev/zero/ of(输出文件)=/swapfile bs(读写块大小)1024 count(仅复制blocks的块数)=6656
    2. 指定交换条件:mkswap [参数] [设备名称/文件] [交换区大小]      free查看内存使用情况
    3. 激活swap文件:swapon [of名]
    4. 删除swap文件:swapoff [of名]
    • 自动加载:在/etc/fstab文件下配置

进程管理:

  • ps:查看进程   
  1. -au较详细信息   
  2. -ax所有使用者的进程
  • top:监控进程 
  1. P:根据CPU占用排序
  2. M:根据内存大小排序
  3. u:指定用户
  4. k:杀死进程
  • kill:结束进程  -l显示信号名称列表

任务计划

  • 设置方法:crontab;允许用户提交、编辑、删除相应作业。
    • 格式:crontab [选项] [用户名]
    1. -l 显示
    2. -r 删除
    3. -i 删除前提示
    4. -e 编辑

vi编辑器

  • vi命令分为命令行模式,输入模式,末行模式;其中输入模式能够进行文档的修改。

命令行模式:当进入vi时,处在命令行模式

命令行文本修改命令
x 删除光标所在位置的字符
dd 删除光标所在行
yy 复制光标所在行
p 将复制的(或最近一次删除的)内容粘贴
u 撤销上次操作
  • 输入模式:
命令行进入输入模式的命令
i 在当前光标所在处插入
a 从光标所在的下一个字符插入
r 替换光标所在的字符一次
o 在光标所在下一行插入新的一行
  • 工作模式切换:
    • 当进入vi时,处在命令行模式
    • 命令行模式->输入模式:iIaArRoO
    • 输入模式->命令行模式:Esc
    • 命令行模式->末行模式::
    • 末行模式->命令行模式:命令执行后或将末行输入的命令全部删除后

shell脚本

  • 每个Linux系统的用户可以拥有自己的用户界面或Shell
  • shell脚本执行方式
  1. 直接命令执行:在提示符下执行(需要对应权限)
  2. sh/bash 脚本名  :  参数:-n不执行只检查语法 -v输出内容再执行
  3. source 脚本名:可以没有执行权限
  • Shell脚本常用系统变量:  
    • $#   命令行参数的个数
    • $0   当前程序的名称
    • $n   当前程序的第n个参数 
    • $?   执行的上个指令或函数的返回值
    • $*   以"参数1 参数2 …"的形式保存所有参数
    • $$  当前程序的PID(进程ID)
    • $!   上一个命令的PID
  • 常见环境变量:
    • PATH 命令搜索路径
    • HOME 用户home目录的路径
  • Shell自定义变量要求:

    (1) 首个字符必须为字母(a-z,A-Z)

    (2) 中间不能有空格,可以使用下划线(_)

    (3) 不能使用标点符号

    (4) 不能使用bash里的关键字(可用help命令查看保留关键字)

    (5) 给变量赋值的时候,不能在“=”两边留空格

  • test中的整数运算符
    • -eq  equal
    • -ne  not equal
    • -gt  greater than
    • -lt   less than
    • -ge greater than or equal
    • -le  less than or equal
  • test中的字符串运算符
    • str1 = str2  判断两个字符串是否相同,相同则为ture
    • str1 != str2 判断两个字符串是否不相同,不同则为true
    • -z str 判断字符串str长度是否为0,如果是空字符串则返回true
    • -n str 判断字符串str长度是否为0,如果是空字符串则返回false
  • 使用 [ ] 进行条件判断要注意加空格
  • 特殊符号
    • " " :由双引号括起来的字符,除$、反斜线\和反引号``几个字符仍是特殊字符并保留其特殊功能外,其余字符仍视为普通字符。
    • ' ' :由单引号括起来的字符都作为普通字符出现
    • ` ` :把反引号括起来的字串解释为命令行后首先执行,并以它的标准输出结果取代整个反引号部分
    • 注意:双引号和不使用引号效果基本一致(特殊字符具有特殊字符的含义),单引号作为普通字符
  • 文件运算符
    • -e  file 文件名存在则返回ture
    • -d  file 文件名存在且为目录则返回true
    • -f   file 文件名存在且为文件则返回true


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM