title: Linux系统不完全手册
date: 2019-11-15 16:30:21
categories:
- Linux
- Linux系统
tags: - Linux
- 基础知识
description: Linux基础总结,包含常用命令,文件结构,vi的简单介绍。
Linux基础总结
一切皆文件
每个硬件都是一种文件,都有一个文件名。
磁盘文件名一般有两种:实体设备文件名为/dev/sd[a-p]
,虚拟机为/dev/vd[a-p]
安装
虚拟机安装
推荐文章:centos_7.4下载安装
Windows子系统(Ubuntu)
推荐文章:win10开启linux子系统及简单设置
注:首次进入root用户,可能有Authentication failure(认证失败)。则此时root用户未激活,可使用以下命令:
sudo passwd (回车)
//输入登录密码
//设置root密码
passwd: password updated successfully
购买成品
阿里云,腾讯云购买云服务器即可,即开即用。
文本模式基本概念(bash)
格式
类似Windows的命令提示符。形式为:command [-options] param1,param2
。
注:一般情况下,指令选项中单个字母带一个’-‘符号,如:’-h’;多个字母带两个’–‘符号,如:’–help’。
[Enter]
键启动指令。如果指令太长,可以反斜杠\切到下一行。
Linux的严格区分大小写的。
基本指令及操作
显示时间:data +%Y/%m/%d(参数可省略)
显示日历:cal 5 2018(参数可省略)
几个快捷键
[Tab]
键:命令补全,文本提示。双击[Tab]
可有提示。
[Ctrl+c]
:终止当前运行的程序
[Ctrl+d]
:结束当前输入,或可代替’exit’作退出用。
[shift + ↑|↓方向键]
:翻页
[command] --help
:显示帮助信息。
man [command]
:显示详尽帮助信息。
关机操作
在关机前应当确保文件数据等已正常保存。
由于部分数据会暂存在内存上,以加快程序运行。故,在关机前,可使用sync
指令,将数据保存到硬盘。一般,shutdown
指令等,会自动执行。
shutdown
:关机相关指令。通常需root权限。形式如下:
shutdown [-krhc] [时间] [警告信息(str)]
参数介绍:
-k : 实际不关机,只发生警告信息
-r : 重新启动
-h : 关机
-c : 取消进行中的shutdown操作
[时间] : 设定关闭时间
e.g.
shutdown -h 10 '关机' // 10分钟后立即关机
文件权限
使用者与群组
针对文件的访问权限,划分成:使用者user,群组group,其他人other
系统中各种账号和文件使用者信息被保存在/etc/passwd
中,而它们其对应的密码被保存在etc/shadow
中,所有的组名被保存在etc/group
中。
文件属性
使用su身份,键入ls -al
命令可获取当前文件夹内文件的属性。内容如下图所示:
含义
按照空格,可分为七部分:【文件类型权限】【硬链接个数】【文件属主】【文件属组】【文件或目录大小(bytes)】【文件修改时间】【文件名】
文件类型及权限
其中第二列由’-'和’rwx’字母构成,代表文件类型和权限。
第一个字母代表文件类型:
- ‘d’:文件目录(文件夹)
- ‘-’:文件
- ‘l’: 链接文件(类似快捷方式)
- ‘b’: 设备文件里的可供存储的接口设备
- ‘c’: 表示设备文件里的串行端口设备,如键盘鼠标等一次性读取设备·
后九个字母按顺序代表相关使用者权限,’-'代表无该权限。
修改文件属性和权限
三个常用指令
chgrp
:改变文件或目录属组。
chown
:改变文件或目录属主或属组。
chmod
:改变文件权限,如SUID,SGID等。
chgrp与chown
修改后的属主和属组必须是/etc/passwd
或etc/group
中存在的名称。
添加[-R]
选项可以执行‘递归’操作,将次级目录和文件都变更。
\\ e.g.
chgrp -R group file
chown -R username:user_group folder
chmod:修改权限
- 数字表示方法:
r:4
,w:2
,x:1
形式如下:chmod [-R] xyz file_folder
将权限代表的数字计算和,通过和,即可知该使用者的权限。如下:
owner = rwx = 4+2+1 =7
group = r-x = 4+0+1 =5
others= — = 0+0+0 =0
则该文件权限可表示为:750
指令为:chmod 750 test.txt
- 符号表示方法:
形式如下:chmod [-R] mode file
mode,权限设定字串,格式如下 :[ugoa][[+-=][rwx][,...]
其中:u代表使用者(user);g代表群组(group);o代表其他使用者(other);a代表所有使用者(all)
//e.g.
chmod ugo+r file1.txt # 给所有使用者添加读权限
chmod ugo-r file1.txt #给所有使用者去除读权限
chmod ugo=r file1.txt #给所有使用者只赋予读权限
chmod ug+w,o-w file1.txt file2.txt #将文件 file1.txt 与 file2.txt 设为该文件拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入
权限rwx具体含义
对于文件来说,rwx即代表可读、可写(不含删除文件权限)、可执行的权限。
对于目录(文件夹)来说,r代表读取目录下的文件结构(列表),w代表修改目录下的文件结构(如:修改文件名,删除文件,等),x代表可以进入该目录内进行其他操作。
文件的相对路径与绝对路径
绝对路径:由根目录(/)开始写的path。
相关路径:相对与当前路径写的path,不是以‘/’开头的路径写法。
如:cd ../var/log
就是相对路径,其中‘/’之前的’…‘代表上级目录;’./'代表当前目录。
文件及目录的管理
注意:Linux 所有的 目录 和 文件名 都是大小写敏感的
切换目录
cd
: 变换目录;~
切换到当前用户的主目录(/home/用户目录)
pwd
: 显示当前目录
tree
: 以树状图列出文件目录结构(需要安装tree包:yum -y install tree
)
创建与删除
mkdir
:建立新目录;添加[-p]
选项可以递归创建多层文件夹
touch
: 如果文件不存在,新建文件;如果存在,可以更新文件修改日期
rmdir
: 删除空目录
rm
:删除指定文件名;-f
强制删除文件,无需提示;-r
递归的删除目录下的文件,删除文件夹时必须添加此参数
复制与移动文件
cp [源文件] [目标文件]
:复制文件或目录;-i
:覆盖文件前提示;-r
:递归复制源文件夹
mv [源文件] [目标文件]
: 移动文件或者目录,文件或者目录重命名;-i
:覆盖文件前提示
clear
: 清屏
查看文件内容
cat
: 一次性显示所有文件内容,写入内容。-b
对非空输出行编号;-n
对所有输出行编号。
more
: 分屏显示文件内容,每次只显示一页内容
grep
: 对文本模式查找(regex);-n
显示匹配行及行号;-v
搜索结果求反;-i
忽略大小写
其他
echo
显示参数指定的文字,常与重定向联合使用
重定向>
与>>
>
表示输出,会覆盖文件原有的内容>>
表示追加,会将内容追加到已有文件的末尾
e.g.
# 将 echo 输出的信息保存到 1.txt 里
echo Hello Python > 1.txt
# 将键入文字,保存到目标文件
cat >2.tet <<EOF # 以EOF表示键入结束
# 将 tree 输出的信息追加到 1.txt 文件的末尾
tree >> 1.txt
|
管道
将 一个命令的输出 可以通过管道 做为 另一个命令的输入。
常用的管道命令有:
more
:分屏显示内容
grep
:在命令执行结果的基础上查询指定的文本
示例:
# 使用 more 查看 ls 输出的内容
ls -alh | more
# 使用 grep 过滤 ls 输出的内容
ls -alh | grep D
其他命令
find
find [路径] -name "文件名"
: 在特定的目录下搜索符合条件的文件,忽略路径则在当前目录查找;可以使用通配符模式匹配。
软链接
ln -s [被链接的源文件] [链接文件]
:类似win的快捷方式
打包解包
tar -cvf [打包文件.tar] [被打包的文件/路径...]
打包文件
tar -xvf [打包文件.tar]
解包文件
选项 | 含义 |
---|---|
-c | 生成档案文件,创建打包文件 |
-x | 解开档案文件 |
-v | 列出归档解档的详细过程,显示进度 |
-f | 指定档案文件名称,f 后面一定是 .tar 文件,所以必须放选项最后 |
压缩解压
tar
与 gzip
命令结合可以使用实现文件 打包和压缩
tar 只负责打包文件,但不压缩。用 gzip 压缩 tar 打包后的文件,其扩展名一般用 xxx.tar.gz。在 Linux 中,最常见的压缩文件格式就是 xxx.tar.gz
在 tar
命令中有一个选项 -z
可以调用 gzip,以实现解压缩
命令格式如下:
# 压缩文件
tar -zcvf [打包文件.tar.gz] [被压缩的文件/路径...]
# 解压缩文件
tar -zxvf [打包文件.tar.gz]
# 解压缩到指定路径
tar -zxvf [打包文件.tar.gz] -C [目标路径(必须已存在)]
vi编辑器
三种工作模式:命令模式,文本输入模式,末行模式
打开VIM
命令 | 说明 |
---|---|
vi | 直接进入 |
vi [文件名] | 打开或新建文件,并将光标置于第一行首 |
vi +n [文件名] | 打开文件,并将光标置于第n行首 |
vi + [文件名] | 打开文件,并将光标置于最后一行首 |
vi +/pattern [文件名] | 打开文件,并将光标置于第一个与pattren匹配的串处 |
vi -r [文件名] | 打开上次异常退出vi时的文件:.filename.swp |
进入文本输入模式
i: 插入光标前一个字符
I: 插入行首
a: 插入光标后一个字符
A: 插入行未
o: 向下新开一行,插入行首
O: 向上新开一行,插入行首
进入命令模式
ESC
:从插入模式或末行模式进入命令模式
进入末行模式
在命令模式下,用户按“:”键即可进入末行模式
退出
:q 退出
:q! 退出并不保存
:w 保存
:wq 保存并退出
:x 保存并退出
注意:当vi命令后没有文件名时,是无法实现
:wq
退出保存的,那么可以用:wq [文件名]
保存。
当vim异常退出时,系统会建立.file.swp缓存文件,这个文件中保存着没有:wq
动作保存的信息
查找
/
查找str;n/N
上下选择
执行shell命令
!
执行shell命令
O: 向上新开一行,插入行首
进入命令模式
ESC
:从插入模式或末行模式进入命令模式
进入末行模式
在命令模式下,用户按“:”键即可进入末行模式
退出
:q 退出
:q! 退出并不保存
:w 保存
:wq 保存并退出
:x 保存并退出
注意:当vi命令后没有文件名时,是无法实现
:wq
退出保存的,那么可以用:wq [文件名]
保存。
当vim异常退出时,系统会建立.file.swp缓存文件,这个文件中保存着没有:wq
动作保存的信息
查找
/
查找str;n/N
上下选择
执行shell命令
!
执行shell命令