Linux终端命令

Linux终端:

whoami命令:

用来显示当前登录到系统的账户。

[[email protected] /]# whoami

root

[[email protected] /]#

who命令:(注意:su –过去的不是登陆用户,不会显示。)

登录到当前系统的用户有哪些。

[[email protected] ~]# 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)

[[email protected] ~]#

一共三个字段:

第一段表示用户名称。

第二段表示用户从哪个终端登录进来的。

第三段表示登录时间。

第四段表示注释,来源。如(192.168.20.92)

其中第二段的意义:

linux终端类型:

物理终端: /dev/console

虚拟终端: /dev/tty(1,6)  (命令行终端登陆)(tty1:代表第一个虚拟终端,tty5:第五个)

ttyS:串行终端。

模拟终端: /dev/pts/#  (远程登录的终端,图形界面终端)

图形终端.

显示系统当前运行级别:

[[email protected] ~]# who –r 

run-level 5  2014-12-22 09:38

[[email protected] ~]#

上面显示说明:

[[email protected] ~]# 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)

[[email protected] ~]#

w命令:(显示信息比who更详细)

登录到当前系统的用户有哪些和在干什么。

包括系统运行多长时间。

 

last命令:

列出目前与过去登入系统的用户相关信息。

[[email protected] ~]# 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)

[[email protected] ~]# 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

[[email protected] ~]#

其实last读取信息的文件为:

/var/log/wtmp文件。

[[email protected] ~]$ file /var/log/wtmp

/var/log/wtmp: data

[[email protected] ~]$

lastb命令:

显示用户错误的登录尝试。

读取信息的文件为:/var/log/btmp文件。

[[email protected] ~]# ll -d /var/log/btmp

-rw-------. 1 root utmp 0 1月   4 10:07 /var/log/btmp

[[email protected] ~]# file /var/log/btmp

/var/log/btmp: empty

[[email protected] ~]#

[[email protected] ~]# 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

[[email protected] ~]#

[[email protected] ~]# 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

[[email protected] ~]#

lastlog命令:

列出用户最后登录的时间和登录终端的地址,如果此用户从来没有登录,则显示:**Never logged in**

-u:显示特定用户。

[[email protected] ~]# lastlog

Username         Port     From             Latest

root             pts/0    192.168.20.92    Thu Nov 20 14:21:43 +0800 2014

bin                                        **Never logged in**

[[email protected] ~]# lastlog -u dwzhang    (显示dwzhang用户最近的登录信息)

Username         Port     From             Latest

dwzhang          pts/1    192.168.20.92    Thu Nov 20 13:34:03 +0800 2014

[[email protected] ~]#

basename命令:(取基名)

取得路径的基名,(文件名)脚本中常用!

为basename指定一个路径,basename命令会删掉所有的前缀包括最后一个slash(‘/’)字符,然后将字符串显示出来。

[[email protected] ~]# basename /etc/abc/me

me

[[email protected] ~]# basename /da/wei/aaa

aaa

[[email protected] ~]#

$0

代表脚本路径及名称。

取得脚本名称:(执行脚本的路径及名称)

[[email protected] test]$ vim bane.sh

#!/bin/bash

#

echo "file is `basename $0`"

[[email protected] test]$ bash bane.sh

file is bane.sh

[[email protected] test]$

 

mail命令:

收邮件命令。

大多数系统都会默认安装一个邮件服务的,这是系统有自动任务,要有什么问题可以自动发邮件给用户。

当前系统每个用户都有自己的邮箱。

[[email protected] mail]# pwd

/var/spool/mail

