草庐IT

文件相关命令

Nuy0ah 2023-03-28 原文

一、文件目录类

pwd指令

基本语法:pwd
功能:显示当前工作的绝对目录

ls指令

基本语法:ls [选项][目录或者文件]
常用选项

  • -a 显示所有文件及目录 (. 开头的隐藏文件也会列出)
  • -l 除文件名称外,亦将文件型态、权限、拥有者、文件大小等资讯详细列出

cd指令

基本语法:cd [参数] 参数可以是相对路径或绝对路径
功能:切换到指定目录
cd:回到自己的家目录
cd.. : 回到当前目录的上一级目录

wc指令

基本语法:wc 【参数】
功能:用于统计字数行数等
常用选项:

  • -w:显示字数
  • -c :显示字节数
  • -l :显示行数

mkdir指令

基本语法:mkdir [选项] 要创建的目录
功能:用于创建目录
选项:
-p:创建多级目录,确保目录存在,不存在就创建一个

rmdir指令

基本语法:rmdir [选项] 要删除的目录
功能:删除空目录
选项:
-p:是当子目录被删除后使它也成为空目录的话,则顺便一并删除

rm指令

基本语法:rm [选项] name
功能:删除一个文件或者目录
选项:

  • -i:删除前逐一确定
  • -f:即使文件权限仅读,也直接删除,无需确认。此选项的权限比-i要高,两个选项同时出现,不执行-i

cp指令

基本语法:cp [选项]+要拷贝的文件+拷贝的目的地
功能:用于复制文件或目录
选项:

  • -r:递归复制整个文件夹
  • -i:在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答 y 时目标文件将被覆盖
  • -f:覆盖已经存在的目标文件而不给出提示

mv指令

基本语法:

  • mv [选项] 旧文件 新文件名
  • mv [选项] 旧文件路径 移动目标目录

功能:重命名或移动文件
选项:

  • -i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
  • -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
  • -n: 不要覆盖任何已存在的文件或目录。

cat指令

基本语法: cat [选项] 查看的文件名
功能:查看文件内容
常用选项:-n显示行号
cat只能浏览文件不能修改文件,为了浏览方便一般会带上管道命令 | more

more指令

基本语法:more [选项] 查看的文件名
功能:与cat 指令功能相似,基于vi的文本过滤器,内置若干交互指令
常用快捷键:

  • 空白键 向下翻页
  • 回车键 向下翻一行
  • q 立刻离开more,不显示文件内容

less指令

基本语法:less 查看的文件
功能:分屏查看文件内容,与more类似,但比more更强大,less并不是一次性将文件全部加载,而是根据显示进行加载
常用快捷键:

  • 空白键:向下翻页
  • pageup:向上翻页
  • /字符串:向下查找字符串:n向下查找,N向上查找
  • q:离开less

echo指令

基本语法:echo [输出内容]
功能:输出内容到控制台

head指令

基本语法:head [选项] [文件]
功能:用于显示文件开头部分,默认显示10行
常用选项:-n<行数>显示的行数

tail指令

基本语法:tail [选项] [文件]
功能:用于显示文件结尾
常用参数:-f 实时追踪该文档的所有更新

touch指令

基本语法:touch 文件名
功能:创建一个空白文件

>指令和>>指令

基本语法:该指令通常与其他指令结合使用
功能:>是输出重定向,会将原本文件中内容覆盖;>>是追加,将其追加的文件的最后面
指令详解:

  • cat 文件1>文件2将文件1的内容覆盖到文件2中
  • cat 文件1>>文件2将文件1的内容追加到文件2的末尾

ln指令

基本语法:ln -s [原文件或目录][软链接名]
功能:为原文件创建一共软连接,类似于window的快捷方式

history指令

基本语法:history [选项]
功能:用于查看历史命令

二、时间日期类

date指令

功能:用于查看当前日期或更改日期
基本语法:

  • date 查看当前日期
  • date "+%Y"查看年份
  • date "+%m"查看月份
  • date -s 时间修改日期

cal指令

功能:查看日历
基本语法:

  • cal查看本月日历
  • cal+年份查看整年日历

三、搜索查找类

find指令

基本语法:find [查找范围] [选项]
功能:从指定目录下遍历其各个子目录,将满足条件的输出到终端
常用选项:

  • -name <查询方式>按照指定名字进行查找
  • -user 查找指定用户名的所有文件
  • -size <文件大小>按照制定文件大小进行查找 (-num小于;+num大于;num等于。单位:k,M,G)

locate指令

基本语法:locate 查找的文件名
功能:快速查找文件路径
locate介绍:此指令事先将整个系统路径和文件存放到相应的数据库中,查询速度较快;但第一次使用要先创建数据库,使用root权限执行updatedb创建数据库,数据库应该经常更新。

which指令

功能:用于查找指令所在的目录位置
基本语法:which 要查找的指令

grep指令与管道符号 |

基本语法:grep [选项] 查找内容 源文件
功能:过滤查找
常用选项:

  • -n显示行号
  • -i忽略大小写

管道符号相当于将两个指令连接在一起,把前一个指令的执行结果给下一个指令

四、压缩与解压类

gzip和gunzip指令

功能:用于压缩或解压文件,压缩文件后会出现.gz的后缀
基本语法:

  • gzip 文件名用于压缩
  • gunzip 文件名用于解压文件

zip和unzip指令

基本功能:用于压缩和解压文件
基本语法:

  • zip [选项] xxx.zip 要压缩的文件或文件夹
  • unzip [选项] xxx.zip
    常用选项:
  • zip:-r递归压缩,即压缩目录
  • unzip: -d<目录>规定解压后的文件存放在哪

tar指令

