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
找出当前目录下权限不是644
的php
文件
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
同时显示文件ml
和m2
的内容
cat m1 m2
将文件ml
和m2
合并后放入文件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
对文件f01
的u,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"