设为首页 收藏本站
查看: 2587|回复: 0

[经验分享] Linux终端命令

[复制链接]

尚未签到

发表于 2018-5-22 11:05:41 | 显示全部楼层 |阅读模式
  Linux终端:
  whoami命令:
  用来显示当前登录到系统的账户。
  [root@en /]# whoami
  root
  [root@en /]#
  who命令:(注意:su –过去的不是登陆用户,不会显示。)
  登录到当前系统的用户有哪些。
  [root@en ~]# who
  root    tty1         2014-11-20 09:04 (:0)
  root    pts/0        2014-11-20 09:06(192.168.20.92)
  dwzhang pts/1        2014-11-20 13:34(192.168.20.92)
  zhang1  pts/2        2014-11-20 10:09(192.168.20.92)
  [root@en ~]#
  一共三个字段:
  第一段表示用户名称。
  第二段表示用户从哪个终端登录进来的。
  第三段表示登录时间。
  第四段表示注释,来源。如(192.168.20.92)
  其中第二段的意义:
  linux终端类型:
  物理终端: /dev/console
  虚拟终端: /dev/tty(1,6)  (命令行终端登陆)(tty1:代表第一个虚拟终端,tty5:第五个)
  ttyS:串行终端。
  模拟终端: /dev/pts/#  (远程登录的终端,图形界面终端)
  图形终端.
  显示系统当前运行级别:
  [root@en ~]# who –r  
  run-level 5  2014-12-22 09:38
  [root@en ~]#
  上面显示说明:
  [root@en ~]# who -H
  NAME    LINE         TIME             COMMENT
  root    tty1         2014-12-22 09:47 (:0)
  root    pts/0        2014-12-22 10:03(192.168.20.92)
  [root@en ~]#
  w命令:(显示信息比who更详细)
  登录到当前系统的用户有哪些和在干什么。
  包括系统运行多长时间。
  
  last命令:
  列出目前与过去登入系统的用户相关信息。
  [root@en ~]# last
  root    pts/3        :0.0             Thu Nov 20 14:00   still logged in
  dwzhang pts/1        192.168.20.92    Thu Nov 20 13:34   still logged in
  dwzhang pts/1        192.168.20.92    Thu Nov 20 11:34 - 13:33  (01:59)
  [root@en ~]# last -2     (显示几条)
  root    pts/3        :0.0             Thu Nov 20 14:00   still logged in
  dwzhang pts/1        192.168.20.92    Thu Nov 20 13:34   still logged in
  wtmp begins Thu Sep 11 21:26:19 2014
  [root@en ~]#
  其实last读取信息的文件为:
  /var/log/wtmp文件。
  [dwzhang@en ~]$ file /var/log/wtmp
  /var/log/wtmp: data
  [dwzhang@en ~]$
  lastb命令:
  显示用户错误的登录尝试。
  读取信息的文件为:/var/log/btmp文件。
  [root@cnyum ~]# ll -d /var/log/btmp
  -rw-------. 1 root utmp 0 1月   4 10:07 /var/log/btmp
  [root@cnyum ~]# file /var/log/btmp
  /var/log/btmp: empty
  [root@cnyum ~]#
  [root@en ~]# lastb
  dwzhang ssh:notty    192.168.20.92    Thu Nov 20 13:33 - 13:33  (00:00)
  dwzhang ssh:notty    192.168.20.92    Tue Nov 18 17:35 - 17:35  (00:00)
  btmp begins Sat Nov 15 11:08:36 2014
  [root@en ~]#
  [root@en ~]# lastb -2       (只显示最近2次错误登录的)
  dwzhang ssh:notty    192.168.20.92    Thu Nov 20 13:33 - 13:33  (00:00)
  dwzhang ssh:notty    192.168.20.92    Tue Nov 18 17:35 - 17:35  (00:00)
  btmp begins Sat Nov 15 11:08:36 2014
  [root@en ~]#
  lastlog命令:
  列出用户最后登录的时间和登录终端的地址,如果此用户从来没有登录,则显示:**Never logged in**
  -u:显示特定用户。
  [root@en ~]# lastlog
  Username         Port     From             Latest
  root             pts/0    192.168.20.92    Thu Nov 20 14:21:43 +0800 2014
  bin                                        **Never logged in**
  [root@en ~]# lastlog -u dwzhang    (显示dwzhang用户最近的登录信息)
  Username         Port     From             Latest
  dwzhang          pts/1    192.168.20.92    Thu Nov 20 13:34:03 +0800 2014
  [root@en ~]#
  basename命令:(取基名)
  取得路径的基名,(文件名)脚本中常用!
  为basename指定一个路径,basename命令会删掉所有的前缀包括最后一个slash(‘/’)字符,然后将字符串显示出来。
  [root@en ~]# basename /etc/abc/me
  me
  [root@en ~]# basename /da/wei/aaa
  aaa
  [root@en ~]#
  $0
  代表脚本路径及名称。
  取得脚本名称:(执行脚本的路径及名称)
  [dwzhang@public test]$ vim bane.sh
  #!/bin/bash
  #
  echo "file is `basename $0`"
  [dwzhang@public test]$ bash bane.sh
  file is bane.sh
  [dwzhang@public test]$
  
  mail命令:
  收邮件命令。
  大多数系统都会默认安装一个邮件服务的,这是系统有自动任务,要有什么问题可以自动发邮件给用户。
  当前系统每个用户都有自己的邮箱。
  [root@en mail]# pwd
  /var/spool/mail
  [root@en mail]# ll
  total 28
  -rw-rw----. 1 dwzhang mail   535 Nov 20 14:47 dwzhang
  -rw-------. 1 root    mail    20375 Dec 23 09:25 root
  -rw-rw----. 1 rpc     mail    0 Sep 11 21:19 rpc
  -rw-rw----. 1 user1   mail    0 Dec  4 11:01 user1
  -rw-rw----. 1 user3   mail    0 Dec  4 11:01 user3
  -rw-rw----. 1 zhang   mail    0 Sep 16 17:10 zhang
  -rw-rw----. 1 zhang1  mail    0 Sep 15 13:51 zhang1
  [root@en mail]#
  查看自己的邮件:
  [root@en ~]# mail       (q退出)
  Heirloom Mail version 12.4 7/29/08.  Type ? for help.
  "/var/spool/mail/root": 21messages 21 new
  >N 1 Anacron               Fri Sep 1210:52  17/672   "Anacron job 'cron.daily' on l"
  N  2Anacron               Tue Sep 1610:41  17/552   "Anacron job 'cron.daily' on e"
  N  3Anacron               Wed Sep 1709:38  17/552   "Anacron job 'cron.daily' on e"
  & q (退出)
  [root@en ~]#
  如何给系统用户发邮件:
  -s :指定主题。
  [root@en ~]# echo "it meeting 18:01" | mail -s"it meeting" dwzhang
  You have mail in /var/spool/mail/root
  [root@en ~]#
  说明:
  echo "it meeting 18:01" :要文。
  mail -s "it meeting" :主题。
  dwzhang :收件人。
  用dwzhang用户登录查看mail
  [dwzhang@en ~]$ mail
  Heirloom Mail version 12.4 7/29/08.  Type ? for help.
  "/var/spool/mail/dwzhang": 1message 1 new
  >N 1 root                  Thu Nov 2014:44  18/524   "it meeting"
  & 1
  Message 1:
  From root@en.com  Thu Nov 20 14:44:59 2014
  Return-Path: <root@en.com>
  X-Original-To: dwzhang
  Delivered-To: dwzhang@en.com
  Date: Thu, 20 Nov 2014 14:44:59 +0800
  To: dwzhang@en.com
  Subject: it meeting
  User-Agent: Heirloom mailx 12.4 7/29/08
  Content-Type: text/plain; charset=us-ascii
  From: root@en.com (root)
  Status: R
  it meeting 18:01
  & q
  Held 1 message in /var/spool/mail/dwzhang
  You have mail in /var/spool/mail/dwzhang
  [dwzhang@en ~]$
  hostname(临时改变主机名)
  如果当前主机的主机名不是een.com,就将其改名为een.com
  [root@en ~]# [ `hostname` != 'een.com' ] && hostnameeen.com
  [root@en ~]# hostname
  een.com
  [root@en ~]#
  如果当前主机的主机名是een.com,就将其改名为en.com
  [root@en ~]# hostname
  een.com
  [root@en ~]# [ `hostname` == 'een.com' ] &&hostname en.com
  [root@en ~]# hostname
  en.com
  [root@en ~]#
  如果当前主机的主机名为空,或者为(none),或者为localhost,就将其改为en.com
  [root@en ~]# [ -z `hostname` ] || [ `hostname` == '(none)'-o `hostname` == 'localhost' ] && hostname en.com
  RANDOM:
  生成随机数。
  [root@en ~]# echo $RANDOM
  28449
  [root@en ~]# echo $RANDOM
  28792
  [root@en ~]# echo $RANDOM
  27
  [root@en ~]# echo $RANDOM
  31155
  [root@en ~]# echo $RANDOM
  3466
  [root@en ~]#
  linux系统中随机数生成器:random和urandom
  [root@en ~]# ll /dev/random
  crw-rw-rw-. 1 root root 1, 8 Nov 20 09:01/dev/random
  [root@en ~]#
  [root@en ~]# ll /dev/urandom
  crw-rw-rw-. 1 root root 1, 9 Nov 20 09:01/dev/urandom
  [root@en ~]#
  [chengmo@centos5  shell]$ head -1 /dev/urandom
  ù…KTtanV1&“2íùU“F|_ ”mEeUrá=JˉTAìAúRtó
  #读一行,怎么是乱码呢?其实它是通过二进制数据保存实时数据的,那么我们怎么样把它变成整型数据呢?
  [chengmo@centos5 ~/shell]$ head -200/dev/urandom | cksum
  1615228479 50333
  #由于urandom的数据是非常多,不能直接通过cat读取,这里取前200行,其实整个数据都是变化的,取多少也一样是唯一的。
  #cksum 将读取文件内容,生成唯一的表示整型数据,只有文件内容不变,生成结果就不会变化,与php crc函数
  [chengmo@centos5  shell]$ head -200 /dev/urandom | cksum | cut -f1 -d" "
  484750180
  #cut 以” “分割,然后得到分割的第一个字段数据
  写一个脚本:
  利用RANDOM生成10个随机数,并找出其中的最大值和最小值:
  首先生成10个随机数:
  [root@en script]# vim ransuiji.sh
  #!/bin/bash
  #
  for I in {1..10}; do       (生成10个随机数给I变量)
  if[ $I -le 9 ]; then       (处理前面带逗号,最后不带逗号方法)
  echo -n "$RANDOM,"  (如果I小于9,就带逗号)
  else
  echo "$RANDOM"     (否则不带逗号)
  fi
  done
  [root@en script]# bash ransuiji.sh
  28753,27027,14816,19248,26180,10660,30036,5455,4093,19292
  [root@en script]#
  在从中取出最大值:
  [root@en script]# vim ransuiji.sh
  #!/bin/bash
  #
  declare -i MAX=0      (定义MAX为整型变量)
  for I in {1..10}; do
  MYRAN=$RANDOM      (把随机数给变量MYRAN)
  if[ $I -le 9 ]; then         (如果I小于9,)
  echo -n "$MYRAN,"      (就带逗号)
  else
  echo "$MYRAN"         (就不带逗号)
  fi
  [$MYRAN -gt $MAX ] && MAX=$MYRAN  (如果MYRAN大于等于)
  done
  echo $MAX
  [root@en script]# bash ransuiji.sh
  1677,14322,3511,6718,1317,29824,6565,15470,24082,31254
  31254
  [root@en script]#
  在从中取出最大值和最小值:
  [root@en script]# vim ransuiji.sh
  #!/bin/bash
  #
  declare -i MAX=0
  declare -i MIN=0     (定义MIN为整型变量)
  for I in {1..10}; do
  MYRAN=$RANDOM
  [$I -eq 1 ] && MIN=$MYRAN    (如果$I等于1,就赋值MIN=$MYRAN)
  if[ $I -le 9 ]; then
  echo -n "$MYRAN,"
  else
  echo "$MYRAN"
  fi
  [$MYRAN -gt $MAX ] && MAX=$MYRAN
  [$MYRAN -lt $MIN ] && MIN=$MYRAN
  done
  echo $MAX,$MIN
  [root@en script]# bash ransuiji.sh
  4402,4596,13713,29122,30765,29253,14581,24367,7097,10521
  30765,4402
  [root@en script]#
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-479046-1-1.html 上篇帖子: Linux sssd 认证 下篇帖子: linux alias
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表