pwd用于查看当前工作目录
cd用于切换目录,cd [目录名称]可以进入指定目录。
"cd -"命令返回到上一次所处的目录
"cd.."命令进入上级目录
"cd ~"命令切换到当前用户的家目录
“cd ~username”切换到其他用户的家目录
ls命令用来查看指定文件夹下的文件
“-a”参数看到全部文件(包括隐藏文件),使用“-l”参数可以查看文件的属性、大小等详细信息,一般结合使用:ls -al
想要查看目录属性信息,则需要额外添加一个-d参数:ls -ld
cat命令用于查看纯文本文件(内容较少的),格式为“cat [选项] [文件]”。
-n参数可以显示行号
more命令用于查看纯文本文件(内容较多的),格式为“more [选项]文件”。
head命令用于查看纯文本文档的前N行,格式为“head [选项] [文件]”。
head -n 20 a.txt //查看前20行
tail命令用于查看纯文本文档的后N行或持续刷新内容,格式为“tail [选项] [文件]”。
tail -n 20 a.txt //查看后20行
tr命令用于替换文本文件中的字符,格式为“tr [原始字符] [目标字符]”
cat a.txt | tr [a-z] [A-Z] //使用了管道符,效果是把英文字母全换成大写
wc命令用于统计指定文本的行数、字数、字节数,格式为“wc [参数] 文本”
参数 | 作用 |
---|---|
-l | 只显示行数 |
-w | 只显示单词数 |
-c | 只显示字节数 |
stat命令用于查看文件的具体存储信息和时间等信息,格式为“stat 文件名称”
root@kali:~# stat aa.sql
文件:aa.sql
大小:1917 块:8 IO 块:4096 普通文件
设备:801h/2049d Inode:394580 硬链接:1
权限:(0644/-rw-r--r--) Uid:( 0/ root) Gid:( 0/ root)
最近访问:2019-07-12 22:00:56.796366821 +0800
最近更改:2019-07-12 22:00:54.228366800 +0800
最近改动:2019-07-12 22:00:54.228366800 +0800
创建时间:-
cut命令用于按“列”提取文本字符,格式为“cut [参数] 文本”
参数 | 作用 |
---|---|
-d | 指定分隔符 |
-f | 指定第几列 |
root@kali:~# cat aa.sql
-- MySQL dump 10.17 Distrib 10.3.15-MariaDB, for debian-linux-gnu (x86_64)
--
-- Host: localhost Database: zz
-- ------------------------------------------------------
-- Server version 10.3.15-MariaDB-1
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
root@kali:~# cut -d ' ' -f2 aa.sql
MySQL
--
Host:
------------------------------------------------------
Server
SET
SET
SET
SET
SET
SET
SET
SET
SET
SET
diff命令用于比较多个文本文件的差异,格式为“diff [参数] 文件”。
在使用diff命令时,不仅可以使用–brief参数来确认两个文件是否不同,还可以使用-c参数来详细比较出多个文件的差异之处
touch命令用于创建空白文件或设置文件的时间,格式为“touch [选项] [文件]”
参数 | 作用 |
---|---|
-a | 仅修改“读取时间”(atime) |
-m | 仅修改“修改时间”(mtime) |
-d | 同时修改atime与mtime |
root@kali:~/new# ls -l
总用量 81236
-rw-r--r-- 1 root root 807 9月 11 2018 aa.sql
-rw-r--r-- 1 root root 41587440 3月 27 14:07 idm_ald.exe
-rw-r--r-- 1 root root 41587440 3月 27 14:07 idm.zip
root@kali:~/new# touch -d "2018-09-11 10:22" idm.zip
root@kali:~/new# ls -l
总用量 81236
-rw-r--r-- 1 root root 807 9月 11 2018 aa.sql
-rw-r--r-- 1 root root 41587440 3月 27 14:07 idm_ald.exe
-rw-r--r-- 1 root root 41587440 9月 11 2018 idm.zip
mkdir用于创建空白的目录,格式为“mkdir [选项] 目录”。
可以结合-p参数来递归创建出具有嵌套叠层关系的文件目录。
mkdir sS
mkdir -p a/b/c/d
cp用于复制文件或目录,格式为“cp [选项] 源文件 目标文件”。
Linux系统中,复制操作具体分为3种情况:
参数 | 作用 |
---|---|
-p | 保留原始文件的属性(修改时间等都会保留) |
-d | 若对象为“链接文件”,则保留该“链接文件”的属性 |
-r | 递归持续复制(用于目录) |
-i | 若目标文件存在则询问是否覆盖 |
-a | 相当于-pdr(p、d、r为上述参数) |
mv命令用于剪切文件或将文件重命名,格式为“mv [选项] 源文件 [目标路径|目标文件名]”。
在同一个目录中对一个文件进行剪切操作,其实就是对其进行重命名。
root@kali:~/new# ls
aa.sql idm_ald.exe idm.zip
root@kali:~/new# mv aa.sql ab.sql
root@kali:~/new# ls
ab.sql idm_ald.exe idm.zip
rm命令用于删除文件或目录,格式为“rm [选项] 文件”。
参数 | 作用 |
---|---|
-f | 强制删除 |
-r | 目标文件为目录时必须使用 |
dd命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为“dd [参数]”
dd命令是一个比较重要而且比较有特色的一个命令,它能够让用户按照指定大小和个数的数据块来复制文件的内容。当然如果愿意的话,还可以在复制过程中转换其中的数据
参数 | 作用 |
---|---|
if | 输入的文件名称 |
of | 输出的文件名称 |
bs | 设置每个“块”的大小 |
count | 设置要复制“块”的个数 |
dd命令的功能也绝不仅限于复制文件这么简单。如果您想把光驱设备中的光盘制作成iso格式的镜像文件
//复制文件
dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-LinuxProbe.Com.iso
7311360+0 records in
7311360+0 records out
3743416320 bytes (3.7 GB) copied, 370.758 s, 10.1 MB/s
bs块大小与count块个数并没有太多规矩,随意组合满足大小要求即可
file命令用于查看文件的类型,格式为“file 文件名”。
root@kali:~# file new
new: directory
tar命令用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”。
参数 | 作用 |
---|---|
-c | 创建压缩文件 |
-x | 解开压缩文件 |
-t | 查看压缩包内有哪些文件 |
-z | 用Gzip压缩或解压 |
-j | 用bzip2压缩或解压 |
-v | 显示压缩或解压的过程 |
-f | 目标文件名 |
-p | 保留原始的权限与属性 |
-P | 使用绝对路径来压缩 |
-C | 指定解压到的目录 |
一般使用 “tar -czvf 压缩包名称.tar.gz 要打包的目录” 命令把指定的文件进行打包压缩,
解压命令为 “tar -xzvf 压缩包名称.tar.gz”。
grep命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep [选项] [文件]”
参数 | 作用 |
---|---|
-b | 将可执行文件(binary)当作文本文件(text)来搜索 |
-c | 仅显示找到的行数 |
-i | 忽略大小写 |
-n | 显示行号 |
-v | 反向选择—仅列出没有“关键词”的行 |
-r | 对当前目录中的所有文件进行查找,包括子目录中的文件 |
find命令用于按照指定条件来查找文件,格式为“find [查找路径] 寻找条件 操作”。
参数 | 作用 |
---|---|
-name | 匹配名称 |
-perm | 匹配权限(mode为完全匹配,-mode为包含即可) |
-user | 匹配所有者 |
-group | 匹配所有组 |
-mtime -n +n | 匹配修改内容的时间(-n指n天以内,+n指n天以前) |
-atime -n +n | 匹配访问文件的时间(-n指n天以内,+n指n天以前) |
-ctime -n +n | 匹配修改文件权限的时间(-n指n天以内,+n指n天以前) |
-nouser | 匹配无所有者的文件 |
-nogroup | 匹配无所有组的文件 |
-newer f1 !f2 | 匹配比文件f1新但比f2旧的文件 |
–type b/d/c/p/l/f | 匹配文件类型(后面的字母参数依次表示块设备、目录、字符设备、管道、链接文件、文本文件) |
-size | 匹配文件的大小(+50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件) |
-prune | 忽略某个目录 |
-exec …… {}; | 后面可跟用于进一步处理搜索结果的命令(下文会有演示) |
重点说明一下最后一个参数:
find / -name ab.sql -exec cp -a {} /root/ \;
前面部分是正常语句,-exec和{}之间是要进一步处理的命令,{}代表我们find找出的文件,结尾必须是"\;"