Linux 实战技巧

常用命令

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
  sdk               0.01   161.76    2.60    9.70   505.17  1371.69   152.56     0.03    2.04   0.28   
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux Shell高级技巧实战总结 一、将输入信息转换为大写字符后再进行条件判断 二、为调试信息设置输出级别 三、判断参数是否为数字 四、判断整数变量的奇偶性 五、将Shell命令赋值给指定变量,以保证脚本的移植性 六、获取当前时间距纪元时间(1970年1月1日)所经过的天数 七、非直接引用变量 八、在循环中使用管道的技巧 九、自链接脚本 十、Here文档的使用技巧 十一、获取进程的运行时长(单位: 分钟) 十二、模拟简单的top命令 十三、格式化输出指定用户的当前运行进程 十四、用脚本完成which命令的基本功能 十五、验证输入信息是否合法 十六、整数验证 十七、判断指定的年份是否为闰年 十八、将单列显示转换为多列显示 十九、将文件的输出格式化为指定的宽度 二十、监控指定目录下磁盘使用空间过大的用户 二十一、编写一个更具可读性的df命令输出脚本 二十二、编写一个用于添加新用户的脚本 二十三、kill指定用户或指定终端的用户进程 二十四、判断用户输入(是/否)的便捷方法 二十五、通过FTP下载指定的文件 二十六、文件锁定 二十七、用小文件覆盖整个磁盘 二十八、统计当前系统中不同运行状态的进程数量 二十九、浮点数验证 三十、统计英文文章中每个单词出现的频率 Linux Shell经典实例解析--Oracle启动脚本(上) Linux Shell经典实例解析--Oracle启动脚本(下)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值