找回密码
 立即注册
首页 业界区 业界 Linux常用命令介绍-系统管理

Linux常用命令介绍-系统管理

碛物 3 天前
find命令 - 根据路径和条件搜索指定文件

ind命令的功能是根据给定的路径和条件查找相关文件或目录,其参数灵活方便,且支持正则表达式,结合管道符后能够实现更加复杂的功能,是Linux系统运维人员必须掌握的命令之一。
find命令通常进行的是从根目录(/)开始的全盘搜索,有别于whereis、which、locate等有条件或部分文件的搜索。对于服务器负载较高的情况,建议不要在高峰时期使用find命令的模糊搜索,这会相对消耗较多的系统资源。
语法格式
  1. find [路径] [匹配条件] [动作]
复制代码
参数说明 :
路径 是要查找的目录路径,可以是一个目录或文件名,也可以是多个路径,多个路径之间用空格分隔,如果未指定路径,则默认为当前目录。
expression 是可选参数,用于指定查找的条件,可以是文件名、文件类型、文件大小等等。
匹配条件 中可使用的选项有二三十个之多,以下列出最常用的部份:

  • -name pattern:按文件名查找,支持使用通配符 * 和 ?。
  • -type type:按文件类型查找,可以是 f(普通文件)、d(目录)、l(符号链接)等。
  • -size [+-]size[cwbkMG]:按文件大小查找,支持使用 + 或 - 表示大于或小于指定大小,单位可以是 c(字节)、w(字数)、b(块数)、k(KB)、M(MB)或 G(GB)。
  • -mtime days:按修改时间查找,支持使用 + 或 - 表示在指定天数前或后,days 是一个整数表示天数。
  • -user username:按文件所有者查找。
  • -group groupname:按文件所属组查找。
动作: 可选的,用于对匹配到的文件执行操作,比如删除、复制等。
find 命令中用于时间的参数如下:

  • -amin n:查找在 n 分钟内被访问过的文件。
  • -atime n:查找在 n*24 小时内被访问过的文件。
  • -cmin n:查找在 n 分钟内状态发生变化的文件(例如权限)。
  • -ctime n:查找在 n*24 小时内状态发生变化的文件(例如权限)。
  • -mmin n:查找在 n 分钟内被修改过的文件。
  • -mtime n:查找在 n*24 小时内被修改过的文件。
在这些参数中,n 可以是一个正数、负数或零。正数表示在指定的时间内修改或访问过的文件,负数表示在指定的时间之前修改或访问过的文件,零表示在当前时间点上修改或访问过的文件。
正数应该表示时间之前,负数表示时间之内。
例如:-mtime 0 表示查找今天修改过的文件,-mtime -7 表示查找一周以前修改过的文件。
关于时间 n 参数的说明:

  • +n:查找比 n 天前更早的文件或目录。
  • -n:查找在 n 天内更改过属性的文件或目录。
  • n:查找在 n 天前(指定那一天)更改过属性的文件或目录。
实例

查找当前目录下名为 file.txt 的文件:
  1. find . -name file.txt
复制代码
将当前目录及其子目录下所有文件后缀为 .c 的文件列出来:
  1. find . -name "*.c"
复制代码
将当前目录及其子目录中的所有文件列出:
  1. find . -type f
复制代码
查找 /home 目录下大于 1MB 的文件:
  1. find /home -size +1M
复制代码
查找 /var/log 目录下在 7 天前修改过的文件:
  1. find /var/log -mtime +7
复制代码
查找过去 7 天内被访问的文件:
  1. find /path/to/search -atime -7
复制代码
在当前目录下查找最近 20 天内状态发生改变的文件和目录:
  1. find . -ctime  20
复制代码
将当前目录及其子目录下所有 20 天前及更早更新过的文件列出:
  1. find . -ctime  +20
复制代码
查找 /var/log 目录中更改时间在 7 日以前的普通文件,并在删除之前询问它们:
  1. find /var/log -type f -mtime +7 -ok rm {} \;
复制代码
查找当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件:
  1. find . -type f -perm 644 -exec ls -l {} \;
复制代码
查找系统中所有文件长度为 0 的普通文件,并列出它们的完整路径:
  1. find / -type f -size 0 -exec ls -l {} \;
复制代码
找并执行操作(例如删除):
  1. find /path/to/search -name "pattern" -exec rm {} \;
复制代码
这个例子中,-exec 选项允许你执行一个命令,{} 将会被匹配到的文件名替代,; 表示命令结束。
rpm命令 - RPM软件包管理器

rpm命令来自英文词组redhat package manager的缩写,中文译为“红帽软件包管理器”,其功能是在Linux系统下对软件包进行安装、卸载、查询、验证、升级等工作,常见的主流系统(如RHEL、CentOS、Fedora等)都采用这种软件包管理器,推荐用固定搭配“rpm-ivh 软件包名”安装软件,而卸载软件则用固定搭配“rpm -evh 软件包名”,简单好记又好用。
语法格式
  1. rpm 参数 软件包名
复制代码
常用参数

  • -a :查询所有套件。
  • -b+或-t + :设置包装套件的完成阶段,并指定套件档的文件名称。
  • -c :只列出组态配置文件,本参数需配合"-l"参数使用。
  • -d :只列出文本文件,本参数需配合"-l"参数使用。
  • -e或--erase :删除指定的套件。
  • -f+ :查询拥有指定文件的套件。
  • -h或--hash :套件安装时列出标记。
  • -i :显示套件的相关信息。
  • -i或--install :安装指定的套件档。
  • -l :显示套件的文件列表。
  • -p+ :查询指定的RPM套件档。
  • -q :使用询问模式,当遇到任何问题时,rpm指令会先询问用户。
  • -R :显示套件的关联性信息。
  • -s :显示文件状态,本参数需配合"-l"参数使用。
  • -U或--upgrade :升级指定的套件档。
  • -v :显示指令执行过程。
  • -vv :详细显示指令执行过程,便于排错。
实例

安装软件
  1. # rpm -hvi dejagnu-1.4.2-10.noarch.rpm
  2. 警告:dejagnu-1.4.2-10.noarch.rpm: V3 DSA 签名:NOKEY, key ID db42a60e
  3. 准备...           
  4. ########################################### [100%]
复制代码
显示软件安装信息
  1. # rpm -qi dejagnu-1.4.2-10.noarch.rpm
  2. 【第1次更新 教程、类似命令关联】
复制代码
ps命令 - 显示进程状态

ps命令来自英文单词process的缩写,中文译为“进程”,其功能是显示当前系统的进程状态。使用ps命令可以查看到进程的所有信息,例如进程的号码、发起者、系统资源(处理器与内存)使用占比、运行状态等。ps命令可帮助我们及时发现哪些进程出现“僵死”或“不可中断”等异常情‍况。 ps命令经常会与kill命令搭配使用,以中断和删除不必要的服务进程,避免服务器的资源浪费。
语法格式:
  1. ps [options] [--help]
复制代码
ps 的参数非常多, 在此仅列出几个常用的参数并大略介绍含义

  • -A:列出所有的进程
  • -w :显示加宽可以显示较多的资讯
  • -au :显示较详细的资讯
  • -aux :显示所有包含其他使用者的进程,用标准格式输出。
  • -ef:与aux一样,但是是用bsd的格式输出
    au(x) :输出格式 :
  1. USER PID %CPU %MEM VSZ RSS TTY STAT START TIME CMD
复制代码
<ul>USER: 进程拥有者
PID: pid,进程ID
%CPU: 占用的 CPU 使用率
%MEM: 占用的内存使用率
VSZ: 占用的虚拟内存大小,表示如果一个程序完全驻留在内存的话需要占用多少内存空间
RSS: 常驻集大小,指明了当前实际占用了多少内存
TTY: 终端的次要装置号码 (minor device number of tty)
STAT: 该行程的状态:<ul>
D: 无法中断的休眠状态 (通常 IO 的进程)
R: 正在执行中
S: 静止状态
T: 暂停执行
Z: 不存在但暂时无法消除
W: 没有足够的记忆体分页可分配
”或者”shift+
您需要登录后才可以回帖 登录 | 立即注册