百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Linux常用文件操作命令

nanshan 2025-05-14 15:21 27 浏览 0 评论

ls命令

在Linux维护工作中,经常使用ls这个命令,这是最基本的命令,来写几条常用的ls命令。

先来查看一下使用的ls版本

 # ls --version ls (GNU coreutils) 8.4 Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later . This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Richard M. Stallman and David MacKenzie. 

-a :全部的档案,连同隐藏档( 开头为 . 的档案) 一起列出来

 # ls -a . .bash_history .bashrc install.log .rnd .viminfo .. .bash_logout .cshrc install.log.syslog .tcshrc anaconda-ks.cfg .bash_profile ic.asp .mysql_history test.sh 

-A :全部的档案,连同隐藏档,但不包括 . 与 .. 这两个目录,一起列出来

 # ls -A anaconda-ks.cfg .bash_profile ic.asp .mysql_history test.sh .bash_history .bashrc install.log .rnd .viminfo .bash_logout .cshrc install.log.syslog .tcshrc 

-f :直接列出结果,而不进行排序 (ls 预设会以档名排序!)

 # ls -f .bash_history install.log anaconda-ks.cfg .tcshrc .bash_profile .mysql_history ic.asp test.sh install.log.syslog .rnd .bashrc .bash_logout . .cshrc .. .viminfo 

-i :列出 inode 位置,而非列出档案属性;

 # ls -i 131081 anaconda-ks.cfg 131074 install.log 131087 test.sh 131085 ic.asp 131075 install.log.syslog 

-l :长数据串行出,包含档案的属性等等数据。

 # ls -l total 28 -rw-------. 1 root root 1232 Mar 21 2014 anaconda-ks.cfg -rw-r--r--. 1 root root 218 Mar 27 2014 ic.asp -rw-r--r--. 1 root root 10602 Mar 21 2014 install.log -rw-r--r--. 1 root root 3824 Mar 21 2014 install.log.syslog 

-n :列出 UID 与 GID 而非使用者与群组的名称 (UID与GID会在账号管理提到!)

 # ls -n total 28 -rw-------. 1 0 0 1232 Mar 21 2014 anaconda-ks.cfg -rw-r--r--. 1 0 0 218 Mar 27 2014 ic.asp -rw-r--r--. 1 0 0 10602 Mar 21 2014 install.log -rw-r--r--. 1 0 0 3824 Mar 21 2014 install.log.syslog -rwxrwxrwx. 1 0 0 71 Mar 22 2014 test.sh 

-r :将排序结果反向输出,例如:原本档名由小到大,反向则为由大到小。

 # ls -r test.sh install.log.syslog install.log ic.asp anaconda-ks.cfg 

-R :连同子目录内容一起列出来

 # ls -R .: anaconda-ks.cfg ic.asp install.log install.log.syslog test.sh 

–full-time :以完整时间模式 (包含年、月、日、时、分) 输出

 # ls --full-time total 28 -rw-------. 1 root root 1232 2014-03-21 11:47:42.036260099 +0800 anaconda-ks.cfg -rw-r--r--. 1 root root 218 2014-03-27 17:14:58.616108512 +0800 ic.asp -rw-r--r--. 1 root root 10602 2014-03-21 11:47:38.997261768 +0800 install.log -rw-r--r--. 1 root root 3824 2014-03-21 11:46:29.032261018 +0800 install.log.syslog -rwxrwxrwx. 1 root root 71 2014-03-22 15:00:12.652133897 +0800 test.sh 

file命令

  • 功能说明:该命令用来识别文件类型,也可用来辨别一些文件的编码格式。
  • 语 法:file [ -bchikLnNprsvz ] [ -f namefile ] [ -F separator ] [ -m magicfiles ]
  • 补充说明:它是通过查看文件的头部信息来获取文件类型,而不是像Windows通过扩展名来确定文件类型的。
  • 参 数:
    • -b 列出文件辨识结果时,不显示文件名称
    • -c 详细显示指令执行过程,便于排错或分析程序执行的情形
    • -f 列出文件中文件名的文件类型
    • -F 使用指定分隔符号替换输出文件名后的默认的“:”分隔符。
    • -i 输出mime类型的字符串
    • -L 查看对应软链接对应文件的文件类型
    • -z 尝试去解读压缩文件的内容