[[email protected] 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

[[email protected] mail]#

查看自己的邮件:

[[email protected] ~]# 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 (退出)

[[email protected] ~]#

如何给系统用户发邮件:

-s :指定主题。

[[email protected] ~]# echo "it meeting 18:01" | mail -s"it meeting" dwzhang

You have mail in /var/spool/mail/root

[[email protected] ~]#

说明:

echo "it meeting 18:01" :要文。

mail -s "it meeting" :主题。

dwzhang :收件人。

用dwzhang用户登录查看mail

[[email protected] ~]$ 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 [email protected]  Thu Nov 20 14:44:59 2014

Return-Path: <[email protected]>

X-Original-To: dwzhang

Delivered-To: [email protected]

Date: Thu, 20 Nov 2014 14:44:59 +0800

To: [email protected]

Subject: it meeting

User-Agent: Heirloom mailx 12.4 7/29/08

Content-Type: text/plain; charset=us-ascii

From: [email protected] (root)

Status: R

it meeting 18:01

& q

Held 1 message in /var/spool/mail/dwzhang

You have mail in /var/spool/mail/dwzhang

[[email protected] ~]$

hostname(临时改变主机名)

如果当前主机的主机名不是een.com,就将其改名为een.com

[[email protected] ~]# [ `hostname` != ‘een.com‘ ] && hostnameeen.com

[[email protected] ~]# hostname

een.com

[[email protected] ~]#

如果当前主机的主机名是een.com,就将其改名为en.com

[[email protected] ~]# hostname

een.com

[[email protected] ~]# [ `hostname` == ‘een.com‘ ] &&hostname en.com

[[email protected] ~]# hostname

en.com

[[email protected] ~]#

如果当前主机的主机名为空,或者为(none),或者为localhost,就将其改为en.com

[[email protected] ~]# [ -z `hostname` ] || [ `hostname` == ‘(none)‘-o `hostname` == ‘localhost‘ ] && hostname en.com

RANDOM:

生成随机数。

[[email protected] ~]# echo $RANDOM

28449

[[email protected] ~]# echo $RANDOM

28792

[[email protected] ~]# echo $RANDOM

27

[[email protected] ~]# echo $RANDOM

31155

[[email protected] ~]# echo $RANDOM

3466

[[email protected] ~]#

linux系统中随机数生成器:random和urandom

[[email protected] ~]# ll /dev/random

crw-rw-rw-. 1 root root 1, 8 Nov 20 09:01/dev/random

[[email protected] ~]#

[[email protected] ~]# ll /dev/urandom

crw-rw-rw-. 1 root root 1, 9 Nov 20 09:01/dev/urandom

[[email protected] ~]#

[[email protected]  shell]$ head -1 /dev/urandom

ù…KTtanV1&“2íùU“F|_ ”mEeUrá=JˉTAìAúRtó

#读一行,怎么是乱码呢?其实它是通过二进制数据保存实时数据的,那么我们怎么样把它变成整型数据呢?

[[email protected] ~/shell]$ head -200/dev/urandom | cksum

1615228479 50333

#由于urandom的数据是非常多,不能直接通过cat读取,这里取前200行,其实整个数据都是变化的,取多少也一样是唯一的。

#cksum 将读取文件内容,生成唯一的表示整型数据,只有文件内容不变,生成结果就不会变化,与php crc函数

[[email protected]  shell]$ head -200 /dev/urandom | cksum | cut -f1 -d" "

484750180

#cut 以” “分割,然后得到分割的第一个字段数据

写一个脚本:

利用RANDOM生成10个随机数,并找出其中的最大值和最小值:

首先生成10个随机数:

[[email protected] 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

[[email protected] script]# bash ransuiji.sh

28753,27027,14816,19248,26180,10660,30036,5455,4093,19292

[[email protected] script]#

在从中取出最大值:

[[email protected] 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

[[email protected] script]# bash ransuiji.sh

1677,14322,3511,6718,1317,29824,6565,15470,24082,31254

31254

[[email protected] script]#

在从中取出最大值和最小值:

[[email protected] 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

[[email protected] script]# bash ransuiji.sh

4402,4596,13713,29122,30765,29253,14581,24367,7097,10521

30765,4402

[[email protected] script]#

时间: 2024-08-04 23:53:34

Linux终端命令的相关文章

炫酷的Linux终端命令大全

今天给大家分享用了十年的Linux总结出来的11个炫酷的Linux终端命令大全,通过今天这篇文章我将向大家展示一系列的Linux命令.工具和技巧,我希望一开始就有人告诉我这些,而不是曾在我成长道路上绊住我. 1.命令行日常系快捷键 如下的快捷方式非常有用,能够极大的提升你的工作效率: CTRL + U -剪切光标前的内容 CTRL + K -剪切光标至行末的内容 CTRL + Y -粘贴 CTRL + E -移动光标到行末 CTRL + A -移动光标到行首 ALT + F -跳向下一个空格 A

11个炫酷的Linux终端命令大全

导读 今天给大家分享用了十年的Linux总结出来的11个炫酷的Linux终端命令大全,通过今天这篇文章我将向大家展示一系列的Linux命令.工具和技巧,希望能够帮助到大家. 1.命令行日常快捷键 如下的快捷方式非常有用,能够极大的提升你的工作效率: CTRL + U 剪切光标前的内容 CTRL + K 剪切光标至行末的内容 CTRL + Y 粘贴 CTRL + E 移动光标到行末 CTRL + A 移动光标到行首 ALT + F 跳向下一个空格 ALT + B 跳回上一个空格 ALT + Bac

Linux终端命令全面介绍

Linux终端命令 一.文件目录类 1.建立目录:mkdir 目录名2.删除空目录:rmdir 目录名3.无条件删除子目录: rm -rf 目录名4.改变当前目录:cd 目录名 (进入用户home目录:cd ~;进入上一级目录:cd -)5.查看自己所在目录:pwd6.查看当前目录大小:du7.显示目录文件列表:ls -l (-a:增加显示隐含目录)其中:蓝:目录;绿:可执行文件;红:压缩文件;浅蓝:链接文件;灰:其他文件;红底白字:错误的链接文件8.浏览文件:more 文件名.txt;less

修改linux终端命令行各字体颜色

最近在学习linux操作系统(CentOS 6 & CentOS 7).觉得linux终端命令行全部为白色,会经常导致命令与输出内容难以分辨.于是上网找到修改linux终端命令行颜色的方法,发现通过定义PS1环境变量即可实现,下面我以root用户身份进行操作. 1.了解PS1 PS1是Linux终端用户的一个环境变量,用来定义命令行提示符的参数. 在终端输入命令: # set | grep PS1 可得到当前PS1的定义值: PS1='[\[email protected]\h \W]\$ '

让你吃惊的Linux终端命令

让你吃惊的Linux终端命令 1.命令行日常系快捷键 如下的快捷方式非常有用,能够极大的提升你的工作效率: CTRL + U - 剪切光标前的内容 CTRL + K - 剪切光标至行末的内容 CTRL + Y - 粘贴 CTRL + E - 移动光标到行末 CTRL + A - 移动光标到行首 ALT + F - 跳向下一个空格 ALT + B - 跳回上一个空格 ALT + Backspace - 删除前一个单词 CTRL + W - 剪切光标前一个单词 Shift + Insert - 向终

linux终端命令总结 - 石坤

touch filename 新建一个文件 nano filiname 打开nano编辑器,进行文件读写 vim filename 使用vim编辑文件 less filename 查看文件内容 cat filename 在终端中直接显示文件内容 在vim 或 less 下 / 进入查找匹配模式 n 下一个匹配对象 D 或 空格 下一页内容 U 上一页 文件处理操作 cp afile bfile (copy)复制文件,把afile的内容复制到bfile文件; 如果bfile不存在就新建一个bfil

[转]Linux新手必备:8个实用的Linux终端命令

使用Linux终端不仅仅是只输入命令.学习这些基本的技巧,你就会逐渐掌握Bash shell,这个在大多数Linux发行版上默认使用的终端工具. 这篇文章面向新手,我相信大多数高级用户已经知道了所有的这些技巧,但是,你仍然可以看看,也许能学到你一直以来都忽略了的东西. Tab键自动补全 使用Tab键自动补全是基本的技巧.它能节省你很多时间,而且当你不确定一个文件名或者命令怎么拼写时,它也及其有用. 举个例子,比如在当前目录你有一个文件,文件名是“really long file nam”,你想删

常用Linux终端命令行的快捷键列表

终端有很多快捷键,不太好记,常用的在这里 Ctrl+r 实现快速检索使用过的历史命令.Ctrl+r中r是retrieve中r. Ctrl+a:光标回到命令行首. (a:ahead) Ctrl+e:光标回到命令行尾. (e:end) ctrl+w: 移除光标前的一个单词 Ctrl+k:删除光标处到行尾的字符. Ctrl+u:删除整个命令行文本字符. Ctrl+y::粘贴Ctrl+u,Ctrl+k,Ctrl+w删除的文本. Ctrl+d删除提示符后一个字符或exit或logout ctrl+t: 交

快速操作Linux终端命令行的快捷键列表

Ctrl+r 实现快速检索使用过的历史命令.Ctrl+r中r是retrieve中r.Ctrl+a:光标回到命令行首. (a:ahead)Ctrl+e:光标回到命令行尾. (e:end)Ctrl+w: 删除光标处到行首的字符.Ctrl+k:删除光标处到行尾的字符.Ctrl+u:删除整个命令行文本字符.Ctrl+y::粘贴Ctrl+u,Ctrl+k,Ctrl+w删除的文本. 其他控制键:Ctrl+b:光标向行首移动一个字符. (b:backwards)Ctrl+ f:光标向行尾移动一个字符. (f: