Linux基础命令总结

一、常用系统工作命令
1.echo命令

echo命令用于在终端输出字符串或变量提取后的值,格式为“echo [字符串 | $变量]”。

把指定字符串“yunyu.com”输出到终端屏幕:

echo yunyu.com

终端屏幕上显示如下信息:yunyu.com

使用$变量的方式提取变量SHELL的值,并将其输出到屏幕上:

echo $SHELL

终端屏幕上显示如下信息:/bin/bash

2.date命令

date命令用于显示及设置系统的时间或日期,格式为“date [选项] [+指定的格式]”。

date命令中输入以“+”号开头的参数,即可按照指定格式来输出系统的时间或日期。

参数作用
%t跳格[Tab键]
%H小时(00~23)
%I小时(00~12)
%M分钟(00~59)
%S秒(00~59)
%j今年中的第几天

按照默认格式查看当前系统时间的date命令:

date

按照“年-月-日 小时:分钟:秒”的格式查看当前系统时间的date命令:

date "+%Y-%m-%d %H:%M:%S"

将系统的当前时间设置为2017年9月1日8点30分的date命令

date -s "20170901 8:30:00"

查看今天是当年中的第几天:

date "+%j"
3.reboot命令

reboot命令用于重启系统,其格式为reboot。默认只能使用root管理员来重启。

4.poweroff命令

poweroff命令用于关闭系统,其格式为poweroff。
该命令与reboot命令相同,都会涉及硬件资源的管理权限,因此默认只有root管理员才可以关闭电脑

5.wget命令

wget命令用于在终端中下载网络文件,格式为“wget [参数] 下载地址”。

参数作用
-b后台下载模式
-P下载到指定目录
-t最大尝试次数
-c断点续传
-p下载页面内所有资源,包括图片、视频等
-r递归下载

下载《Linux就该这么学》的PDF文档

wget http://www.linuxprobe.com/docs/LinuxProbe.pdf

递归下载www.linuxprobe.com网站内的所有页面数据以及文件,下载完后会自动保存到当前路径下一个名为www.linuxprobe.com的目录中。

wget -r -p http://www.linuxprobe.com
6.ps命令

ps(Process Status)命令用于查看系统中的进程状态,格式为“ps [参数]”。

参数作用
-a显示所有进程(包括其他用户的进程)
-u用户以及其他详细信息
-x显示没有控制终端的进程
-e此参数的效果和指定“A”参数相同,显示所有程序
-f显示UID,PPIP,C与STIME栏位

Linux系统中时刻运行着许多进程,如果能够合理地管理它们,则可以优化系统的性能。在Linux系统中,有5种常见的进程状态,分别为运行、中断、不可中断、僵死与停止,其各自含义如下所示:

R(运行):进程正在运行或在运行队列中等待。
S(中断):进程处于休眠中,当某个条件形成后或者接收到信号时,则脱离该   状态。
D(不可中断):进程不响应系统异步信号,即便用kill命令也不能将其中断。
Z(僵死):进程已经终止,但进程描述符依然存在, 直到父进程调用wait4()系统函数后将进程释放。
T(停止):进程收到停止信号后停止运行。

查看进程状态

ps aux

屏幕输出内容为(正常的输出值中不包括中文注释):

USERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMAND
进程的所有者进程ID号运算器占用率内存占用率虚拟内存使用量(单位是KB)占用的固定内存量(单位是KB)所在终端进程状态被启动的时间实际使用CPU的时间命令名称与参数
root10.00.4536847628?Ss07 :220:02/usr/lib/systemd/systemd
root20.00.000?S07:220:00[kthreadd]
root30.00.000?S07:220:00[ksoftirqd/0]
root50.00.000?S<07:220:00[kworker/0:0H]
root70.00.000?S07:220:00[migration/0]

………………省略部分输出信息………………

7.top命令

top命令用于动态地监视进程活动与系统负载等信息,其格式为top。

top命令相当强大,能够动态地查看系统运维状态,完全将它看作Linux中的“强化版的Windows任务管理器”。在这里插入图片描述
top命令执行结果的前5行为系统整体的统计信息,其所代表的含义如下:

