Linux期末考试复习(全程都是干货)

linux复习

文件

文件目录

/bin : 这个目录中存放着经常使用的命令
/sbin :存放系统管理员使用的系统管理程序 super user
/home :存放普通用户的主目录,在 Linux 中每个用户都有一个自己的目录,一般该目录名
是以用户的账号命名。演示。
/root :该目录为系统管理员,也称作超级权限者的用户主目录
/lib :系统开机时所需的最基本的动态连接共享库,类似于windows中的DLL文件。几乎所
有的应用程序都需要利用到这些共享库。如果删除的话,很多文件将不能运行。
/etc :所有的系统管理所需要的配置文件和子目录,比如:my.conf
/usr :用户安装的应用程序的文件都放在这个目录下,类似于 windows 下的 program
files 目录
/boot :存放启动 Linux 时的核心文件,包括一些连接文件以及镜像文件。如果这个文件被
删除或者破坏,那么在启动的时候就会出现问题。
proc :【不能动】这是一个虚拟目录,它是系统内存的映射,访问这个目录来获取系统信
息。
srv :【不能动】service的缩写,该目录存放一些服务启动之后需要提取的数据。
sys :【不能动】该目录下安装了一个新的文件系统 sysfs
tmp :这个目录是用来存放一些临时文件的
/dev :类似于 windows 的设备管理器,把所有的硬件用文件的形式存储。比如:cpu,硬盘
等都会映射成一个文件来管理。
/media : Linux 系统会自动识别一些设备,例如U盘,光驱等,当识别后, Linux 会把识
别的设备挂载到这个目录下。
/mnt :为了让用户临时挂载别的文件系统的,我们可以将外部的存储挂载在 /mnt/ 上,然
后进入该目录就可以查看里面的内容了。如:共享文件。
/opt :给主机额外安装软件所存放的目录。将安装文件拷贝在此目录下。约定俗成。比如:
jdk,hadoop
/usr/local :安装软件所安装的目录。一般是通过编译源码方式安装的程序。
/var :这个目录存放着一些不断扩充着的东西,习惯将经常被修改的目录放在这个目录下,
包括各种日志文件。

Vi模式

有三种模式

  • 正常
  • 插入
  • 命令行
:i o a

从编辑模式切换为命令行需要按 esc

wq:保存退出
q!:强制退出(不保存)

快捷键

yy:拷贝当前行,拷贝当行下n行   5yy,粘贴(输入p)
dd:删除当前行,删除当行下n行 5dd
u:撤销动作u
G:最后一行		gg:最首行

文件目录管理

shell基本命令
  • pwd显示当前目录 pwd
  • ls显示当前目录的文件或目录信息 ls-a:显示文件夹包括.隐藏文件 ls-l:以长列表显示
  • cd切换到指定目录 cd ~:回到家目录 cd …:回到上级目录
文件目录
  • mkdir:创建文件夹 mkdir -p:创建多级文件夹

  • rmdir删除空目录 rmdir -rf 删除非空文件夹

  • touch创建空文件 touch 文件名

  • cp拷贝文件到指令目录 cp【选项】source(被拷贝文件) dest(拷贝位置) cp -r :递归复制整个文件夹

    案例:将 /home/bbb 整个目录,拷贝到 /opt cp -r /home/bbb/ /opt/
    
  • mv移动文件夹或重命名 mv 旧文件名字 新文件夹名字(重命名) mv 现目录 移动后的目录(移动文件夹)

    v pig.txt /root/cow.txt (移动并且重命名)                                                                                                       
    
  • cat查看文件目录 cat - n 文件名:显示行号(只可看,不可以改)

  • more分屏查看文件内容

    操作 功能
    空格键 代表向下翻一页
    Enter 代表向下翻一行
    q 代表立刻离开more,不再显示该文件内容
    ctrl+F 向下滚一屏
    ctrl+B 返回上一屏
    = 输出当前行的行号
    :f 输出文件名和当前行的行号
    
  • less分屏显示 echi [选项] [输出内容]

  • head显示文件的开头部分 head -n 数字 文件

  • tail输出文件尾部的内容 tail 文件 查看文件尾10行的内容 tail -n 数组 文件名 查看文件尾5行的内容 tail -f 文件 实时追踪该文件的所有更新

    > :覆盖 >> 类似于追加

  • ln软链接 ln -s[源文件名字] 【软连接名字】 删除软链接 rm -f myroot

用户

用户管理

useradd 用户名:添加一个用户,成功后会/home/用户名  生成
useradd -d 指定目录 新的用户名:给新创建的用户指定特定的家目录
passwd 用户名:修改密码
pwd:显示当前目录
userdel 用户名:删除用户
userdel -r 删除用户以及家目录
id 用户名:返回用户消息,无则返回无此用户
su - 名字;切换名字
权限高的切到权限低的不需要密码,但是低的改高的需要
exit\logout:返回原来的用户
whoami/who am i :查看登录用户

