四、Linux中Shell的基本操作

1 查看目录和文件

1.1显示当前目录:pwd

简单得说,每当你在终端进行操作时,你都会有一个当前工作目录。
在不太确定当前位置时,就会使用pwd来判定当前目录在文件系统内的确切位置。

命令格式:
	pwd [-参数]
命令功能:
	查看”当前工作目录“的完整路径
参数:
    一般情况下不带任何参数
    如果目录是链接时:
    格式:pwd -P  显示实际路径,而非显示链接路径。

查看链接文件与真实文件的目录位置

[root@localhost ~]# mkdir f1 	//创建目录f1
[root@localhost ~]# ln -s f1 f2 	//创建f1的软连接f2
[root@localhost ~]# cd f2 	//切换到f2目录下
[root@localhost f2]# pwd 	//显示软连接的目录
/root/f2
[root@localhost f2]# pwd -P 	//显示实际的目录
/root/f1

1.2 改变目录:cd

命令格式:
	cd 目标目录(绝对路径)
命令功能:
	切换当前目录到目标目录。代替了鼠标的双击
其中:目标目录可以是
	.  代表当前目录
	.. 代表上一层目录
	-  代表前一个工作目录
	~  代表『目前用户身份』所在的家目录

相对路径的作用即使简化目录位置的编写
比如说 ,你要想查看 user1 家目录下的d1目录下的file1这个文件
如果登录用户是user1
执行绝对路径是这样的
cat /home/user1/d1/file1
如果使用相对路径
cat ~/d1/file1
从上面的描述不难看出有些时候使用相对路径是相当省事的!

1.3 列出目录内容:ls

命令格式:
	ls [-参数] [目录名]
命令功能:
	列出目标目录中所有的子目录和文件,如果不写目录名,默认是当前路径。
常用参数:
	-a:–all 列出目录下的所有文件,包括以 . 开头的隐藏文件
	-l :除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来。
	-r,:–reverse 依相反次序排列
	-t :以文件修改时间排序

	ll -l等价于ll
实例 : 

1.4 查看文本文件:cat

命令格式:
	cat [-参数] 文件名
命令功能:
	cat 用于查看文件内容,通常是个文本文件,且文件不大。
参数:
	-b, --number-nonblank    对非空输出行编号
	-n, --number     对输出的所有行编号,1开始对所有输出的行数编号

案例:
[user4@localhost ~]$ touch file1
[user4@localhost ~]$ vi file1
(按i键编辑)
java
hadoop

HTML
jQuery
(按esc退出编辑 输入:wq 保存)
[user4@localhost ~]$ cat file1
java
hadoop

HTML
jQuery
[user4@localhost ~]$ cat -b file1
     1	java
     2	hadoop

     3	HTML
     4	jQuery
[user4@localhost ~]$ cat -n file1
     1	java
     2	hadoop
     3	
     4	HTML
     5	jQuery

1.5 阅读文件的开头:head

命令格式:
	head [-参数] 文件名
命令功能:
	head 用来显示档案的开头至标准输出中,默认head命令打印其相应文件的开头10行。
参数:
	-c<字节> 显示字节数
	-n<行数> 显示的行数

案例:
head server.xml 	//默认显示开始的10行数据
head -n 5 server.xml 	//指定显示5行数据
head -c 5 file2 	//指定显示的字节数

1.6 阅读文件的结尾 和 循环查看新日志:tail

命令格式:
	tail [-参数] 文件名
命令功能:
	用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。
参数:
	-f 循环读取
	-c<数目> 显示的字节数
	-n<行数> 显示行数

案例:
tail server.xml 	//默认显示尾部的10行数据
tail -n 2 file2 	//显示后两行数据
2) 从文件的第二行开始展示数据
[user4@localhost ~]$ tail -n +2 file1
3) 循环展示数据
[user4@localhost ~]$ tail -f file1//循环的读取该文件的内容,循环输出,结束循环读取状态按Ctrl+c

1.7 更好的文本阅读工具:less

文本阅读工具,可以对大文本进行分页显示
可以向上或向下搜索指定的内容

命令格式:
	less [-参数] 文件
命令功能:
    使用 less 可以随意浏览文件,而且 less 在查看之前不会加载整个文件。
