微服务学习--Linux
Linux概述
Linux 是一种自由和开放源码的类 UNIX 操作系统,使用 Linux 内核。
严格来讲,Linux 这个词本身只表示 Linux 内核,通常情况下,Linux 被打包成供桌上型电脑和服务器使用的 Linux 发行版本。
目前市面上较知名的发行版有:Ubuntu
、RedHat、CentOS
、Debian、Fedora、SuSE、OpenSUSE、TurboLinux、BluePoint、RedFlag、Xterm、SlackWare等。
Linux目录结构
目录 | 说明 |
bin | 存放二进制可执行文件(ls,cat,mkdir等) |
boot | 存放用于系统引导时使用的各种文件 |
dev | 用于存放设备文件 |
etc | 存放系统配置文件 |
home | 存放所有用户文件的根目录 |
lib | 存放跟文件系统中的程序运行所需要的共享库及内核模块 |
mnt | 系统管理员安装临时文件系统的安装点 |
opt | 额外安装的可选应用程序包所放置的位置 |
proc | 虚拟文件系统,存放当前内存的映射 |
root | 超级用户目录 |
sbin | 存放二进制可执行文件,只有root才能访问 |
tmp | 用于存放各种临时文件 |
usr | 用于存放系统应用程序,比较重要的目录/usr/local 本地管理员软件安装目录(自己安装的软件,必须放到/usr/local目录下) |
var | 用于存放运行时需要改变数据的文件 |
Linux常用命令-- 操作文件目录
操作命令 --help 可以查看该命令的帮助文档
ll--显示文件和目录列表 注:只有管理员可用
ls--显示文件和目录列表
参数:-l 列出文件的详细信息
-a 列出当前目录所有文件,包含隐藏文件
mkdir--创建目录
参数:-p 父目录不存在情况下先生成父目录
语法:mkdir -p name
cd--切换目录
touch--创建一个空文件
echo--生成一个带内容的文件
语法:echo 内容 > 文件名
echo 内容 >>文件名
注:> 表示创建文件并写入内容
>> 表示追加内容
cat--显示文本文件内容
语法:cat 文件名
cp--复制文件或目录
语法:cp 文件名 目录
rm--删除文件
参数:-f 强制删除文件或目录
-r 同时删除该目录下的所有文件(递归删除)
语法:rm -fr 目录名
mv--移动文件或目录
语法:mv 文件名 目录
find--在文件系统里查找指定文件
参数:-name 文件名
语法:find -name 文件名
grep--在指定的文本文件中查找指定的字符串
语法:grep 字符串 文件名(字符串区分大小写)
tree--用于以树状图列出目录的内容
ln--建立软连接(相当于快捷方式)
语法:ln 建立软连接的位置 目标
more--分页显示分本文件内容
语法:more 文件名
head--显示文件开头内容
语法:head 文件名
tail--显示文件结尾内容
参数:-f 跟踪输出
语法:tail -f 文件名
pwd--查看当前所在位置
Linux常用命令--系统管理命令
stat--显示指定文件的相关信息 (比ls命令显示的信息更多)
语法:stat 文件名
who--显示在线登录用户
hostname--显示主机名称
uname--显示系统信息
top--显示当前系统中耗费资源最多的进程
ps--显示瞬间的进程状态 (可以显示出进程号)
du--显示指定文件(目录)已使用的磁盘空间的总量
参数:-h 显示换算过后的总量(M、G)
语法:du -h 目录
df--显示文件系统磁盘空间的使用情况
参数:-h 显示换算过后的总量(M、G)
free--显示当前内存和交换空间的使用情况
参数:-h 显示换算过后的总量(M、G)
ifconfig--显示网络接口信息
ping--测试网络的连通性
netstat--显示网络状态信息
clear--清屏
sudo--临时获取管理员权限
sudo passwd root--设置root账户密码
su--切换账户
kill--杀死一个进程
参数:-9 彻底杀死
语法:kill -9 进程号
reboot--重启命令 (必须用管理员权限)
shutdown--可以用来重启,也可以用来关机
参数:-t seconds 设定几秒后关机
-k 讲关机警告信息传送给所有使用者 (并不会真的关机)
-r 重启
-h 关机
-n 不采用正常程序来关机,用强迫的方式杀掉所有执行中的程序后自行关机
-c 取消目前已经进行中的关机动作
-f 关机时,不做 fcsk 动作(检查 Linux 档系统)
-F 关机时,强迫进行 fsck 动作
time 设定关机的时间
message 传送给所有使用者的警告讯息
常用:shutdown -r now 重启
shutdown -h now 关机
Linux常用命令--压缩命令
tar 参数:(常用)
-c 创建压缩文件
-x 解压缩文件
-z 使用gzip压缩
-j 使用bzip2压缩
-v 压缩的过程中显示文件
-f 使用文件名,在f后要立即加文件名
-tf 查看归档里面的文件
常用:
tar -zcvf test.tar.gz(文件名) test\ (要压缩的目录/文件) -->压缩
tar -zxvf test.tar.gz -->解压
gzip 参数:
-d 解压缩
-l 对每个压缩文件,显示压缩文件的大小,未压缩文件的大小,压缩比,未压缩文件的名字
-v 对每一个压缩和解压的文件,显示文件名和压缩比
-num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6
bzip2 参数:
-d 解压缩
-z 压缩参数
-num 用指定的数字num调整压缩的速度,-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比)。系统缺省值为6
Linux自带编辑器--vim vi 文件名
运行模式:
编辑模式:等待编辑命令输入
插入模式:编辑模式下,输入 i 可进行插入模式,插入文本信息
命令模式:在编辑模式下,输入:进行命令模式
命令:
:q:直接退出vim
:wq:保存后退出vim,并可以新建文件
:q!:强制退出
:w file:将当前内容保存成某个文件
:set number:在编辑文件中显示行号
:set nonumber:在编辑文件中不显示行号
按两次D:清空内容
Linux自带编辑器--nano nano 文件名
nano 是一个字符终端的文本编辑器,有点像 DOS 下的 editor 程序。它比 vi/vim 要简单得多,比较适合 Linux 初学者使用。某些 Linux 发行版的默认编辑器就是 nano。
命令:
Ctrl+o:保存
Ctrl+w:搜索
Ctrl+y:上一页
Ctrl+v:下一页
Ctrl+x:退出
Linux修改数据源
由于国内的网络环境问题,我们需要将 Ubuntu 的数据源修改为国内数据源。
查看系统版本(codename为系统版本)
lsb-release -a
编辑数据源:
vi etc/apt/sources.txt
删除全部内容(double D)并修改(Shift+INSERT)为
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
更新数据源
apt-get update
Linux安装/卸载软件--常用APT命令
(sudo) apt-get install packgename:安装软件
(sudo) apt-get remove packagename:卸载软件
(sudo) apt-get remove packagename --purge:删除软件包及配置文件
(sudo) apt-get update:更新软件
(sudo) apt-get upgrade:升级有可用更新的系统(慎用)
Linux其他APT命令
apt-cache search package:搜索
apt-cache show package:获取包信息
apt-cache depends package:了解使用依赖
apt-cache rdepends package:查看被哪些包依赖
apt-get build-dep package:安装相关的编译环境
apt-get source package:下载源代码
apt-get clean && apt-get autocleac 清理无用的包
apt-get check 检查是否有损坏的依赖
Linux允许root远程登录
编辑文件/etc/ssh/sshd_config
# Authentication: LoginGraceTime 120 #PermitRootLogin without-password //注释此行 PermitRootLogin yes //加入此行 StrictModes yes
重启SSH服务
service ssh restart
Linux文件权限管理
ll/ls -al显示的信息包括(d:目录、-:普通文件、l:链接文件)、文件权限(1-3组的权限、4-6用户的权限、7-9其他用户的权限)
文件权限
r:读 w:写 x:可执行 -:没有权限
更改操作权限
chown--改变文件或目录的所有者
chown [-R] 用户名 文件或目录
-R:进行递归式
-R:进行递归式的权限更改,将目录下的所有文件、子目录更新为指定用户组权限
chmod--改变访问权限
chmod who -/+/= 权限 文件名
数字设定法
0:没有权限
1:可执行权限(x)
2:可写权限(w)
4:可读权限(r)
例如:chmod 777 text.txt