[LN_04] Linux文件处理-常用命令(目录处理|链接|文件&字符搜索|压缩&解压|帮助|系统开关)...

目录结构

一、文件处理命令
  1. Linux命令格式
  2. Linux目录处理命令
    1)建立目录:mkdir
    2)切换所在目录:cd
    3)查询所在目录位置:pwd
    4)删除空目录:rmdir
    5)删除文件or目录:rm
    6)复制命令:cp
    7)剪切/改名:mv
  3. Linux中常见目录的作用
  4. Linux链接命令
    1)硬链接
    2)软链接
二、文件搜索命令
  1. 以命令搜索文件:locate
  2. 以命令搜索系统命令:whereis / which / whatis / whoami
    1)whereis
    2)which
    3)whtatis / whoami
    4)PATH环境变量
  3. 文件搜索:find
    1)find常规搜索格式
    2)不同搜索条件的find命令组合
  4. 搜索文件中的字符串:grep
三、Linux帮助命令
  1. 帮助命令:man
    1)获取指定命令的帮助信息
    2)查看命令拥有的帮助级别
    3)查看和命令相关的所有帮助
  2. 帮助命令:选项帮助
  3. shell内部命令帮助:help
  4. 详细命令帮助:info
四、压缩命令
  1. 压缩格式:.zip(zip命令)
  2. 压缩格式:.gz(gzip命令)
  3. 压缩格式:.bz2(bzip2命令)
  4. tar命令打包&解包
  5. 压缩格式:.tar.gz
  6. 压缩格式:.tar.bz2
五、关机&重启命令
  1. shutdown命令
  2. 其他关机命令
  3. 其他重启命令
  4. 系统运行级别
  5. 正确退出登录:logout


一、文件处理命令

1. Linux命令格式

1)符号说明
[root@localhost ~]# 
[test001@localhost ~]$ 

root/test001:当前登录的用户
localhost:当前主机名
~:当前登录用户所在目录(家目录)
#:超级用户的提示符
$:普通用户的提示符

家目录查看:pwd命令查看
超级用户:/root
普通用户:/home/test001

4866277-0277b887fff0ae6a.png
2)命令格式

命令 [选项] [参数]
若有多个选项,则可写在一起
简化选项与完整选项:-a 等效于 --all

查询目录中的内容:ls
==> list

ls [选项] [文件/目录]
选项:
-a  显示所有文件(包括隐藏文件<.开头>,即系统文件)
-l  显示详细信息(文件类型、权限、引用计数、所有者、所属组、大小)
-d  查看目录属性(当前所在目录)
-h  人性化显示文件大小(直观可识别的大小)
-i  显示inode(索引节点,根据节点id查询文件所在位置)

常用组合:ls -a,ls -la,ls -lh,ls -ld,ls -l(ll)...

4866277-306db52169369029.png
r==>读  w==>写  x==>执行
权限(第1列) 含义 说明
1位 文件类型 -:文件
d:目录
l:软链接(快捷方式)
2-4位 所有者(u) 文件所有者可对文件的操作权限
5-7位 所属组(g) 文件所属组可对文件的操作权限
8-10位 其他人(o) 其他用户可对文件的操作权限


2. Linux目录处理命令

1)建立目录:mkdir

==> make directory

mkdir [-p] [目录名]
-p:递归创建(先创建上级目录,再创建下级目录...;即创建一连串的目录)

如:mkdir -p 001/002

4866277-fef01359ad3633ed.png
2)切换所在目录:cd

==> change directory

cd [目录]
简化操作:
cd ~  回到当前用户的家目录
cd    回到当前用户的家目录
cd -  进入上次的目录
cd .. 进入上一级目录
cd .  进入当前目录(相当于目录不变化)

【1】相对路径:参照当前所在目录,进行查找
如:cd ../usr/local/src
【2】绝对路径:从根目录开始指定,逐级递归查找(在任何目录下都能进入指定位置)
如:cd /etc/sysconfig/network-scripts/