开机重启用户登录

shutdown - h now\halt 	关机
reboot:重新启动	sync:同步数据到硬盘
su:切换用户

用户组

groupadd 组名:添加用户组
groupdel 组名:删除用户组
useradd -g 用户组 用户名:增加用户直接加上组
usermod -g 用户组 用户名:修改用户的组

用户和组相关的文件

/etc/passwd:用户的配置信息
/etc/shadow:口令配置文件
/etc/group:组的配置文件

文件所在组

  • 查看文件的所有者 ls -ahl
  • 修改文件的所有者 chown 用户名 文件名
  • 修改文件所在组 chgrp 组名 文件名
  • 改变用户所在组:改变所在组 usermod -g 新组名 用户名字
  • usermod -d 目录名 用户名

基本介绍

rwx作用到文件:
r 可读,可以读取查看
w 可以修改,但不代表可以删除,删除一个文件是对该文件所在的目录有写的权限,才能删除该
文件
x 可执行,可以被执行
rwx作用到目录:
r 可读,可以读取查看,ls 查看目录内容
w 可以修改,对目录内创建+删除+重命名目录
x 可执行,可以进入该目录,cd
1 文件:硬连接数 或 目录:子目录数+文件数
for 用户
fruit 组
0 文件大小(字节),如果是文件夹,显示4096字节
7月 11 00:33 最后修改的日期
orange.txt 文件名

修改权限

u 所有者; g 所有组; o 其他人; a 所有人(u,g,o的总和)

  • chmod u=rwx,g=rx,o=x 文件/目录名字
  • chmod o+w 文件/目录 (给文件的其他用户赋予写的权限)
  • chomod a-x 文件/目录名 (将所有人将x权限去掉)
1. 给 a.txt 文件的所有者读写执行的权限,给所在组读执行的权限,给其他组读执行权限 chmod u+rw,g+rx,o+rx a.txt
2. 给 a.txt 文件的所有者除去执行的权限,增加组写的权限 chmod a-x u-x,g+w a.txt
3. 给 a.txt 文件的所有用户添加读的权限 chmod a+r a.txt

r = 4 ; w = 2 ; x = 1 ; rwx = 4+2+1=7 chmod u=rwx,g=rx,o=x 文件目录

chmod u=rwx,g=rx,o=x 文件目录名
相当于 chmod 751 文件/目录名
案例:chmod 755 a.txt
1. 将 a.txt 文件的权限修改为 rwxr-xr-x ,使用数字的方式实现 chmod 755 a.txt

  • 修改文件所有者chown

    chown newowner 文件/目录 改变所有者
    chown newowner:newgroup 文件/目录 改变所有者和所在组
    -R 如果是目录,则使其下所有子文件或目录递归生效
    案例:
    1. 将 a.txt 文件的所有者修改成 tom  chown tom a.txt
    2. 将 bbb 目录下所有的文件和目录的所有者都修改成 tom (chmod -R tom bbb)
    
  • 修改文件/目录所在组chgrp chgrp newgroup 目录

将 a.txt 问价所在的组修改成 project   chgrp project a.xt 
2. 将 bbb 目录下所有的文件和目录的所在组修改成 project   chgrp -R project bbb

实用指令

运行级别

0:关机
1:单用户(找回失去的密码)
2:多用户状态没有网络服务
3:多用户状态有网络服务
4:系统未使用保留给用户
5:图形界面
6:系统重启

帮助指令

man 指令; 获得帮助信息
ls-l:长列表的形式展示输出
ls-a:展示目录所有文件包括.开头的隐藏文件

查找指令

  • find查找文件 find [搜索范围] [选项]

    选项 功能
    -name<查询方式> 按照指定的文件名查找模式查找文件
    -user<用户名> 查找属于指定用户名所有文件
    -size<文件大小> 按照指定的文件大小查找文件
    

按文件名,根据名称查找 /home 下 的 a.txt 文件 find /home -name a.txt

按照拥有者,查找 /opt 目录下,用户名为 root 的文件 find /opt -user root

查找整 Linux 系统下大于200M的文件(+n 大于 -n 小于 n 等于;单位:k,M,G) ls -lh find / -size 200M

  • locate快速定位文件路径 locate 文件名

  • which查看指令在哪个目录下 which ls

  • grep指令和管道符号|:grep[选项]查找内容 源文件

    选项 功能
    -n 显示匹配行及行号
    -i 忽略字母大小写
    

    请在 hello.txt 文件中查找 yes 所在的行及行号 cat hello.txt | grep -n ‘yes’ grep -n ‘yes’ hello.txt

