linux常用命令

来源:互联网 发布:gsm卡特网络参数优化 编辑:程序博客网 时间:2024/06/09 19:56

目录(?)[+]

  1. 概述
  2. 强大好用的SHELL
  3. 执行命令与查看帮助 man
  4. 常用系统工作命令
    1. echo
    2. date
    3. reboot
    4. wget
  5. 系统状态检测命令
    1. ifconfig
    2. uname
    3. uptime 查看系统的负载情况
    4. free
    5. who
    6. last
    7. history
    8. sosreport
  6. 工作目录切换命令
    1. pwd
    2. cd
    3. ls
  7. 文本文件编辑命令
    1. cat
    2. more
    3. head
    4. tail
    5. od
    6. tr
    7. wc
    8. cut
    9. diff
  8. 文件目录管理命令
    1. touch
    2. mkdir
    3. cp
    4. mv
    5. rm
    6. dd
  9. 用户与组管理命令
    1. useradd
    2. passwd
    3. userdel
    4. usermod
    5. groupadd
  10. 打包压缩文件命令
    1. tar
  11. 文件查询搜索命令
    1. grep
    2. find

  • 概述
  • 强大好用的SHELL
  • 执行命令与查看帮助 man
  • 常用系统工作命令
    • echo
    • date
    • reboot
    • wget
  • 系统状态检测命令
    • ifconfig
    • uname
    • uptime 查看系统的负载情况
    • free
    • who
    • last
    • history
    • sosreport
  • 工作目录切换命令
    • pwd
    • cd
    • ls
  • 文本文件编辑命令
    • cat
    • more
    • head
    • tail
    • od
    • tr
    • wc
    • cut
    • diff
  • 文件目录管理命令
    • touch
    • mkdir
    • cp
    • mv
    • rm
    • dd
  • 用户与组管理命令
    • useradd
    • passwd
    • userdel
    • usermod
    • groupadd
  • 打包压缩文件命令
    • tar
  • 文件查询搜索命令
    • grep
    • find

概述

本篇博文讲述系统内核、Bash解释器的关系与作用,如何正确的执行Linux命令以及常见排错方法。

经验丰富的运维人员可以恰当的组合命令与参数,使Linux字符命令更加的灵活且相对减少消耗系统资源。

强大好用的SHELL

计算机硬件是由运算器、控制器、存储器、输入/输出设备等设备组成的,而能够让机箱内各种设备各司其职东西就叫做——系统内核。内核负责驱动硬件、管理活动和分配/管理硬件资源,如此说来系统内核对计算机来讲可真的是太重要了,所以它不能直接让用户操作。

因为用户不能直接控制硬件也不能直接操作内核,于是便需要基于“系统调用接口”开发出的程序/服务来满足用户日常工作了。

这里写图片描述

首先承认在红帽RHEL7中有些诸如逻辑卷管理器(LVM)的图形化工具非常好用,也减少了运维人员操作出错的几率,值得称赞,但一直以来Linux运维人员更多的倾向于用命令写脚本程序,因为图形化的工具不灵活而且相比来说更加消耗系统资源。

其实很多图形工具也是调用脚本来工作的,但功能却被“阉割”了,更缺乏了灵活性,所以有些运维人员甚至都不会给Linux系统安装图形界面,需要工作了直接远程连接过去,不得不说这样做真的挺高效的。

这里写图片描述

“Shell“——也可称为“壳”,充当的是人与内核(硬件)的翻译官,用户将一些命令“告诉”Shell,它就会调用相应的程序服务执行工作啦~~现在包括红帽系统在内的许多热门Linux系统主流默认字符Shell是Bash(Bourne-Again SHell)。

bash作为大多数linux系统的默认字符解释器,必须得学好!Bash的优势:

  • 1.默认保存历史命令(可用上下键翻看)
  • 2.命令仅需输入前几位就可以用tab键补全(RHEL7更牛的是参数补全)
  • 3.强大的批处理脚本
  • 4.实用的环境变量

执行命令与查看帮助 man

既然有了如此好用的“翻译官”,那么接下来就有必要好好学习下如何更高效的和它沟通了~

要想准确的、高效的完成工作,不能够光靠命令本身,还应该根据实际情况来组合各种命令选择和命令参数:

命令名称 [命令参数] [命令对象]
  • 1
  • 1

注意:命令名称、命令参数、命令对象之间请用空格键分隔。

比较好理解的是命令对象,命令对象一般是指要处理的目标(普通文件/目录文件/用户等等),而命令参数对于新手来讲比较麻烦,因为这个值会随命令的不同和环境情况的不同而异,所以在参数选择搭配上需要长时间的经验积累才可以。

