Linux期末考试复习(全程都是干货)
koshi484 2024-07-08 13:37:01 阅读 75
linux复习
文件
文件目录
<code>/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显示当前目录 pwdls显示当前目录的文件或目录信息 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 文件名 将文件压缩为*.gzgunzip 文件 压缩文件命令
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定时任务
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。