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. Atitit.软件兼容性原理与实践 v3 q326.docx
  2. ACMNO.19 C语言-对角求和 求一个3×3矩阵对角线元素之和。 输入 矩阵 输出 主对角线 副对角线 元素和 样例输入 1 2 3 1 1 1 3 2 1 样例输出 3 7
  3. 【转】Monkey测试5-运行中停止monkey
  4. @Data注解使用后get set报错解决方法
  5. 苹果藏在 iOS 14.3 中的新算法被发现,CSAM 检测技术再遭抗议!
  6. SQLite 的日期时间函数
  7. 谁将拥有移动互联网的下一个机会?…
  8. 觉得自己目前还很菜。
  9. 51Nod 1046 A^B Mod C(日常复习快速幂)
  10. SQL SERVER存储过程的几种示例
  11. 软件工程——软件计划
  12. cmd imp导入dmp文件_在cmd中怎么样导入dmp文件?
  13. html 背景色线性渐变,各种浏览器设置背景颜色线性渐变的方式
  14. java lzw_lzw在java中解压缩
  15. Android绘制优化(二)布局优化
  16. Web漏洞挖掘(一)登录认证模块的暴力破解实例
  17. yml文件中${}的使用
  18. html长图转换成pdf,支持把各类文档转换成 HTML5(SVG)接口、长图片、PDF 。word转pdf、word转html5、pdf转网页html5、pdf转图片的接口...
  19. C语言实现贪吃蛇代码
  20. Oracle12C静默安装 Centos7

热门文章

  1. 职场上,英文流利会有额外收益吗?
  2. java:阿里云号码隐私服务使用
  3. 【数据库】第九章习题
  4. 帮助文档—C4D反射通道
  5. Android11.0(R) 预留清空锁屏密码接口
  6. 【HTML】video标签处理 隐藏下载按钮等
  7. 苹果更新“查找”APP,三星发布新款SmartTag Plus,蓝牙防丢器市场暴增
  8. 软件测试人员到底需不需要懂代码,我来告诉你
  9. mapbox设置地图语言为中文,支持JavaScript和Vue
  10. 如何成功-陈安之视频笔记