第1行:系统时间、运行时间、登录终端数、系统负载(三个数值分别为1分钟、5分钟、15分钟内的平均值,数值越小意味着负载越低)。
第2行:进程总数、运行中的进程数、睡眠中的进程数、停止的进程数、僵死的进程数。
第3行:用户占用资源百分比、系统内核占用资源百分比、改变过优先级的进程资源百分比、空闲的资源百分比等。
该行中的数据均为CPU数据并以百分比格式显示,例如“98.0  id”意味着有98.0%的CPU处理器资源处于空闲。
第4行:物理内存总量、内存使用量、内存空闲量、作为内核缓存的内存量。
第5行:虚拟内存总量、虚拟内存使用量、虚拟内存空闲量、已被提前加载的内存量。
8.pidof命令

pidof命令用于查询某个指定服务进程的PID值,格式为“pidof [参数] [服务名称]”。

每个进程的进程号码值(PID)是唯一的,因此可以通过PID来区分不同的进程。

查询本机上sshd服务程序的PID:

pidof sshd

终端屏幕上显示如下信息:1731

9.kill命令

kill命令用于终止某个指定PID的服务进程,格式为“kill [参数] [进程PID]”。

-l <信息编号>	若不加<信息编号>选项,则-l参数会列出全部的信息名称。
kill -9 		表示强制终止
格式:kill -9 pid

强制停止sshd服务

kill 1731
10.killall命令

killall命令用于终止某个指定名称的服务所对应的全部进程,格式为:“killall [参数] [服务名称]”。

一般来说,复杂软件的服务程序会有多个进程协同为用户提供服务,如果逐个去结束这些进程会比较麻烦,此时可以使用killall命令来批量结束某个服务程序带有的全部进程。

结束httpd服务程序的全部进程:

pidof httpd

终端屏幕上显示如下信息:13581 13580 13579 13578 13577 13576

killall httpd
pidof httpd

终端屏幕上显示如下信息:

如果我们在系统终端中执行一个命令后想立即停止它,可以同时按下Ctrl + C组合键(生产环境中比较常用的一个快捷键),这样将立即终止该命令的进程。或者,如果有些命令在执行时不断地在屏幕上输出信息,影响到后续命令的输入,则可以在执行命令时在末尾添加上一个&符号,这样命令将进入系统后台来执行。

二、系统状态检测命令
1.ifconfig命令

ifconfig命令用于获取网卡配置与网络状态等信息,格式为“ifconfig [网络设备] [参数]”。

使用ifconfig命令来查看本机当前的网卡配置与网络状态等信息时,其实主要查看的就是网卡名称、inet参数后面的IP地址、ether参数后面的网卡物理地址(又称为MAC地址),以及RX、TX的接收数据包与发送数据包的个数及累计流量
在这里插入图片描述

2.uname命令

uname命令用于查看系统内核与系统版本等信息,格式为“uname [-a]”。

在使用uname命令时,一般会固定搭配上-a参数来完整地查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息。

uname -a

终端屏幕上显示如下信息:Linux yunyu.com 3.10.0-123.el7.x86_64 #1 SMP Mon May 5 11:16:57 EDT 2014 x86_64 x86_64 x86_64 GNU/Linux

查看当前系统版本的详细信息,则需要查看redhat-release文件:

cat /etc/redhat-release

终端屏幕上显示如下信息:Red Hat Enterprise Linux Server release 7.0 (Maipo)

3.uptime命令

uptime用于查看系统的负载信息,格式为uptime。

显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息。平均负载值指的是系统在最近1分钟、5分钟、15分钟内的压力情况(下面加粗的信息部分);负载值越低越好,尽量不要长期超过1,在生产环境中不要超过5。

uptime

终端屏幕上显示如下信息:16:06:37 up 5:09, 2 users, load average: 0.00, 0.02, 0.05

4.free命令

free用于显示当前系统中内存的使用量信息,格式为“free [-h]”。

参数作用
-b以bytes为单位显示
-k以kilobytes为单位显示
-m以megabytes为单位显示
-g以gigaby为单位显示
-h以人类可读的方式输出统计结果
-t用该选项会多显示一行标题为Total的统计信息,该行统计的是(used、free、total的总和)此Total与total不同
-s每隔多少秒自动刷新结果
-c与-s配合使用,控制刷新结果次数
-l显示高低内存的统计详情
-a显示可用内存
-V显示版本号
free -h

终端屏幕上显示如下信息:

内存总量已用量可用量进程共享的内存量磁盘缓存的内存量缓存的内存量
totalusedfreesharedbufferscached
Mem1.1GB1.3GB900MB9.9MB928KB297M
-/+ buffers/cache788MB1.2G
Swap2.0G0B2.0G
5.who命令

