文件处理命令:file、mkdir、grep、dd、find、mv、ls、diff、cat、ln
1.file
使用file命令可以知道某个文件究竟是二进制(ELF格式)的可执行文件, 还是Shell Script文件,或者是其它的什么格式。file能识别的文件类型有目录、Shell脚本、英文文本、二进制可执行文件、C语言源文件、文本文件、DOS的可执行文件。
2.mkdir
用法:mkdir [选项]... 目录...
若指定目录不存在则创建目录。
长选项必须使用的参数对于短选项时也是必需使用的。
-m, --mode=模式 设置权限模式(类似chmod),而不是rwxrwxrwx 减umask
-p, --parents 需要时创建目标目录的上层目录,但即使这些目录已存在也不当作错误处理
-v, --verbose 每次创建新目录都显示信息
-Z, --context=CTX 将每个创建的目录的SELinux 安全环境设置为CTX
--help 显示此帮助信息并退出
--version 显示版本信息并退出
3.grep
用法: grep [选项]... PATTERN [FILE]...
在每个 FILE 或是标准输入中查找 PATTERN。
默认的 PATTERN 是一个基本正则表达式(缩写为 BRE)。
例如: grep -i 'hello world' menu.h main.c
正则表达式选择与解释:
-E, --extended-regexp PATTERN 是一个可扩展的正则表达式(缩写为 ERE)
-F, --fixed-strings PATTERN 是一组由断行符分隔的定长字符串。
-G, --basic-regexp PATTERN 是一个基本正则表达式(缩写为 BRE)
-P, --perl-regexp PATTERN 是一个 Perl 正则表达式
-e, --regexp=PATTERN 用 PATTERN 来进行匹配操作
-f, --file=FILE 从 FILE 中取得 PATTERN
-i, --ignore-case 忽略大小写
-w, --word-regexp 强制 PATTERN 仅完全匹配字词
-x, --line-regexp 强制 PATTERN 仅完全匹配一行
-z, --null-data 一个 0 字节的数据行,但不是空行
Miscellaneous:
-s, --no-messages suppress error messages
-v, --invert-match select non-matching lines
-V, --version print version information and exit
--help display this help and exit
--mmap ignored for backwards compatibility
Output control:
-m, --max-count=NUM stop after NUM matches
-b, --byte-offset print the byte offset with output lines
-n, --line-number print line number with output lines
--line-buffered flush output on every line
-H, --with-filename print the filename for each match
-h, --no-filename suppress the prefixing filename on output
--label=LABEL print LABEL as filename for standard input
-o, --only-matching show only the part of a line matching PATTERN
-q, --quiet, --silent suppress all normal output
--binary-files=TYPE assume that binary files are TYPE;
TYPE is `binary', `text', or `without-match'
-a, --text equivalent to --binary-files=text
-I equivalent to --binary-files=without-match
-d, --directories=ACTION how to handle directories;
ACTION is `read', `recurse', or `skip'
-D, --devices=ACTION how to handle devices, FIFOs and sockets;
ACTION is `read' or `skip'
-R, -r, --recursive equivalent to --directories=recurse
--include=FILE_PATTERN search only files that match FILE_PATTERN
--exclude=FILE_PATTERN skip files and directories matching FILE_PATTERN
--exclude-from=FILE skip files matching any file pattern from FILE
--exclude-dir=PATTERN directories that match PATTERN will be skipped.
-L, --files-without-match print only names of FILEs containing no match
-l, --files-with-matches print only names of FILEs containing matches
-c, --count print only a count of matching lines per FILE
-T, --initial-tab make tabs line up (if needed)
-Z, --null print 0 byte after FILE name
Context control:
-B, --before-context=NUM print NUM lines of leading context
-A, --after-context=NUM print NUM lines of trailing context
-C, --context=NUM print NUM lines of output context
-NUM same as --context=NUM
--color[=WHEN],
--colour[=WHEN] use markers to highlight the matching strings;
WHEN is `always', `never', or `auto'
-U, --binary do not strip CR characters at EOL (MSDOS)
-u, --unix-byte-offsets report offsets as if CRs were not there (MSDOS)
‘egrep’即‘grep -E’。‘fgrep’即‘grep -F’。
直接使用‘egrep’或是‘fgrep’均已不可行了。
不带 FILE 参数,或是 FILE 为 -,将读取标准输入。如果少于两个 FILE 参数
就要默认使用 -h 参数。如果选中任意一行,那退出状态为 0,否则为 1;
如果有错误产生,且未指定 -q 参数,那退出状态为 2。
4.find
find命令的作用是在目录中搜索文件,它的使用权限是所有用户。
find [path][options][expression]
path指定目录路径,系统从这里开始沿着目录树向下查找文件。它是一个路径列表,相互用空格分离,如果不写path,那么默认为当前目录。
[options]参数:
-depth:使用深度级别的查找过程方式,在某层指定目录中优先查找文件内容。
-maxdepth levels:表示至多查找到开始目录的第level层子目录。level是一个非负数,如果level是0的话表示仅在当前目录中查找。
-mindepth levels:表示至少查找到开始目录的第level层子目录。
-mount:不在其它文件系统(如Msdos、Vfat等)的目录和文件中查找。
-version:打印版本。
[expression]是匹配表达式,是find命令接受的表达式,find命令的所有操作都是针对表达式的。它的参数非常多,这里只介绍一些常用的参数。
-name:支持统配符*和?。
-atime n:搜索在过去n天读取过的文件。
-ctime n:搜索在过去n天修改过的文件。
-group grpoupname:搜索所有组为grpoupname的文件。
-user 用户名:搜索所有文件属主为用户名(ID或名称)的文件。
-size n:搜索文件大小是n个block的文件。
-print:输出搜索结果,并且打印。
5.mv
mv命令用来为文件或目录改名,或者将文件由一个目录移入另一个目录中,它的使用权限是所有用户。
mv[options] 源文件或目录 目标文件或目录
[options]主要参数
-i:交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统询问是否重写,要求用户回答“y”或“n”,这样可以避免误覆盖文件。
-f:禁止交互操作。mv操作要覆盖某个已有的目标文件时不给任何指示,指定此参数后i参数将不再起作用。
6.ls
ls命令用于显示目录内容
ls [options][filename]
options主要参数
-a, --all:不隐藏任何以“.” 字符开始的项目。
-A, --almost-all:列出除了“ . ”及 “.. ”以外的任何项目。
--author:印出每个文件著作者。
-b, --escape:以八进制溢出序列表示不可打印的字符。
--block-size=大小:块以指定<大小>的字节为单位。
-B, --ignore-backups:不列出任何以 ~ 字符结束的项目。
-f:不进行排序,-aU参数生效,-lst参数失效。
-F, --classify:加上文件类型的指示符号 (*/=@| 其中一个)。
-g:like -l, but do not list owner。
-G, --no-group:inhibit display of group information。
-i, --inode:列出每个文件的inode号。
-I, --ignore=样式:不印出任何符合Shell万用字符<样式>的项目。
-k:即--block-size=1K。
-l:使用较长格式列出信息。
-L, --dereference:当显示符号链接的文件信息时,显示符号链接所指示的对象,而并非符号链接本身的信息。
-m:所有项目以逗号分隔,并填满整行行宽。
-n, --numeric-uid-gid:类似-l,但列出UID及GID号。
-N, --literal:列出未经处理的项目名称,例如不特别处理控制字符。
-p, --file-type:加上文件类型的指示符号 (/=@| 其中一个)。
-Q, --quote-name:将项目名称括上双引号。
-r, --reverse:依相反次序排列。
-R, --recursive:同时列出所有子目录层。
-s, --size:以块大小为序。
7.diff
diff命令用于两个文件之间的比较,并指出两者的不同,它的使用权限是所有用户。
diff [options] 源文件 目标文件
[options]主要参数
-a:将所有文件当作文本文件来处理。
-b:忽略空格造成的不同。
-B:忽略空行造成的不同。
-c:使用纲要输出格式。
-H:利用试探法加速对大文件的搜索。
-I:忽略大小写的变化。
-n --rcs:输出RCS格式。
8.cmp
cmp(“compare”的缩写)命令用来简要指出两个文件是否存在差异,它的使用权限是所有用户。
cmp[options] 文件名
[options]主要参数
-l: 将字节以十进制的方式输出,并方便将两个文件中不同的以八进制的方式输出。
9.cat
cat(“concatenate”的缩写)命令用于连接并显示指定的一个和多个文件的有关信息,它的使用权限是所有用户。
cat [options] 文件1 文件2……
[options]主要参数
-n:由第一行开始对所有输出的行数编号。
-b:和-n相似,只不过对于空白行不编号。
-s:当遇到有连续两行以上的空白行时,就代换为一行的空白行。
显示内容并编号:cat -n file1 file2
合并内容到第三个文件:cat -b file1 file2 > file3
一个">"为新增,两个">>"为追加
10.ln
ln命令用来在文件之间创建链接,它的使用权限是所有用户。
ln [options] 源文件 [链接名]
参数
-f:链结时先将源文件删除。
-d:允许系统管理者硬链结自己的目录。
-s:进行软链结(Symbolic Link)。
-b:将在链结时会被覆盖或删除的文件进行备份。
硬链接:ln file1 file2
软链接:
ln -s file1 file2
ln -s dir1 dir2
相关推荐
04.1.1 Linux常用命令-文件处理命令-命令格式与目录处理命令ls.mp4 04.1.2 Linux常用命令-文件处理命令-目录处理命令.mp4 04.1.3 Linux常用命令-文件处理命令-文件处理命令.mp4 04.1.4 Linux常用命令-文件处理...
首先,`jdk-8u171-linux-x64.rpm`是一个RPM(Red Hat Package Manager)格式的文件,主要用于基于RPM包管理系统的Linux发行版,如Fedora、CentOS或Red Hat Enterprise Linux。RPM包提供了方便的安装、升级和卸载功能...
1. 解压缩文件:使用`unzip`命令解压zip文件,然后用`tar -xf`命令解压tar.xz文件。 2. 安装到系统路径:通常,用户会将编译器安装到`/usr/local`或自定义目录下,通过运行类似`sudo make install`的命令。 3. 设置...
4. 开发与编译:有了交叉编译器,开发者可以使用`mipsel-linux-gcc`命令来编译针对MIPSel Linux系统的C/C++代码,生成可执行文件。 5. 软件部署:将编译好的二进制文件部署到实际的MIPSel Linux设备上运行,或者...
在Linux环境中,用户可以使用`tar -zxvf jdk-8u261-linux-x64.tar.gz`命令来解压文件,之后通常会得到一个名为`jdk1.8.0_261`的目录,其中包含了所有必要的JDK组件。 标签 "jdk-8u261-linux-" 和 "jdk8" 强调了这是...
标题中的“jdk-8u162-linux-x64.tar.zip”揭示了这是一个与Java开发工具包(JDK)相关的文件,特别指出是版本8的更新162(u162),针对Linux操作系统的64位架构。JDK是Java编程语言的核心组件,包含了编译器、调试器...
本文将详细介绍几个常用的Linux文件处理命令,包括`file`、`mkdir`、`grep`以及`dd`,并提供实际应用场景示例,以便更好地理解这些命令的功能及其用法。 #### 二、`file`命令 **1. 作用** `file`命令用于通过检测...
- 在Linux环境下,用户通常需要使用`tar`命令来解压这个文件,例如:`tar -zxvf jdk-8u91-linux-x64.tar.gz`。 - 解压后,用户需要将JDK的路径添加到环境变量`PATH`中,以便系统可以在任何目录下执行Java命令。 5...
Linux系统信息存放在文件里,文件与普通的公务文件类似。每个文件都有自己的名字、内容、存放地址及其它一些管理信息,如文件的用户、文件的大小等。文件可以是一封信、一个通讯录...这里主要介绍常用的文件处理命令。
1. 解压文件:使用`tar -zxvf peak-linux-driver-8.15.1.tar.gz`命令解压下载的压缩包。 2. 配置驱动:进入解压后的目录,执行`./configure`命令,根据系统配置进行自动检测和设置。 3. 编译驱动:运行`make`命令...
在Linux环境下,通常会使用tar命令来提取这种类型的文件,先用gunzip解压gz文件,然后用tar -xvf命令来展开tar文件。这一步骤是安装JDK的前提,因为原始的压缩包需要被提取到一个特定的目录,通常是/usr/lib/jvm或者...
4.1.1 Linux常用命令-文件处理命令-命令格式与目录处理命令ls 4.1.2 Linux常用命令-文件处理命令-目录处理命令 4.1.3 Linux常用命令-文件处理命令-文件处理命令 4.1.4 Linux常用命令-文件处理命令-链接命令 4.2.1 ...
解压这个文件通常需要使用`tar -zxvf jdk-8u221-linux-x64.tar.gz`这样的命令。 在标签中,我们看到了“linux”和“java”。这意味着该主题与Linux操作系统以及Java编程语言紧密相关。Linux是开源的、类Unix的操作...
### Linux 文件查找与内容过滤命令详解 #### 一、引言 在Linux环境中,高效地管理文件和数据是一项基本但至关重要的技能。特别是在处理大量文件和数据时,能够迅速找到所需的文件并从中提取有用的信息变得至关重要...
这个文件是一个tar归档文件,内含gz压缩,通常用于在Linux中分发软件。要解压此文件,可以使用以下命令: ```bash tar -zxvf jdk-17_linux-x64_bin.tar.gz ``` 这将创建一个名为`jdk-17.0.3.1`的目录,其中包含...
Linux中的`tar`命令是一个非常重要的工具,用于创建、管理和提取档案文件。它允许用户将多个文件和目录打包成一个单一的文件,便于备份、存储和传输。在Linux环境中,`tar`命令广泛用于系统维护和数据管理。 `tar`...
- 解压:在Linux终端中,使用`unzip jdk-11.0.2_linux-x64_bin.tar.zip`命令解压文件,然后用`tar -zxvf jdk-11.0.2_linux-x64_bin.tar.gz`解压tar文件。 - 配置环境变量:在`~/.bashrc`或`~/.bash_profile`文件中...
描述中提到的"解压及位tar.gz包"指示了处理这个文件的步骤。首先,需要使用tar命令来解压gz格式的文件。在终端中,可以使用以下命令: ```bash tar -zxvf jdk-8u231-linux-x64.tar.gz ``` 这将解压缩出一个名为...
1. **下载文件**:通过wget命令或者浏览器下载`jdk-8u241-linux-x64.tar.gz`到你的Linux系统。 2. **切换到目标目录**:通常,开发者会在`/opt`或`/usr/local`目录下创建一个名为`java`的文件夹,然后切换到该目录...
2. 使用tar命令解压文件,例如:`tar -zxvf jdk-8u151-linux-x64.tar.gz`。 3. 将解压后的目录移动到一个合适的系统目录,如/usr/lib/jvm。 4. 更新系统环境变量,如JAVA_HOME,并在PATH中添加JDK的bin目录。 5. ...