每日几个Linux命令,十天了解工作中常用的那些命令(三)

Centos下常用Linux命令的学习

find 很重要

find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。默认情况下如果不指定路径名,会在当前目录下进行查找。

/home目录下查找以.txt结尾的文件名

find /home -name "*.txt"

找出/home下不是以.txt结尾的文件

find /home ! -name "*.txt"

同上,但忽略大小写

find /home -iname "*.txt"

当前目录及子目录下查找所有以.txt.pdf结尾的文件

find . -name "*.txt" -o -name "*.pdf"

基于正则表达式匹配文件路径

find . -regex ".*\(\.txt\|\.pdf\)$"

根据文件类型进行搜索

find . -type 类型参数
类型参数列表:

f 普通文件
l 符号连接
d 目录
c 字符设备
b 块设备
s 套接字
p Fifo

根据文件时间戳进行搜索

find . -type f 时间戳
UNIX/Linux文件系统每个文件都有三种时间戳:

访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。
变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。

搜索最近七天内被访问过的所有文件

find . -type f -atime -7

搜索恰好在七天前被访问过的所有文件

find . type f -atime 7

搜索超过七天内被访问过的所有文件

find . type f -atime +7

搜索访问时间超过10分钟的所有文件

find . type f -amin +7

根据文件大小进行匹配

find . -type f -size 文件大小单元
文件大小单元:

b —— 块(512字节)
c —— 字节
w —— 字(2字节)
k —— 千字节
M —— 兆字节
G —— 吉字节

搜索大于10KB的文件

find . -type f -size +10

搜索小于10KB的文件

find . -type -f -size 10k 

删除当前目录下所有.txt文件

find . -type f -name "*.txt" -delete

当前目录下搜索出权限为777的文件

find . -type f -perm 777

找出当前目录下权限不是644php文件

find . type f -name "*.php" ! -perm 644

找出当前目录用户tom拥有的所有文件

find . type f -user tom

which

which命令用于查找并显示给定命令的绝对路径。使用which命令会去系统的环境变量PATH中去寻找对应的命令,来确认是否存在以及其执行路径是什么。

[root@localhost ~]# which pwd
/bin/pwd

[root@localhost ~]#  which adduser
/usr/sbin/adduser

whereis

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。

和find相比,whereis查找的速度非常快。因为其查找文件是通过查询数据库来得到的,而find是通过硬盘检索而得到的。但是其查到的文件可能是不存在的,或者存在但是找不到,因为Linux的文件数据库不是实时更新的。默认7天更新一次

将相关的文件都查找出来

whereis Java

cat

cat命令连接文件并打印到标准输出设备上,cat经常用来显示文件的内容

需要注意的是:当文件较大时,文本在屏幕上迅速闪过(滚屏),用户往往看不清所显示的内容。因此,一般用more等命令分屏显示。

在屏幕上显示文件ml的内容,并显示行号

cat -n m1

同时显示文件mlm2的内容

cat m1 m2

将文件mlm2合并后放入文件file

cat m1 m2 > file 

注意:> 一般是写入的意思。

chmod

chmod命令用来变更文件或目录的权限。在Linux系统中,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分。

权限范围的表示法如下:

u User,即文件或目录的拥有者;
g Group,即文件或目录的所属群组;
o Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围;
a All,即全部的用户,包含拥有者,所属群组以及其他用户;
r 读取权限,数字代号为“4”;
w 写入权限,数字代号为“2”;
x 执行或切换权限,数字代号为“1”;
- 不具任何权限,数字代号为“0”;
s 特殊功能说明:变更文件或目录的权限。

需要注意的是:Linux用户分为:拥有者(User)、组群(Group)、其他(other)

为文件f01设置自己可以执行,组员可以写

chmod u+x,g+w f01  入的权限
chmod u=rwx,g=rw,o=r f01
chmod 764 f01

对文件f01u,g,o都设置可执行属性

chmod a+x f01

top

top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能运行信息的实用工具。

在top命令执行过程中可以使用的一些交互命令。这些命令都是单字母的

h:显示帮助画面,给出一些简短的命令总结说明;
k:终止一个进程;
i:忽略闲置和僵死进程,这是一个开关式命令;
q:退出程序;
r:重新安排一个进程的优先级别;
S:切换到累计模式;
s:改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成ms。输入0值则系统将不断刷新,默认值是5s;
f或者F:从当前显示中添加或者删除项目;
o或者O:改变显示项目的顺序;
l:切换显示平均负载和启动时间信息;
m:切换显示内存信息;
t:切换显示进程和CPU状态信息;
c:切换显示命令名称和完整命令行;
M:根据驻留内存大小进行排序;
P:根据CPU使用百分比大小进行排序;
T:根据时间/累计时间进行排序;
w:将当前设置写入~/.toprc文件中。

ps

ps命令用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。

显示进程状态

ps -aux

tail

tail命令用于输入文件中的尾部内容。tail命令默认在屏幕上显示指定文件的末尾10行。

需要注意的是:如果表示字节或行数的N值之前有一个”+”号,则从文件开头的第N项开始显示,而不是显示文件的最后N项。

显示文件file的最后10行

tail file

显示文件file的内容,从第20行至文件末尾

tail +20 file 

echo

echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。

选项

-e:激活转义字符。

使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:


\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;

用echo命令打印带有色彩的文字:

echo -e "\e[1;31mI am hikari\e[0m"
    原文作者:HikariCP
    原文地址: https://www.jianshu.com/p/dbc5de324b5f
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