Linux基础命令(文件类型)

一、系统状态检测命令

1.ping命令(测试连通性)

ping 命令用于测试主机之间的网络连通性
语法格式为“ ping [ 参数 ] 主机地址”。

2.tracepath命令(显示经过的路由信息)

tracepath 命令用于显示数据包到达目的主机时途中经过的所有路由信息,
语法格式为
tracepath [ 参数 ] 域名”。

 二、查找定位文件命令

1.pwd命令(显示当前工作目录)

pwd 命令用于显示用户当前所处的工作目录,英文全称为“ print working directory ”,输
入该命令后按回车键执行即可。

2.cd命令(切换路径)

cd 命令用于切换当前的工作路径,英文全称为“ change directory ”,
语法格式为“ cd [ ] [ 目录 ] ”。

 要返回到上一次的目录,可执行如下命令:

[root@linuxprobe bin]# cd -

 还可以通过下面的命令快速切换到用户的家目录:

 [root@linuxprobe etc]# cd~

3.ls命令(显示目录中文件)

ls 命令用于显示目录中的文件信息,英文全称为“ list ”,
语法格式为“ ls [ 参数 ] [ 文件名称 ] ”。
-a 参数
可以看到全部文件(包括隐藏文件)
-l 参数
可以查看文件的属性、大小等详细信息。

4.tree命令(树状显示目录)

tree 命令用于以树状图的形式列出目录内容及结构,输入该命令后按回车键执行即可。

5.find命令(查找)

find 命令用于按照指定条件来查找文件所对应的位置,
语法格式为“ find [ 查找范围 ] 找条件”。

如果要想获取该目录中所有以 host 开头的文件列表,可以执行如下命令:
[root@linuxprobe~]# find /etc -name "host*"
/etc/host.conf
/etc/hosts
/etc/hosts.allow
/etc/hosts.deny
/etc/avahi/hosts
/etc/hostname

 如果要在整个系统中搜索权限中包括 SUID 权限的所有文件,只需使用-4000 即可:

[root@linuxprobe~]# find / -perm -4000 -print
/usr/bin/fusermount
/usr/bin/chage
/usr/bin/gpasswd
/usr/bin/newgrp
/usr/bin/umount
/usr/bin/mount

 实验*

在整个文件系统中找出所有归属于 linuxprobe 用户的文件并复制 /root/findresults 目录中保留源文件。
该实验的重点是“ -exec {} \; ”参数,其中的 {}表示 find 命令搜索出的每一个文件 ,并且
命令的结尾必须是“ \; ”。完成该实验的具体命令如下:
[root@linuxprobe ~]# find / -user linuxprobe -exec cp -a {} /root/findresults/ \;

 6.locate命令(搜索文件)

 locate 命令用于按照名称快速搜索文件所对应的位置

语法格式为“locate 文件名称”

 第一次使用locate 命令之前,记得先执行updatedb 命令来生成索引数据库,然后再进行查找:

[root@linuxprobe~]# updatedb
[root@linuxprobe~]# ls -l /var/lib/mlocate/mlocate.db
-rw-r-----. 1 root slocate 295917 Sep 13 17:54 /var/lib/mlocate/mlocate.db

 使用 locate 命令搜索出所有包含“whereis”名称的文件所在的位置:

 [root@linuxprobe~]# locate whereis

