一、简介
1.unix了解
Unix是一个强大的多用户、多任务操作系统。 于1969年在AT&T的贝尔实验室开发。 UNIX的商标权由国际开放标准组织(The Open
Group)所拥有。 UNIX操作系统是商业版,需要收费,价格比Microsoft Windows正版要贵一些。
2.Linux概述
Linux是基于Unix的
Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机,诞生于1991
年10 月5 日。是由芬兰赫尔辛基大学学生Linus Torvalds和后来加入的众多爱好者共同开发完成
3.Linux系统的应用
服务器系统 Web应用服务器、数据库服务器、接口服务器、DNS、FTP等等; 嵌入式系统 路由器、防火墙、手机、PDA、IP
分享器、交换器、家电用品的微电脑控制器等等, 高性能运算、计算密集型应用 Linux有强大的运算能力。 桌面应用系统 移动手持系统
4.Linux版本
Linux的版本分为两种:内核版本和发行版本; 内核版本是指在Linus领导下的内核小组开发维护的系统内核的版本号 ; 发行版本是一些组织和公司根据自己发行版的不同而自定的 ;
Linux的主流版本
5.Linux目录介绍
二、常见命令
1 切换目录命令 change directory
命令 | 解释 |
---|---|
cd app | 切换到app目录 |
cd … | 切换到上一层目录 |
cd / | 切换到系统根目录 |
cd ~ | 切换到用户主目录 |
cd - | 切换到上一个所在目录 |
2 列出文件列表:ls ll (windows下使用dir )
ls(list)是一个非常有用的命令,用来显示当前目录下的内容。配合参数的使用,能以不同的方式显示目录内容。
格式:ls[参数] [路径或文件名]
常用:
在linux中以 . 开头的文件都是隐藏的文件
- ls
- ls -a 显示所有文件或目录(包含隐藏的文件)
- ls -l 缩写成ll
3 创建目录(mkdir)和移除目录(rmdir)
mkdir(make directory)命令可用来创建子目录。
mkdir app
在当前目录下创建app目录
mkdir –p app2/test
级联创建aap2以及test目录
rmdir(remove directory)命令可用来删除“空”的子目录:
rmdir app
删除app目录
rmdir app app2
删除app,app2目录
4 浏览文件
【cat、more、less,tail】
cat
用于显示文件的内容。 格式:cat[参数]<文件名>
cat yum.conf
more
一般用于要显示的内容会超过一个画面长度的情况。按空格键显示下一个画面。回车显示下一行内容。按 q 键退出查看。
more yum.conf
- 空格显示下一页数据 回车显示下一行的数据
less
用法和more类似,不同的是less可以通过PgUp、PgDn键来控制。
less yum.conf
tail
命令是在实际使用过程中使用非常多的一个命令,它的功能是:用于显示文件后几行的内容。
用法:
tail -10 /etc/passwd
查看后10行数据
tail -f catalina.log
动态查看日志(*****)
ctrl+c
结束查看
5 文件操作
rm
删除文件
用法:rm [选项]... 文件...
删除需要用户确认,y/n rm 删除不询问
rm -f a.txt
不询问,直接删除 force
rm 删除目录
rm -r a
递归删除 不询问递归删除(慎用)
rm -rf a
不询问递归删除
rm -rf *
删除所有文件
rm -rf /*
自杀
rm -rf ./*
当前目录
cp复制命令
cp(copy)
命令可以将文件从一处复制到另一处。一般在使用cp命令时将一个文件复制成另一个文件或复制到某目录时,需要指定源文件名与目标文件名或目录。
cp a.txt b.txt
将a.txt复制为b.txt文件
cp a.txt ../
将a.txt文件复制到上一层目录中
mv
移动或者重命名
mv a.txt ../
将a.txt文件移动到上一层目录中
mv a.txt b.txt
将a.txt文件重命名为b.txt
tar
命令:(***** 打包或解压)
tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件。
常用参数:
-c
:创建一个新tar文件
-v
:显示运行过程的信息
-f
:指定文件名
-z
:调用gzip压缩命令进行压缩
-t
:查看压缩文件的内容
-x
:解开tar文件
例如:
打包:tar –cvf xxx.tar ./*
打包并且压缩:tar –zcvf xxx.tar.gz ./*
tar -xvf a.tar -C /opt/ccc
解压到指定的目录下解压
grep命令
用于过滤/搜索的特定字符。可使用正则表达式能多种命令配合使用,使用上十分灵活。
用法: grep [选项]... PATTERN [FILE]...
示例:
grep debug yum.conf
在文件中查找debug
grep debug yum.conf
--color 高亮显示
pwd
显示当前所在目录
touch
创建一个空文件 touch a.txt
ll -h
友好显示文件大小
wget
下载资料
vi 和 vim
在Linux下一般使用vi编辑器来编辑文件。
vi
既可以查看文件也可以编辑文件。
三种模式:命令行、插入、底行模式。
切换到命令行模式:按Esc
键;
切换到插入模式:按 i 、o、a
键;
i 在当前位置生前插入
I 在当前行首插入
a 在当前位置后插入
A 在当前行尾插入
o 在当前行之后插入一行
O 在当前行之前插入一行
退出:退出编辑:esc :q
(如果有编辑没有保存,会有提示)
修改文件:输入i进入插入模式
保存并退出:esc :wq
不保存退出:esc :q!
(强制退出)
快捷键:
dd
– 快速删除一行
R
– 替换
如果在文件中要查找指定的字符串:
/hello 在文件中定位第一个hello出现的位置
重定向输出>和>>
>重定向输出,覆盖原有内容;
>> 重定向输出,又追加功能;
示例:
cat /etc/passwd > a.txt
将输出定向到a.txt中
cat /etc/passwd >> a.txt
输出并且追加
eg:
grep hello bb.txt > b.txt 把bb.txt中的查找的hello结果覆盖到b.txt文件中
管道 |
管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入。
示例
ls --help | more
分页查询帮助信息
ps –ef | grep java
查询名称中包含java的进程
kill -9
进程编号 杀进程
用户和组(******)
命令行用户管理:
whoami
:查看当前登录的身份
groups
查看当前用户所属的组
用户管理: su root
切换到root用户再操作
创建和删除用户:
useradd
用户名 添加用户(设置密码后,用户才能登录)
passwd
用户名 给指定的用户设置密码
userdel
用户名 删除指定的用户 但是用户再home下面的文件夹不会删除
userdel –r
用户名 删除指定用户并且彻底删除对应的home文件夹
用户组管理:
groupadd g1
:添加用户组
groupdel g1
: 删除用户组
groupmod
:删除用户组属性
修改用户属性:
usermod –g g1 jack
: 将用户jack的组改为1组
usermod –g g1,g2
jack给jack添加到两个组中
注意:
每个用户至少属于一个用户组
每个用户组可以包含多个用户
同一个用户组的用户享有该组共有的权限
6.文件 权限
第一位:文件类型(d:目录,-:普通文件,|:链接文件)
第二-四位:所属用户权限,用u(user)表示
第五-七位:所属组权限,用g(group)表示
第八-十位:其他用户权限,用o(other)表示
第二-十位:表示所有的权限,用a(ALL)表示
r:读 w:写 x:执行
-rwxrw-r--
表示的信息是:一个文件所属用户具有的读写执行权限
所属的用户组有读写权限,没有执行权限 其他用户只有读权限
用数字表示权限:
(r=4,w =2,x=1, - =0)
r w x (分别是:读 写 执行 权限)
4 2 1
那么:rwx:用二进制表示是:111 十进制是:4+2+1 = 7
r-x 用二进制:101 十进制就是4+0+1=5
rw-: 110 6
-wx:011 3
权限管理
chmod
命令
变更文件或目录的权限(u=user(当前用户) g = group(用户所属的组) o = other(其他组)a=all(所有))
chmod 755 hello.txt
修改hello.txt的权限为:所属用户可读可写可执行,所属组可读可执行,其他用户可读可执行
chmod 765 hello.txt
修改hello.txt的权限为:所属用户可读可写可执行,所属组可读可写,其他用户可读可执行
chmod u=rwx,g=rw,o=rw hello.txt
修改hello.txt的权限为:所属用户可读可写可执行,所属组可读可写,其他用户可读可写
chmod u-x hello.txt
去除该用户的可执行权限
chmod u+x a.txt
添加该用户的可执行权限
chmod o+x a.txt
给其他用户添加可执行权限
chmod a+w a.txt
给所有用户添加可写的权限
chown
:改变文件的拥有者和群组
chown jack a.txt
代表将a.txt交给jack用户操作
chown –R jack a:
改变目录中所有子目录及文件的所属用户和组
常见系统管理
实际工作中:不要轻易使用su 切换到root用户身份
普通用户使用sudo来执行root权限的命令
例如:user$ sudo useradd jack 在user用户下新建用户
sudo passwd peter
要完成上述步骤需:
su root
ls –l /etc/sudoers
chmod 755 /etc/sudoers
vi /etc/sudoers
/root (操作:搜索root在哪一行 n:下一个位置 )
root ALL=(ALL) ALL
user ALL=(ALL) ALL
esc键
:wq!:保存退出
su: 切换用户
sudo:执行root用户的命令
其他命令
reboot
重启命令
shutdown –h
关机不重启
shutdown –r
关机后立即重启
ifconfig 或者ip addr 查看ip
启用:ifconfig eth0 up
禁用:ifconfig eth0 down
ping :查看网络是否连通
关闭防火墙:
centos 6
service iptables stop
sudo chkconfig iptables off
centos7
systemctl stop firewalld.service
#停止
systemctl disable firewalld.service
#禁用开机启动
防火墙操作
1、查看firewall服务状态
systemctl status firewalld
2、查看firewall的状态
firewall-cmd --state
3、开启、重启、关闭、firewalld.service
服务
开启service firewalld start
重启service firewalld restart
关闭service firewalld stop
4、查看防火墙规则
firewall-cmd --list-all
5、查询、开放、关闭端口
查询端口是否开放 firewall-cmd --query-port=8080/tcp
开放80端口firewall-cmd --permanent --add-port=80/tcp
移除端口firewall-cmd --permanent --remove-port=8080/tcp
重启防火墙(修改配置后要重启防火墙)firewall-cmd --reload
参数解释
1、firwall-cmd
:是Linux提供的操作firewall的一个工具;
2、--permanent
:表示设置为持久;