基本语法:tar【选项】 xxx.tar.gz 打包内容
功能:打包指令,既可以压缩又可以解压文件
有多个文件打包用空格隔开即可
常用选项:

  • -c 产生 .tar打包文件
  • -v显示详细信息
  • -f制定压缩后的文件名
  • -z打包同时压缩
  • -x解包.tar文件
  • -C指定解压到哪个目录

如果文章对您有帮助,请帮忙点点推荐

有关文件相关命令的更多相关文章

  1. ruby - 使用 RubyZip 生成 ZIP 文件时设置压缩级别 - 2

    我有一个Ruby程序,它使用rubyzip压缩XML文件的目录树。gem。我的问题是文件开始变得很重,我想提高压缩级别,因为压缩时间不是问题。我在rubyzipdocumentation中找不到一种为创建的ZIP文件指定压缩级别的方法。有人知道如何更改此设置吗?是否有另一个允许指定压缩级别的Ruby库? 最佳答案 这是我通过查看ruby​​zip内部创建的代码。level=Zlib::BEST_COMPRESSIONZip::ZipOutputStream.open(zip_file)do|zip|Dir.glob("**/*")d

  2. ruby - 其他文件中的 Rake 任务 - 2

    我试图在一个项目中使用rake,如果我把所有东西都放到Rakefile中,它会很大并且很难读取/找到东西,所以我试着将每个命名空间放在lib/rake中它自己的文件中,我添加了这个到我的rake文件的顶部:Dir['#{File.dirname(__FILE__)}/lib/rake/*.rake'].map{|f|requiref}它加载文件没问题,但没有任务。我现在只有一个.rake文件作为测试,名为“servers.rake”,它看起来像这样:namespace:serverdotask:testdoputs"test"endend所以当我运行rakeserver:testid时

  3. ruby-on-rails - 在 Rails 中将文件大小字符串转换为等效千字节 - 2

    我的目标是转换表单输入,例如“100兆字节”或“1GB”,并将其转换为我可以存储在数据库中的文件大小(以千字节为单位)。目前,我有这个:defquota_convert@regex=/([0-9]+)(.*)s/@sizes=%w{kilobytemegabytegigabyte}m=self.quota.match(@regex)if@sizes.include?m[2]eval("self.quota=#{m[1]}.#{m[2]}")endend这有效,但前提是输入是倍数(“gigabytes”,而不是“gigabyte”)并且由于使用了eval看起来疯狂不安全。所以,功能正常,

  4. ruby-on-rails - Rails 3 中的多个路由文件 - 2

    Rails2.3可以选择随时使用RouteSet#add_configuration_file添加更多路由。是否可以在Rails3项目中做同样的事情? 最佳答案 在config/application.rb中:config.paths.config.routes在Rails3.2(也可能是Rails3.1)中,使用:config.paths["config/routes"] 关于ruby-on-rails-Rails3中的多个路由文件,我们在StackOverflow上找到一个类似的问题

  5. ruby - 将差异补丁应用于字符串/文件 - 2

    对于具有离线功能的智能手机应用程序,我正在为Xml文件创建单向文本同步。我希望我的服务器将增量/差异(例如GNU差异补丁)发送到目标设备。这是计划:Time=0Server:hasversion_1ofXmlfile(~800kiB)Client:hasversion_1ofXmlfile(~800kiB)Time=1Server:hasversion_1andversion_2ofXmlfile(each~800kiB)computesdeltaoftheseversions(=patch)(~10kiB)sendspatchtoClient(~10kiBtransferred)Cl

  6. ruby - 如何将脚本文件的末尾读取为数据文件(Perl 或任何其他语言) - 2

    我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚

  7. ruby - 使用 Vim Rails,您可以创建一个新的迁移文件并一次性打开它吗? - 2

    使用带有Rails插件的vim,您可以创建一个迁移文件,然后一次性打开该文件吗?textmate也可以这样吗? 最佳答案 你可以使用rails.vim然后做类似的事情::Rgeneratemigratonadd_foo_to_bar插件将打开迁移生成的文件,这正是您想要的。我不能代表textmate。 关于ruby-使用VimRails,您可以创建一个新的迁移文件并一次性打开它吗?,我们在StackOverflow上找到一个类似的问题: https://sta

  8. ruby - 在 Ruby 中编写命令行实用程序 - 2

    我想用ruby​​编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序

  9. Ruby 写入和读取对象到文件 - 2

    好的,所以我的目标是轻松地将一些数据保存到磁盘以备后用。您如何简单地写入然后读取一个对象?所以如果我有一个简单的类classCattr_accessor:a,:bdefinitialize(a,b)@a,@b=a,bendend所以如果我从中非常快地制作一个objobj=C.new("foo","bar")#justgaveitsomerandomvalues然后我可以把它变成一个kindaidstring=obj.to_s#whichreturns""我终于可以将此字符串打印到文件或其他内容中。我的问题是,我该如何再次将这个id变回一个对象?我知道我可以自己挑选信息并制作一个接受该信

  10. ruby - 如何使用 Ruby aws/s3 Gem 生成安全 URL 以从 s3 下载文件 - 2

    我正在编写一个小脚本来定位aws存储桶中的特定文件,并创建一个临时验证的url以发送给同事。(理想情况下,这将创建类似于在控制台上右键单击存储桶中的文件并复制链接地址的结果)。我研究过回形针,它似乎不符合这个标准,但我可能只是不知道它的全部功能。我尝试了以下方法:defauthenticated_url(file_name,bucket)AWS::S3::S3Object.url_for(file_name,bucket,:secure=>true,:expires=>20*60)end产生这种类型的结果:...-1.amazonaws.com/file_path/file.zip.A

随机推荐