7.whereis命令(搜索命令

whereis 命令用于按照名称快速搜索二进制程序(命令)、源代码以及帮助文件所对应的 位置
语法格式为“ whereis 命令名称”。
简单来说, whereis 命令也是基于 updatedb 命令所生成的索引库文件进行搜索,它与 locate
命令的区别是不关心那些相同名称的文件,仅仅是快速找到对应的命令文件及其帮助文件所
在的位置。
下面使用

 8.which命令

which 命令用于按照指定名称快速搜索二进制程序(命令)所对应的位置,
语法格式为 which 命令名称”。

一下 locate whereis 命令所对应的路径: 

[root@linuxprobe~]# which locate
/usr/bin/locate
[root@linuxprobe~]# which whereis
/usr/bin/whereis

 三、文本文件编辑命令

1.cat命令(查看文件)

cat 命令用于查看纯文本文件(内容较少的),英文全称为“ concatenate
语法格式为“ cat [ 参数 ] 文件名称”。

 用于查看内容较少的纯文本文件。 -n 可以查看行号

 2.more命令

 more 命令用于查看纯文本文件(内容较多的),

语法格式为“more [参数] 文件名称”。

 3.head命令(看前几行)

 head 命令用于查看纯文本文件的前 N 行,

语法格式为“head [参数] 文件名称”。

 查看文本中前 10 行的内容,

 [root@linuxprobe~]# head -n 10 initial-setup-ks.cfg

4.tail命令 (看后几行)

tail 命令用于查看纯文本文件的后 N 行或持续刷新文件的最新内容
语法格式为“ tail [ ] 文件名称”。
tail 命令最强悍的功能是能够持续刷新一个文件的内容,当想要实时查看最新的日志文件
时,这特别有用,此时的命令格式为“ tail -f 文件名称”:

[root@linuxprobe~]# tail -f /var/log/messages
Sep 15 00:14:01 localhost rsyslogd[1392]: imjournal: sd _ journal _ get _ cursor()
failed: Cannot assign requested address [v8.37.0-9.el8]
Sep 15 00:14:01 localhost rsyslogd[1392]: imjournal: journal reloaded...
[v8.37.0-9.el8 try http://www.rsyslog.com/e/0 ]
Sep 15 00:14:01 localhost systemd[1]: Started update of the root trust anchor
for DNSSEC validation in unbound.
Sep 15 00:14:01 localhost sssd[kcm][2764]: Shutting down
Sep 15 00:14:06 localhost systemd[1]: Starting SSSD Kerberos Cache Manager...
Sep 15 00:14:06 localhost systemd[1]: Started SSSD Kerberos Cache Manager.
Sep 15 00:14:06 localhost sssd[kcm][3989]: Starting up

 5.tr命令(替换)

tr 命令用于替换文本内容中的字符,英文全称为“ translate ”,
语法格式为“ tr [ 原始字符 ] [ 目标字符 ] ”。
使用 cat 命令读取待处理的文本,然后通过管道符把这些文本内容传递给 tr 命令进行替换操作即可。例如,把某个文本内容中的英文全部替换为大写:

[root@linuxprobe~]# cat anaconda-ks.cfg | tr [a-z] [A-Z]
#VERSION=RHEL8
IGNOREDISK --ONLY-USE=SDA
AUTOPART --TYPE=LVM

 6.wc命令(统计)

wc 命令用于统计指定文本文件的行数、字数或字节数,英文全称为“ word counts
法格式为“ wc [ 参数 ] 文件名称”。

 

要统计当前系统中有多 少个用户,可以使用下面的命令来进行查

[root@linuxprobe~]# wc -l /etc/passwd
45 /etc/passwd

7.stat命令(查看信息)

stat 命令用于查看文件的具体存储细节和时间等信息,英文全称为“ status ”,
语法格式为 stat 文件名称”。

8.grep命令(整行提取)

grep 命令用于按行提取文本内容
语法格式为“ grep [ 参数 ] 文件名称”。

[root@linuxprobe~]# grep /sbin/nologin /etc/passwd 

搜索的对象 搜索的文件名称

 

9.cut命令(按列提取)麻烦

cut 命令用于按“列”提取文本内容,
语法格式为“ cut [ 参数 ] 文件名称”。
如果按“列”搜索,不仅要使用 -f 参数设置需要查看的列数,还需要使用 -d
数来设置间隔符号。接下来使用下述命令尝试提取出 passwd 文件中的用户名信息,即提取以冒号(:)为间 隔符号的第一列内容:
[root@linuxprobe~]# cut -d : -f 1 /etc/passwd
root
bin
daemon
adm
lp
sync

10.diff命令(比较)

diff 命令用于比较多个文件之间内容的差异,英文全称为“ different ”,
语法格式为“ diff [ ] 文件名称 A 文件名称 B

 diff --brief 命令显示比较后的结果 输出的是对错

-c 参数的 diff 命令来描述文件内容具体的不同 输出的是具体的不同

11.uniq命令 (去除重复行)*

uniq 命令用于去除文本中连续的重复行,英文全称为“ unique ”,
语法格式为“ uniq [ 参数 ] 件名称”。

12.sort命令 (排序)*

sort 命令用于对文本内容进行再排序,默认是字母顺序

语法格式为“sort [参数] 文件名称”。 

 

最后,我们挑战一个“高难度”的小实验。下面的内容节选自 /etc/passwd 文件中的前 5
个字段,并且进行了混乱排序。
[root@linuxprobe~]# cat user.txt
tss:x:59:59: used by the trousers package to sandbox the tcsd daemon
polkitd:x:998:996:User for polkitd
geoclue:x:997:995:User for geoclue
rtkit:x:172:172:RealtimeKit
pulse:x:171:171:PulseAudio System Daemon
qemu:x:107:107:qemu user
usbmuxd:x:113:113:usbmuxd user
unbound:x:996:991:Unbound DNS resolver
rpc:x:32:32:Rpcbind Daemon
gluster:x:995:990:GlusterFS daemons

不难看出,上面其实是 5 个字段,各个字段之间是用了冒号进行间隔,如果想以第 3
字段中的数字作为排序依据,那么可以用 -t 参数指定间隔符,用 -k 参数指定第几列,用 -n
数进行数字排序来搞定:
[root@linuxprobe~]# sort -t : -k 3 -n user.txt
rpc:x:32:32:Rpcbind Daemon
tss:x:59:59:used by the trousers package to sandbox the tcsd daemon
qemu:x:107:107:qemu user
usbmuxd:x:113:113:usbmuxd user
pulse:x:171:171:PulseAudio System Daemon
rtkit:x:172:172:RealtimeKit
gluster:x:995:990:GlusterFS daemons
unbound:x:996:991:Unbound DNS resolver
geoclue:x:997:995:User for geoclue
polkitd:x:998:996:User for polkitd

  • 30
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值