命令的参数可以选用长格式(完整的选项名称)也可选用短格式(单个字母的缩写),分别用”—“与”–“做前缀。

长格式如:man —help短格式如:man -h
  • 1
  • 2
  • 1
  • 2

当遇到了一个陌生命令后如何知道它有那些可用的参数?这时就可以用man命令了。

man命令的可用帮助文档分类有:

这里写图片描述

一般来讲帮助文件都很长很多,如果你想翻看的话,就要理解帮助文档的目录结构与操作方法:

这里写图片描述

常用系统工作命令

echo

echo命令用于在终端显示字符串或变量,
格式为:echo [字符串 | 变量]

将echo命令的字符串输出到终端:

[root@xgj~]# echo xgjxgj
  • 1
  • 2
  • 1
  • 2

用echo命令查看SHELL变量的值(前面有$符号):

[root@xgj~]# echo $SHELL/bin/bash
  • 1
  • 2
  • 1
  • 2

查看本机主机名:

[root@xgj~]# echo $HOSTNAMExgj
  • 1
  • 2
  • 1
  • 2

date

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

强大的date命令能够按照指定格式显示系统的时间或日期,只需键入”+”号开头的字符串指定其格式.

详细格式如下:
这里写图片描述

查看当前的系统时间:

[root@xgj ~]# dateMon Aug 24 16:11:23 CST 2016
  • 1
  • 2
  • 1
  • 2

按照”年-月-日 小时:分钟:秒”的格式:

[root@xgj ~]# date "+%Y-%m-%d %H:%M:%S"2017-05-04 16:29:12
  • 1
  • 2
  • 1
  • 2

设置系统时间为2017年5月1日8点半:

[root@xgj ~]# date -s "20170501 8:30:00"Mon May 1 08:30:00 CST 2015
  • 1
  • 2
  • 1
  • 2

查看本地系统时区:

[root@xgj ~]# date "+%Z"CST
  • 1
  • 2
  • 1
  • 2

查看星期几:

[root@xgj ~]# date "+%A"Tuesday
  • 1
  • 2
  • 1
  • 2

输入当前是上午还是下午:

[root@xgj Desktop]# date "+%p"AM
  • 1
  • 2
  • 1
  • 2

判断今天是一年中的第几天:

[root@xgj ~]# date "+%j"244
  • 1
  • 2
  • 1
  • 2

reboot

reboot命令用于重启系统(仅root用户可以使用),格式为:”reboot”。
重启计算机:

[root@xgj ~]# reboot
  • 1
  • 1

wget

wget命令用于使用命令行下载网络文件,
格式为:wget [参数] 下载地址

这里写图片描述

系统状态检测命令

合格的运维人员必需具备快速查看系统状态的能力.

ifconfig

ifconfig用于获取网卡配置与网络状态等信息:格式为ifconfig [网络设备] [参数]
查看本机当前的网卡配置与网络状态等信息:

[root@xgj ~]# ifconfig............
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

uname

uname命令用于查看系统内核版本等信息,格式为:“uname [-a]”。
查看系统的内核名称、内核发行版、内核版本、节点名、硬件名称、硬件平台、处理器类型、操作系统等信息:

[root@xgj ~]# uname -a
  • 1
  • 1

顺便说下,如果您想查看系统详细版本信息就看redhat-release文件:

[root@xgj ~]# cat /etc/redhat-release
  • 1
  • 1

uptime 查看系统的负载情况

uptime命令用于查看系统的负载情况,格式为:“uptime”。

我也经常用”watch -n 1 uptime“来每秒刷新一次获得当前的系统负载情况,输出内容分别为系统当前时间、系统已运行时间、当前在线用户以及平均负载值。

而平均负载分为最近1分钟、5分钟、15分钟的系统负载情况,负载值越低越好(小于1是正常)。

获取当前系统状态信息:

[root@xgj ~]# uptime22:49:55 up 10 min, 2 users, load average: 0.01, 0.19, 0.18
  • 1
  • 2
  • 1
  • 2

free

free命令用于显示当前系统中内存的使用量情况,格式为:free [-m/-g]

以m为单位显示当前系统中内存的使用量情况:

[root@xgj ~]# free -m
  • 1
  • 1

这里写图片描述

who

[root@xgj ~]# who
  • 1
  • 1

这里写图片描述

last

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

[root@xgj ~]# lastroot pts/0 :0 Mon Aug 24 17:52 still logged inroot :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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