参数:
    -m  显示文件的百分比
    -N  显示每行的行号
在文件内的操作命令:
	/字符串:向下搜索“字符串”的功能
	?字符串:向上搜索“字符串”的功能
	n:重复前一个搜索(与 /? 有关)
	N:反向重复前一个搜索(与 /? 有关)
	j:向下滚动一行 ↑
	k:向上滚动一行 ↓
	G : 跳转到文件尾
	g: 跳转到文件头
	q:退出

案例:
less server.xml 	//分页显示文件,按q退出
less -m server.xml 	//less -m server.xml
less -mN server.xml 	//显示百分比和行号
搜索指定内容
/server:向下搜索server 	(n:向下,N:向上)
?server:向上搜索server 	(n:向上,N:向下)
q:退出

1.8 查找文件内容:grep

grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
grep 能将包含关键字所在的一行内容都输出出来,所以grep又叫行数据查询;

grep常用用法:
	grep [-acinv] [--color=auto] '搜寻字符串' 文件名
选项与参数:
	-a :将 binary 文件以 text 文件的方式搜寻数据
	-c :计算找到 '搜寻字符串' 的次数,如果同一行有相同的,则视为同一次数
	-i :忽略大小写的不同,大小写视为相同 
	-n :顺便输出行号 
	-v :反向选择,亦即 显示出没有 '搜寻字符串' 内容的那一行! 
	-E : 按照正则表达式匹配查找
pattern正则表达式主要参数:
	\: 忽略正则表达式中特殊字符的原有含义。
	^:匹配正则表达式的行首。
	$: 匹配正则表达式的行尾


[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求 。
[ . ]:表示任意单个字符,如 a…b,a12b、aabb都可以。
[ * ] :表示有0个或多个 某个字符,如 ab*,a必须有,但b可以有0到多个;a*,a可以有0到多个,也就是所有。
案例:

grep '8080' server.xml 	//搜索8080所在的行
grep -n '8080' server.xml 	//搜索8080所在的行并显示行号
grep -n 'hello' file2 	//搜索hello所在的行并显示行号
grep -c 'hello' file2 	//统计次数
grep -ic 'hello' file2 	//忽略大小写统计次数
grep -v 'hello' file2 	//反向选择,显示不包含hello的行
grep -iv 'hello' file2 	//忽略大小写的反向选择
grep -ivc 'hello' file2 	//忽略大小写的反向选择的统计次数
grep '^yyyy' file2 	//以yyyy开头的行
grep 'hadoop$' file2 	//以hadoop结尾的行
grep '[c-f]' file2 	//查询包含c-f之间字符的行
使用正则查询行
	grep -E 'a*' file2  	//查询文件所有内容,*代表0个或多个字符
	grep -E 'a+' file2  	//+,代表1个或多个字符
特殊字符*
	grep '*' file2 	//直接查找包含*字符的行
	grep \* file2 	//使用转义字符\

1.9 文本分析工具:AWK 补充案例

AWK是一种处理文本文件的语言,是一个强大的文本分析工具。
awk 和 grep一般都是放在一起使用的:
grep负责查询数据,搜索指定的行
awk负责截取数据,截取一行的部分数据,类似String的split方法

awk常用用法:
	awk [选项参数] 'script' var=value file(s)
或
	awk [选项参数] -f scriptfile var=value file(s)
选项参数说明:
	-F fs or --field-separator fs
	指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F:。 String msg = "IPADDR="192.168.92.11"; String[] strs = msg.split("=")
	-v var=value or --asign var=value
	赋值一个用户定义变量。
	-f scripfile or --file scriptfile
	从脚本文件中读取awk命令。
	-mf nnn and -mr nnn
	对nnn值设置内在限制,-mf选项限制分配给nnn的最大块数目;-mr选项限制记录的最大数目。这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。
	-W compact or --compat, -W traditional or --traditional
	在兼容模式下运行awk。所以gawk的行为和标准的awk完全一样,所有的awk扩展都被忽略。
	-W copyleft or --copyleft, -W copyright or --copyright
	打印简短的版权信息。
	-W help or --help, -W usage or --usage
	打印全部awk选项和每个选项的简短说明。
	-W lint or --lint
	打印不能向传统unix平台移植的结构的警告。
	-W lint-old or --lint-old
	打印关于不能向传统unix平台移植的结构的警告。
	-W posix
	打开兼容模式。但有以下限制,不识别:/x、函数关键字、func、换码序列以及当fs是一个空格时,将新行作为一个域分隔符;操作符****=不能代替^^=;fflush无效。
	-W re-interval or --re-inerval
	允许间隔正则表达式的使用,参考(grep中的Posix字符类),如括号表达式[[:alpha:]]-W source program-text or --source program-text
	使用program-text作为源代码,可与-f命令混用。
	-W version or --version
	打印bug报告信息的版本。

//案例
//添加测试数据:
	[root@localhost ~]# vi log1
	2 this is a test
	3 Are you like awk
	This's a test
	10 There are orange,apple,mongo
//查看文件内容
	[root@localhost ~]# cat log1 	
	2 this is a test
	3 Are you like awk
	This's a test
	10 There are orange,apple,mongo
//按照空格或tab键分隔每行数据,输出第一、四项数据
	[root@localhost ~]# awk '{print $1,$4}' log1 	
	2 a
	3 like
	This's 
	10 orange,apple,mongo
//按照逗号分隔每行数据,输出第一项数据
	[root@localhost ~]# awk -F ',' '{print $1}' log1 	
	2 this is a test
	3 Are you like awk
	This's a test
	10 There are orange
//按照逗号和空格分隔每行数据,输出第一、四项数据
	[root@localhost ~]# awk -F '[ ,]' '{print $1,$4}' log1 	
	2 a
	3 like
	This's 
	10 orange
//通过grep查询 然后获取想要的数据
	[root@localhost ~]# cat /etc/passwd | grep user* | awk -F ':' '{print $1,$3,$4,$6,$7}'
	user1 1000 1003 /home/user1 /bin/bash
	userop1 1001 1001 /home/userop1 /bin/bash
	user2 1002 1004 /home/user2 /bin/bash
	user3 1003 1005 /home/user3 /bin/bash
	user11 1004 1007 /home/user11 /bin/bash
	user12 1005 1008 /home/user12 /bin/bash
	user13 1006 1000 /home/user13 /bin/bash
	sysuser14 997 993 /home/sysuser14 /bin/bash
//将想要的数据写入到某文件中去
	[root@localhost ~]# cat /etc/passwd | grep user* | awk -F ':' '{print $1,$3,$4,$6,$7}' >> file2 	//将想要的数据输入到file2中去
	[root@localhost ~]# cat file2 	//查看文件内容
	hello link
	user1 1000 1003 /home/user1 /bin/bash
	userop1 1001 1001 /home/userop1 /bin/bash
	user2 1002 1004 /home/user2 /bin/bash
	user3 1003 1005 /home/user3 /bin/bash
	user11 1004 1007 /home/user11 /bin/bash
	user12 1005 1008 /home/user12 /bin/bash
	user13 1006 1000 /home/user13 /bin/bash
	sysuser14 997 993 /home/sysuser14 /bin/bash
//获得最后一列的数据
	[root@localhost ~]# cat /etc/passwd | grep user* | awk -F ':' '{print $1,$3,$4,$NF}'  
	user1 1000 1003 /bin/bash
	userop1 1001 1001 /bin/bash
	user2 1002 1004 /bin/bash
	user3 1003 1005 /bin/bash
	user11 1004 1007 /bin/bash
	user12 1005 1008 /bin/bash
	user13 1006 1000 /bin/bash
	sysuser14 997 993 /bin/bash

2.文本编辑工具:SED 重点

Linux sed 命令是利用脚本来处理文本文件
sed 可依照脚本的指令来处理、编辑文本文件。
Sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。

语法格式:
	sed [-hnV][-e<script>][-f<script文件>][文本文件]
参数说明:
	-e<script>--expression=<script> 以选项中指定的script来处理输入的文本文件。
	-f<script文件>--file=<script文件> 以选项中指定的script文件来处理输入的文本文件。
	-h或--help 显示帮助。
	-n或--quiet或--silent 仅显示script处理后的结果。
	-V或--version 显示版本信息。
动作说明:
	a :新增, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)~
	c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行!
	d :删除,因为是删除啊,所以 d 后面通常不接任何咚咚;
	i :插入, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);
	p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~
	s :取代,可以直接进行取代的工作哩!通常这个 s 的动作可以搭配正规表示法!例如 1,20s/old/new/g 就是啦!

//案例:
//1.在file1的第四行添加一行数据
//(-e是先在内存中插入内容,可以cat查看,文件内容不会改变
//-i是直接插入,非常危险,先使用e测试通过了再使用i插入文件)
	[root@localhost file1]# cat file1 	//查看file1文件的内容
	java
	hadoop
	
	HTML
	jQuery
	hello
	//方式一
	[root@localhost file1]# sed -e 4a\hello,sed file1	//在file1的第四行添加一行数据
	java
	hadoop
	
	HTML
	hello,sed
	jQuery
	hello
	//方式二
	[root@localhost file1]# sed -e '4a hello sed' file1 
	java
	hadoop
	
	HTML
	hello sed
	jQuery
	hello
//2.将file1的内容列出并且列印行号,同时,请将第 2~5 行删除!
//nl:输出文本内容并添加行号
	[root@localhost file1]# nl file1 | sed '2,5d'
	     1  java
	     5  hello
	[root@localhost file1]# 
	//同时也要注意的是, sed 后面接的动作,请务必以 '' 两个单引号括住喔!
//3.只删除第 2 行
	[root@localhost file1]# nl file1 | sed '2d'  
	     1  java
	       
	     3  HTML
	     4  jQuery
	     5  hello
//4.删除第 3 到最后一行
	[root@localhost file1]# nl file1 | sed '3,$d'                        
	     1  java
	     2  hadoop
//5.在第二行后加上『赵文明』字样!
	[root@localhost file1]# nl file1 | sed '2a 赵文明'
	     1  java
	     2  hadoop
	赵文明
	       
	     3  HTML
	     4  jQuery
	     5  hello
//6.那如果是要在第二行前
	[root@localhost file1]# nl file1 | sed '2i 赵文明'
	     1  java
	赵文明
	     2  hadoop
	       
	     3  HTML
	     4  jQuery
	     5  hello
//7.以行为单位的替换与显示
//将第2-5行的内容取代成为『赵文明』呢?【2,5)
	[root@localhost file1]# nl file1 | sed '2,5c 赵文明'
	     1  java
	赵文明
	     5  hello
//可以透过这个 sed 的以行为单位的显示功能, 就能够将某一个文件内的某些行号选择出来显示。

//数据的搜寻并显示
//8.搜索file1中有 user 关键字的行
	[root@localhost file1]# nl file1 | sed -n '/user/p'
	     6  user1 1000 1003 /home/user1 /bin/bash
	     7  userop1 1001 1001 /home/userop1 /bin/bash
	     8  user2 1002 1004 /home/user2 /bin/bash
	     9  user3 1003 1005 /home/user3 /bin/bash
	    10  user11 1004 1007 /home/user11 /bin/bash
	    11  user12 1005 1008 /home/user12 /bin/bash
	    12  user13 1006 1000 /home/user13 /bin/bash
	    13  sysuser14 997 993 /home/sysuser14 /bin/bash
//数据的搜寻并删除
//9.将搜索的数据删除,其他行输出
	[root@localhost file1]# nl file1 | sed  '/1003/d'     
	     1  java
	     2  hadoop
	       
	     3  HTML
	     4  jQuery
	     5  hello
	     7  userop1 1001 1001 /home/userop1 /bin/bash
	     8  user2 1002 1004 /home/user2 /bin/bash
	    10  user11 1004 1007 /home/user11 /bin/bash
	    11  user12 1005 1008 /home/user12 /bin/bash
	    12  user13 1006 1000 /home/user13 /bin/bash
	    13  sysuser14 997 993 /home/sysuser14 /bin/bash
//10.搜索file1找到user对应的行,执行后面花括号中的一组命令,每个命令之间用分号分隔,这里把bin替换为abc,再输出这行:
    //(如果要全部替换不使用q推出即可)
	[root@localhost file1]# nl file1 | sed -n '/user/{s/bin/abc/;p;q}'
	     6  user1 1000 1003 /home/user1 /abc/bash
