xml地图|网站地图|网站标签 [设为首页] [加入收藏]
每天一个Linux命令,Linux下安装jdk8步骤详述
分类:操作系统

ls命令用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。

第1章 awk指哪打哪

作为Java开发人员,在Linux下安装一些开发工具是必备技能,本文以安装jdk为例,详细记录了每一步的操作命令,以供参考。

语法

ls(选项)(参数)

1.1 awk内置变量

FS 

输入字段(列)分隔符

-F :

相当于-vFS :

NR 

number of record 行号(记录号)

NF  

number of filed  每行有多少列

OFS

output 输出分隔符

RS 

record separator 记录分隔符每一的结束标记 默认是回车

IGNORECASE

是否忽略大小写  1为忽略

0.下载jdk8

登录网址:
选择对应jdk版本下载。(可在Windows下下载完成后,通过文件夹共享到Linux上)

选项

-a:显示所有档案及目录(ls内定将档案名或目录名称为“.”的视为隐藏,不会列出);
-A:显示除隐藏文件“.”和“..”以外的所有文件列表;
-C:多列显示输出结果。这是默认选项;
-l:与“-C”选项功能相反,所有输出信息用单列格式输出,不输出为多列;
-F:在每个输出项后追加文件的类型标识符,具体含义:“*”表示具有可执行权限的普通文件,“/”表示目录,“@”表示符号链接,“|”表示命令管道FIFO,“=”表示sockets套接字。当文件为普通文件时,不输出任何标识符;
-d:仅显示目录名,而不显示目录下的内容列表。显示符号链接文件本身,而不显示其所指向的目录列表;
-f:此参数的效果和同时指定“aU”参数相同,并关闭“lst”参数的效果;
-i:显示文件索引节点号(inode)。一个索引节点代表一个文件;
--file-type:与“-F”选项的功能相同,但是不显示“*”;
-k:以KB(千字节)为单位显示文件大小;
-l:以长格式显示目录下的内容列表。输出的信息从左到右依次包括文件名,文件类型、权限模式、硬连接数、所有者、组、文件大小和文件的最后修改时间等;
-m:用“,”号区隔每个文件和目录的名称;
-n:以用户识别码和群组识别码替代其名称;
-r:以文件名反序排列并输出目录内容列表;
-s:显示文件和目录的大小,以区块为单位;
-t:用文件和目录的更改时间排序;
-L:如果遇到性质为符号链接的文件或目录,直接列出该链接所指向的原始文件或目录;
-R:递归处理,将指定目录下的所有文件及子目录一并处理;
-b:将文件中的不可输出的字符以反斜线“”加字符编码的方式输出;
--full-time:列出完整的日期与时间;
--color[=WHEN]:使用不同的颜色高亮显示不同类型的。

1.1.1 RS    记录分隔符   每一的结束标记默认是回车

[root@zeq files]# cat passwd.txt

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin     默认结束标记是回车,现在文件内容为两行

以/作为记录分隔符,显示行号和文件内容

[root@zeq files]# awk -vRS="/" '{print NR,$0}' passwd.txt   NR是显示行号   $0是显示一整行的内容

1 root:x:0:0:root:

2 root:

3 bin

4 bash

bin:x:1:1:bin:

5 bin:

6 sbin

7 nologin               现在以/为记录分隔符就变成了7行

这里的awk -vRS="/"     -v给变量赋值,RS是awk内置变量,设置/为记录分隔符

1. 登录Linux,切换到root用户

su root 获取root用户权限,当前工作目录不变(需要root密码)

sudo -i 不需要root密码直接切换成root(需要当前用户密码)

 参数

目录:指定要显示列表的目录,也可以是具体的文件。

1.2 awk中表示行和列

NR==1

第一行

$1

第一列

$NF

最后一列

$NF-1

倒数第二列

 

2. 在usr目录下建立java安装目录

cd /usr

mkdir java

实例

显示当前目录下非隐藏文件与目录:

[root@centos6 ~]# ls
anaconda-ks.cfg install.log install.log.syslog

输出长格式列表(文件和文件夹的详细信息):

[root@centos6 ~]# ls -l
total 72
-rw-------. 1 root root 1497 Aug 18 13:34 anaconda-ks.cfg
-rw-r--r--. 1 root root 51437 Aug 18 13:34 install.log
-rw-r--r--. 1 root root 11504 Aug 18 13:31 install.log.syslog

显示当前目录下包括隐藏文件在内的所有文件列表:

[root@centos6 ~]# ls -a
.                .bash_history  .bashrc  .gconf              .tcshrc
..               .bash_logout   .config  install.log         .xauthGBvjmP
anaconda-ks.cfg  .bash_profile  .cshrc   install.log.syslog

显示文件的inode信息:

索引节点(index inode简称为“inode”)是Linux中一个特殊的概念,具有相同的索引节点号的两个文本本质上是同一个文件(除文件名不同外)。

[root@centos6 ~]# ls -i -l anaconda-ks.cfg install.log 
5111817 -rw-------. 1 root root  1497 Aug 18 13:34 anaconda-ks.cfg
5111810 -rw-r--r--. 1 root root 51437 Aug 18 13:34 install.log

水平输出文件列表:

[root@centos6 ~]# ls -m
anaconda-ks.cfg, install.log, install.log.syslog