3)查询所在目录位置:pwd

==> print working directory

4)删除空目录:rmdir

remove empty directory(PS:不常用该命令)

rmdir [目录]
5)删除文件or目录:rm

==> remove

rm -rf [文件/目录]
选项:
-r  删除目录
-f  强制
6)复制命令:cp

==> copy

cp [选项] [源文件/目录] [目标目录]
选项:
-r  复制目录
-p  连带文件属性一起复制
-d  复制链接的属性(源文件是链接文件时)
-a  相当于 -pdr(源文件和目标文件的所有属性完全一致)
7)剪切/改名:mv

==> move

# 源文件与目标文件不在同一目录(剪切);不需要加-r
mv [源文件/目录] [目标目录]

# 源文件与目标文件在同一目录(改名)
mv 原文件名 被修改名

3. Linux中常见目录的作用

目录 作用
/ 根目录
/bin 系统命令保存目录(普通用户、超级用户可读取)
/sbin 系统命令保存目录(只有超级用户可读取)
/boot 启动目录,启动相关文件
/dev 设备文件保存目录
/etc 配置文件保存目录
/root 超级用户的家目录
/home 普通用户的家目录
/lib 系统库保存目录(常用功能写成的程序保存在lib函数库)
/mnt 系统挂载目录(如:移动硬盘)
/media 挂载目录(如:光盘)
/tmp 临时目录
/proc 保存内存的过载点(内存的盘符),是直接写入内存的,不能直接操作
/sys 保存内存的过载点(内存的盘符),是直接写入内存的,不能直接操作
/usr 系统软件资源目录(类似Windows中的C:/Windows/)
/usr/local 安装第三方软件的目录(类似C:/Progrem Files/)
/opt 也可用于安全第三方软件的目录(类似D:/Software)
/usr/bin 系统命令(普通用户)
/usr/sbin 系统命令(超级用户)
/var 系统相关文档内容

4. Linux链接命令

链接命令:ln
==> link

1)硬链接

ln [源文件] [目标文件]

同一存储分区位置同一个程序文件,创建了多个硬链接文件(平级),拥有相同的i节点编号、block块,数据块中保存有源文件的文件名、i节点编号、实际的文件数据,这些硬链接都指向该程序文件。

①修改任一硬链接文件的其中的内容,其他的相应硬链接的内容也同步变化
②删除or改名其中的任一硬链接文件,其他平级的硬链接文件并不会受影响
③通过i节点编号,可识别判断平级的不同硬链接文件(拥有相同的i节点)
④不能跨分区、不能针对目录使用

如:ln AAA/001.txt BBB/001_hard.txt

4866277-37194a8c9ca4692f.png
2)软链接

ln -s [源文件] [目标文件]

类似快捷方式,软链接拥有属于自己不同的i节点、Block块,但其数据块中只保存有源文件的文件名、i节点编号,并没有实际的文件数据。

①软链接文件权限都为:rwxrwxrwx(实际权限由源文件权限决定)
②修改任一软链接文件,其他的对应的软链接文件都会改变
③若删除源文件,则软链接就不能使用
④若创建软链接,则需要写绝对路径,否则可能跨目录操作会报错,创建软链接后所指向的源文件会出现红色背景的标识(硬链接无此限制)

4866277-e762eeee8addcda8.png
创建软链接(报错):使用相对路径
4866277-f4c9f09813913274.png
创建软链接(正常):使用绝对路径


二、文件搜索命令

1. 以命令搜索文件:locate

# 强制更新数据库(路径:/var/lib/mlocate,不同系统可能略有不同)
updatedb
# 在后台数据库中按文件名搜索(耗费资源少,搜索速度较快)
locate 文件名

locate命令搜索所用数据库路径为:/var/lib/mlocate
locate搜索遵循的约束规则文件为:/etc/updatedb.conf 配置文件

