38
目目 目目 一:Linux 目目..................................... 1 Linux 目目..................................... 1 CentOS.......................................1 目目目 Linux 目目....................................... 2 Linux 目目目目................................... 2 目目目 Linux 目目目目..................................... 2 Linux 目目目目目.................................. 3 目目目目目目目目目目目..................................3 目目目目.........................................4 目目目目目目.......................................6 gzip 目目................................... 6 bzip2 目目.................................. 6 tar 目目.................................... 7 目目/目目目目......................................7 目目 Linux 目目目目................................. 7 目目目 VIM 目目目目目...................................... 8 VIM 目目目目..................................... 8 目目目目.........................................9 目目目目.........................................9 目目目目目目目......................................9

zzj-1300408493.cos.ap-chengdu.myqcloud.com–‡档和 …  · Web view目录. 第一章:Linux简介1. Linux特点1. CentOS1. 第二章:Linux安装2. Linux目录结构2. 第三章:Linux常用命令2

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

目录第一章:Linux简介1Linux特点1CentOS1第二章:Linux安装2Linux目录结构2第三章:Linux常用命令2Linux命令的分类3操作文件或目录常用命令3常用命令4备份压缩命令6gzip命令6bzip2命令6tar命令7关机/重启命令7学习Linux的好习惯7第四章:VIM文本编辑器8VIM工作模式8插入命令9定位命令9替换和取消命令9删除命令10常用快捷键10第五章:用户和组账户管理10配置文件10Linux用户分类11用户组11操作用户命令11添加用户命令:useradd11修改用户命令:usermod(user modify)12添加组:groupadd12修改组:groupmod12删除组:groupdel13第六章:权限管理13更改操作权限14第七章: RPM软件包管理14RPM命令使用14YUM命令15

Linux操作系统基础

第一章:Linux简介

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

Linux特点

· 多用户(Linux和Win单用户的区别 ),多任务,丰富的网络功能,可靠的系统安全,良好的可移植性,具有标准兼容性,良好的用户界面,出色的速度性能

· 开源

CentOS

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

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

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

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

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

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

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

第二章:Linux安装

环境:Windows7 ,VMware, CentOS6.x

Linux目录结构

Linux的根路径就是 / 可以将它理解为 我的电脑

以上的路径的规定是一种约定熟成。而实际的应用中,我们一般有自己的文件系统管理规则

vi /etc/sysconfig/network-scripts/ifcfg-ens33

按esc 从编辑模式退出

输入 :wq (保存并退出)

退出后输入: systemctl restart network 重启网络

通过 ip addr 查看网络

配置远程工具

PS : 在操作过程中可能会出现 vi 失败的情况,按esc 按ctrl+zzzzz

出问题的时候 按 ctrl + c d z 总有一个可以解决问题

==========================================================

Window的命令行

第三章:Linux常用命令

PS : 如何学好Linux的命令。我们需要在没输入一个Linux的命令的时候,心中需要有画面感。每个命令都会对应这windows的一个操作。

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

如:ls -la /usr

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

· 常用参数:

-l(long)

-a(all) 注意隐藏文件、特殊目录.和..

-t(time)

Linux命令的分类

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

cd 切换目录(change directory)

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

help 帮助

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

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

mkdir 创建目录(make directoriy)

cp 复制文件或目录(copy)

· 查看帮助文档

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

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

操作文件或目录常用命令

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

touch 创建空文件

mkdir 创建目录(make directoriy)

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

cp 复制文件或目录(copy)

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

在文件中输出内容

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

创建一个文件夹 dir0

创建一个文件 hello

将文件移动到文件夹dir0中

移动文件

移动文件时需要注意的是文件的源地址和目标地址必须不同。这里有个例子,想要将file_1.txt文件从当前目录移动到其它目录,以/home/pungki/为例,语法应该如下:

$ mv file_1.txt /home/pungki/office

重命名文件或目录

我们也用 mv 命令来重命名文件或目录。不过目标位置和源位置必须相同才可以。然后文件名必须不同。

假定我们当前所在目录为/home/pungki/Documents,而我们想将file_1.txt重命名为file_2.txt。那么命令应该如下:

$ mv file_1.txt file_2.txt

5. 重命名目录

上一段的规则同样适用于目录。请看这个例子:

$ mv directory_1/ directory_2/

rm 删除文件(remove)

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

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

rmdir 删除空目录(remove directoriy)

rm -rf 删除非空目录

cat显示文本文件内容 (catenate)

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

可以分页查看,翻页按 空格键 less可以全文搜索

head、tail查看文本中开头或结尾部分的内容

haed - 5 a.log 查看a.log文件的前5行

tail -F b.log 循环读取(follow)

tail -F 实时查看文件末尾内容

可以看到光标在闪烁,然后打开一个新的终端

向文件hello.html中输出内容,我们可以看到第一个终端有新的内容输出

报错:文件已截断:

输出重定向> 这个符号做的是 重写(覆盖原文件)然后写入(输出)新的内容在里面,而tail -f 这边只是读取这个文件的末尾几行,他user2里重写的话,就把之前的内容清空了,所以造成了user1报错,如果不是重写而是追加就不会报错了

所以用 输出重定向的 >> 这个符号(追加的符号)来进行操作,两边就都一切正常了

所以最后确定  tail -f   动态输出文件的末尾,这个文件执行的命令,文件只能被追加 不能动前面的内容,不然就报错了。

常用命令

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

-m 统计文本字符数

-w 统计文本字数

-l 统计文本行数

针对于英文的

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

find /etc/ -name "aaa"

grep 在指定的文本文件中查找指定的字符串

>和>>的区别

> 叫做重定向

>> 追加

------------------------------------------------------------------------------------------------

ln 建立链接文件(link)

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

