linux之文件管理

目录树

几乎所有的操作系统的文件管理均使用目录树来管理文件和目录。目录树结构是在一个大的目录结构下存放其他目录或者文件,然后在目录中又存放文件或者目录,一层一层,类似于树的结构。

绝对路径和相对路径

绝对路径

绝对路径是从根目录开始寻找的,以"/"开头的文件路径是绝对路径。"/"表示根目录。

查看当前的目录命令:pwd

swz@swz-ubuntu:~$ pwd/home/swz

特殊目录

在linux中有两个特殊目录,一个是(.),另外一个是(..)。一个点(.)表示的是当前目录,两个点(..)表示的是上一级目录。以点开头的文件是看不到的,它们是隐藏文件。可以用ls -a命令来查看它们。

swz@swz-ubuntu:~$ ls -a.       桌面                             .conda                               .gnupg                  .npmrc                            repo                       .viminfo..      Anaconda3-5.2.0-Linux-x86_64.sh  .condarc                             hand.data               opencv-3.4.16                     .repo_.gitconfig.json      .vscode公共的  .bash_history                    .config                              hispark_pegasus         opencv-3.4.16.zip                 .rpmdb                     .vscode-server模板    .bash_logout                     .deveco-device-tool                  hispark_pegasus.tar.gz  opencv.tgz                        snap                       .wget-hsts视频    .bashrc                          .DevEcoDeviceTool                    .hpm                    OpenHarmony_2.0_canary_prebuilts  .ssh                       .Xauthority图片    .bashrc-anaconda3.bak            .deveco-device-tool-debug            Huawei                  OpenHarmony_master                .sudo_as_admin_successful文档    .cache                           devicetool-linux-tool-3.0.0.400.sh   .local                  OpenHarmony_master.7z             .swp下载    caffe                            devicetool-linux-tool-3.0.0.400.zip  .mtoolsrc               .pki                              tmp音乐    code                             .gitconfig                           .npm                    .profile                          .vim

相对路径

相对路径是指相对于某一个目录展开的,一般以"./"开始的是相对目录。例如上述,./opencv-3.4.16 就是一个相对路径。

文件的相关操作

创建文件

创建文件的命令用touch,touch 加文件名是创建文件的方法。假如文件存在,并不会修改文件内容,而是改变了文件的修改时间。

swz@swz-ubuntu:~/swz$ touch swz.txtswz@swz-ubuntu:~/swz$ lsswz.txtswz@swz-ubuntu:~/swz$ ls -al总用量 8drwxrwxr-x  2 swz swz 4096  7月 11 11:24 .drwxr-x--- 35 swz swz 4096  7月 11 11:23 ..-rw-rw-r--  1 swz swz    0  7月 11 11:24 swz.txt

删除文件

删除文件用rm命令,默认删除文件,假如删除目录,目录有多个文件,可以用rm -rf循环删除文件。删除时,给定输入确定指令,以便于是否确定删除文件。

swz@swz-ubuntu:~/swz$ ls1.txt  swz.txtswz@swz-ubuntu:~/swz$ rm 1.txtswz@swz-ubuntu:~/swz$ lsswz.txt
swz@swz-ubuntu:~/swz$ touch lmy.txtswz@swz-ubuntu:~/swz$ lslmy.txt  swz.txtswz@swz-ubuntu:~/swz$ cd ..swz@swz-ubuntu:~$ rm swz -rfswz@swz-ubuntu:~$ ls公共的  文档  Anaconda3-5.2.0-Linux-x86_64.sh     devicetool-linux-tool-3.0.0.400.zip  Huawei             OpenHarmony_2.0_canary_prebuilts  snap模板    下载  caffe                               hand.data                            opencv-3.4.16      OpenHarmony_master                tmp视频    音乐  code                                hispark_pegasus                      opencv-3.4.16.zip  OpenHarmony_master.7z图片    桌面  devicetool-linux-tool-3.0.0.400.sh  hispark_pegasus.tar.gz               opencv.tgz         repo

移动或重命名文件

移动或者重命令文件:mv.使用mv命令可以直接在当前文件夹中直接修改文件的名字,mv 旧文件名 新文件名。或者是移动:mv 原先的文件路径 新的文件路径

swz@swz-ubuntu:~/swz$ lslmy.txt  swz.txtswz@swz-ubuntu:~/swz$ mv swz.txt swz1.txtswz@swz-ubuntu:~/swz$ lslmy.txt  swz1.txt
swz@swz-ubuntu:~/swz$ mv ./lmy.txt ..swz@swz-ubuntu:~/swz$ lsswz1.txtswz@swz-ubuntu:~/swz$ cd ..swz@swz-ubuntu:~$ ls公共的  文档  Anaconda3-5.2.0-Linux-x86_64.sh     devicetool-linux-tool-3.0.0.400.zip  Huawei             opencv.tgz                        repo     tmp模板    下载  caffe                               hand.data                            lmy.txt            OpenHarmony_2.0_canary_prebuilts  snap视频    音乐  code                                hispark_pegasus                      opencv-3.4.16      OpenHarmony_master                swz图片    桌面  devicetool-linux-tool-3.0.0.400.sh  hispark_pegasus.tar.gz               opencv-3.4.16.zip  OpenHarmony_master.7z             swz.txt

查看文件

查看文件利用cat命令,在cat后加上文件名就可以查看内容。

swz@swz-ubuntu:~/swz$ vi swz1.txtswz@swz-ubuntu:~/swz$ cat swz1.txt swz is a hero.swz like to programming.The more work harder,the more luckier you are!

查看文件头

有时候文件很大,我们不需要看所有的内容。我们可以使用head来查看部分内容。利用head 文件名 -n指定查看的行数。

查看文件尾

用tail命令,具体方法类似head。

文件格式转换

dos2unix是windows下的文件共享到linux下,其格式可能会发生变化,用这个命令可以改文件格式。

目录的相关操作

进入目录

cd是changed directory的缩写。方便用户切换到不同的用户。

新建目录

mkdir,创建一个新的目录。假如想在一个目录下继续创建新的目录,利用-p参数一次性地创建多个目录。

swz@swz-ubuntu:~/swz$ mkdir -p ./swz/swz1/swz2/swz3

删除目录

删除目录可以用rmdir和rm,当目录非空时,不能直接删除目录。如果想要强制删除目录。我们可以

rm -r强制删除目录,一般更常见的搭配方式为rm -rf。

swz@swz-ubuntu:~/swz$ lsswz  swz1  swz1.txt  swz2swz@swz-ubuntu:~/swz$ rm swzrm: 无法删除 'swz': 是一个目录swz@swz-ubuntu:~/swz$ rmdir swzrmdir: 删除 'swz' 失败: 目录非空swz@swz-ubuntu:~/swz$ rm -r swzswz@swz-ubuntu:~/swz$ lsswz1  swz1.txt  swz2

文件和目录复制

cp是文件和目录复制的命令,其是copy的缩写。

cp复制文件直接cp 文件名 新的路径名,复制目录可以利用前面的-r参数实现循环复制。

文件和目录的权限

利用ls -al可以查看文件或者目录的权限,输出为7列。

swz@swz-ubuntu:/$ ls -al总用量 2097260drwxr-xr-x  19 root root       4096  7月  5 17:16 .drwxr-xr-x  19 root root       4096  7月  5 17:16 ..lrwxrwxrwx   1 root root          7  4月 29 16:11 bin -> usr/bindrwxr-xr-x   4 root root       4096  6月 28 14:44 bootdrwxrwxr-x   2 root root       4096  4月 29 16:17 cdromdrwxr-xr-x  20 root root       4120  7月 11 16:16 devdrwxr-xr-x 133 root root      12288  7月  7 08:23 etcdrwxr-xr-x   3 root root       4096  4月 29 16:21 homelrwxrwxrwx   1 root root          7  4月 29 16:11 lib -> usr/liblrwxrwxrwx   1 root root          9  4月 29 16:11 lib32 -> usr/lib32lrwxrwxrwx   1 root root          9  4月 29 16:11 lib64 -> usr/lib64lrwxrwxrwx   1 root root         10  4月 29 16:11 libx32 -> usr/libx32drwx------   2 root root      16384  4月 29 16:11 lost+founddrwxr-xr-x   3 root root       4096  4月 29 19:49 mediadrwxr-xr-x   3 root root       4096  4月 29 20:20 mntdrwxr-xr-x   2 root root       4096 10月 13  2021 optdr-xr-xr-x 348 root root          0  7月 11 16:16 procdrwx------  11 root root       4096  7月  5 19:59 rootdrwxr-xr-x  35 root root        920  7月 11 21:33 runlrwxrwxrwx   1 root root          8  4月 29 16:11 sbin -> usr/sbindrwxr-xr-x   2 root root       4096 10月 13  2021 srv-rw-------   1 root root 2147483648  4月 29 16:11 swapfiledr-xr-xr-x  13 root root          0  7月 11 16:16 sysdrwxrwxrwt  21 root root      24576  7月 11 21:20 tmpdrwxr-xr-x  15 root root       4096  5月  5 16:17 usrdrwxr-xr-x  13 root root       4096  7月  5 17:16 var

第一列是文件类别和权限,由10字符组成。第一个字符表示文件的类型。权限有rwx,分别是可读、可写以及可执行。

第一个字符有:d,-,l,b,c,s,p。d代表目录,-代表普通文件,l代表链接文件,b代表块文件,c代表字符文件,s代表socket文件,p代表管道文件。

第二列表示连接数,目录的连接数是其包括其他目录的个数加2。

第三列表示该文件的所有人,第四列代表该文件的所有组,第五列代表该文件的大小,第六列表示文件的创建时间或者最近修改的时间,第七列是文件名。

文件隐藏属性

利用lsattr来查看文件的隐藏属性,一般可以加-i或者-a属性。

改变文件权限

利用chmod来进行文件属性,用户有user、group以及other三种。增加权限用+,减少权限用-,赋予权限用=。例如:chmod u+r 文件名。

另外可以使用数字给其赋予权限, 规定r=4,w=2,x=1。三组数字,分别给予三个权限。

改变文件的拥有者

利用chowm改变文件的拥有者,chowm 文件拥有者 文件名。或者直接修改文件的群组,如果需要循环修改文件,可以加上-R参数。

改变文件的拥有组

利用chgrp来修改文件的拥有组。

查看文件类型

利用file命令可以查看文件类型,比ls -l给出的信息多很多。

swz@swz-ubuntu:~$ file devicetool-linux-tool-3.0.0.400.zip devicetool-linux-tool-3.0.0.400.zip: Zip archive data, at least v1.0 to extract

查找文件

一般查找

一般查找文件用find,用法:find PATH -name FILENAME

其中PATH代表文件路径,FILENAME是文件名。

swz@swz-ubuntu:~$ find ./ -name *.zipfind: paths must precede expression: `opencv-3.4.16.zip'find: possible unquoted pattern after predicate `-name'?

数据库查找

利用数据去查找文件信息比find查找更快,一般执行前用updatedb来更新数据信息。

其命令为locate。

查找可执行文件

利用which/whereis,可以查看可执行文件的路径。而whereis还可以查看文件的man信息。

swz@swz-ubuntu:~$ which passwd/usr/bin/passwdswz@swz-ubuntu:~$ whereis passwdpasswd: /usr/bin/passwd /etc/passwd /usr/share/man/man5/passwd.5.gz /usr/share/man/man1/passwd.1.gz /usr/share/man/man1/passwd.1ssl.gz

文件压缩和打包

gzip/ungzip

解压或者压缩单个文件的工具。

swz@swz-ubuntu:~/swz$ lsswz1  swz1.txt  swz2swz@swz-ubuntu:~/swz$ gzip swz1.txtswz@swz-ubuntu:~/swz$ lsswz1  swz1.txt.gz  swz2swz@swz-ubuntu:~/swz$ gunzip swz1.txt.gz swz@swz-ubuntu:~/swz$ lsswz1  swz1.txt  swz2

tar

tar不但可以打包文件,还可以将整个目录中的全部文件整合成一个包,整合包的同时还能使用 gzip的功能进行压缩。以gzip压缩的文件名为.gz。

bzip2

使用bzip2压缩的文件名默认带有.bz2作为扩展名。用带-z参数的来压缩文件。

本文由 mdnice 多平台发布

