linux 修改文件名称_【006】Linux学习必须掌握的基本命令(下)

3f972546bb60f5b06fffce6d10ae8235.png

总第82篇

本篇继续梳理Linux学习过程中必须掌握的基本命令。

1.文本文件编辑命令

Linux系统中一切皆是文件,而对于服务程序进行配置自然也是编辑配置文件,因此要熟练地掌握文本文件编辑相关的命令。

  • cat命令

cat命令用于查看内容较少的纯文本文件,其格式为cat [命令参数] [文件]。其常用的操作如下:

## 显示行号地方式查看文件内容
# cat -n hello.conf

## cat 后面不带参数或参数为-,则调用标准输入并显示
# cat -
  • more命令

more命令用于查看内容较多时的纯文本文件,其格式为more [命令参数] 文件more命令会在最下面使用百分比的形式来提示你已经阅读了多少文件内容,还可以用空格回车来翻页。

  • head命令

head命令用来查看纯文本文件的前N,其格式为head [命令参数] [文件]。 其一般的用法如下:

## 查看文件hello.conf的前50行
# head -n 50 hello.conf
  • tail命令

tail命令用于查看纯文本文件的后N行或持续刷新内容,其格式为tail [命令参数] [文件]。 这个命令最强悍的功能是可以持续刷新一个文件的内容。其常用的操作如下:

## 查看文件hello.conf的最后50行
# tail -n 50 hello.conf

## 查看最新的日志文件
# tail -f 文件名
  • tr命令

tr命令用于替换文本文件中的字符,其格式为tr [原始字符] [目标字符]

这个命令非常有且,比如有时我们需要将整个文件中的英文小写全部换成大写,就可以用如下操作实现:

## 将hello.conf中所有英文全部替换成大写
# cat hello.conf | tr [a-z] [A-Z]
  • wc命令

wc命令用于统计指定文本的行数、字数、字节数,其格式为wc [命令参数] 文件

Linux系统中,etc/passwd中存放的是系统账户信息,要统计当前系统中有多少个用户,可以使用命令wc -l /etc/passwd查询,是不是非常棒~~~~~

  • stat命令

stat命令用于查看文件的具体存储信息和时间信息,其格式为stat [命令参数] 文件名称。 具体的参数信息可以用命令man stat查看。

  • cut命令

cut命令用于按“列”提取文本字符,其格式为cut [命令参数] 文本文件。如下图示例出了提取当前系统的所用用户名:

131729ff4011d9b907ffc42542a78c1a.png
  • diff命令

diff命令用于逐行比较多个文本文件的差异,其格式为diff [命令参数] 文本文件1 文本文件2。 详细用法可以参考man diff文档。

2. 文件目录管理命令

  • touch命令

touch命令用于创建空白文件或设置文件时间,其格式为touch [命令参数] 文件。其对应的几个时间参数如下表所示:

参数说明
-a仅修改“访问时间”(atime)
-m仅修改“修改时间”(mtime)
-d同时修改 atime 和 mtime

其常用的操作如下图所示,我们先创建一个hello文件,写入一句话,然后查看文件的详细信息,再用touch命令修改文件的时间。

ab602847b3008f906e2916ffe70f3c14.png
  • mkdir命令

mkdir命令用于创建空白的目录,其格式为mkdir [命令参数] 目录。 它还可用参数-p递归创建嵌套目录。其一般的操作如下:

##创建目录workspace
# mkdir workspace
## 递归创建目录
# mkdir -p aa/bb/cc/dd 
  • cp命令

cp命令用于复制文件或目录,其格式为cp [命令参数] 源文件 目标文件。 对于Linux系统中文件的复制操作,分为三种情况:

1)若目标文件是目录,则会将源文件复制到此目录中;

2)若目标文件也是普通文件,则会询问是否要覆盖它;

3)若目标文件不存在,则执行正常的复制操作;

其主要的参数如下表所示:

参数说明
-p保留原始文件的属性
-d若对象为链接文件,保留链接文件的属性
-r递归复制(用于目录)
-i若目标文件存在,询问是否覆盖
-a相当于-pdr(上述参数)
  • mv命令

mv命令用于剪切文件或将文件重命名,其格式为 mv [命令参数] 源文件 [目标路径 | 目标文件名]。 剪切不同于复制,它会将源文件删除掉,若在同一目录进行剪切操作,就相当于重命名。

  • rm命令

rm命令用于删除文件或目录,其格式为rm [命令参数] 文件

Linux系统中,删除文件时,系统会向你询问,若不想反复确认,可以用rm -f 文件名的方式强制删除。若想删除一个目录,要用rm -r 目录名递归删除,否则删除不掉。

  • dd命令

