常见命令
Linux 中的帮助文档
man
info:GNU 项目推荐的新一代文档格式,功能更强
m 显示菜单
f 跟随交叉引用,l 返回
--help或 -h :查看大部分程序自带的帮助文档
磁盘与文件统计
df 查看磁盘空间占用
du 统计文件占用空间
fdisk 分区管理
mkfs.ext3 磁盘格式
mount 磁盘挂载
umount 磁盘卸载
查找文件
find :功能最丰富的文件查找命令
基本用法示例:
查找 / 目录下 名字为 test 的文件,然后打印出文件名
常用格式:
[路径]可以有多个,以空格分隔
[选项]常用的有:
-depth 先找目录内容,再找目录自身,即先深入查找.
-follow 跟随符号链接,将软连接解为实际文件.
-maxdepth N 设置目录查找深度
-mount (或 -xdev) 不查找其他挂载的文件系统,如NFS等
基于文件名的[查找规则]:
例1:
find . -name “*.php”
找本目录下所有后缀名为 .php 的文件例2:
find . -iname “x[abc]”
查找本目录下所有文件名为 xa、xb或xc 的文件,且不区分大小写。例3:
find . -regex ".*b.*3"
查找本目录下文件完整路径及名称匹配该正则的。
基于时间的[查找规则]:
例1:
find . -mmin -60
查找本目录下修改时间为最近60分钟内的例2: f
ind . -mmin +5
查找本目录下修改时间为5分钟之前的例3:
find /tmp -atime -1
查找/tmp目录下最近1天(24小时)内被访问过的文件总结:
find . -atime N
其中 -atime 的位置也可以使用如下参数: -atime, -mtime, -ctime, -amin, -mmin, -cmin N
time: 天(24小时),min: minute,分钟
+N N时间前,-N N时间内的,n 等于N的
基于文件类型的[查找规则]:
例1:
find . -type f
查找本目录下所有的“文件”例2:
find . -type d
查找本目录下所有的“目录”
其他[查找规则]:
例1:
find . -user root
查找本目录下所有root用户的文件例2:
find . -perm 600
查找本目录下所有权限为600的文件
[查找规则]的组合:
find . \( -name “_*“ -or -user root \) -type f
查找本目录下(以_开头或root用户的)“文件”逻辑运算符: -not -or -and
常用[动作]:
-print 打印出找到的文件,以\n结束
-print0 打印出找到的文件,无换行
-exec command 对找到的文件执行命令
-ok 同 -exec, 但在执行前会询问用户
-ls 列出文件详情
-exec 示例:
{} :指代找到的文件
\; :表示-exec指定的命令结束,必须。
安全起见也可以用 -ok
其他查找文件命令:
which :查找环境变量PATH下的可执行文件及别名(alias)
whereis:查找系统常见目录中的可执行文件、文档、源代码、配置文件等
locate:通过索引数据库查找文件
Linux 中的文本工具
cat —查看文件内容
head —查看文件头部
tail —查看文件尾部
more—分页查看文件内容
less—更强的分页查看文件内容
cut—按列查看文件内容,默认以 TAB 分隔
sort—对文件内容排序
uniq—对文件内容排重, -c 可统计连续重复行数量,资料:实例解说Linux命令行uniq
diff—对比文件内容
grep—查找文件内容
split—按行、字节等切分并输出文件
wc—字节、单词、行计算
cut :选择每一行中特定的列(字段),然后输出
示例:
查看系统中所有用户
-d 指定分隔符
-f 指定输出的字段
sort :对文件中的行排序,默认以ASCII顺序排列
示例:
按passwd文件中的第三列数字排序,以“:”分隔每一列
-n 按数字而不是ascii排序
-t 指定列的分隔符
-k 指定按第几列排序
-r 倒序排列
示例:
按第6列倒序排列,第3列正序排列
grep :输出文本中匹配所指定正则表达式的行
命令格式:
常用[选项]:
-c 输出匹配到的行数
-E 启用更强大的正则表达式
-H 输出匹配到的行及所属的文件名
-i 不区分大小写匹配
-l 在文件中找到第一个匹配后,显示文件名,停止后续查找
-v 输出不匹配的行
--color 高亮显示匹配到的内容
例:
显示 access.log 文件中出现 bot 或 spider 关键词的行数
split—按行、字节等切分并输出文件
命令格式:
常用[选项]:
-b:值为每一输出档案的大小,单位为 byte。
-C:每一输出档中,单行的最大 byte 数。
-d:使用数字作为后缀。
-l:值为每一输出档的行数大小。
-a:后缀长度
通过管道组合使用工具
管道
Linux 中有三个系统文件描述符: 0:标准输入; 1:标准输出; 2:标准错误输出。
标准输出、标准错误输出通常默认为当前屏幕。
管道是Linux进程间通信的方式之一
管道像一根供数据流通的单向管道
所有Linux程序的标准输出都可以通过管道传递给另一个程序作为标准输入
需求:分析如下网站访问日志文件,找出访问量最大的前10个IP地址,降序排列
找出IP,每行一个
去重并计数
排序(-n 按数字而不是ascii排序, -r 倒序排列)
取前10行
最终命令
上面的结果如何保存下来?
输入/输出重定向
Linux 中有三个系统文件描述符: 0:标准输入; 1:标准输出; 2:标准错误输出。
>
符号可重定向输出位置。
ls -l > ls_output.log
将标准输出重定向到 ls_output.log
文件
ls -l >> ls_append.log
将标准输出重定向*追加*到 ls_output.log
文件
将 标准输出 重定向到 ls_output.log 文件,标准错误输出重定向到 ls_error.log 文件
将标准输出重定向到 ls_out.log 文件,然后将标准错误输出重定向到和标准输出同样的地方。
more < xxx.txt
输入重定向
上面操作的最终命令进行报错结果
将结果丢弃,也不输出
$ xxxxxxx > /dev/null
系统管理
ps 命令:显示当前进程
ps -ef 显示带启动命令行的进程信息
ps -u root 显示某用户的进程
ps -A 显示全部进程
ps -ejH 显示进程树
kill 命令:向进程发送信号,常用于终止某进程
kill -s PID
: -s 指定信号kill -9 PID
可用于强制某进程退出killall
可用于通过进程名称发送信号
fg 命令: 将后台任务调到前台
命令后加 & ,或Ctrl + Z 可将任务转到后台执行
后台执行中的任务,可以通过 “fg %任务序号”调到前台
crontab:让命令自动定时运行
crontab: 定时执行任务
基本格式 :
分(0-59) 时(0-23) 日(1-31) 月(1-12) 周(0-6)//0代表周日
每个 * 的位置除数字取值外,还可以有如下格式:
* 代表所有的取值范围内的数字;
/ 代表“每”的意思,如 "*/5"表示每5个单位;
代表范围,从某个数字到某个数字;
, 用于指定多个值。
常用命令:
注意事项
crontab 中的各任务尽量使用绝对路径
crontab 执行是以实际时间计算的,而不是以启动时间计算,因此如果系统有大量crontab任务,最好不要集中定在同一个时间启动。
示例:
每天早上6时0分
每两个小时
晚上11点到早上7点之间每两个小时,早上八点
netstat: 查看网络状态
netstat -anpl 查看所有网络连接状态,带进程名称
Ifconfig : 查看网卡配置、ip地址信息
iptables: Linux 防火墙
service iptables start
#启动服务iptables -A INPUT -p tcp -s 1.2.3.4 --dport 80 -j DROP
#所有来自 1.2.3.4 的80端口访问全部屏蔽service iptables save
#保存规则,否则重启失效iptables -L -n --line-numbers
#列出当前配置及规则号iptables -D INPUT 4
删除INPUT类第4号规则iptables -F
清除所有规则
top 命令
常用操作:
P:按CPU使用量排列,
M:按内存使用量排列,
h:显示帮助 ,
q:退出
1: 多 CPU 显示,
k:杀死进程,
r:设置进程Nice级别
平均负载:最近1分钟,最近5分钟,最近15分钟
查看系统运行状态
软件安装
yum 安装(search install update remove)
rpm安装(-i –e -qa)
Apt安装(search install update remove)
源码编译安装
压缩与解压缩
zip压缩与解压
zip压缩
-d 删除压缩包内文件
-m删除源文件
unzip解压缩
rar压缩与解压
rar压缩
rar解压缩
tar压缩与解压
tar压缩
tar解压缩
其他命令:
gzip
bzip2
Uncompress
Last updated