资讯专栏INFORMATION COLUMN

Linux基本命令

springDevBird / 2901人阅读

摘要:行数或行数与执行行数指令相同。或仅显示有无差异,不显示详细的信息。或显示版本信息。文件或文件您可以将文件或目录类型存成文本文件,然后在文件中指定此文本文件。或以并列的方式显示文件的异同之处。

1、判断文件夹是否存在
if [ ! -d backup ];then
    //不存在 创建多级目录
    mkdir -p backup/demo
fi    

注意:if条件判断结束一定要加”;“ 方括号[]两边一定要有空格

参数说明:

-e filename 如果filename存在,则为true

-d filename 如果filename为目录,则为true

-f filename 如果filename为常规文件,则为真

-L filename 如果 filename为符号链接,则为真

-r filename 如果 filename可读,则为真

-w filename 如果 filename可写,则为真

-x filename 如果 filename可执行,则为真

-s filename 如果文件长度不为0,则为真

-h filename 如果文件是软链接,则为真

2、创建文件夹、文件 2.1、创建文件夹

mkdir 文件夹

mkdir file 创建file空目录

mkdir -m 设定权限

mkdir -m 777 file  创建可读可写可执行权限的file文件夹

mkdir -p 递归创建多级目录

mkdir -p file1/file2/file3

mkdir -v 每次创建新目录都显示信息

mkdir -v file

显示信息:mkdir: created directory "file"

mkdir -pv scf/{lib/,bin/,doc/{info,product},logs/{info,product},service/deploy/{info,product}}
mkdir: 已创建目录 “scf”
mkdir: 已创建目录 “scf/lib”
mkdir: 已创建目录 “scf/bin”
mkdir: 已创建目录 “scf/doc”
mkdir: 已创建目录 “scf/doc/info”
mkdir: 已创建目录 “scf/doc/product”
mkdir: 已创建目录 “scf/logs”
mkdir: 已创建目录 “scf/logs/info”
mkdir: 已创建目录 “scf/logs/product”
mkdir: 已创建目录 “scf/service”
mkdir: 已创建目录 “scf/service/deploy”
mkdir: 已创建目录 “scf/service/deploy/info”
mkdir: 已创建目录 “scf/service/deploy/product”
2.2、创建文件

touch 用来创建文件或者修改文件的时间戳

-a:或--time=atime或--time=access或--time=use  只更改存取时间;
-c:或--no-create  不建立任何文件;
-d:<时间日期> 使用指定的日期时间,而非现在的时间;
-f:此参数将忽略不予处理,仅负责解决BSD版本touch指令的兼容性问题;
-m:或--time=mtime或--time=modify  只更该变动时间;
-r:<参考文件或目录>  把指定文件或目录的日期时间,统统设成和参考文件或目录的日期时间相同;
-t:<日期时间>  使用指定的日期时间,而非现在的时间;

创建不存在文件

touch file.txt

一次创建多个文件

touch file1.txt file2.txt file3.txt

在文件夹里面添加

touch test/file.txt
3、文件对比命令

diff [选项] from-file to-file

from-file:对比源文件

to-file:对比目标文件

选项:

-<行数>:指定要显示多少行的文本。此参数必须与-c或-u参数一并使用

-a或--text:diff预设只会逐行比较文本文件

-b或--ignore-space-change:不检查空格字符的不同

-B或--ignore-blank-lines:不检查空白行

-c  显示全部内文,并标出不同之处。

-C<行数>或--context<行数>  与执行"-c-<行数>"指令相同。

-d或--minimal  使用不同的演算法,以较小的单位来做比较。

-D<巨集名称>或ifdef<巨集名称>  此参数的输出格式可用于前置处理器巨集。

-e或--ed  此参数的输出格式可用于ed的script文件。

-f或-forward-ed  输出的格式类似ed的script文件,但按照原来文件的顺序来显示不同处。

-H或--speed-large-files  比较大文件时,可加快速度。

-l<字符或字符串>或--ignore-matching-lines<字符或字符串>  若两个文件在某几行有所不同,而这几行同时都包含了选项中指定的字符或字符串,则不显示这两个文件的差异。

-i或--ignore-case  不检查大小写的不同。

-l或--paginate  将结果交由pr程序来分页。

-n或--rcs  将比较结果以RCS的格式来显示。

-N或--new-file  在比较目录时,若文件A仅出现在某个目录中,预设会显示:

Only in目录:文件A若使用-N参数,则diff会将文件A与一个空白的文件比较。

-p  若比较的文件为C语言的程序码文件时,显示差异所在的函数名称。

-P或--unidirectional-new-file  与-N类似,但只有当第二个目录包含了一个第一个目录所没有的文件时,才会将这个文件与空白的文件做比较。

-q或--brief  仅显示有无差异,不显示详细的信息。

-r或--recursive  比较子目录中的文件。

-s或--report-identical-files  若没有发现任何差异,仍然显示信息。

-S<文件>或--starting-file<文件>  在比较目录时,从指定的文件开始比较。

-t或--expand-tabs  在输出时,将tab字符展开。

-T或--initial-tab  在每行前面加上tab字符以便对齐。

-u,-U<列数>或--unified=<列数>  以合并的方式来显示文件内容的不同。

-v或--version  显示版本信息。