history

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

历史命令会被保存到用户家目录中的”.bash_history“文件中。Linux系统中以点(.)开头的文件均代表隐藏文件,一般会是系统文件。

清空该用户在本机中执行过命令的历史记录:

[root@xgj ~]# history -c
  • 1
  • 1

history默认会保存1000条执行过的命令,若要修改可直接编辑/etc/profile文件的HISTSIZE值。

sosreport

sosreport命令用于收集系统系统配置并诊断信息后输出结论文档,格式为:“sosreport”。

当我们的红帽系统出现故障需要联系红帽厂商或其他技术支持时,大多数情况都需要提供使用到这个命令。

收集系统本地配置信息并诊断:

[root@xgj ~]# sosreport
  • 1
  • 1

工作目录切换命令

pwd

pwd命令用于显示当前的工作目录,格式为:“pwd [选项]”。

这里写图片描述

cd

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

这里写图片描述

切换进/etc目录中:

[root@xgj ~]# cd /etc
  • 1
  • 1

切换进/bin目录中:

[root@xgj etc]# cd /bin
  • 1
  • 1

返回上级目录(即/etc目录):

[root@xgj bin]# cd -/etc
  • 1
  • 2
  • 1
  • 2

返回用户自己的家目录:

[root@xgj etc]# cd ~[root@xgj ~]#
  • 1
  • 2
  • 1
  • 2

ls

ls命令用于查看目录中有那些文件,格式为:ls [选项] [文件]
查看当前目录下有那些文件(长格式):

这里写图片描述

查看/etc目录中有那些文件:

[root@xgj ~]# ls /etc………省略部分文件………
  • 1
  • 2
  • 1
  • 2

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

[root@xgj ~]# ls -ld /etcdrwxr-xr-x. 132 root root 8192 Jul 10 10:48 /etc
  • 1
  • 2
  • 1
  • 2

追加-h参数,以K/M/G为单位显示容量:

[root@xgj ~]# ls -ldh /etcdrwxr-xr-x. 132 root root 8.0K Jul 10 10:48 /etc
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

文本文件编辑命令

cat

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

查看文本文件:

[root@xgj ~]# cat 文件名
  • 1
  • 1

这里写图片描述

more

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

查看文本文件:

[root@xgj ~]# more 文件名
  • 1
  • 1

这里写图片描述

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

[root@xgj ~]# head -n 20 文件名
  • 1
  • 1

这里写图片描述

tail

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

查看文本文件后20行:

[root@xgj ~]# tail -n 20 文件名
  • 1
  • 1

这里写图片描述

od

od命令用于对查看特殊格式的文件,格式为:“od [选项] [文件]”

这里写图片描述

tr

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

将tr.txt文件的内容转换成大写

| —管道命令符

[root@xgj ~]# cat tr.txt | tr [a-z] [A-Z]RED HAT CERTIFIEDFREE LINUX LESSONSPROFESSIONAL GUIDANCELINUX COURSE
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

wc

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

这里写图片描述

统计当前系统中的用户个数:

[root@xgj ~]# wc -l /etc/passwd38 /etc/passwd
  • 1
  • 2
  • 1
  • 2

cut

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

这里写图片描述

获取当前系统中所有用户的名称:
参数作用:-d以”:”来做分隔符,-f参数代表只看第一列的内容。

[root@xgj ~]# cut -d: -f1 /etc/passwd
  • 1
  • 1

获取root用户的默认SHELL解释器:

[root@xgj ~]# grep ^root /etc/passwd | cut -d: -f 7/bin/bash
  • 1
  • 2
  • 1
  • 2

diff

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

这里写图片描述

比较两个文件的差异:

[root@xgj ~]# diff diff_A.txt diff_B.txt1c1,2> Welcome to xgj.com---> Welcome tooo xgj.com>3c4,5> Free Linux Lessons---> Free Linux LeSSonS> ////////.....////////
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

仅显示比较后的结果,即相同或不相同:

[root@xgj ~]# diff --brief diff_A.txt diff_B.txtFiles diff_A.txt and diff_B.txt differ
  • 1
  • 2
  • 1
  • 2

使用上下文输出的格式:

[root@xgj ~]# diff -c diff_A.txt diff_B.txt*** diff_A.txt 2015-08-30 18:07:45.230864626 +0800--- diff_B.txt 2015-08-30 18:08:52.203860389 +0800****************** 1,5 ****! Welcome to xgj.comRed Hat certified! Free Linux LessonsProfessional guidanceLinux Course--- 1,7 ----! Welcome tooo xgj.com!Red Hat certified! Free Linux LeSSonS! ////////.....////////Professional guidanceLinux Course
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