linux之文件管理相关推荐

  1. Linux之文件管理命令

    linux之文件管理 基本操作命令 file 确定文件类型file FILES pwd 返回当前所在绝对路径-P: 不显示链接,而是其原始文件路径 basename 列出基名例:# basename ...

  2. Linux的文件管理

    Linux的文件管理 创建文件 echo重定向 vim/vi cat touch管理:atime mtime touch 文件名 //如果文件不存在创建文件 touch -a -t [[CC]YY]M ...

  3. linux批量管理教程,Linux批量文件管理

    Linux批量文件管理 实验目标: 通过本实验掌握批量建立.移动.复制文件或目录的操作,也可以作为后续shell编程的基础. 实验步骤: 1.现在有十台终端机器,要为每台机器建立3个文件,总共要建立3 ...

  4. Linux 终端文件管理器 —— ranger

    Linux 终端文件管理器 -- ranger 1. 介绍 2. 安装 3. 使用 1. 介绍 ranger 分为三个部分: 左边为上级目录结构: 中间为当前可以操作的目录: 右边为当前目录下面所有的 ...

  5. Linux入门——文件管理

    我们知道Linux有一个思想"一切都是一个文件(包括硬件)",这是一篇关于基础文件管理的心得 文件系统结构元素 文件系统与目录结构 Linux文件的特点: 文件名区分大小写 以 . ...

  6. linux简单文件管理命令的使用

    在linux系统中,命令的使用要方便于图形界面的使用,上一个博客介绍了如何使用PuTTy远程登录linux,当然,我使用的是本地登录(手动滑稽) 经过一星期课余时间的了解,大致了解了一些简单的文件管理 ...

  7. Linux简单的文件管理器设计,桌面应用|如何从 Linux 的文件管理器中加密文件

    Linux 桌面版和服务器版具有卓越的安全性.然而这并不意味着你可以放松警惕.你应该一直认为你的数据总是很快就会被破坏.也就是说,你可能需要使用各种加密工具.比如 GnuPG,它可以让你加密和解密文件 ...

  8. Linux基础----文件管理、用户管理、用户权限

    ------------------------------------------文件管理----------------------------------- Linux目录结构 windows: ...

  9. Linux:文件管理

    1.Linux目录结构 1.1 WINDOWS/LINUX 对比 Windows: 以多根的方式组织文件 C:\ D:\ E:\ Linux: 以单根的方式组织文件 / 1.2 简介 /目录结构: F ...

最新文章

  1. 深度学习中的图像分割:方法和应用、特点
  2. html5新特性:利用history的pushState等方法来解决使用ajax导致页面后退和前进的问题
  3. c中volatile用法
  4. windows版本jenkins部署django项目
  5. bzoj 3209: 花神的数论题
  6. mysql 5.6.29.tar.gz_编译安装mysql5.6.29及安装报错的解决方法
  7. 五、python模块以及包
  8. HTML/CSS常用标签属性及样式
  9. centos6下如何安装mysql服务_CentOS6下安装MySQL数据库服务
  10. spark mysql 写_Spark-SQL从MySQL中加载数据以及将数据写入到mysql中(Spark Shell方式,Spark SQL程序)...
  11. mysql有if选择更新_使用IF条件的MySQL更新
  12. edge浏览器怎么设置activex_Edge浏览器ActiveX插件
  13. k3服务器重装系统,金蝶K3安装教程07:K3 WEB系统配置工具
  14. clamav获取病毒库版本号
  15. dell笔记本指示灯闪烁_Dell笔记本电源灯黄灯一直闪烁是什么问题 争决方法
  16. 2021年中国传感器行业产业链分析:智能时代发展下,传感器市场需求旺盛[图]
  17. Android常用炫酷风格控件包含项目地址汇总
  18. kux格式怎么转换mp4,这里有妙招
  19. SSL 域名证书 安装指引
  20. 深入理解机器学习——概率图模型(Probabilistic Graphical Model):马尔可夫随机场(Markov Random Field,MRF)

热门文章

  1. 16 .net core http请求
  2. 如何获得高清、4K无水印视频素材?教你轻松拥有高清视频
  3. 电子地图简易制作教程
  4. jxls操作excel
  5. Activiti7工作流引擎:进阶篇(七) 调用子流程 CallActivityTask
  6. 为了看看程序员常用什么工具软件,我“黑”进了技术部的收藏夹
  7. 如果不幸福,如果不快乐,那就放手吧;如果舍不得、放不下,那就痛苦吧。
  8. java计算机毕业设计在线问答平台MyBatis+系统+LW文档+源码+调试部署
  9. 2023年2月编程语言排行
  10. 「面试」拿到B站的意向书