Linux知识点求职应聘必备

Java技术交流群: 489142997 

 Java招聘群:580780108

想获得更多资料请加QQ群号

Linux操作系统基础

Linux 是什么?

Linux是一套免费使用和自由传播的类Unix操作系统,是一个多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Lesson Aim

In this lesson, you learn how to create and use views. You alsolearn to query the relevant data dictionary object to retrieve informationabout views. Finally, you learn to create and use inline views, and performTop-N analysis using inline views.

 

1      Linux简介

l  Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机

1.1    Linux介绍

l  Linux出现于1991年,是由芬兰赫尔辛基大学学生Linus Torvalds和后来加入的众多爱好者共同开发完成

美国《时代周刊》如此评价他:有些人生来就具有统率百万人的领袖风范;另一些人则是为写出颠覆世界的软件而生。唯一一个能同时做到这两者的人,就是托瓦兹。

 

1.2    主要内容

l  Linux 安装

l  远程登录

l  常用命令

l  VI编辑器的使用

l  主机名的设置

l  IP的设置

l  防火墙的设置

l  用户和组账户管理

l  文件权限管理

l  RPM软件包管理

l  软件的安装

Jdk,tomcat,eclipse

1.3    Linux特点

l  多用户,多任务,丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,良好的用户界面,出色的速度性能

l  开源

1.4    CentOS

l  主流:目前的Linux操作系统主要应用于生产环境,主流企业级Linux系统仍旧是RedHat或者CentOS

l  免费:RedHat 和CentOS差别不大,基于RedHat Linux 提供的可自由使用源代码的企业CentOS是一个级Linux发行版本

l  更新方便:CentOS独有的yum命令支持在线升级,可以即时更新系统,不像RedHat 那样需要花钱购买支持服务!

1.5    CentOS 6.4

l  CentOS官网:http://www.centos.org/

l  CentOS搜狐镜像:http://mirrors.sohu.com/centos/

l  CentOS网易镜像:http://mirrors.163.com/centos/

l  CentOS北京理工大学镜像:http://mirror.bit.edu.cn/centos/

CentOS 6.4下载地址:

http://mirrors.sohu.com/centos/6.4/isos/x86_64/CentOS-6.4-x86_64-bin-DVD1.iso

http://mirrors.sohu.com/centos/6.4/isos/x86_64/CentOS-6.4-x86_64-bin-DVD2.iso

2      Linux安装

 

3      Linux常用命令

l  命令格式:命令  -选项参数

如:ls -la /usr

 

ls:显示文件和目录列表(list)

ll :ls -l = ll ll / 查看上一级目录

ls /只显示文件夹

l  常用参数:

-l(long)每列仅显示一个文件或目录名称。

-a(all)   列出的所有文件,包括隐藏文件、特殊目录等。

-t(time)用文件和目录的更改时间排序

-c 以更改时间排序,显示文件和目录。

-S 用文件和目录的大小排序。

-r或--reverse 反向排序。

-u 以最后存取时间排序,显示文件和目录。
-U 列出文件和目录名称时不予排序。
-v 文件和目录的名称列表以版本进行排序

4      Linux命令的分类

内部命令:属于Shell解析器的一部分

cd 切换目录(change directory)

cd -返回到原来目录

 

cd ..返回到上一级目录

pwd 显示当前工作目录(printworking directory)

help 帮助

外部命令:独立于Shell解析器之外的文件程序

ls 显示文件和目录列表(list)

mkdir 创建目录(makedirectoriy)

cp 复制文件或目录(copy)

l  查看帮助文档