dd命令是一个重要而有特色的一个命令,它能够让用户按照指定大小和个数的数据块来复制文件的内容,其格式为dd [命令参数]。 其主要的参数如下表所示:

参数说明
bs设置每个块的字节数大小
if输入的文件名称
of输出的文件名称
count要复制的块的个数

其常用的操作如下:

## 从/dev/zero设备中取出一个大小100M的数据块,保存为result_file文件
# dd if=/dev/zero of=result_file count=2 bs=50

## 将光驱设备中的光盘制作成iso镜像文件
# dd if=/dev/cdrom of=software_install.iso
  • file命令

file命令用来查看文件的类型,其格式为 file [命令参数] 文件名。因为在Linux系统中,文本、目录、设备,所有这些全部统称为文件,故不能光看后缀就来判断文件类型,要用file命令来查看。

3. 打包压缩与搜索命令

  • tar命令

tar命令用于对文件打包压缩或解压,其格式为tar [命令参数] [文件]。 其常用的参数如下表所示:

参数说明
-c创建压缩文件
-x解开压缩文件
-t查看压缩包内有哪些文件
-z用Gzip压缩或解压
-j用bzip2压缩或解压
-v显示压缩或解压过程
-f目标文件名(必须放在参数的最后一位)
-p保留原始的权限与属性
-P使用绝对路径来压缩
-C指定解压到的目录

对于压缩包后缀为.tar.gz的文件,一般用tar -czvf 目录名来压缩,用tar -xzvf 目录名来解压。 其操作示例如下:

## 打包/etc目录下的文件为.tar.gz
# tar -czvf etc.tar.gz /etc
## 创建一个空目录
# mkdir hello
## 将其解压到hello目录
# tar -xzvf etc.tar.gz -C /hello
  • grep命令

grep命令用于在文本中执行关键词搜索, 其格式为grep [命令参数] PATTERN [文件]

grep命令中用途最广泛的文本搜索匹配工具,虽然有很多参数,但大多数基本上用不到,这里列出几个常用的参数如下表:

参数说明
-b将可执行文件(binary)当作文本文件来搜索
-c仅显示找到的行数
-i忽略大小写匹配
-n显示行号
-v反向选择,仅列出没有关键词的行

例如,在Linux系统中,/etc/passwd文件保存着所有的用户信息,而一旦用户的登陆终端被设置为/sbin/nologin,则不再允许登陆系统,因此,我们可以用如下命令查找出当前系统中不允许登陆系统的所有用户信息。

## 查找出当前系统中不再允许登陆的用户信息
# grep -n /sbin/nologin /etc/passwd 
  • find命令

find命令用于按指定条件来查找文件, 其格式为find [查找路径] 寻找条件 操作

Linux系统中,搜索工作一般都是通过find命令来完成的,它可以使用不同的文件特性作为寻找条件,一旦匹配成功则默认将信息显示到屏幕上。其常用的参数如下表所示:

参数说明
-name匹配名称
-perm匹配权限
-user匹配所有者
-group匹配所有组
-mtime -n +n匹配修改内容的时间(-n指n天以内,+n指n天以前)
-atime -n +n匹配访问文件的时间(n 同上)
-ctime -n +n匹配修改文件权限的时间(n 同上)
-nouser匹配无所有者的文件
-nogroup匹配无所有组的文件
-newer f1 ! f2匹配比f1文件新但比f2旧的文件
--type b/d/c/p/l/f匹配文件类型(字母依次表示块设备、目录、字符设备、管道、链接文件、文本文件)
-size匹配文件的大小(+10MB为查找超过10MB的文件,-10MB为查找小于10MB的文件)
-prune忽略某个目录
-exec ...... {}对搜索结果做进一步处理

例如,获取目录/etc中以host开头的文件列表,结果如下图所示:

267db9b630f0c3cdaeb88f9bbc9ef200.png

再例如,在全系统中搜索权限中包括suid权限的所有文件,其结果如下图所示:

b35fdb5380693dc90da6b52efe2af65f.png

对于上面参数表中最后一个参数-exec,它是将搜索结果交由后面的命令做进一步处理,类似于管道符技术,这里列举一个示例:

## 搜索系统中归属agro用户的文件,并复制到/home/test目录
# find / -user agro -exec cp -a { } /home/test/ 

其中,{ }表示搜索出的每一个文件,并且命令的结尾必须是

本文到此结束!下篇继续!

如果对你有帮助,请随手 点赞赞赏!关注本专栏,更多干货与你分享。

=======================================================

欢迎【关注、私信 @武三郎。我们一起交流一起进步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值