cp命令

  • 功能说明:复制文件或目录。
  • 语 法:cp [-abdfilpPrRsuvx][-S ][-V ][–help][–spares=][–version][源文件或目录][目标文件或目录] [目的目录]
  • 补充说明:cp指令用在复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到该目录中。若同时指定多个文件或目录,而最后的目的地并非是一个已存在的目录,则会出现错误信息。
  • 参 数:
    • -a或–archive:此参数的效果和同时指定”-dpR”参数相同。
    • -b或–backup:删除,覆盖目标文件之前的备份,备份文件会在字尾加上一个备份字符串。
    • -i或–interactive:覆盖既有文件之前先询问用户。
    • -l或–link:对源文件建立硬连接,而非复制文件。
    • -P或–parents:保留源文件或目录的路径。

rm命令

  • 功能说明:删除文件或目录。
  • 语 法:rm [-dfirv][–help][–version][文件或目录…]
  • 补充说明:执行rm指令可删除文件或目录,如欲删除目录必须加上参数”-r”,否则预设仅会删除文件。
  • 参 数:
    • -d或–directory:直接把欲删除的目录的硬连接数据删成0,删除该目录。
    • -f或–force:强制删除文件或目录。
    • -i或–interactive:删除既有文件或目录之前先询问用户。
    • -r或-R或–recursive:递归处理,将指定目录下的所有文件及子目录一并处理。
    • -v或–verbose:显示指令执行过程。

mv命令

  • 功能说明:移动或更名现有的文件或目录。
  • 语 法:mv [-bfiuv][–help][–version][-S ][-V ][源文件或目录][目标文件或目录]
  • 补充说明:mv可移动文件或目录,或是更改文件或目录的名称。
  • 参 数:
    • -b或–backup:若需覆盖文件,则覆盖前先行备份。
    • -f或–force:若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文 件或目录。
    • -i或–interactive:覆盖前先行询问用户。
    • -u或–update:在移动或更改文件名时,若目标文件已存在,且其文件日期比源文件新,则不覆盖目标文件。

touch命令

  • 功能说明:touch命令一般用来更改文档或目录的用来修改文件时间戳,包括存取时间和更改时间。
  • 语 法:touch [选项]… 文件…
  • 补充说明:还可以新建一个不存在的文件。
  • 参 数:
    • -a 或–time=atime或–time=access或–time=use 只更改存取时间
    • -c 或–no-create 不建立任何文档。
    • -d 使用指定的日期时间,而非现在的时间。
    • -f 此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题。
    • -m 或–time=mtime或–time=modify 只更改变动时间。
    • -r 把指定文档或目录的日期时间,统统设成和参考文档或目录的日期时间相同。
    • -t 使用指定的日期时间,而非现在的时间。
    • –no-create 不会建立新档案。
    • –help 列出指令格式。
    • –version 列出版本讯息。
 # touch 2014test 2013test # ll -rw-r--r-- 1 root root 0 10月 6 14:54 2014 2013test -rw-r--r-- 1 root root 0 10月 6 14:54 2014 2014test 

如果2012test不存在,则不创建文件

 # touch -c 2012test # ll -rw-r--r-- 1 root root 0 10月 6 14:54 2014 2013test -rw-r--r-- 1 root root 0 10月 6 14:54 2014 2014test 

cksum命令

  • 功能说明:检查文件的CRC是否正确。
  • 语 法:cksum [–help][–version][文件…]
  • 补充说明:CRC是一种排错检查方式,该演算法的标准由CCITT所指定,至少可检测到99.998%的已知错误。指定文件交由cksum演算,它会回报计算结果,供用户核对文件是否正确无误。若不指定任何文件名称或是所给予的文件名为”-“,则cksum指令会从标准输入设备读取数据。
  • 参 数:
    • –help:在线帮助。
    • –version:显示版本信息。

经常用于系统迁移时,在原服务器和迁移后服务器用cksum命令进行文件的正确性比较。

 # cksum /etc/hosts 2823562723 184 /etc/hosts 