软链接

硬链接

1.不允许给目录创建硬链接。2.不可以在不同文件系统的文件间建立链接。

硬链接和软链接的区别

67148783 drwxr-xr-x. 3 root root 18 11月 4 20:03 dir0

100663407 drwxr-xr-x. 3 root root 18 11月 4 20:04 dir0.bak

100663405 -rw-r--r--. 2 root root 18 11月 4 21:47 hello.html

100663408 -rw-r--r--. 1 root root 18 11月 4 21:49 hello.html.bak

100663406 lrwxrwxrwx. 1 root root 10 11月 4 21:46 hello.ln -> hello.html

100663405 -rw-r--r--. 2 root root 18 11月 4 21:47 hello.ln.c

100663404 -rw-r--r--. 1 root root 200 11月 4 20:58 nginx.bak

100663403 -rw-r--r--. 1 root root 2810 11月 4 20:28 nginx.conf

[root@localhost ~]# echo 'abc' >> hello.ln.c

[root@localhost ~]# cat hello.html

hello

hello

world

abc

[root@localhost ~]# rm -fr hello.html

[root@localhost ~]# ll

总用量 16

drwxr-xr-x. 3 root root 18 11月 4 20:03 dir0

drwxr-xr-x. 3 root root 18 11月 4 20:04 dir0.bak

-rw-r--r--. 1 root root 18 11月 4 21:49 hello.html.bak

lrwxrwxrwx. 1 root root 10 11月 4 21:46 hello.ln -> hello.html

-rw-r--r--. 1 root root 22 11月 4 21:50 hello.ln.c

-rw-r--r--. 1 root root 200 11月 4 20:58 nginx.bak

-rw-r--r--. 1 root root 2810 11月 4 20:28 nginx.conf

[root@localhost ~]# cat hello.ln

cat: hello.ln: 没有那个文件或目录

[root@localhost ~]# cat hello.ln.c

hello

hello

world

abc

[root@localhost ~]#

总结:软链接相当于快捷方式、硬链接是原文件的完整拷贝,和源文件具有相同的i节点号。如果删除源文件那么软连接则失效,而硬链接还可以继续使用

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

ps 显示瞬间的进程状态

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

-f 全格式

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

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

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

ps –aux

kill 杀死一个进程

kill -9 pid

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

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

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

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

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

netstat 显示网络状态信息

需要安装 yum install –y net-tools

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

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

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

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

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

常用方式 netstat –ntlp

ifconfig 网卡网络配置详解

ping 测试网络的连通性

备份压缩命令

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

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

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

gzip命令

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

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

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

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

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

bzip2命令

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

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

-d解压缩的参数(decompress)

-z压缩的参数(compress)

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

tar命令

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

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

-z 是否需要用 gzip 压缩

-j 是否需要用 bzip2 压缩

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

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

压缩

解压缩

解压到指定路径

关机/重启命令

· shutdown系统关机

-r 关机后立即重启

-h 关机后不重新启动

· halt 关机后关闭电源 shutdown -h

· reboot 重新启动 shutdown -r

学习Linux的好习惯

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

· 利用好Tab键

· 掌握好一些快捷键

ctrl + c(停止当前进程)

ctrl + r(查看命令历史)

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

第四章:VIM文本编辑器

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

· 只有命令,没有菜单。

VIM工作模式

插入命令

定位命令

替换和取消命令

删除命令

常用快捷键

第五章:用户和组账户管理

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

配置文件

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

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

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

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

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

Linux用户分类

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

普通用户:(UID在1000到60000)

伪用户:(UID在1到999)

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

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

为用户不能登陆系统,而且没有宿主目录

用户组

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

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

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

操作用户命令添加用户命令:useradd

-u 指定组ID(uid)

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

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

-c 用户描述(comment)

-e 失效时间(expire date)

例子:

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

passwd zhangsan

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

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

-g 添加组 usermod -g sys tom

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

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

–U 解锁用户账号(Unlock)

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

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

添加组:groupadd

-g 指定gid

修改组:groupmod

-n 更改组名(new group)

删除组:groupdel

· groups 显示用户所属组

第六章:权限管理

三种基本权限

r 读权限(read)

w 写权限(write)

x 执行权限 (execute)

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

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

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

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

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

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

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

对于文件夹的权限要特别注意:

r = ls ll可操作

w = 可在文件夹中创建和删除

x = cd 进入文件夹

更改操作权限

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

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

例如:chmod u+x a.txt

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

例如:chmod 750 b.txt

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

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

Linux 主要学了 文件管理 用户管理 权限管理 系统管理 其他

第七章: RPM软件包管理

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

RPM命令使用

· rpm的常用参数

i:安装应用程序(install)

e:卸载应用程序(erase)

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

U:升级软件包;(update)

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

结合grep命令使用

· 例子:rmp -ivh gcc-c++-4.4.7-3.el6.x86_64.rpm

YUM命令

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

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

yum install gcc-c++

yum remove gcc-c++

yum update gcc-c++

yum whatprovides 反查命令

压缩包安装

****.tar.gz

这里我们以安装JDK为例:

解压jdk的安装包到指定路径 “/var/lib”

tar -zxvf jdk-8u221-linux-x64.tar.gz -C /var/lib/

配置环境变量

修改 /etc/profile文件

文件后追加如下内容

重新加载环境变量

source /etc/profile

测试安装是否成功

在Liunx下编写一个java小程序

创建java源程序

通过vi编辑器变成java代码

编译java源程序生成java的可执行程序 .class

执行java的第一个小程序

在Linux下写第一个shell 小脚本

创建脚本文件

编写shell脚本

执行脚本

编写python小程序

创建python程序文件

通过vi编辑器编写python代码

执行python脚本