Linux shell

权限

  • 普通用户只能追加无法删除
    chattr +a /var/log/access.log

  • r w x 4 2 1

磁盘文件统计

  • df 查看磁盘占用
  • du 统计文件占用
  • fdisk 分区管理
  • mount 磁盘挂载
  • umount 磁盘卸载
  • mkfs.ext4 磁盘格式化

查找find

1
2
3
4
5
6
7
8
9
10
11
12
13
find . -mmin -60 		修改时间为最近60分钟内的
find . -mmin +5 修改时间为5分钟之前的
find /tmp -atime -1 查找/tmp目录最近1天(24小时)内被访问过的文件
find . -type f 查找本目录下的所有文件
find . -type d 查找本目录下的所有目录
find . -user root 查找本目录下所有root用户的文件
find . -perm 600 查找本目录下所有权限为600的文件
find . \( -name "_*" -or -user root \) -type f 查找本目录下(以_开头或root用户的) 文件

逻辑运算符
-not
-or
-and

分析文章访问日志文件,找出访问量最大的前10个IP地址,降序排序

  1. 找出IP,每行一个 -f 表示需要取得哪个字段
    cut -d " " -f1 /var/log/access.log
  2. 去重并计数
    uniq -c
  3. 排序
    sort -n -r
  4. 取前10行
    head -10

$ cut -d " " -f1 /var/log/access.log | sort | uniq -c | sort -n -r | head -10

linux 中有三个系统文件描述符:0.标准输入,1.标准输出,2.标准错误输出

系统管理

  • ps 命令,显示当前进程

    1
    2
    3
    4
    ps -ef 显示带启动命令行的进程信息
    ps -u root 显示某用户的进程
    ps -A 显示全部进程
    ps -ejH 显示进程树
  • kill 命令:终止进程

    1
    2
    3
    4
    5
    kill -s PID
    -s 指定信号
    -l 所有信号标识列表
    kill -9 PID 强制结束
    killall 进程名称
  • fg 命令 将后台任务调到前台

    命令后加 & 或者 ctrl + z 可将任务转到后台执行
    后台执行中的任务,可以通过 fg &任务序号 调到前台执行
    jobs -l 查看后台任务
    fg %1 恢复后台进程中的1工作号到前台执行,不写1表示恢复最后一个工作号(+)到前台执行,也可以不写%,fg 1

  • 开放端口:
    1
    2
    iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT
    service iptables save #保存iptables规则

shell

  • 变量

    1
    2
    3
    区分大小写
    等号两边无空格
    所有变量都是字符串
  • 流程控制

  • 命令列表
  • 函数