Linux 实战技巧

本文介绍了Linux系统中常用的命令,如adduser、chown、crontab等,并详细讲解了Shell编程,包括IFS设置、循环和脚本控制。此外,还涵盖了资源监控、Windows下执行shell脚本、防火墙配置、系统优化实战,如关闭Swappiness和控制Overcommit,以及系统架构中的Cache和Buffer管理。最后,提供了相关资源链接和工具推荐。

常用命令

adduser

# 以创建 Apache Eagle 用户为例
$ adduser eagle
$ passwd eagle            # ur password for eagle user
# 赋予用户可以 sudo 的权限
$ chmod u+w /etc/sudoers
$ vim /etc/sudoers
  # 找到 `root ALL=(ALL) ALL` 这行,并在下面添加 eagle 用户
  eagle    ALL=(ALL)    ALL
$ chmod u-w /etc/sudoers

# 切换到 eagle 用户
$ su - eagle

chown

# 软链接
$ chown -h superset:superset superset
# 所有子目录及文件
$ chown -R superset:superset superset-0.15.4

crontab

# 查看脚本是否执行
$ tail -f /var/log/cron

# 防止 nohup 的定时任务发邮件给 root,导致 var 目录堆积(/var/spool/cron)
$ crontab -e
  # 加在文件开头
  MAILTO=""

date

# 该时间戳格式为 13 位毫秒级别
$ echo "`date -d '2017-04-21 10:00:00' +%s`000"

df

# 磁盘信息
$ df -h
  Filesystem                   Size  Used Avail Use% Mounted on
  /dev/mapper/systemvg-rootlv  7.9G  388M  7.1G   6% /
  tmpfs                        3.9G   12K  3.9G   1% /dev/shm
  /dev/vda1                    485M   39M  421M   9% /boot
  /dev/mapper/systemvg-homelv   30G   11G   18G  38% /home
  /dev/mapper/systemvg-optlv    30G  187M   28G   1% /opt
  /dev/mapper/systemvg-tmplv   2.0G   68M  1.9G   4% /tmp
  /dev/mapper/systemvg-usrlv   9.9G  2.7G  6.7G  29% /usr
  /dev/mapper/systemvg-varlv   6.0G  352M  5.3G   7% /var
  /dev/mapper/datavg-datalv     98G  4.1G   89G   5% /data

# 找到 device 对应的 disk
$ ls -trl /dev/mapper/
  crw-rw---- 1 root root 10, 58 May 27  2017 control
  lrwxrwxrwx 1 root root      7 May 27  2017 systemvg-lv_swap -> ../dm-0
  lrwxrwxrwx 1 root root      7 May 27  2017 systemvg-optlv -> ../dm-4
  lrwxrwxrwx 1 root root      7 May 27  2017 systemvg-tmplv -> ../dm-5
  lrwxrwxrwx 1 root root      7 May 27  2017 systemvg-usrlv -> ../dm-6
  lrwxrwxrwx 1 root root      7 May 27  2017 systemvg-varlv -> ../dm-3
  lrwxrwxrwx 1 root root      7 May 27  2017 systemvg-rootlv -> ../dm-1
  lrwxrwxrwx 1 root root      7 Jun  1  2017 datavg-datalv -> ../dm-7
  lrwxrwxrwx 1 root root      7 Jun  1  2017 systemvg-homelv -> ../dm-2

du

# 文件大小
$ du -h /home/ --max-depth=1
  3.1G  /home/eagle
  40.8G /home/

$ du -sh *
  64K   logs
  276M  software
  28K   zkdata

# 同理,使用 `ll -h` 也可以得到文件的大小
$ ll -h
  总用量 546M
  -rw-rw-r-- 1 zookeeper zookeeper  41M 831 10:08 zookeeper.log
  -rw-rw-r-- 1 zookeeper zookeeper 101M 831 00:06 zookeeper.log.1
  -rw-rw-r-- 1 zookeeper zookeeper 101M 829 11:39 zookeeper.log.2
  -rw-rw-r-- 1 zookeeper zookeeper 101M 827 16:01 zookeeper.log.3
  -rw-rw-r-- 1 zookeeper zookeeper 101M 825 20:38 zookeeper.log.4
  -rw-rw-r-- 1 zookeeper zookeeper 101M 824 00:34 zookeeper.log.5
  -rw-rw-r-- 1 zookeeper zookeeper 4.2M 831 09:35 zookeeper.out

grep

# 或操作
$ grep -E 'bin|etc'
$ egrep 'bin|etc'
$ awk '/bin|etc/'

# 与操作
$ grep bin | grep etc

# 不区分大小写
$ grep -i BIN      # (bin/sbin)

# 全词匹配
$ grep -w bin      # (bin)

# 匹配,并指定显示多少行上下文
$ grep -C 1 bin        # (bin/boot root/sbin/script)

# 过滤脚本输出 (|& 相当于 stdout + stderr)
$ zkServer.sh status |& grep Mode
  Mode: follower

# 特殊字符,需要增加反斜杠 (\),进行转义
$ grep \$

hostname

# 查看机器的 IP 地址
$ hostname -i
  10.10.10.1

iostat

# 查看磁盘 I/O
$ iostat -x 1 10
  Linux 2.6.32-504.3.3.el6.centos.plus.x86_64 (yuzhouwan01.com)     01/19/2018  _x86_64_    (24 CPU)

  avg-cpu:  %user   %nice %system %iowait  %steal   %idle
            17.28    0.00    2.02    0.08    0.00   80.62

  Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
  sdb               0.01   159.15    2.51    9.62   493.46  1350.14   151.96     0.02    1.77   0.28   0.34
  sdd               0.01   162.24    2.49    9.69   493.13  1375.44   153.42     0.02    1.85   0.28   0.34
  sdc               0.01   162.57    2.49    9.83   487.72  1379.15   151.58     0.02    2.02   0.27   0.34
  sde               0.01   161.54    2.54    9.80   500.08  1370.68   151.61     0.02    1.87   0.28   0.34
  sdg               0.01   162.06    2.53    9.83   498.98  1375.10   151.64     0.02    1.93   0.28   0.34
  sdf               0.01   163.34    2.53    9.74   496.43  1384.64   153.22     0.02    1.92   0.28   0.35
  sdh               0.01   161.44    2.56    9.74   502.61  1369.43   152.20     0.02    1.90   0.28   0.34
  sdi               0.01   162.58    2.54    9.78   498.87  1378.82   152.48     0.02    1.99   0.28   0.35
  sda               0.29    83.48    0.29  146.49    14.22  1146.37     7.91     0.04    0.28   0.05   0.69
  sdj               0.01   164.20    2.60    9.77   512.11  1391.74   153.90     0.02    1.97   0.28   0.35
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值