linux介绍及基本指令

来源:互联网 发布:php abstract 继承 编辑:程序博客网 时间:2024/06/09 14:27

linux介绍
linux是一个自由的,免费的,源码开放的操作系统。也是开源软件中最著名的例子。其最主要的目的就是为了建立不受任何商品化软件版权制约的,全世界都能使用的类Unix兼容产品.而我们将服务器部署在Linux将会更加的稳定、安全、高效以及出色的性能这时windows无法比的。

注:UNIX,是一个强大的多用户、多任务操作系统,支持多种处理器架构,是商业软件,最早由KenThompson、DennisRitchie和DouglasMcIlroy于1969年在AT&T的贝尔实验室开发。经过长期的发展和完善,目前已成长为一种主流的操作系统技术和基于这种技术的产品大家族。由于UNIX具有技术成熟、可靠性高、网络和数据库功能强、伸缩性突出和开放性好等特色,可满足各行各业的实际需要,特别能满足企业重要业务的需要,已经成为主要的工作站平台和重要的企业操作平台。曾经是服务器操作系统的首选,占据最大市场份额,但最近在跟WINDOWSSERVER以及Linux的竞争中有所失利。
——————————-linux只需要64k空间就可以运行**
Linux的特点:
开放性,多用户,多任务,丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,良好的用户界面(命令界面,图形界面等),出色的速度性能
Linux的组成:

内核:是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序。
Shell:是系统的用户界面,提供了用户和内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行,是一个命令解释器。但它不仅使命令解释器,而且还是高级编程语言,shell编程。
文件系统:文件系统是文件存放在磁盘等存储设备上的组织方法,Linux支持多种文件系统,如ext3,ext2,NFS,SMB,iso9660等
应用程序:标准的Linux操作系统都会有一套应用程序例如X-Window,Open Office等

Linux目录结构:
这里写图片描述

bin 存放二进制可执行文件(ls,cat,mkdir等)
boot 存放用于系统引导时使用的各种文件
dev 用于存放设备文件
etc 存放系统配置文件
home 存放所有用户文件的根目录
lib 存放跟文件系统中的程序运行所需要的共享库及内核模块
mnt 系统管理员安装临时文件系统的安装点
opt 额外安装的可选应用程序包所放置的位置
proc 虚拟文件系统,存放当前内存的映射
root 超级用户目录
sbin 存放二进制可执行文件,只有root才能访问
tmp 用于存放各种临时文件
usr 用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录
var 用于存放运行时需要改变数据的文件

常用指令

ls   显示文件或目录

 -l           列出文件详细信息l(list) -a          列出当前目录下所有文件及目录,包括隐藏的a(all)

mkdir 创建目录

 -p           创建目录,若无父目录,则创建p(parent)

cd 切换目录

touch 创建空文件

echo 创建带有内容的文件。

cat 查看文件内容

cp 拷贝

mv 移动或重命名

rm 删除文件

 -r            递归删除,可删除子目录及文件 -f            强制删除

find 在文件系统中搜索某文件

wc 统计文本中行数、字数、字符数

grep 在文本文件中查找某个字符串

rmdir 删除空目录

tree 树形结构显示目录,需要安装tree包

pwd 显示当前目录

ln 创建链接文件

more、less 分页显示文本文件内容

head、tail 显示文件头、尾内容

ctrl+alt+F1 命令行全屏模式

打包压缩相关命令

gzip:

bzip2:

tar: 打包压缩

 -c              归档文件 -x              压缩文件 -z              gzip压缩文件 -j              bzip2压缩文件 -v              显示压缩或解压缩过程 v(view) -f              使用档名

例:

tar -cvf /home/abc.tar /home/abc 只打包,不压缩

tar -zcvf /home/abc.tar.gz /home/abc 打包,并用gzip压缩

tar -jcvf /home/abc.tar.bz2 /home/abc 打包,并用bzip2压缩

当然,如果想解压缩,就直接替换上面的命令 tar -cvf / tar -zcvf / tar -jcvf 中的“c” 换成“x” 就可以了。

Linux管道

将一个命令的标准输出作为另一个命令的标准输入。也就是把几个命令组合起来使用,后一个命令除以前一个命令的结果。

例:grep -r “close” /home/* | more 在home目录下所有文件中查找,包括close的文件,并分页输出。

Linux软件包管理

dpkg (Debian Package)管理工具,软件包名以.deb后缀。这种方法适合系统不能联网的情况下。

比如安装tree命令的安装包,先将tree.deb传到Linux系统中。再使用如下命令安装。

sudo dpkg -i tree_1.5.3-1_i386.deb 安装软件

sudo dpkg -r tree 卸载软件

注:将tree.deb传到Linux系统中,有多种方式。VMwareTool,使用挂载方式;使用winSCP工具等;

APT(Advanced Packaging Tool)高级软件工具。这种方法适合系统能够连接互联网的情况。

依然以tree为例

sudo apt-get install tree 安装tree

sudo apt-get remove tree 卸载tree

sudo apt-get update 更新软件

sudo apt-get upgrade

将.rpm文件转为.deb文件

.rpm为RedHat使用的软件格式。在Ubuntu下不能直接使用,所以需要转换一下。

sudo alien abc.rpm

vim使用

vim三种模式:命令模式、插入模式、编辑模式。使用ESC或i或:来切换模式。

命令模式下:

:q 退出

:q! 强制退出

:wq 保存并退出

:set number 显示行号

:set nonumber 隐藏行号

/apache 在文档中查找apache 按n跳到下一个,shift+n上一个

yyp 复制光标所在行,并粘贴

h(左移一个字符←)、j(下一行↓)、k(上一行↑)、l(右移一个字符→)

用户及用户组管理

/etc/passwd 存储用户账号

/etc/group 存储组账号

/etc/shadow 存储用户账号的密码

/etc/gshadow 存储用户组账号的密码

useradd 用户名

userdel 用户名

adduser 用户名

groupadd 组名

groupdel 组名

passwd root 给root设置密码

su root

su - root

/etc/profile 系统环境变量

bash_profile 用户环境变量

.bashrc 用户环境变量

su user 切换用户,加载配置文件.bashrc

su - user 切换用户,加载配置文件/etc/profile ,加载bash_profile

更改文件的用户及用户组

sudo chown [-R] owner[:group] {File|Directory}

例如:还以jdk-7u21-linux-i586.tar.gz为例。属于用户hadoop,组hadoop

要想切换此文件所属的用户及组。可以使用命令。

sudo chown root:root jdk-7u21-linux-i586.tar.gz

文件权限管理

三种基本权限

R 读 数值表示为4

W 写 数值表示为2

X 可执行 数值表示为1

如图所示,jdk-7u21-linux-i586.tar.gz文件的权限为-rw-rw-r–
这里写图片描述
-rw-rw-r–一共十个字符,分成四段。

第一个字符“-”表示普通文件;这个位置还可能会出现“l”链接;“d”表示目录

第二三四个字符“rw-”表示当前所属用户的权限。 所以用数值表示为4+2=6

第五六七个字符“rw-”表示当前所属组的权限。 所以用数值表示为4+2=6

第八九十个字符“r–”表示其他用户权限。 所以用数值表示为2

所以操作此文件的权限用数值表示为662

更改权限

sudo chmod [u所属用户 g所属组 o其他用户 a所有用户] [+增加权限 -减少权限] [r w x] 目录名

例如:有一个文件filename,权限为“-rw-r—-x” ,将权限值改为”-rwxrw-r-x”,用数值表示为765

sudo chmod u+x g+w o+r filename

上面的例子可以用数值表示

sudo chmod 765 filename