//11.数据的搜寻并替换
//除了整行的处理模式之外, sed 还可以用行为单位进行部分数据的搜寻并取代。基本上 sed 的搜寻与替代的与 vi 相当的类似!他有点像这样:
语法:sed 's/要被取代的字串/新的字串/g'
	[root@localhost ~]# ip add >> file3 	//搜集本机的IP地址
	[root@localhost ~]# cat file3
	1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
	    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
	    inet 127.0.0.1/8 scope host lo
	       valid_lft forever preferred_lft forever
	    inet6 ::1/128 scope host 
	       valid_lft forever preferred_lft forever
	2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
	    link/ether 00:0c:29:3d:17:69 brd ff:ff:ff:ff:ff:ff
	    inet 192.168.131.129/24 brd 192.168.131.255 scope global ens33
	       valid_lft forever preferred_lft forever
	    inet6 fe80::20c:29ff:fe3d:1769/64 scope link 
	       valid_lft forever preferred_lft forever
	//本机的ip是192.168.92.12 127.0.0.1 只保留这两个部分
	//采用了正则表达式替换
	[root@localhost ~]# cat file3 | grep 'inet' | sed 's/^.*inet//g' | sed 's/\/.*$//g' | sed 's/^6.*//g'
	 127.0.0.1
	
	 192.168.131.129
//12.多点编辑
//一条sed命令,删除/etc/passwd第三行到末尾的数据,并把bash替换为abc
	[root@localhost ~]# nl file2 | sed -e '3,$d' -e 's/bin/abc/'
	     1  hello link
	     2  user1 1000 1003 /home/user1 /abc/bash
//13.直接修改文件内容(危险动作)
//  sed 可以直接修改文件的内容,不必使用管道命令或数据流重导向! 不过,由於这个动作会直接修改到原始的文件,所以请你千万不要随便拿系统配置来测试! 
//13.1将passwd文件中的 冒号 全部替换成 空格
	[root@localhost ~]# sed -i 's/ /:/g' file2         
	[root@localhost ~]# nl file2              
	     1  hello:link
	     2  user1:1000:1003:/home/user1:/bin/bash
	     3  userop1:1001:1001:/home/userop1:/bin/bash
//13.2利用 sed 直接在 file1 最后一行加入 新年好
	[root@localhost ~]# sed -i '$a hello,sed 新年好!' file2                
	[root@localhost ~]# nl file2
	     1  hello:link
			…………
	    10  hello,sed
	    11  hello,sed 新年好!

3.文件查询命令 find 命令

Linux下find命令在目录结构中搜索文件,并执行指定的操作。
递归查询。

命令格式:
	find 文件目录 [选项]
命令功能:
	用于在文件树中查找文件,并作出相应的处理。用 . 来表示当前目录,用 / 来表示系统根目录 用~ 表示家目录。
命令选项:
	-name 文件名 :  按照文件名查找文件。
	-perm 权限 :   按照文件权限来查找文件。
	-user UID或用户名   :按照文件属主来查找文件。
	-group GID或组名  :按照文件所属的组来查找文件。
	-type  类型 :查找某一类型的文件,诸如:
	b - 块设备文件。
	d - 目录。
	c - 字符设备文件。
	p - 管道文件。
	l - 符号链接文件。
	f - 普通文件。
	-newer 文件名:查找更新时间比文件新的文件。
	-newer file1 ! -newer file2  查找更改时间比文件file1 新但没有比文件file2新的文件。
	-mtime -n +n  按照文件的更改时间来查找文件
	- n 表示文件更改时间距现在n天以内,
	+ n 表示文件更改时间距现在n天以前。
	
案例:
1) 模糊查询案例
1.1在当前目录下,查找文件名以f开头的文件或目录
	[root@localhost ~]# find . -name 'f*'
	./file2
	./f1
	./f2
	./file1
	./file1/file1
	./file3
1.2/root目录下查找,查找文件名以f开头的文件或目录
	[root@localhost ~]# find /root -name 'f*' 
	/root/file2
	/root/f1
	/root/f2
	/root/file1
	/root/file1/file1
	/root/file3