chown命令

  • 功能说明:修改文件及目录的所有者及组
  • 语 法:chmod [-cfhvR] [–help] [–version] user[:group] file…
  • 补充说明:Linux/Unix是多人多工操作系统,所有的档案皆有拥有者。利用chown可以将档案的拥有者加以改变。一般来说,这个指令只有是由系统管理者(root)所使用,一般使用者没有权限可以改变别人的档案拥有者,也没有权限可以自己的档案拥有者改设为别人。只有系统管理者(root)才有这样的权限。
  • 参 数:
    • user:新的档案拥有者的使用者。
    • IDgroup:新的档案拥有者的使用者群体(group)。
    • -c:若该档案拥有者确实已经更改,才显示其更改动作-f : 若该档案拥有者无法被更改也不要显示错误讯息
    • -h:只对于连结(link)进行变更,而非该 link 真正指向的档案
    • -v:显示拥有者变更的详细资料
    • -R:对目前目录下的所有档案与子目录进行相同的拥有者变更(即以递回的方式逐个变更)
    • –help:显示辅助说明
    • –version:显示版本

文件file1.txt的拥有者为users群体为jessie。

 # chown users:jessie file1.txt 

将当前目录下的所有文件与子目录的拥有者皆设为users群体的使用者lamport。

 # chown -R users:lamport * 

chmod命令

  • 功能说明: 改变文件或目录的访问权限。
  • 语 法:chmod [-cfvR] [–help] [–version] mode file…
  • 补充说明:设置方式采用群组名称或群组识别码皆可。
  • 参 数:
    • -r 表示可读取
    • -w 表示可写入
    • -x 表示可执行\
    • -c : 若该档案权限确实已经更改,才显示其更改动作
    • -f : 若该档案权限无法被更改也不要显示错误讯息
    • -v : 显示权限变更的详细资料
    • -R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
    • –help : 显示辅助说明
    • –version : 显示版本

将档案 file1.txt 设为所有人皆可读取

 # chmod ugo+r file1.txt 

或者

 # chmod a+r file1.txt 

将档案file1.txt与file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入

 # chmod ug+w,o-w file1.txt file2.txt 

将当前目录下的所有档案与子目录皆设为任何人可读取

 # chmod -R a+r * 

此外chmod也可以用数字来表示权限如

语法为:chmod abc file

其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。

  • r=4,w=2,x=1
  • rwx属性则4+2+1=7
  • rw-属性则4+2=6
  • r-x属性则4+1=5

chattr命令

  • 功能说明:改变文件属性。
  • 语 法:chattr [-RV][-v][+/-/=][文件或目录…]
  • 补充说明:这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:
    • a:让文件或目录仅供附加用途。
    • b:不更新文件或目录的最后存取时间。
    • c:将文件或目录压缩后存放。
    • d:将文件或目录排除在倾倒操作之外。
    • i:不得任意更动文件或目录。
    • s:保密性删除文件或目录。
    • S:即时更新文件或目录。
    • u:预防以外删除。
  • 参 数:
    • -R 递归处理,将指定目录下的所有文件及子目录一并处理。
    • -v 设置文件或目录版本。
    • -V 显示指令执行过程。
    • + 开启文件或目录的该项属性。
    • - 关闭文件或目录的该项属性。
    • = 指定文件或目录的该项属性。

tar命令

  • 功能说明: 归档文件及目录。
  • 语 法:tar [-ABcdgGhiklmMoOpPrRsStuUvwWxzZ][-b ][-C ]…
  • 补充说明:tar是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。
  • 参 数:
    • -c:创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。
    • -r:把要存档的文件追加到档案文件的未尾。例如用户已经做好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中。
    • -t:列出档案文件的内容,查看已经备份了哪些文件。
    • -u:更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中找不到要更新的文件,则把它追加到备份文件的最后。
    • -x:从档案文件中释放文件。

zip命令

  • 功能说明:压缩文件。
  • 语 法:zip [-AcdDfFghjJKlLmoqrSTuvVwXyz$][-b ][-ll][-n ][-t ][-][压缩文件][文件…][-i ][-x ]…
  • 补充说明:zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有”.zip”扩展名的压缩文件。
  • 参 数:
    • -A:调整可执行的自动解压缩文件。
    • -b:指定暂时存放文件的目录。
    • -c:替每个被压缩的文件加上注释。
    • -d:从压缩文件内删除指定的文件。
    • -D:压缩文件内不建立目录名称。
    • -f:此参数的效果和指定”-u”参数类似,但不仅更新既有文件,如果某些文件原本不存在于压缩文件内,使用本参数会一并将其加入压缩文件中。
    • -F:尝试修复已损坏的压缩文件。
    • -g:将文件压缩后附加在既有的压缩文件之后,而非另行建立新的压缩文件。
    • -j:只保存文件名称及其内容,而不存放任何目录名称。

相关推荐