# 开启搜索限制:yes表示遵循以下配置项的规则,no表示不受限制
PRUNE_BIND_MOUNTS = "yes"
# 不搜索的文件系统
PRUNEFS = 
# 不搜索的文件类型
PRUNENAMES = 
# 不搜索的路径/目录
PRUNEPATHS = 
4866277-ef293b97bd79c291.png

2. 以命令搜索系统命令:whereis / which / whatis / whoami

1)whereis
# 搜索命令所在的路径&帮助文档位置
whereis 命令名
选项:
-b  只查找可执行文件
-m  只查找帮助文档
4866277-3db03674f1eaf2e3.png
2)which
# 搜索命令所在的路径&别名(若有)
which 命令名
4866277-e6c90bd3aeffeb23.png
3)whtatis / whoami
# 所查找命令的功能介绍
whatis 命令名
# 查看当前用户
whomai
4866277-1d460de190f133fd.png
4)PATH环境变量

PATH环境变量:定义的是系统搜索命令的路径,当执行命令时,会在PATH路径中查找“命令”是否存在;若是自定义的路径没有添加到PATH路径中,则需要以绝对路径执行

echo $PATH
4866277-1796c87dd7cbee65.png

3. 文件搜索:find

1)find常规搜索格式
# 在约定氛围和条件下搜索文件
find [搜索范围] [搜索条件]

PS:
①避免大范围搜索,因其极其耗费系统资源
②find在系统中搜索符合条件的文件名,依从完全匹配的方式;若需要模糊匹配,则需要联合通配符使用
③在生产环境,资源占用限制要求高的情况下,尽量不要直接在根目录范围下用find搜索(会较大增加资源占用)
如:find / -name install.log

4866277-b2ea25ccc5027643.png

Linux中的通配符:

符号 含义
* 匹配任意内容
匹配任意一个字符
[] 匹配中括号[]内的任意一个字符

如查找以c或d字符结尾的文件名:find /tmp/test007 -name "*[cd]"

4866277-ec7786acbcbb709d.png
2)不同搜索条件的find命令组合
【1】按名字搜索
# 区分大小写搜索文件
find /root -name install.log
# 不区分大小写搜索人家
find /root -iname INSTALL.log
【2】按所有者搜索
# 按照所有者搜索
find /root -user root
# 查找没有所有者的文件
find /root -nouser

nouser的可能场景:
①内核产生:/sys、/proc 目录下的系统内核文件,可能出现部分没有所有者的文件(不能删除)
②外来文件:从光盘、移动硬盘拷贝产生没有所有者的文件(可删除)

【3】按修改时间搜索
# 查找某个时间范围修改的文件
find /var/log -mtime +10
选项取值:
-10   10d以内修改的文件
10    10d当天修改的文件
+10   10d以前修改的文件
--------------------------
atime 文件访问的时间
ctime 改变文件属性的时间
mtime 修改文件内容的时间
# 搜索60min以内修改过的文件
find /var/log -mmin -60
4866277-e0a5fddf20064b11.png
【4】按文件大小or大小范围搜索
find . -size +25k
选项取值:
-25k  <25KB的文件
25k   =25KB的文件
+25   >25KB的文件

PS:命令中的千字节单位k是小写,兆字节单位M是大写

# 在指定目录下查找约定文件大小范围内的文件,如:(20k,23k)
find /etc -size +20k -a -size -23k
选项:
-a  逻辑与(and)
-o  逻辑或(or)

# 在指定目录下查找约定文件大小范围内的文件,并显示详细信息
# 对命令1搜索出的结果,用命令2进行执行相关操作
find /etc -size +20k -a -size 23k -exec ls -lh {} \;
4866277-e1a67d1d7f8870ac.png
【5】按i节点编号搜索
# 查找i节点为指定编号的文件
find . -inum 130833
4866277-74c234b6e52dc903.png
# 根据i节点编号查询出对应的文件,然后执行删除该文件的操作
find . -inum 919188 -exec rm -rf {} \;
4866277-98a12b3b47592139.png