1.3查找以1结尾的文件或目录
	[root@localhost ~]# find . -name '*1'    
	./f1
	./log1
	./file1
	./file1/file1
2) 按文件所属的UID或者用户名查询
	按用户id查询
	[user4@localhost ~]$ find . -user 1003
	.
	./.bash_logout
	./.bash_profile
	…………
	按用户id查询
	[user4@localhost ~]$ find /home/user4 -user 1003
	/home/user4
	/home/user4/.bash_logout
	/home/user4/.bash_profile
	…………
	按用户名称查询
	[user4@localhost ~]$ find /home/user4 -user user4
	/home/user4
	/home/user4/.bash_logout
	/home/user4/.bash_profile
	…………
3) 按文件的类型查询
	按照文件查询
	[root@localhost ~]# find . -type f
	./.bash_logout
	./.bash_profile
	./.bashrc
	./.cshrc
	./.tcshrc
	./anaconda-ks.cfg
	./.bash_history
	./file2
	./group
	./Centos-7.repo
	./log1
	./file1/file1
	./file3
	按照目录查询
	[root@localhost ~]# find . -type d
	.
	./f1
	./file1
	按照连接查询
	[root@localhost ~]# find . -type l
	./f2
4) 按文件新旧程度查询
	查询比file1新的文件
	[root@localhost ~]# find -newer file1
	.
	./.bash_history
	./file2
	./file3
	查询比file2新但是没有file1新的文件(没有,因为没有创建文件)
	[root@localhost ~]# find -newer file2 ! -newer file1 
	[root@localhost ~]# 
	查询距离现在一个小时之内并且是30分钟之前创建的文件
	[root@localhost ~]# find -mmin +30 -mmin -60
	.
	./file2

4.查找特定程序:whereis

whereis命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
和find相比,whereis查找的速度非常快,这是因为linux系统会将 系统内的所有文件都记录在一个数据库文件中,当使用whereis时,会从数据库中查找数据,而不是像find命令那样,通过遍历硬盘来查找,效率自然会很高。
查找系统中可执行文件、man说明文件、源代码文件。

命令格式:
	whereis [参数] 文件名
命令功能:
	whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。whereis 程序还具有搜索源代码、指定备用搜索路径和搜索不寻常项的能力。
参数:
	-b   定位可执行文件。
	-m   定位帮助文件。
	-s   定位源代码文件

//案例:
//1)找到程序的所有文件
	[root@localhost bin]# whereis find
	find: /usr/bin/find /usr/share/man/man1/find.1.gz
//2)找到程序的所有可执行文件
	[root@localhost bin]# whereis -b find
	find: /usr/bin/find

5.查找可执行文件:which

which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

命令格式:
	which 可执行文件
命令功能:
	which指令会在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
	
案例:
//在环境变量的配置中搜索指定命令的位置
	[root@localhost bin]# which find  	
	/usr/bin/find

6. 用户及版本信息查看

6.1 用户信息查看:who 和 whoami

who命令用于显示谁登录了系统(show who is logged on),who am i与之相同。另外一个叫whoami的命令,只输出用户账号。而who或者who am i不仅显示账号,还显示终端文件名、时间、来源IP等。

//案例:显示当前登录的用户
//root的记录明细(显示用户名,终端文件名,时间,ip)
[root@localhost bin]# who
root     tty1         2019-08-19 19:24
root     pts/0        2019-08-22 05:35 (192.168.131.1)
//查看当前登陆的用户是谁(只显示用户名)
[root@localhost bin]# whoami
root

6.2 系统版本信息查看:uname

命令格式:
	uname -a #系统版本所有信息
	uname -r #系统内核信息
命令功能:
	显示系统版本信息。

//案例:
//系统版本所有信息
[root@localhost bin]# uname -a
Linux localhost.localdomain 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
//系统内核信息
[root@localhost bin]# uname -r
3.10.0-862.el7.x86_64

7. 寻求帮助:man

使用man 命令可以获取某个命令的帮助信息。man命令在显示手册页时是调用less程序,可以用less的控制命令进行上翻,下翻,查找等。
命令格式:
在这里插入图片描述

命令格式:
	man 命令名
示例:
	man find
	//man 命令里支持less 命令,可以用less 搜索高亮显示。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值