基于 Linux 快速搭建企业级 DNS 服务器(Bind9 ...

一、引言在大型企业网络或自建系统中,搭建一套高可用、自控的DNS解析服务器至关重要。本文将带你基于Linux环境,从零搭建企业级DNS服务平台,采用Bind9实战配置,确保解析稳定、安...

Linux无法解析域名的解决办法(linux无法解析域名的解决办法有哪些)

如果由于误操作,删除了系统原有的dhcp相关设置就无法正常解析域名。  此时,需要手动修改配置文件:  /etc/resolv.conf  将域名解析服务器手动添加到配置文件中  该文件是DNS域名解...

在centos7 创建基于域名的虚拟主机nginx服务器

直接用ip地址访问首先是不安全,其次不太容易记住,如果你的服务器上的项目有很多个,你创建多个基于Ip的虚拟主机,很容易导致公网ip冲突或乱用的情况。这时候我们就可以选择基于域名的虚拟主机。第一步、安装...

Linux之DNS服务(linux dnsserver)

一、学习路线如下二、DNS介绍1.域名的概念域名由特定的格式组成,用来表示互联网中某一台计算机或者计算机组的名称,能够使人更方便的访问互联网,而不用记住能够被机器直接读取的IP地址。2.DNS(dom...

Linux环境下DNS服务器配置图文详细教程

测试环境为vmware虚拟机下,linux系统为RedHatEnterpriseLinuxServer6.0(Santiago),内核版本Linux2.6.32-71.el6.i686...

构建基于 Linux 的高性能 DNS 服务器

在现代网络架构中,DNS(域名解析)是访问互联网的关键环节。搭建一个高性能、低延迟、可缓存加速的私有DNS服务器,不仅可以提升访问速度,还能增强网络隐私和安全性。本文将基于Linux系统,详细...

从运维的角度带你初识neo4j图形数据库的安装及配置

前言随着公司业务架构的改变,以前我部署环境的时候,一般只是部署Mysql,jdk,tomcat即可,现在还要部署一些nosql,如redis,neo4j,在之前从来没了解过,随着学习的深入而做了一些笔...

[超全整理] Java 程序员必备的 100 条 Linux 命令大全

一、基础操作(10条)#1.ls-查看目录内容ls-l#长格式显示文件和目录ls-a#显示隐藏文件ls-lh#带单位显示文件大小#2.cd-切换目录...

软件测试|一文教你轻松搭建docker环境

前言Docker提供轻量的虚拟化,你能够从Docker获得一个额外抽象层,你能够在单台机器上运行多个Docker微容器,而每个微容器里都有一个微服务或独立应用,例如你可以将Tomcat运行在一个Do...

docker基础知识/尚硅谷docker学习笔记

最近看了好多docker的资料,找了一些尚硅谷docker的教学视频,大概总结了一下前前后后的学习笔记。分享给大家。安装Docker的基本组成镜像Docker镜像(Image)就是一个只读的模板。镜...

前端_react项目从windows部署到centos

前言:从工程角度来讲,本地开发完就要把项目部署到生产环境,此过程的快慢也直接影响着整体的效率。所以也有很多人做持续集成的工作,例如:CI/CD/一键部署。但对于个人开发者而言,如果能有工具支撑是最好的...

Springboot项目使用docker部署(docker中运行springboot项目)

环境:SpringBoot2.2.10.RELEASE+Docker+Centos7+JDK8安装配置Dockeryum包更新到最新yumupdate卸载旧版本dockeryumre...

Spring Boot 3.x + Redis 7.x,轻松掌握Redisson分布式锁实战技巧

大家好,我是袁庭新。在分布式环境中,确保数据的一致性和正确性是至关重要的。对于需要高性能、高并发和分布式数据存储的应用程序来说,Redisson是一个很好的选择。同时,Redisson提供的分布式锁功...

Docker篇(二):Docker实战,命令解析

大家好,我是杰哥上周我们通过几个问题,让大家对于Docker有了一个全局的认识。然而,说跟练往往是两个概念。从学习的角度来说,理论知识的学习,往往只是第一步,只有经过实战,才能真正掌握一门技术所以,本...

新手快速入门Docker,轻松掌握Docker安装与使用

安装使用官方安装脚本自动安装curl-fsSLhttps://get.docker.com|bash-sdocker--mirrorAliyun手动安装CentOS7(使用yum进...

取消回复欢迎 发表评论: