Linux系统学习之文件管理

简介: Linux目录分布通常是树形,所以它的结构又称为目录树。一、文件和目录管理[root@Cfhost-170820-UCNK /]# cd /[root@Cfhost-170820-UCNK /]# lsaquota.

Linux目录分布通常是树形,所以它的结构又称为目录树。

一、文件和目录管理

[root@Cfhost-170820-UCNK /]# cd /
[root@Cfhost-170820-UCNK /]# ls
aquota.group  aquota.user  bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  sbin  selinux  srv  sys  tmp  usr  var

/bin  常见的用户指令
/boot 内核和启动文件
/dev 设备文件
/etc 系统和服务配置文件
/home 系统默认的普通用户的家目录
/lib 系统函数库的目录
/lost+found ext3文件系统需要的目录,用于磁盘检查
/mnt 系统加载文件系统时常用的挂载点
/opt 第三方软件安装目录
/proc 虚拟文件系统
/root root用户的家目录
/sbin 存放系统管理命令
/tmp 临时文件的存放目录
/usr 存放与用户直接相关的文件和目录

绝对路径和相对路径
在linux目录下每个目录或文件都可以从根目录处开始寻找,比如/usr/local/src目录.这种从根目录开始的全路径被称为"绝对路径",绝对路径一般以 "/" 开头。

通常如果想要确认当前所在目录,可以使用pwd命令查看

特殊目录(.)和(..)属于相对路径

 二、文件的相关操作

Linux遵循着一切皆文件的规则,对Linux配置时,很大程度上就是对文件的操作过程。

1.创建文件
  touch 文件名

2.删除文件
  rm 文件名
  执行该命令时,系统会询问是否删除,按y删除,按n将不会删除该文件。
3.移动或重命名文件

mv 目标文件路径 将要移到的路径
例如:我要将/root/mysql移到/usr/local下
mv /root/mysql /usr/local/ 

mv 旧文件名 新文件名
例如:我要将test.txt修改为test2.txt
mv test.txt test2.txt
修改文件名


4.查看文件内容
cat 文件名

5.查看文件头
head -n 20 文件名
查看该文件前20行内容

6.查看文件尾
例如: var/log/message文件是默认的系统日志文件,系统在运行中将会有大量的日志写入这个文件中,可以使用如下命令,一旦有新的日志内容写入,该命令会立即将新内容显示出来。

7.文件格式转换:dos2unix
说的是linux和windows可以通过文件共享的方式共享文件。
至于如何使用,我没有用过。

tail -f /var/log/message

三、目录的相关操作

