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.sh7.改变文件拥有组
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.bz24.cpio备份:find /etc -name *.conf | cpio -cov > /tmp/conf.cpio还原:cpio --absolte-filename -icvu < /tmp/conf.cpio

转载于:https://www.cnblogs.com/youcong/p/7802145.html

Linux系统学习之文件管理相关推荐

  1. linux进程的环境变量,LINUX系统学习一(进程、MMU,环境变量、getenv、fork、getpid/ge...

    LINUX系统学习一(进程.MMU,环境变量.getenv.fork.getpid/ge LINUX系统学习一(进程.MMU,环境变量.getenv.fork.getpid/getppid.ps.ki ...

  2. linux中ftp的工作原理,Linux系统学习 十二、VSFTP服务—简介与原理

    1.简介与原理 互联网诞生之初就存在三大服务:WWW.FTP.邮件 FTP主要针对企业级,可以设置权限,对不同等级的资料针对不同权限人员显示. 但是像网盘这样的基本没有权限划分. 简介: FTP(Fi ...

  3. 关于Linux系统学习心得总结(基础篇)

    关于Linux系统学习心得总结 1,什么是Linux系统 简单来说,Linux就是一个操作系统 Linux是一套免费使用和自由传播的类Unix操作系统,是一个多用户.多任务.支持多线程和多CPU的操作 ...

  4. linux系统学习笔记9——CANOpen状态转换

    CANopen CANopen状态转换 CANopen状态转换 从节点上电和内部初始化之后自动进入预损作状太(Pre-operational State),在进入预操作之前,发送标准的启动对象(Boo ...

  5. linux系统学习笔记6——debian系统分屏操作(亲测)

    debian系统分屏 刚插上HDMI链接屏幕后,发现两个屏幕是复制的效果 `步骤` xrandr | grep connecteda 1.查看现有的屏幕型号 由上图可以看到,一个是eDP-1 分辨率1 ...

  6. Linux系统学习: 用户和权限管理指令: 请简述 Linux 权限划分的原则

    权限抽象 一个完整的权限管理体系,要有合理的抽象.这里就包括对用户.进程.文件.内存.系统调用等抽象.下面我将带你一一了解. 首先,我们先来说说用户和组.Linux 是一个多用户平台,允许多个用户同时 ...

  7. Linux 系统学习梳理_【All】

    作者:小a玖拾柒 出处:http://www.cnblogs.com/ftl1012/ 第一部分---基础学习 00.Linux操作系统各版本ISO镜像下载 00.Linux系统下安装Vmware(虚 ...

  8. First Week :Linux系统学习

    CSDN学习小组 第一周 Linux常用命令 用户以及用户组 0.显示用户信息 1.创建/删除/修改用户 2.添加/删除用户组,查看用户组信息 3. 查看用户 4. 密码操作 5. 用户切换和退出登陆 ...

  9. 网工的Linux系统学习历程

    一.偶遇篇 作为一名通过思科CCNP认证的网络工程师,专注于网络技术.但在日常的工作中,难免不接触到服务器,对于大多数服务器来说,鉴于稳定性等因素的考虑,基本使用的都是Linux系统,包括RHEL.C ...

  10. Linux系统学习:网络指令:如何查看一个域名有哪些 NS 记录

    Linux 中提供了不少网络相关的指令,因为网络指令比较分散,本课时会从下面几个维度给你介绍,帮助你梳理常用的网络指令: 远程操作: 查看本地网络状态: 网络测试: DNS 查询: HTTP. 这块知 ...

最新文章

  1. 再见Python!Yann LeCun警告:深度学习需要新编程语言
  2. 三极管hFE参数随着Ic,Vc的变化情况
  3. SNMP在企业网中应用
  4. 如何提升网站在移动端的打开速度(转)
  5. MYSQL之sql优化——慢查询日志
  6. PC-CSS-多浏览器支持HTML5
  7. js 数字,金额 用逗号 隔开。数字格式化
  8. Async Program 基本知识 (Process、Thread、Context Switch)
  9. win10 uwp 改变鼠标
  10. mysql存储过程 简书_MySQL存储过程
  11. Android接收短信
  12. 复旦自考 网络专业 java 上机考_上海复旦大学自考方法及考试科目
  13. win服务器下利用vlmcsd搭建KMS服务器激活win10
  14. java实现第四届蓝桥杯猜年龄
  15. Codeforces Round #609 (Div. 2) C. Long Beautiful Integer
  16. 不是每个捕鱼都叫捕鱼达人:Cocos精品《捕鱼达人4》华丽升级
  17. 卸载的软件电脑重启后又出现了,怎么办?
  18. Mixly第三方库开发
  19. asp毕业设计——基于Delphi+udp+UDP的基于局域网的信息收发系统设计与实现(毕业论文+程序源码)——教务信息管理系统
  20. 法律人如何使用python_执业10年,我见过太多法律人掉进这个大坑!

热门文章

  1. [渝粤教育] 中国地质大学 高级会计学 复习题 (2)
  2. yolov5的wts权重转成tensorrt的engine权重一定要注意的问题:版本匹配(有什么问题可以私信我)
  3. ubuntu14.04中卸载cuda、cudnn
  4. sql---字段类型转换,sql获取当前时间,时间处理
  5. Docker常见命令
  6. JeeSite 工作流Activiti的应用实例
  7. js/jQuery中的宽高
  8. 分享一个数据结构网站
  9. UVA12265-Selling Land(细节处理)
  10. C/C++(变量作用域)