文件目录管理命令

touch

touch命令用于创建空白文件与修改文件时间,格式为:“touch [选项] [文件]”。

我们可以用“touch test”轻松的创建出一个名字为test的空白文档,所以这个功能无须介绍。

对于在Linux中的文件有三种时间:
- 更改时间(mtime):内容修改时间(不包括权限的)
- 更改权限(ctime):更改权限与属性的时间
- 读取时间(atime):读取文件内容的时间

如果黑客执行了touch -d “2 days ago” test,便将访问与修改时间修改为了2天前(伪造了自己没有动过该文件的假象)。

这里写图片描述

mkdir

mkdir用于创建空白的文件夹,格式为:“mkdir [选项] 目录”。
创建文件夹:

[root@xgj ~]# mkdir 文件夹名
  • 1
  • 1

这里写图片描述

创建一个名字叫xgj的目录:

[root@xgj ~]# mkdir xgj
  • 1
  • 1

使用ls命令查看该目录的权限属性等信息:

[root@xgj ~]# ls -ld xgj/drwxr-xr-x. 2 root root 6 Aug 24 19:25 xgj/
  • 1
  • 2
  • 1
  • 2

还记得刚刚用cd命令进入xgj目录吗?这里是个小技巧,变量!$或(键盘按键)代表上一条命令的参数。

[root@xgj ~]# cd !$cd xgj
  • 1
  • 2
  • 1
  • 2

pwd命令用于显示当前的工作路径。

[root@xgj xgj]# pwd/root/Desktop/xgj
  • 1
  • 2
  • 1
  • 2

一次创建5个目录a/b/c/d/e:

[root@xgj xgj]# mkdir -p a/b/c/d/e
  • 1
  • 1

查看目录的属性,验证是否成功:

[root@xgj xgj]# ls -ld a/b/c/d/e/drwxr-xr-x. 2 root root 6 Aug 29 10:16 a/b/c/d/e/
  • 1
  • 2
  • 1
  • 2

cp

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

复制命令的三种情况:
- 目标文件是一个目录,会将源文件复制到该目录中。
- 目标文件是一个文件,会将源文件覆盖该文件。
- 目标文件不存在,将会复制源文件并修改为目标文件的名称(重命名)

这里写图片描述

创建一个名为install.log的文件:

[root@xgj ~]# touch install.log
  • 1
  • 1

将install.log复制为x.log:

[root@xgj ~]# cp install.log x.log
  • 1
  • 1

查看到确实出现了文件x.log

[root@xgj ~]# lsinstall.log x.log
  • 1
  • 2
  • 1
  • 2

mv

mv命令用于移动文件或改名,格式为:“mv [选项] 文件名 [目标路径|目标文件名]”。
将文件aaa重命名为bbb:

[root@xgj ~]# mv aaa bbb
  • 1
  • 1

rm

rm命令用于删除文件或目录,格式为:“rm [选项] 文件”。
删除普通文件并提示确认信息:“rm 文件名”
删除普通文件或目录文件,不提示:“rm -rf 文件或目录名”

这里写图片描述

查看当前目录下的文件:

[root@xgj ~]# lsinstall.log x.log
  • 1
  • 2
  • 1
  • 2

删除install.log文件,输入”y”即确认:

[root@xgj ~]# rm install.logrm: remove regular empty file ‘install.log’? y
  • 1
  • 2
  • 1
  • 2

删除x.log文件而无需确认:

[root@xgj ~]# rm -rf x.log
  • 1
  • 1

Linux系统中还有一个rmdir命令,它不同于rm -rf命令会删除一切,而是仅删除空目录,遇到目录内有文件时则报错。

dd

dd命令用于指定大小的拷贝的文件或指定转换文件,格式为:“dd [参数]”。

这里写图片描述

将光驱设备拷贝成镜像文件:

[root@xgj ~]# dd if=/dev/cdrom of=RHEL-server-7.0-x86_64-xgj.Com.iso7311360+0 records in7311360+0 records out3743416320 bytes (3.7 GB) copied, 370.758 s, 10.1 MB/s
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

生成一个560m的空白文件:

[root@xgj ~]# dd if=/dev/zero of=560_file count=1 bs=560M1+0 records in1+0 records out587202560 bytes (587 MB) copied, 27.1755 s, 21.6 MB/s
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

将硬盘的MBR信息拷贝出来:

[root@xgj ~]# dd if=/dev/sda of=sda_image count=1 bs=512K1+0 records in1+0 records out524288 bytes (524 kB) copied, 0.0449481 s, 11.7 MB/s
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

用户与组管理命令

useradd

useradd命令用于创建新的用户,格式为:“useradd [选项] 用户名”。

这里写图片描述

创建名为xgj的用户,并定义家目录路径、UID以及登陆解释器(不允许登陆):

[root@xgj ~]# useradd -d /home/linux -u 8888 -s /sbin/nologin xgj
  • 1
  • 1

查看xgj用户的基本信息:

[root@xgj ~]# id xgjuid=8888(xgj) gid=8888(xgj) groups=8888(xgj)
  • 1
  • 2
  • 1
  • 2

passwd

passwd命令用于修改用户的密码,格式为:“passwd [选项] [用户名]”。
- 修改当前用户的密码:“passwd”
- 修改其他用户的密码:“passwd 其他用户名”

这里写图片描述

userdel

userdel命令用于删除用户所有表格,格式为:“userdel [选项] 用户名”。
删除用户与其家目录:

[root@xgj ~]# userdel -d 用户名
  • 1
  • 1

这里写图片描述

usermod

usermod命令用于修改用户的属性,格式为“usermod [选项] 用户名”。

这里写图片描述

groupadd

groupadd命令用于创建群组,格式为:”groupadd [选项] 群组名”。
创建名称为xgj的用户群组:

[root@xgj ~]# groupadd xgj
  • 1
  • 1

打包压缩文件命令

tar

tar命令用于对文件打包压缩或解压,格式为:“tar [选项] [文件]”。

  • 打包并压缩文件:“tar -czvf 压缩包名.tar.gz 文件名”
  • 解压并展开压缩包:“tar -xzvf 压缩包名.tar.gz”

这里写图片描述

将/etc目录内文件打包并通过gzip格式压缩:

[root@xgj ~]# tar czvf etc.tar.gz /etctar: Removing leading `/' from member names/etc//etc/fstab/etc/crypttab/etc/mtab/etc/fonts//etc/fonts/conf.d//etc/fonts/conf.d/65-0-madan.conf/etc/fonts/conf.d/59-liberation-sans.conf/etc/fonts/conf.d/90-ttf-arphic-uming-embolden.conf/etc/fonts/conf.d/59-liberation-mono.conf/etc/fonts/conf.d/66-sil-nuosu.conf……………………………………
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

将etc.tar.gz解压到/root/etc目录中:

[root@xgj ost ~]# mkdir /root/etc开始解压etc.tar.gz文件:[root@xgj ~]# tar xzvf etc.tar.gz -C /root/etc
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

文件查询搜索命令

grep

grep命令用于对文本进行搜索,格式为:“grep [选项] [文件]”。
搜索某个关键词:“grep 关键词 文本文件”

这里写图片描述

搜索在/etc/passwd中”/sbin/nologin”出现的行,找出系统中不允许登陆的用户。

[root@xgj ~]# grep /sbin/nologin /etc/passwdbin:x:1:1:bin:/bin:/sbin/nologindaemon:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologinlp:x:4:7:lp:/var/spool/lpd:/sbin/nologinmail:x:8:12:mail:/var/spool/mail:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologin………………………………
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

找出文件“/usr/share/gedit/plugins/snippets/docbook.xml”中所有包含entry的行并输出到/root/lines:

grep entry /usr/share/gedit/plugins/snippets/docbook.xml >> /root/lines
  • 1
  • 1

find

find命令用于查找文件,格式为:“find [查找路径] 寻找条件 操作”。

这里需要注意下find命令非常灵活导致参数非常复杂,这里不要求大家记住,用时来查即可。

对于常用搜索路径有几个小窍门:“~”代表用户的家目录,“.”代表当前目录,“/”代表根目录。
这里写图片描述

搜索整个系统中所有包含SUID的文件(因SUID的数字表示法是4,而减号表示只要包含即可)。

[root@xgj ~]# find / -perm -4000 -print/usr/bin/fusermount/usr/bin/su/usr/bin/umount/usr/bin/passwd/usr/sbin/userhelper/usr/sbin/usernetctl………………………………
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

找出用户xgj的文件并复制到/root/findresults目录。
重点是”-exec {} \;”其中的{}代表find命令搜索出的文件,记住结尾必须是\;

[root@xgj ~]# find / -user xgj -exec cp -arf {} /root/findresults/ \;
  • 1
  • 1


3

原创粉丝点击