1.进入目录:cd
2.创建目录:mkdir 目录名
3.删除目录:rmdir 目录名 和rm 目录名(注意区分这两个删除目录的命令,rmdir使用注意,当它要删除的文件里面,存在一个目录时,会导致删除失败,也就会报下面这个错误:
rmdir: failed to remove `testoop': Directory not empty

要想解决需将你要删除的目录下的空目录删除,然后在删除该目录,就可以了。

当然要删除可以直接删除根本不需要这样做,只需rm -r 即可删除或者rm -rf。
rm -r 目录名 这样删除的不好点是每次删除都要询问一次是否确定删除,所以通常我们使用rm -rf 目录名,
不过注意,使用这个命令要非常小心,因为一旦删除就几乎不可能恢复,另外root用户在Linux系统中的权限非常高,甚至可以使用rm -rf 命令来删除全部的系统文件,这样做的后果是非常严重的,所以我们使用这个命令一定要非常小心。

4.文件和目录的复制:cp 原文件 复制文件
例如:
我们想将/usr/local/tomcat 复制到/root下
就可以使用如下命令: cp /usr/local/tomcat /root/即可。

5.文件时间戳
记住在Linux下目录也是一种文件,所以如果touch一个目录,这个目录的创建时间也会被更新。
不论是哪种系统,几乎所有的程序都会读写系统文件,默认情况下,一旦发生写文件操作,该文件的时间戳将会立刻得到更新。因此可以利用这种特性来有选择地备份一些文件(又称差异化备份)

6.文件和目录权限
通过ll 或ls -l也可以看到所有文件权限,ls -al可以列出隐藏文件,但ll和ls -l不可以。
文件的权限无非是读写执行(rwx)
通过chmod a+x 文件A 即可赋予文件A的执行权限
(读写权限通常是系统默认的)
改变文件拥有者:chown 用户名 文件名
例如:我要将test.sh文件拥有者改变,可通过执行该命令 chown 用户名 文件名 即可改变
chown java test.sh
该命令还可以同时更改文件的用户组.
chown : java test.sh
以上两个改变文件拥有者命令,可以合并为chown java:java test.sh

7.改变文件拥有组
chgrp 组名 文件名

8.文件特殊属性:SUID/SGID/Sticky(看的不是特别明白,待续)

9.查看文件类型

file 文件 即可查看文件的类型
10.一般查看:find
find / -name 查找的文件名或目录

数据库查找:locate

与find不同,locate依赖于一个数据库文件,linux会默认每天检索一下系统中的所有文件,然后将检索到的文件记录到数据库中。

执行locate 文件或目录名时,要先执行updatedb,否则会报错。

报错信息如下:
locate: can not stat () `/var/lib/mlocate/mlocate.db': No such file or directory

注意:使用locate查找文件有一个弊端,那就是当你查找后删除了,第二次仍然可以找到,所以在此之前必须手动执行updatedb命令。

 四、文件压缩和打包

1.gzip/gunzip
gzip 文件名 
可以将文件打成gz的压缩包
解压命令为:gunzip 文件名
2.tar 
tar -zcvf 文件名.tgz 压缩
tar -zxvf 文件名.tgz 解压
3.bzip

例如:
bizp2 install.log
ls -l install.log.bz2
bzip2 -d install.log.bz2

4.cpio

备份:find /etc -name *.conf | cpio -cov > /tmp/conf.cpio

还原:cpio --absolte-filename -icvu < /tmp/conf.cpio
 

 

目录
打赏
0
0
0
0
60
分享
相关文章
Linux系统资源管理:多角度查看内存使用情况。
要知道,透过内存管理的窗口,我们可以洞察到Linux系统运行的真实身姿,如同解剖学家透过微观镜,洞察生命的奥秘。记住,不要惧怕那些高深的命令和参数,他们只是你掌握系统"魔法棒"的钥匙,熟练掌握后,你就可以骄傲地说:Linux,我来了!
67 27
|
24天前
|
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
104 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
|
9天前
|
Linux系统ext4磁盘扩容实践指南
这个过程就像是给你的房子建一个新的储物间。你需要先找到空地(创建新的分区),然后建造储物间(格式化为ext4文件系统),最后将储物间添加到你的房子中(将新的分区添加到文件系统中)。完成这些步骤后,你就有了一个更大的储物空间。
60 10
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
247 2
|
2月前
|
Linux系统之whereis命令的基本使用
Linux系统之whereis命令的基本使用
105 24
Linux系统之whereis命令的基本使用
|
21天前
|
Linux系统中如何查看CPU信息
本文介绍了查看CPU核心信息的方法,包括使用`lscpu`命令和读取`/proc/cpuinfo`文件。`lscpu`能快速提供逻辑CPU数量、物理核心数、插槽数等基本信息;而`/proc/cpuinfo`则包含更详细的配置数据,如核心ID和处理器编号。此外,还介绍了如何通过`lscpu`和`dmidecode`命令获取CPU型号、制造商及序列号,并解释了CPU频率与缓存大小的相关信息。最后,详细解析了`lscpu`命令输出的各项参数含义,帮助用户更好地理解CPU的具体配置。
61 8
深度体验阿里云系统控制台:SysOM 让 Linux 服务器监控变得如此简单
作为一名经历过无数个凌晨三点被服务器报警电话惊醒的运维工程师,我对监控工具有着近乎苛刻的要求。记得去年那次大型活动,我们的主站流量暴增,服务器内存莫名其妙地飙升到90%以上,却找不到原因。如果当时有一款像阿里云 SysOM 这样直观的监控工具,也许我就不用熬通宵排查问题了。今天,我想分享一下我使用 SysOM 的亲身体验,特别是它那令人印象深刻的内存诊断功能。
|
10天前
|
微服务2——MongoDB单机部署4——Linux系统中的安装启动和连接
本节主要介绍了在Linux系统中安装、启动和连接MongoDB的详细步骤。首先从官网下载MongoDB压缩包并解压至指定目录,接着创建数据和日志存储目录,并配置`mongod.conf`文件以设定日志路径、数据存储路径及绑定IP等参数。之后通过配置文件启动MongoDB服务,并使用`mongo`命令或Compass工具进行连接测试。此外,还提供了防火墙配置建议以及服务停止的两种方法:快速关闭(直接杀死进程)和标准关闭(通过客户端命令安全关闭)。最后补充了数据损坏时的修复操作,确保数据库的稳定运行。
41 0
|
4月前
|
Linux缓存管理:如何安全地清理系统缓存
在Linux系统中,内存管理至关重要。本文详细介绍了如何安全地清理系统缓存,特别是通过使用`/proc/sys/vm/drop_caches`接口。内容包括清理缓存的原因、步骤、注意事项和最佳实践,帮助你在必要时优化系统性能。
338 78
Linux系统查看操作系统版本信息、CPU信息、模块信息
在Linux系统中,常用命令可帮助用户查看操作系统版本、CPU信息和模块信息
209 23

热门文章

最新文章