-w或--ignore-all-space  忽略全部的空格字符。

-W<宽度>或--width<宽度>  在使用-y参数时,指定栏宽。

-x<文件名或目录>或--exclude<文件名或目录>  不比较选项中所指定的文件或目录。

-X<文件>或--exclude-from<文件>  您可以将文件或目录类型存成文本文件,然后在=<文件>中指定此文本文件。

-y或--side-by-side  以并列的方式显示文件的异同之处。

--help  显示帮助。

--left-column  在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容。

--suppress-common-lines  在使用-y参数时,仅显示不同之处

diff test.sh test1.sh

输出:

1,4d0
< if [ "`diff -w package.json ./rntest/cstTask/package.json`" ];then
<   echo `diff -w package.json ./rntest/cstTask/package.json`
<   mkdir tests
< fi
4、拷贝命令 4.1、文件复制命令

cp [选项] 源文件(source) 目标文件或者目录(destination)

-a: 是指archive的意思,也说是指复制所有的目录

-d: 若源文件为连接文件(link file),则复制连接文件属性而非文件本身

-f: 强制(force),若有重复或其它疑问时,不会询问用户,而强制复制

-i: 若目标文件(destination)已存在,在覆盖时会先询问是否真的操作

-l: 建立硬连接(hard link)的连接文件,而非复制文件本身

-p: 与文件的属性一起复制,而非使用默认属性

-r: 递归复制,用于目录的复制操作

-s: 复制成符号连接文件(symbolic link),即“快捷方式”文件

-u: 若目标文件比源文件旧,更新目标文件

cp -f package.json ./backup
4.2、文件移动

mv [选项] source destination

-f: force,强制直接移动而不询问

-i: 若目标文件(destination)已经存在,就会询问是否覆盖

-u: 若目标文件已经存在,且源文件比较新,才会更新

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/110552.html

相关文章

  • Linux基本命令

    摘要:基本命令列出文件如果要查看或系统上的文件列表,请使用命令。该命令以柱状格式提供信息。总结命令描述列出当前工作目录中的所有文件和目录列出子目录中的文件列出隐藏文件列出包含权限,大小,所有者等详细信息的文件和目录。 什么是Linux Linux是操作系统的核心。您可能听说过UNIX。好吧,Linux是一个UNIX克隆。但它实际上是由Scratch的Linus Torvalds创建的。Lin...

    Cciradih 评论0 收藏0
  • 看完这篇Linux基本的操作就会了

    摘要:前言只有光头才能变强这个学期开了的课程了,授课的老师也是比较负责任的一位。开源,可被定制,开放,多用户的网络操作系统。三常用的命令上面说了一堆的基础概念,这是给我们敲命令之前打了一点基础,在敲命令的同时也会遇到一些比较重要的知识点的。 前言 只有光头才能变强 这个学期开了Linux的课程了,授课的老师也是比较负责任的一位。总的来说也算是比较系统地学习了一下Linux了~~~ 本文章主要...

    AZmake 评论0 收藏0
  • 看完这篇Linux基本的操作就会了

    摘要:前言只有光头才能变强这个学期开了的课程了,授课的老师也是比较负责任的一位。开源,可被定制,开放,多用户的网络操作系统。三常用的命令上面说了一堆的基础概念,这是给我们敲命令之前打了一点基础,在敲命令的同时也会遇到一些比较重要的知识点的。 前言 只有光头才能变强 这个学期开了Linux的课程了,授课的老师也是比较负责任的一位。总的来说也算是比较系统地学习了一下Linux了~~~ 本文章主要...

    Faremax 评论0 收藏0
  • Linux再学习(一)-学习路线规划

    摘要:攻克了第一个困难了。因为你的角色再次变化。其中每个系统调用都要进行深入地学习读文档做实验。经过一段时间的学习,你攻克了这些东西。内核机制是我们重点学习部分,基于最新的内核。辅助学习,推荐深入理解内核。 1 抛弃旧文化,迎接Linux命令新文化 Linux第一步,从Windows思维,切换到Linux的命令行+文件模式 在Linux中,做什么都有相应命令。一般就在bin或者sbin目录...

    hoohack 评论0 收藏0
  • 【操作系统学习】一、熟悉实验环境实验报告

    摘要:本门课的基本流程实验的基本流程是根据实验要求编写应用程序修改的源代码,用编译后,在的虚拟环境中运行调试目标代码。目录下是全部的源代码,很多实验内容都是要靠修改这些代码来完成。 本门课的基本流程 实验的基本流程是根据实验要求编写应用程序、修改Linux 0.11的源代码,用gcc编译后,在Bochs的虚拟环境中运行、调试目标代码。 实验的基本工具及介绍(部分谷歌) X86模拟器Bochs...

    OBKoro1 评论0 收藏0
  • Linux命令

    摘要:命令显示当前目录下文件是最常见的目录操作命令,主要作用是显示目录下的内容。所在路径内置命令。命令格式选项文件名或目录名选项査看文件所在的文件系统信息,而不是査看文件的信息。是分屏显示文件的命令,其基本信息如下。命令名称英文原意。 ls命令:显示当前目录下文件 ls 是最常见的目录操作命令,主要作用是显示目录下的内容。这个命令的基本信息如下: 命令名称:ls。 英文原意:list。 所...

    atinosun 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<