最近修改的文件显示在最上面:

[root@centos6 ~]# ls -t
anaconda-ks.cfg  install.log  install.log.syslog

打印文件的UID和GID:

[root@centos6 ~]# ls -n
total 72
-rw-------. 1 0 0  1497 Aug 18 13:34 anaconda-ks.cfg
-rw-r--r--. 1 0 0 51437 Aug 18 13:34 install.log
-rw-r--r--. 1 0 0 11504 Aug 18 13:31 install.log.syslog

显示递归文件:

[root@centos6 ~]# ls -R
.:
anaconda-ks.cfg  install.log  install.log.syslog

 

1.3 awk模式匹配(条件)

模式-pattern  帮助你找到想要的行

1)正则表达式

2)比较

   >

   <

   ==

3)范围

4)BEGIN{} END{}

3.将jdk-8u60-linux-x64.tar.gz拷贝到java目录下

cp /mnt/hgfs/linux/jdk-8u60-linux-x64.tar.gz /usr/java/

1.4 正则表达式

~

某一列中包含xxx

!~

某一列中不包含xxx

^

以....开头的字符(列)

$

以....什么结尾的

.*

所有

^$

空行

转义字符 backslash  脱掉马甲打回原形

[]

匹配[]的每一个字符

+

一个字符出现1次或1次以上

|

或者

()

反向引用,一个整体,保护里面的内容

*

一个字符出现0次或者0次以上

{}

0{n,m} 数字0连续出现了至少n次,最多m次

?

一个字符出现0次或1次

4.解压jdk到当前目录

tar -zxvf jdk-8u60-linux-x64.tar.gz

得到文件夹 jdk1.8.0_60

1.4.1 awk正则表达式练习

创建环境

mkdir -p /server/files/

cat >>/server/files/reg.txt<<EOF

Zhang Dandan    41117397   :250:100:175             第一列是姓氏

Zhang Xiaoyu    390320151  :155:90:201              第二列是名字

Meng  Feixue    80042789   :250:60:50               第一第二列合起来就是姓名

Wu    Waiwai    70271111   :250:80:75               第三列是对应的ID号码

Liu   Bingbing  41117483   :250:100:175             最后三列是三次捐款数量 

Wang  Xiaoai    3515064655 :50:95:135

Zi    Gege      1986787350 :250:168:200

Li    Youjiu    918391635  :175:75:300

Lao   Nanhai    918391635  :250:100:175

EOF

5.安装完毕为他建立一个链接以节省目录长度

(我没用这一步)
ln -s /usr/java/jdk1.8.0_60/ /usr/jdk

1.4.2 取出第3列中以数字4开头的行

[root@zeq files]# awk '$3~/^4/' reg.txt    $3 第3列   ~ 包括    ^4 以4开头

Zhang Dandan    41117397   :250:100:175

Liu   Bingbing  41117483   :250:100:175

6.编辑配置文件,配置环境变量

vim /etc/profile

添加如下内容:JAVA_HOME根据实际目录来
JAVA_HOME=/usr/java/jdk1.8.0_60
CLASSPATH=$JAVA_HOME/lib/
PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

1.4.3 显示Xiaoyu的姓氏和ID号码

[root@zeq files]# awk ' $2~/Xiaoyu/{print $1,$3}' reg.txt  

Zhang 390320151

7.重启机器或执行命令 :source /etc/profile

sudo shutdown -r now

1.4.4 显示所有以41开头的ID号码的人的全名和ID号码

[root@zeq files]# awk '$3~/^41/{print $1,$2,$3}' reg.txt

Zhang Dandan 41117397

Liu Bingbing 41117483

awk默认动作

[root@zeq files]# awk  '$3~/^41/' reg.txt

Zhang Dandan    41117397   :250:100:175

Liu   Bingbing  41117483   :250:100:175

[root@zeq files]# awk  '$3~/^41/{print }' reg.txt

Zhang Dandan    41117397   :250:100:175

Liu   Bingbing  41117483   :250:100:175

8.查看安装情况

java -version

java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) Client VM (build 25.60-b23, mixed mode)

1.4.5 显示所有ID号码最后一位数字是1或5的人的全名

方法1

[root@zeq files]# awk '$3~/[15]$/{print $1,$2}' reg.txt     []匹配里面的1和5    $表示以...结尾

Zhang Xiaoyu

Wu Waiwai

Wang Xiaoai

Li Youjiu

Lao Nanhai

方法2

[root@zeq files]# awk '$3~/(1|5)$/{print $1,$2}' reg.txt     |或者   1或者5

Zhang Xiaoyu

Wu Waiwai

Wang Xiaoai

Li Youjiu

Lao Nanhai

可能出现的错误信息:

bash: ./java: cannot execute binary file

出现这个错误的原因可能是在32位的操作系统上安装了64位的jdk,
查看jdk版本和Linux版本位数是否一致。
查看你安装的Ubuntu是32位还是64位系统:
sudo uname --m
i686 //表示是32位
x86_64 // 表示是64位

本文由澳门新葡亰手机版发布于操作系统,转载请注明出处:每天一个Linux命令,Linux下安装jdk8步骤详述

上一篇:没有了 下一篇:没有了
猜你喜欢
热门排行
精彩图文