压缩与解密指令

  • gzip/gunzip

    gzip 用于压缩文件, gunzip 用于解压文件

    • gzip 文件名 将文件压缩为*.gz
    • gunzip 文件 压缩文件命令
  • zip/unzip

  • zip/unzip [选项] xxx/zip 压缩文件和目录

    zip 用于压缩文件, unzip 用于解压,这个在项目打包发布中很有用

    • zip [选项] xxx.zip (压缩文件和目录) unzip [选项] xxx.zip (解压缩文件)

    • zip -r 递归压缩 即压缩目录

    • unzip -d 目录 压缩后文件指定存放目录

      将 /home 下的所有文件进行压缩成 myhome.zip   zip -r myhome.zip /home/*
      将 myhome.zip 解压到 /opt/tmp 文件夹下  unzip -d /opt/tmp /myhome.zip
      
  • tar tar [选项] xxx.tar.gz 打包的内容

-c 产生.tar的打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
-x 解压.tar文件

案例: -zcvf -zxvf 压缩多个文件,将 /home/pig.txt 和 /home/cat.txt 压缩成 pc.tar.gz

tar -zcvf pc.tar.gz pig.txt cat.txt

将 /home 的文件夹压缩成 myhome.tar.gz tar -zcvf myhome.tar.gz /home/ 将 pc.tar.gz 解压到当前目录,切换到 /opt tar -zxvf pc.tar.gz 将 myhome.tar.gz 解压到 /opt/tmp2 目录下

tar -zxvf myhome.tar.gz -C /opt/tmp2 (-C 指定解压后的目录)

磁盘

  • 必须要用根分区(boot)和swap分区
  • 查看所有设备的挂载情况 lsblk lsblk -f
磁盘说明

1.linux磁盘分ide和scsi,基本上是scsi

2.ide:驱动标识符为hdx~ hd:表示分区所在设备的类型,x 为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),

~ 代表分区,前四个 分区用数字1-4表示,它们是主分区或扩展分区,从5开始就是逻辑分区。

**对于 SCSI 硬盘则表示为 sdx~ , SCSI 硬盘是用 sd 来表示分区所在设备的类型的,其余与 IDE 硬 盘的表示方法一致 **

rpm管理

查询已安装的 rpm 列表 rpm -qa | grep xx

卸载rpm rpm -e RPM包的名称

安装rpm

rpm -ivh rpm包全路径名称
参数说明:
i install 安装
v verbose 提示
h hash 进度条

yum管理

  • yum list | grep xx软件列表 查询yum服务器是否有需要安装的软件

    安装指定的yum包:
    yum install xxx 下载安装
    【案例】:请用yum安装firefox
    卸载yum包
    yum remove ~
    

进程管理

  • ps查看系统进程 命令

    *  ps -a 显示当前终端的所有进程信息   
    * ps -u 以用户的格式显示进程信息 
    * ps -x 显示后台进程运行的参数 (ps -aux | more)
    

    ps -ef 以全格式显示当前所有的进程

    • -e 显示所有进程
    • -f 全格式

    ps -ef | grep xxx

    ps-aux:c

  • kill终止进程

    基本语法:
    kill [选项] 进程号 通过进程号终止进程
    kill all 进程名称 通过进程名称终止进程 (终止父进程,子进程会被一起终止掉)
    -9 强迫进程立即停止 (系统认为有些进程很重要,会忽略指令)
    
    
    系统运行级别
    0级别:系统停机状态,系统默认运行级别不能设为0,否则不能正常工作 (启动了会马上关机)
    2. 1级别:单用户工作状态,root权限,用于系统维护,禁止远程登录
    3. 2级别:多用户状态,不支持网路
    4. 3级别:完全的多用户状态,登录后进入控制台命令模式,没有界面
    5. 4级别:系统未使用,保留
    6. 5级别:X11控制台,登陆后进入图形GUI模式
    7. 6级别:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
    

定时任务

  • crontab定时任务

    -e 编辑 crontab 定时任务
    -l 查询 crontab 任务
    -r 删除当前用户所有的 crontab 任务
    service crond restart 重启任务调度
    

案例demo

设置任务调度文件 /etc/crontab
设置个人任务调度。执行 crontab -e 命令
输入任务到调度文件 */1 * * * * ls -l /etc/ > /tmp/a.txt (每一分钟执行一次次命
令)
第一个 * :一小时当中的第几分钟 (0-59)
第二个 * :一天当中的第几小时 (0-23)
第三个 * : 一个月当中的第几天 (1-31)
第四个 * : 一年当中的第几个月(1-12)
第五个 * : 一周当中的星期几(0-7) (0,7都代表星期日
特殊符号说明
  • : 代表任何时间。第一个 * 代表一个小时中的每分钟 ,
  • : 代表不连续的时间。 0 3,7,12 * * * 代表在每天的3点0分,7点0分,12点0分 都执行一 次命令
  • :代表连续的时间范围。 0 5 * * 1-6 代表在周一到周六的凌晨5点0分执行命令
  • */n :代表每隔多久执行一次。 /10 * * * 代表每个10分钟就执行一次命令

at定时任务

你可能感兴趣的:(linux,运维,服务器)