4. 搜索文件中的字符串:grep

# 在文件中匹配符合条件的字符串(搜索文件中存在指定字符串的行)
grep [选项] 字符串 文件名
选项:
-i  忽略大小写
-v  排除指定字符串(不包含指定字符串)
-E  搜索多个字符串中的任意一个

搜索多个字符串中的任意一个:

# 方式1:
grep -E "字串1|字串2|字串3|..." 文件名
# 方式2:
egrep "字串1|字串2|字串3|..." 文件名

如:grep "DEVICE" /etc/sysconfig/network-scripts/ifcfg-eth0

4866277-d801f8ea85437cea.png

find与grep区别:

  • find命令:在系统中搜索符合条件的文件名,采用完全匹配方式;联合通配符可进行模糊匹配
  • grep命令:在文件中搜索符合条件的字符串,采用模糊匹配方式;可联合正则表达式匹配,依循包含匹配

三、Linux帮助命令

1. 帮助命令:man

==> manual

1)获取指定命令的帮助信息
man 命令名

如:man man、man ls

4866277-90027860a75dc717.png
man man
4866277-b0ad4099f4ab7ae0.png
man ls

man的级别
1:查看命令的帮助
2:查看可被内核调用的函数的帮助
3:查看函数和函数库的帮助
4:查看特殊文件的帮助(主要是/dev目录下的文件)
5:查看配置文件的帮助
6:查看游戏的帮助
7:查看其它杂项的帮助
8:查看系统管理员可用命令的帮助
9:查看和内核相关文件的帮助

2)查看命令拥有的帮助级别
man -f 命令名

效果同:whatis 命令名

以下3种方式都可查看某个命令拥有的帮助等级:

4866277-6c2d79d81ce7d9e3.png

查看具体某个等级的帮助说明,如:man 5 passwd

4866277-1c74df522cfde83a.png
3)查看和命令相关的所有帮助
# 查询包含指定命令名作为关键词的所有命令or配置文件的帮助信息
man -k 命令名

效果同:apropos 命令名

如:apropos passwd

4866277-f6558db8605b21c9.png

2. 帮助命令:选项帮助

# 获取命令选项的帮助(命令的选项用法)
命令名 --help

如:ls --help

4866277-aa562ea562372290.png

3. shell内部命令帮助:help

shell:用户和计算机交互的接口。用户输入的命令通过shell翻译成计算机可识别的二进制形式,然后传入计算机内核识别后即可执行对应操作

# 获取shell内部命令的帮助
help shell内核命令

操作方法:
①确定是否是shell内核命令:whereis 命令名
②获取内核命令帮助:help 命令名
PS:shell内核命令,是系统自带的命令,非后来添加的命令

4866277-5056d2c64f7ba88d.png

4. 详细命令帮助:info

info 命令名

操作键说明:
Enter:进入自帮助页面(带有*号标记)
u:进入上层页面
n:进入下一个帮助小节
p:进入上一个帮助小节
q:退出

四、压缩命令

常见的压缩格式:.zip.gz.bz2.tar.gz.tar.bz2

1. 压缩格式:.zip(zip命令)

zip压缩:
# 压缩文件
zip 压缩文件名 源文件
# 压缩目录
zip -r 压缩文件名 源目录

PS:压缩目录时,若不加-r,则只会压缩第一级目录,其下的子目录or子文件都不会被压缩

4866277-8ac465f68201c4eb.png
压缩文件
4866277-a4656ad2f8fe6799.png
压缩目录
zip解压:
# 解压.zip文件
unzip 压缩文件

2. 压缩格式:.gz(gzip命令)

压缩.gz:
# 压缩为.gz格式的压缩文件(源文件会消失)
gzip 源文件
# 压缩为.gz格式的压缩文件(源文件保留)
gzip -c 源文件 > 压缩文件
# 单独压缩目录下每个子文件(此时并没有压缩目录)
gzip -r 目录
解压.gz:
# 解压文件-方式1
gzip -d 压缩文件
# 解压文件-方式2
gunzip 压缩文件

3. 压缩格式:.bz2(bzip2命令)

压缩.bz2:
# 压缩为.bz2格式(不保留源文件)
bzip2 源文件
# 压缩为.bz2格式(保留源文件)
bzip2 -k 源文件

PS:bzip2命令不能压缩目录

解压.bz2:
# 解压方式1,-k可保留压缩文件
bzip2 -d 压缩文件
bzip2 -d -k 压缩文件
# 解压方式2,-k可保留压缩文件
bunzip2 压缩文件
bunzip2 -k 压缩文件

4. tar命令打包&解包

tar打包命令:

由上可知,zip可压缩文件、压缩目录,gzip可压缩文件、压缩目录中的子文件,bzip2只可压缩文件、不可压缩目录。对于gzip和bzip2命令,为了更便捷的使用来压缩目录,引入了两种式:.tar.gz.tar.bz2。先将目录打包成tar文件包(非压缩文件),再将其压缩为.gz或.bz2格式即可。

tar -cvf 打包文件名 源文件
选项:
-c  打包
-v  显示过程
-f  指定打包后的文件名

如:
tar -cvf 001.tar 001
gzip 001.tar

4866277-c8dc0ab7245b4df2.png
tar解包命令:
tar -xvf 包文件名
选项:
-x  解包

如:tar -xvf 001.tar

4866277-8de54d85cbe1d498.png

5. 压缩格式:.tar.gz

.tar.gz格式是先打包为.tar格式,再压缩为.gz格式,使用-z即可实现tar命令压缩为.tar.gz格式

# 打包的同时进行压缩
tar -zcvf 压缩包名.tar.gz 源文件
选项:
-z  压缩为 .tar.gz格式

# 将多个源文件压缩为一个压缩文件
tar -zcvf 压缩包名.tar.gz 源文件1 源文件2 源文件3
# 将压缩后的文件放到指定路径下
tar -zcvf 压缩包名.tar.gz -C 源文件(指定路径)
# 解压
tar -zxvf 压缩包名.tar.gz
选项:
-x  解压缩 .tar.gz格式
# 只查看压缩包的内容,但不作解压
tar -ztvf 压缩包名.tar.gz
选项:
-t  查看压缩包内容,不解压

6. 压缩格式:.tar.bz2

# 压缩
tar -jcvf 压缩包名.tar.bz2 源文件
选项:
-j  压缩为 .tar.bz2格式
# 解压
tar -jxvf 压缩包名 .tar.bz2
选项:
-x  解压缩 .tar.bz2格式


五、关机&重启命令

1. shutdown命令

shutdown [选项] 时间
选项:
-c  取消前一个关机命令
-h  关机
-r  重启

如:
shutdown -r now
shutdown -h xx:xx
shutdown -c

2. 其他关机命令

halt
poweroff
init 0

PS:以上3个关机命令,可能不会正确的保存服务器的配置,因此建议关机命令使用 shutdown

3. 其他重启命令

reboot
init 6

4. 系统运行级别

运行级别 含义
0 关机
1 单用户
2 不完全多用户,不含NFS(网络文件系统)服务
3 完全多用户
4 未分配
5 图形界面
6 重启
# 查看运行等级
cat /etc/inittab
# 查看当前运行等级
runlevel
4866277-9a0610882a846e78.png

id:5:initdefault ==> 开机默认图形界面
id:3:initdefault ==> 开机默认字符界面
PS:id不能设置为0或6,否则会出现开机异常

5. 正确退出登录:logout

如:使用xshell客户端,退出时连接时建议用logout,不建议直接关闭客户端窗口(当多用户连接使用时,可能引起关闭前对应用户占用服务卡起来,影响正常连接用户数的限制)

猜你喜欢

转载自blog.csdn.net/weixin_34375251/article/details/87618881