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脚本