内部命令:help + 命令(help cd

外部命令:man + 命令(man ls   manual

q :quit退出

5      操作文件或目录常用命令

pwd 显示当前工作目录(print workingdirectory

touch 创建空文件                            

mkdir 创建目录(make directoriy

-p 父目录不存在情况下先生成父目录(parents)

mkdir /solr在上一级目录下创建目录

cp 复制文件或目录(copy)

-r 递归处理,将指定目录下的文件与子目录一并拷贝(recursive)

l  mv 移动文件或目录、文件或目录改名(move)

mv 现有文件夹目标文件夹移动到目标文件夹

mv 目标文件夹目标文件夹修改文件夹名

mv a b c ab移动到c

rm 删除文件remove

-r同时删除该目录下的所有文件(recursive递归删除

-f 强制删除文件或目录(force

rm-rf  强制加递归删除

rmdir 删除空目录(remove directoriy

cat显示文本文件内容catenate

moreless分页显示文本文件内容

空格一页页看,回车一行一行看

headtail查看文本中开头或结尾部分的内容

默认查看10

head -n  5  a.log 查看a.log文件的前5

tail -f  b.log 循环读取fellow

6      常用命令

wc 统计文本的行数、字数、字符数(word count)

-m 统计文本字符数

-w 统计文本字数

-l 统计文本行数

find在文件系统中查找指定的文件

find /etc/ -name "aaa"(find /斜杠加不加待长期验证)

grep在指定的文本文件中查找指定的字符串例如:grep ‘a’目标文件

echo往文件加字符串例如echo‘aaa’>目标文件

l  ln 建立链接文件(link)

例如:ln -s root/demo/ link  link自定义名字  cd link/

-s 对源文件建立符号连接,而非硬连接(symbolic)

 

 

 

 

l  top 显示当前系统中耗费资源最多的进程

l  ps 显示瞬间的进程状态

常用:ps-ef

ps -ef | more        |管道符将前一个的标准输出作为后一个命令的标准输入

-e /-A 显示所有进程,环境变量

-f 全格式

-a 显示所有用户的所有进程(包括其它用户)

-u 按用户名和启动时间的顺序来显示进程

-x 显示无控制终端的进程

l  kill 杀死一个进程

kill -9 pid

df 显示文件系统磁盘空间的使用情况

l  du 显示指定的文件(目录)已使用的磁盘空间的总

例如du -/root/

du-h /root/ human

du -hs /root/

-h文件大小以K,M,G为单位显示(human-readable)

-s只显示各档案大小的总合(summarize)

l  free 显示当前内存和交换空间的使用情况

netstat 显示网络状态信息

常用:netstat -ant

netstat–anu

netstat–an | grep 8080

netstat -an |grep 8080

-a 显示所有连接和监听端口

-t (tcp)仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 拒绝显示别名,能显示数字的全部转化成数字。

-p 显示建立相关链接的程序名

ifconfig 网卡网络配置详解

ping 测试网络的连通性

 

 

7      关机/重启命令

l  shutdown系统关机

-r 关机后立即重启

-h 关机后不重新启动

-h now立即关机不重启

halt 关机后关闭电源

l  reboot 重新启动

8      学习Linux的好习惯

l  善于查看man page(manual)等帮助文档

l  利用好Tab键

l  掌握好一些快捷键

ctrl + c(停止当前进程)

history(查看命令历史)

ctrl + l(清屏,与clear命令作用相同)

9      备份压缩命令

l  gzip 压缩(解压)文件或目录,压缩文件后缀为gz

l  bzip2 压缩(解压)文件或目录,压缩文件后缀为bz2

l  tar 文件、目录打(解)包

zip,war解压

mkdir /solr/IK

unzipIKAnalyzer2012FF_hf1.zip-d /solr/IK/

9.1    gzip命令

l  命令格式:gzip [选项] 压缩(解压缩)的文件名

-d将压缩文件解压(decompress)

-l显示压缩文件的大小,未压缩文件的大小,压缩比(list)

-v显示文件名和压缩比(verbose)

-num用指定的数字num调整压缩的速度,-1--fast表示最快压缩方法(低压缩比),-9--best表示最慢压缩方法(高压缩比)。系统缺省值为6

例如:

压缩:gzip install.log

高压缩比:gzip -9 install.log

解压:gzip -d install.log.gz

 

9.2    bzip2命令

l  命令格式:bzip2[-cdz] 文档名

-c将压缩的过程产生的数据输出到屏幕上

-d解压缩的参数(decompress)

-z压缩的参数(compress)

-num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6

9.3    tar命令

-c 建立一个压缩文件的参数指令(create)

-x 解开一个压缩文件的参数指令(extract)

-z 是否需要用 gzip 压缩

-j 是否需要用 bzip2 压缩

-v 压缩的过程中显示文件(verbose)

-f 使用档名,在 f 之后要立即接档名(file)

压缩:tar -czvff.tar.gz family tar -czvf  目标文件现有文件

解压到指定目录:tar –xzvf f.tar.gz -C 目标文件/

tar –xzvf f.tar.gz –C de按制表符Tab键联想

10            VIM文本编辑器

l  vi / vim是Unix / Linux上最常用的文本编辑器而且功能非常强大。

l  只有命令,没有菜单。

cd root/family/

vim book

11            VIM工作模式

i 插入模式

ESC退出插入模式到一般模式

: 底行模式

:wq保存退出

:q! 不保存退出

insert afterover

nu number :n  :13

12            用户和组账户管理

l  linux操作系统是一个多用户操作系统,它允许多用户同时登录到系统上并使用资源。系统会根据账户来区分每个用户的文件,进程,任务和工作环境,使得每个用户工作都不受干扰。

12.1       配置文件

l  保存用户信息的文件:/etc/passwd

l  保存密码的文件:/etc/shadow

l  保存用户组的文件:/etc/group

l  保存用户组密码的文件:/etc/gshadow

l  用户配置文件:/etc/default/useradd

分页查看文件:more /etc/passwd

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

用户名:密码占位符:UID user id :idgid  groupid :描述用户名比如用户名bingbing ,描述fanbingbing

/root表示家  /bin/bashshell命令脚本的形式比如bash,csh等默认是bash

下面全是用户

查看密码:more /etc/shadow

12.2       /etc/passwd格式

使用命令:man 5 passwd

account:password:UID:GID:GECOS:directory:shell

 

12.3       Linux用户分类

l  超级用户:(root,UID=0)

l  普通用户:(UID在500到60000)

l  伪用户:(UID在1到499)假,这些用户并不存在

系统和服务相关的:bin、daemon、shutdown等

进程相关的:mail、news、games等

为用户不能登陆系统,而且没有宿主目录 cd /home/  qinglu普通用户的家

root之所以成为超级用户并不是它叫root,是因为它的UID0,系统认为0是超级管理员

一个系统最多有59500个用户

 

12.4       /etc/shadow格式

查看命令:man 5 shadow

12.5       用户组

每个用户至少属于一个用户组

每个用户组可以包含多个用户

同一个用户组的用户享有该组共有的权限

12.6       /etc/group格式

12.7       操作用户命令

l  添加用户命令:useradd

-u 指定组ID(uid)

-g 指定所属的组名(gid)

-G 指定多个组,用逗号“,”分开(Groups)

-c 用户描述(comment)

-e 失效时间(expiredate)

l  例子:

useradd -u 888-g users -G sys,root -c "hr zhang" zhangsan

passwd zhangsan

例子:开用户:useradd zhangsan

查看用户:cd /home/  more  /etc/passwd

zhangsan没密码不能连接

zhangsan密码:passwd zhangsan

 

useradd –u(UID号)

useradd –p(口令)

useradd –g(分组)

useradd –s(SHELL)

useradd –d(用户目录)

usermod –u(新UID)

usermod –d(用户目录)

usermod –g(组名)

usermod –s(SHELL)

usermod –p(新口令)

usermod –l(新登录名)

usermod –L 锁定用户账号密码

usermod –U 解锁用户账号

userdel 用户名删除用户账号

userdel –r 删除账号时同时删除目录

 

 

 

l  修改用户命令:usermod(user modify)

-l 修改用户名(login)usermod -l ab(b改为a)

-g 添加组 usermod-g sys tom

-G添加多个组 usermod-G sys,root tom

–L 锁定用户账号密码(Lock)

–U 解锁用户账号(Unlock)

l  删除用户命令:userdel(user delete)

-r 删除账号时同时删除目录(remove)

usermod-l  lisi  zhangsan

cd  /home/ 没变

more  /etc/passwd 家还是zhangsan的家,名改成lisi

删除lisiuserdel-r lisi

12.8       操作用户组命令

l  添加组:groupadd

-g 指定gid

l  修改组:groupmod

-n 更改组名(newgroup)

l  删除组:groupdel

l  groups 显示用户所属组

13            权限管理

l  三种基本权限

r 读权限(read)

w 写权限(write)

x 执行权限(execute)

l  第1位:文件类型(d 目录,- 普通文件,l 链接文件)

l  第2-4位:所属用户权限,用u(user)表示

l  第5-7位:所属组权限,用g(group)表示

l  第8-10位:其他用户权限,用o(other)表示

l  第2-10位:表示所有的权限,用a(all)表示

完整信息:一个文件,所属用户具有读写执行权限;所属组的用户

有读写权限,没有执行权限;其他用户只有读权限

 

点是ACL类型,(.)点是ACL_T_SELINUX_ONLY,(+)加是ACL_T_YES,空白是没有ACL。

ACL 是访问控制列表Access ControlList

 

13.1       更改操作权限

l  chmod修改文件权限命令(change mode)

         参数:-R 下面的文件和子目录做相同权限操作(Recursive递归的)

         例如:chmod  u+x a.txt

l  用数字来表示权限(r=4,w=2,x=1,-=0)

         例如:chmod  750 b.txt

         rwx用二进制表示是111,十进制4+2+1=7

         r-x用二进制表示是101,十进制4+0+1=5

root下的文件赋执行权限:chmod u+x anaconda-ks.cfg

给所在组赋执行权限:chmod g+x anaconda-ks.cfg

去掉所在组和文件的执行权限:chmod a-x anaconda-ks.cfg

给这个文件的拥有者加上执行权限,并给所在组加上读权限,给其他人加写权限:chmod 742 anaconda-ks.cfg

 r 代表1 w代表 1 代表0 x代表 1   rw-代表110  4+2+0=6  -wx=0+2+1=3 r-x=5,rwx=7  rwx r-- -w- 742

101转十进制111=7  011=3 

14            RPM软件包管理

l  RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括RedHat、CentOS、SUSE等Linux的分发版本都有采用,可以算是公认的行业标准了。RPM文件在Linux系统中的安装最为简便

14.1       RPM命令使用

l  rpm的常用参数

i:安装应用程序(install)

e:卸载应用程序(erase)

vh:显示安装进度;(verbose   hash)

U:升级软件包;(update)

qa: 显示所有已安装软件包(queryall)

结合grep命令使用

例子:安装:rpm -ivh  openssl-1.0.le-16.e16_5.14.i686.rpm

rpm -qa | grep openssl

卸载安装包:rpm -e openssl-1.0.le-16.e16_5.14.i686.rpm

解除依赖强行卸载 rpm -e openssl-1.0.le-16.e16_5.14.i686.rpm–nodeps注意:小心系统崩溃

升级安装包:rpm -U      rpm-vhU

查找显示安装过的软件包:rpm -qa | grep openssl

批量安装:rpm -ivh mysql-5.1.73-3.e16_5.i686.rpm mysql-libs-5.1.73-3.e16_5.i686.rpm

启动mysql服务:service mysqld start

修改mysql密码: /usr/bin/mysqladmin –u root password ‘root’

mysql -u root -p

show databases;

quit

14.2       Linux 网络配置

查看主机名:hostname

修改主机名:vim /etc/sysconfig/network

NETWORKING=yes

       HOSTNAME=localhost.localdomain

localhost.localdomain改成liqinglu

hostname  不生效重启 reboot

防火墙状态 service iptablesstatus

一次性关闭防火墙:service iptablesstop

一次性开启防火墙:service iptablesstart

查看当前防火墙的状态开机级别:chkconfig iptables- -list

永久关闭防火墙:chkconfig iptablesoff

永久打开防火墙:chkconfig iptableson

设置ip:

第一种:右上角右键Edit Connection…   Ipv4 Settings   Method设为Manual 手动  add添加

第二种:桌面右键 Open inTerminal      输入命令setup     Network configuration     Device configuration空格可以去掉*

第三种:慎用!SecureCRT远程操作

vim /etc/sysconfig/network-scripts/ifcfg-eth0

 

l  DEVICE="eth0"

BOOTPROTO=“static"

l  HWADDR="00:0C:29:62:4C:2B"   MAC地址

l  IPV6INIT="yes"

l  NM_CONTROLLED="yes"

l  ONBOOT="yes"

l  TYPE="Ethernet"

l  UUID="1acc3359-b1fd-4ac8-b044-58b5fe5a16ce“

IPADDR="192.168.24.20"       ip地址

NETMASK="255.255.255.0"子网掩码

GATEWAY="192.168.24.1"网关

DNS1="8.8.8.8"首选DNS

DNS2="8.8.4.4"备选DNS

由于谷歌已封杀,DNS1DNS2不好使,公司会提供

14.3       YUM命令

l  Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE、CentOS中的Shell前端软件包管理器。基於RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

l  例子(需要上网,没有网络可以建本地源):

yum  install gcc-c++

yum  remove gcc-c++

yum  update gcc-c++

15            安装软件

解压jdk到指定目录:tar -xzvf jdk-7u55-linux-i586.tar.gz -C /usr/local/src/

配置环境变量:vim /etc/profile

JAVA_HOME=/usr/local/src/jdk1.7.0_55

JAVA_HOME导入到环境变量中

export PATH=$JAVA_HOME/bin:$PATH

重新加载命令:source /etc/profile

java  -version

 

win7区分3264位,linux系统不区分32位和64

解压tomcattar -xzvf  apache-tomcat-7.0.47.tar.gz  -C /usr/local/src/

cd  /usr/local/src/

启动tomcatcd apache-tomcat-7.0.47/bin/

          ./startup.sh  sh startup.sh

查看是否启动:查看运行在jdk基础之上的jdk提供的查看tomcat运行状态命令:jps

6148 Jps   jdk提供jps命令的端口

6106 Bootstrap tomcat的端口号

     kill -9  6106   杀死端口为6106tomcat

查看tomcat的控制台日志:tail –f/  从尾部进行动态的查看

cd logs/   tail –f catalina.out

关闭tomcatsh /usr/local/src/apache-tomcat-7.0.47/bin/shutdown.sh

 

安装eclipse

解压tar-xzvf  eclipse-standard-kepler-SR1-linux-gtk.tar.gz-C/usr/local/src/

图形化界面打开eclipse开发即可

eclipse的快捷方式桌面右键 Create Launcher…  typeApplication  name eclispse  Browse…点图标更换

技巧从插入模式进入一般模式ESC再进入一般模式

JAVA_HOME=

 :cd /usr/local/src/jdk1.7.0_55/    Tab键联想

1.安装JDK

         *添加执行权限

                   chmod u+x jdk-7u45-linux-i586.bin

         *解压

                   ./jdk-7u45-linux-i586.bin

         *在/usr目录下创建java目录

                   mkdir /usr/java

         *将/soft目录下的解压的jdk1.7.0_45剪切到/usr/java目录下

                   mv jdk1.7.0_45/ /usr/java/

         *添加环境变量

                   vim /etc/profile

                   *在/etc/profile文件最后添加

                            JAVA_HOME=/usr/java/jdk1.7.0_45

                            export PATH=$JAVA_HOME/bin:$PATH

         *更新配置

                   source/etc/profile

                  

2.安装tomcat

         tar-zxvf /soft/apache-tomcat-7.0.47.tar.gz -C /programs/

         cd/programs/apache-tomcat-7.0.47/bin/

         ./startup.sh

        

3.安装eclipse

 

 

16            扩展命令

查看系统内核:uname  -a                   unix

Linux localhost 2.6.32-358.el6.i686 #1 SMPThu Feb 21 21:50:49 UTC 2013 i686 i686 i386 GNU/Linux

linux系统内核主机名:localhost  版本:2.6.32-358安装的软件匹配度:el6  32位:i686

 

17            问题:

tar.gz和rpm的区别?

阅读更多
个人分类: linux
上一篇不懂技术的人不要对懂技术的人说这很容易实现
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