who用于查看当前登入主机的用户终端信息,格式为“who [参数]”。

可以快速显示出所有正在登录本机的用户的名称以及他们正在开启的终端信息。

who

终端屏幕上显示如下信息:

登录的用户名终端设备登录到系统的时间
root:02019-06-11 10:57 (:0)
rootpts/02019-06-11 10:57 (:0)
6.last命令

last命令用于查看所有系统的登录记录,格式为“last [参数]”。

使用last命令可以查看本机的登录记录。但是,由于这些信息都是以日志文件的形式保存在系统中,因此黑客可以很容易地对内容进行篡改。千万不要单纯以该命令的输出信息而判断系统有无被恶意入侵!

[root@linuxprobe ~]# last
root       pts/0       :0               Mon Aug  24 17:52   still  logged in
root       :0          :0               Mon Aug  24 17:52   still  logged in
(unknown   :0          :0               Mon Aug  24 17:50 - 17:52   (00:02)
reboot     system boot 3.10.0-123.el7.x Tue Aug  25 01:49 - 18:17   (-7:-32)
root       pts/0       :0               Mon Aug  24 15:40 - 08:54   (7+17:14)
root       pts/0       :0               Fri Jul  10 10:49 - 15:37   (45+04:47)
………………省略部分登录信息………………

7.history命令

history命令用于显示历史执行过的命令,格式为“history [-c]”。

执行history命令能显示出当前用户在本地计算机中执行过的最近1000条命令记录。如果觉得1000不够用,还可以自定义/etc/profile文件中的HISTSIZE变量值。在使用history命令时,如果使用-c参数则会清空所有的命令历史记录。还可以使用“!编码数字”的方式来重复执行某一次的命令。

[root@linuxprobe ~]# history
1 tar xzvf VMwareTools-9.9.0-2304977.tar.gz
2 cd vmware-tools-distrib/
3 ls
4 ./vmware-install.pl -d
5 reboot
6 df -h
7 cd /run/media/
8 ls
9 cd root/
10 ls
11 cd VMware\ Tools/
12 ls
13 cp VMwareTools-9.9.0-2304977.tar.gz /home
14 cd /home
15 ls
16 tar xzvf VMwareTools-9.9.0-2304977.tar.gz
17 cd vmware-tools-distrib/
18 ls
19 ./vmware-install.pl -d
20 reboot
21 history
[root@linuxprobe ~]# !15
anaconda-ks.cfg  Documents  initial-setup-ks.cfg  Pictures  Templates
Desktop          Downloads  Music                 Public    Videos

历史命令会被保存到用户家目录中的.bash_history文件中。

Linux系统中以点(.)开头的文件均代表隐藏文件,这些文件大多数为系统服务文件,可以用cat命令查看其文件内容

[root@linuxprobe ~]# cat ~/.bash_history
8.sosreport命令

sosreport命令用于收集系统配置及架构信息并输出诊断文档,格式为sosreport。

当Linux系统出现故障需要联系技术支持人员时,大多数时候都要先使用这个命令来简单收集系统的运行状态和服务配置信息,以便让技术支持人员能够远程解决一些小问题,亦或让他们能提前了解某些复杂问题。在下面的输出信息中,加粗的部分是收集好的资料压缩文件以及校验码,将其发送给技术支持人员即可:

[root@linuxprobe ~]# sosreport
sosreport (version 3.0)
This command will collect diagnostic and configuration information from
this Red Hat Enterprise Linux system and installed applications.

An archive containing the collected information will be generated in
/var/tmp and may be provided to a Red Hat support representative.
Any information provided to Red Hat will be treated in accordance with
the published support policies at:
https://access.redhat.com/support/
The generated archive may contain data considered sensitive and its
content should be reviewed by the originating organization before being
passed to any third party.

No changes will be made to system configuration.
Press ENTER to continue, or CTRL-C to quit. 此处敲击回车来确认收集信息

Please enter your first initial and last name [linuxprobe.com]: 此处敲击回车来确认主机编号
Please enter the case number that you are generating this report for: 此处敲击回车来确认主机编号

Running plugins. Please wait ...
Running 70/70: yum...
Creating compressed archive...
Your sosreport has been generated and saved in:

/var/tmp/sosreport-linuxprobe.com-20170905230631.tar.xz
The checksum is: 79436cdf791327040efde48c452c6322
Please send this file to your support representative.

9.ping命令

功能:测试与目标主机的连通性
命令:ping 主机名或ip地址

三、工作目录切换命令
1.pwd命令

print working directory
pwd命令用于显示用户当前所处的工作目录,格式为“pwd [选项]”。

2.cd命令

cd命令用于切换工作路径,格式为“cd [目录名称]”。

cd ~username   切换到其他用户的家目录
cd ~	当前用户的家目录
cd /	根目录
cd -	上一次访问目录
cd ..  上一级目录
cd		缺省当前用户目录
3.ls命令

list 功能:列出目录内容
ls命令用于显示目录中的文件信息,格式为“ls [参数] [文件或目录]”。

参数作用
-a --all显示目录下所有文件和目录。包括隐藏文件、特殊目录、.和…
-l使用详细格式列表
-t用文件和目录的更改时间排序
-r反向排序
–help在线帮助

ls命令的“-a”参数看到全部文件(包括隐藏文件)

ls -l 的简化命令:ll

使用“-l”参数可以查看文件的属性、大小等详细信息

ls -al

查看目录属性信息,则需要额外添加一个-d参数。

查看/etc目录的权限与属性信息:

ls -ld /etc
四、文本文件编辑命令
1.cat命令

catenate
cat命令用于查看纯文本文件(内容较少的),格式为“cat [选项] [文件]”。

查看文本内容时并且显示行号

cat -n initial-setup-ks.cfg 
2.more命令

more命令用于查看纯文本文件(内容较多的),格式为“more [选项]文件”。

more命令会在最下面使用百分比的形式来提示您已经阅读了多少内容。您还可以使用空格键或回车键向下翻页:

按键作用
Enter向下n行,需要定义。默认为1行
空格键向下滚动一屏 或ctrl + F
B返回上一屏 或 ctrl + B
q退出 more
3.head命令

head命令用于查看纯文本文档的前N行,格式为“head [选项] [文件]”。

查看文本中前20行的内容:

head -n 20 initial-setup-ks.cfg 
4.tail命令

tail命令用于查看纯文本文档的后N行或持续刷新内容,格式为“tail [选项] [文件]”。

参数作用
-n<行数>显示行数
-<行数>f循环读取
&表示后台运行,否则占用终端
ctrl+c退出

查看文本内容的最后20行,命令格式"tail -n 20 文件名":

tail -n 20 SystemOut.log

持续刷新一个文件的内容,当想要实时查看最新日志文件,命令格式"tail -f 文件名":

tail -100f SystemOut.log
5.tr命令

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

可以快速地替换文本中的一些词汇,又或者把整个文本内容都进行替换

把某个文本内容中的英文全部替换为大写:

cat anaconda-ks.cfg | tr [a-z] [A-Z]
6.wc命令

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

参数作用
-l只显示行数
-w只显示单词数
-c只显示字节数

在Linux系统中,passwd是用于保存系统账户信息的文件,要统计当前系统中有多少个用户,可以使用下面的命令来进行查询

wc -l /etc/passwd
7.stat命令

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

stat命令可以用于查看文件的存储信息和时间等信息,命令stat anaconda-ks.cfg会显示出文件的三种时间状:Access、Modify、Change。

stat anaconda-ks.cfg
File: ‘anaconda-ks.cfg’
Size: 1213 Blocks: 8 IO Block: 4096 regular file
Device: fd00h/64768d Inode: 68912908 Links: 1
Access: (0600/-rw-------) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:admin_home_t:s0
Access: 2017-07-14 01:46:18.721255659 -0400
Modify: 2017-05-04 15:44:36.916027026 -0400
Change: 2017-05-04 15:44:36.916027026 -0400
Birth: -

8.cut命令

cut命令用于按“列”提取文本字符,格式为“cut [参数] 文本”。

-f参数来设置需要看的列数

-d参数来设置间隔符号

提取出passwd文件中的用户名信息,即提取以冒号(:)为间隔符号的第一列内容:

cut -d: -f1 /etc/passwd
9.diff命令

diff命令用于比较多个文本文件的差异,格式为“diff [参数] 文件”。

在使用diff命令时,不仅可以使用–brief参数来确认两个文件是否不同,还可以使用-c参数来详细比较出多个文件的差异之处,这绝对是判断文件是否被篡改的有力神器。

使用diff --brief命令显示比较后的结果,判断文件是否相同:

diff --brief diff_A.txt diff_B.txt

使用带有-c参数的diff命令来描述文件内容具体的不同:

diff -c diff_A.txt diff_B.txt
10.less命令

功能:分页显示文件内容,操作更详细,语法: less [参数] 文件

参数作用
-m显示类似more命令的百分比
-N显示每行的行号
操作含义
空格键:前进一页 或 page down
b后退一页 或 page up
d前进半页
u后退半页
回车键:前进一行 或 方向键向下
y后退一行 或 方向键向上
/字符串:向下搜索
?字符串:向上搜索
v进入vim编辑器
左右方向键:相当于水平滚动条
q退出
五、文件目录管理命令
1.touch命令

touch命令用于创建空白文件或设置文件的时间,格式为“touch [选项] [文件]”。

参数作用
-a仅修改“读取时间”(atime)
-m仅修改“修改时间”(mtime)
-d同时修改atime与mtime

先使用ls命令查看一个文件的修改时间,然后修改这个文件,最后再通过touch命令把修改后的文件时间设置成修改之前的时间

touch -d "2017-05-04 15:44" anaconda-ks.cfg
2.mkdir命令

make directory
mkdir命令用于创建空白的目录,格式为“mkdir [选项] 目录”。

mkdir -p a/b/c/d/e
命令作用
-p父目录不存在的情况下先生成父目录 (parents)
-v显示命令执行过程中的详细信息
3.cp命令

cp命令用于复制文件或目录,格式为“cp [选项] 源文件 目标文件”。

参数作用
-r 或 --recursive递归处理,将指定目录下的文件与子目录一并处理。
-a相当于同时指定参数pdr
-d若文件为链接文件的属性(link file),则复制链接文件属性而非档案本身
-f强制的意思(force),若目标档案已经存在且无法开启,则移除后再尝试一次
-i若目标文件存在,在覆盖的时会先询问动作的进行
-l进行硬式连结的接档链接,而非复制档案本身
-p连同档案的默认属性一起复制,而非使用默认属性
-s复制成为符号链接文件,即快捷方式
-u若destination比source旧才更新
在Linux系统中,复制操作具体分为3种情况:
如果目标文件是目录,则会把源文件复制到该目录中;
如果目标文件也是普通文件,则会询问是否要覆盖它;
如果目标文件不存在,则执行正常的复制操作。
cp install.log x.log
参数作用
-p保留原始文件的属性
-d若对象为“链接文件”,则保留该“链接文件”的属性
-r递归持续复制(用于目录)
-i若目标文件存在则询问是否覆盖
-a相当于-pdr(p、d、r为上述参数)
4.mv命令

mv命令用于剪切文件或将文件重命名,格式为“mv [选项] 源文件 [目标路径|目标文件名]”。
剪切操作不同于复制操作,因为它会默认把源文件删除掉,只保留剪切后的文件。如果在同一个目录中对一个文件进行剪切操作,其实也就是对其进行重命名

参数作用
-f 或 --force若目标文件或目录与现有的文件或目录重复,则直接覆盖现有的文件或目录
mv x.log linux.log
5.rm命令

rm(remove)命令用于删除文件或目录,格式为“rm [选项] 文件”。
语法:rm [-dfirv] [–help] [–version] [文件或目录…]

参数作用
-f 或 --force强制删除文件或目录
-r 或 --recursive递归处理,将指定目录下的所有文件及子目录一并处理

在rm命令后跟上-f参数来强制删除,不需要确认

rm -f linux.log

想要删除一个目录,需要在rm命令后面一个-r参数才可以,否则删除不掉

rm -rf newdir
6.dd命令

dd命令用于按照指定大小和个数的数据块来复制文件或转换文件,格式为“dd [参数]”。

参数作用
if输入的文件名称
of输出的文件名称
bs设置每个“块”的大小
count设置要复制“块”的个数

用dd命令从/dev/zero设备文件中取出一个大小为560MB的数据块,然后保存成名为560_file的文件

dd if=/dev/zero of=560_file count=1 bs=560M

Linux系统中有一个名为/dev/zero的设备文件,这个文件不会占用系统存储空间,但却可以提供无穷无尽的数据,因此可以使用它作为dd命令的输入文件,来生成一个指定大小的文件,就能随意创建任意大小的文件。

bs块大小与count块个数的关系,下面举一个吃货的例子进行解释。假设小明的饭量(即需求)是一个固定的值,用来盛饭的勺子的大小即bs块大小,而用勺子盛饭的次数即count块个数。小明要想吃饱(满足需求),则需要在勺子大小(bs块大小)与用勺子盛饭的次数(count块个数)之间进行平衡。勺子越大,用勺子盛饭的次数就越少。由上可见,bs与count都是用来指定容量的大小,只要能满足需求,可随意组合搭配方式。

7.file命令

file命令用于查看文件的类型,格式为“file 文件名”。

在Linux系统中,由于文本、目录、设备等所有这些一切都统称为文件,而我们又不能单凭后缀就知道具体的文件类型,这时就需要使用file命令来查看文件类型了。

file anaconda-ks.cfg
8.chmod命令

chmod(change mode)功能:变更文件或目录的权限。
语法:chomd [参数] [<权限范围><符号><权限代号>]

参数作用
-R 或 --recursive递归处理,将指定目录下的所有文件及子目录一并处理。
权限表示法代表范围
u(User)即文件或目录的拥有者
g(Group)即文件或目录的所属群组
o(Other)除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。
a (All)全部的用户,包含拥有者,所属群组以及其他用户。
符号含义
+添加权限
-取消权限
权限代号含义
r读写权限,数字代号为“4”
w写入权限,数字代号为“2”
x执行权限,数字代号为“1”
-不具任何权限,数字代号为“0”

在这里插入图片描述
在这里插入图片描述

六、打包压缩与搜索命令
1.tar命令

tar命令用于对文件进行打包压缩或解压,格式为“tar [选项] [文件]”。
其中主要使用的是.tar或.tar.gz或.tar.bz2格式

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

-c参数用于创建压缩文件,-x参数用于解压文件,因此这两个参数不能同时使用。
其次,-z参数指定使用Gzip格式来压缩或解压文件,-j参数指定使用bzip2格式来压缩或解压文件。用户使用时则是根据文件的后缀来决定应使用何种格式参数进行解压。
在执行某些压缩或解压操作时,可能需要花费数个小时,如果屏幕一直没有输出,您一方面不好判断打包的进度情况,另一方面也会怀疑电脑死机了,因此非常推荐使用-v参数向用户不断显示压缩或解压的过程。
-C参数用于指定要解压到哪个指定的目录。
-f参数特别重要,它必须放到参数的最后一位,代表要压缩或解压的软件包名称。

tar -czvf 压缩包名称.tar.gz 要打包的目录
tar -xzvf 压缩包名称.tar.gz
2.grep命令

Global Regular Expression Print:表示全局正则表达式版本
grep命令用于在文本中执行关键词搜索,并显示匹配的结果,格式为“grep [选项] [文件]”。

参数作用
-b将可执行文件(binary)当作文本文件(text)来搜索
-c仅显示找到的行数
-i 或 --ignore-case忽略大小写
-n显示行号
-v反向选择—仅列出没有“关键词”的行

最最常用的参数:
-n参数用来显示搜索到信息的行号;
-v参数用于反选信息(即没有包含关键词的所有信息行)。

3.find命令

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 …… {};后面可跟用于进一步处理搜索结果的命令(下文会有演示)

在整个文件系统中找出所有归属于yunyu用户的文件并复制到/root/findresults目录

find / -user yunyu -exec cp -a {} /root/findresults/ \;
其中“-exec {}   \;”参数,其中的{}表示find命令搜索出的每一个文件,并且命令的结尾必须是“\;

获取到该目录中所有以host开头的文件列表

find /etc -name "host*" -print

在整个系统中搜索权限中包括SUID权限的所有文件

find / -perm -4000 -print
七、其他
1.管道 |

linux提供管道符号“|”。作用是“命令行1”的输入内容,将作为“命令行2”的输入内容。一般与 grep 命令一起使用。
格式:命令1 | 命令2

2.查看帮助文档
2.1 内部命令:

属于Shell解析器的一部分(系统启动直接加载到内存的)
cd、pwd、help

help+命令(help cd)
2.2 外部命令:

独立于Shell解析器之外的文件程序(独立的可执行文件)
ls、mkdir、cp

man+命令(man ls)

不用特意记,开发中,如果需要查看命令参数,先使用man,如果没有结果,再使用help

以上内容根据《Linux就该这么学》和工作中涉及到的命令进行总结,转载请注明出处,如有侵权请联系删除!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值