Linux文件权限 出炉啦, 快进来学习收藏吧!
前言
这是我听老师讲课做的笔记,考试要看的。 这是视频地址
作者:RodmaChen
关注我的csdn博客,更多Linux笔记知识还在更新
@TOC
一.强大好用的Shell
我们都知道windows 有dos输入命令,Linux的输入命令是什么呢?没错!就是shell
1.1 什么是shell
- 计算机硬件是由运算器、控制器、存储器、输入/输出设备等共同组成的,而让各种硬件设备各司其职且又能协同运行的东西就是系统内核。
- Linux系统的内核负责完成对硬件资源的分配、调度等管理任务。由此可见,系统内核对计算机的正常运行来讲是太重了,因此一般不建议直接去编辑内核中的参数,而是让用户通过基于系统调用接口开发出的程序或服务来管理计算机,以满足日常工作的需要。
- Shell就是这样的一个命令行工具。
- **Shell(也称为终端或壳)**充当的是人与内核(硬件)之间的翻译官,用户把一些命令“告诉”终端,它就会调用相应的程序服务去完成某些工作。
- 现在包括红帽系统在内的许多主流Linux系统默认使用的终端是Bash(Bourne-Again SHell)解释器。
1.2 bash介绍
- bash 是一个为GNU计划编写的Unix shell。它的名字是一系列缩写:Bourne-Again Shell 。
- Bourne shell是一个早期的重要shell,由史蒂夫·伯恩在1978年前后编写,并同Version 7 Unix一起发布。bash则在1987年由布莱恩·福克斯创造。
功能
(1)命令行编辑功能
(2)命令和文件名补全功能
(3)命令历史功能
(4)命令别名功能
(5)提供作业控制功能
(6)具有将命令序列定义为功能键的功能
(7)灵活的Shell脚本编程
二.执行查看帮助命令
2.1 Linux命令格式
Linux系统中已经有了Bash这么好用的“翻译官”,那么接下来就有必要好好学习下怎么跟它沟通了。要想准确、高效地完成各种任务,仅依赖于命令本身是不够的,还应该根据实际情况来灵活调整各种命令的参数。
Linux命令格式由三部分组成:命令名称,命令选项,命令参数。
命令参数一般是指要处理的文件、目录、用户等资源。
命令选项可以用长格式(完整的选项名称),也可以用短格式(单个字母的缩写),两者分别用
--
与-
作为前缀。
2.2 Linux命令中的其他组成
- 命令提示符是在操作系统中,提示进行命令输入的一种工作提示符。在不同的操作系统环境下,命令提示符各不相同。
- 在Linux环境中,输入界面中的如下所示是命令提示符,表示命令输入的状态。
- [当前用户账号@当前主机名 路径最后一个目录 ] #或者$
- 管理员root用户的提示符“#”
[root@localhost ~]#
- 普通用户提示符“$”
[teacher@localhost ~] $
- 命令的各组成部分之间用空格分隔
- 命令的输入以回车键结束
- 一般一行输入一条命令
- 命令区分大小写
- 如果命令过长,可以输入“\”符号进行换行继续输入
2.3 Linux帮助命令
- help命令
用于显示shell内部命令的帮助信息:
(1)$ help pwd
(2)“–help”命令选项
(3)$touch --help
- man命令
$ man ls
- 使用man命令阅读手册页
- man指令可以查看Linux中的指令帮助、配置文件帮助和编程帮助等信息
三.常用系统工作命令
1.echo命令
echo
命令用于在终端输出字符串或变量提取后的值,格式为 “echo [字符串 | $变量]” 。- 例如,把指定字符串“Linux”输出到终端屏幕的命令为:
[root@linux ~]# echo Linux
- 该命令会在终端屏幕上显示如下信息:
Linux
2.date命令
- date命令用于显示及设置系统的时间或日期,格式为“date [选项] [+指定的格式]”。
- 只需在强大的date命令中输入以“+”号开头的参数,即可按照指定格式来输出系统的时间或日期,这样在日常工作时便可以把备份数据的命令与指定格式输出的时间信息结合到一起。
3.reboot命令
- reboot命令用于重启系统,其格式为reboot。
- 由于重启计算机这种操作会涉及硬件资源的管理权限,因此默认只能使用root管理员来重启,其命令如下:
[root@linux ~]# reboot
5.ps命令
- ps命令用于查看系统中的进程状态,格式为“ps [选项]”。
- 常用选项:
-a
显示所有进程(包括其他用户的进程)-u
用户以及其他详细信息-x
显示没有控制终端的进程
如果把所有的选项全部带上的话,结果如下:
解析:
6.top命令
- top命令用于动态地监视进程活动与系统负载等信息,其格式为top。
- top命令相当强大,能够动态地查看系统运维状态,完全将它看作Linux中的“强化版的Windows任务管理器”。
四.系统状态检测命令
概述:
作为一名合格的运维人员,想要更快、更好地了解Linux服务器,必须具备快速查看Linux系统运行状态的能力,接下来会讲解与网卡网络、系统内核、系统负载、内存使用情况、当前启用终端数量、历史登录记录、命令执行记录以及救援诊断等相关命令的使用方法。
1.ip addr命令
- ip addr命令用于获取网卡配置与网络状态等信息。
- 使用Ip addr命令来查看本机当前的网卡配置与网络状态等信息时,其实主要查看的就是网卡名称、inet参数后面的IP地址、ether参数后面的网卡物理地址(又称为MAC地址):
2.uname命令
uname命令用于查看系统内核与系统版本等信息,格式为“
uname [-a]
”。在使用uname命令时,一般会固定搭配上-a参数来完整地查看当前系统的内核名称、主机名、内核发行版本、节点名、系统时间、硬件名称、硬件平台、处理器类型以及操作系统名称等信息。
3.uptime命令
- uptime用于查看系统的负载信息,格式为uptime。
- uptime命令可以显示当前系统时间、系统已运行时间、启用终端数量以及平均负载值等信息。平均负载值指的是系统在最近1分钟、5分钟、15分钟内的压力情况;负载值越低越好,尽量不要长期超过1,在生产环境中不要超过5。
4.free命令
- free用于显示当前系统中内存的使用量信息,格式为“
free [-h]
”。- 为了保证Linux系统不会因资源耗尽而突然宕机,运维人员需要时刻关注内存的使用量。在使用free命令时,可以结合使用
-h
参数以更人性化的方式输出当前内存的实时使用量信息。
5.who命令
- who用于查看当前登入主机的用户终端信息,格式为“who [选项]”。
- 这三个简单的字母可以快速显示出所有正在登录本机的用户的名称以及他们正在开启的终端信息。
6.last命令
- last命令用于查看所有系统的登录记录,格式为“last [选项]”。
- 使用last命令可以查看本机的登录记录。但是,由于这些信息都是以日志文件的形式保存在系统中,因此黑客可以很容易地对内容进行篡改。千万不要单纯以该命令的输出信息而判断系统有无被恶意入侵!
7.history命令
-c
: 清空历史命令
-w
: 把缓存中的历史命令写入历史命令保存文件~/.bash_history历史命令默认会保存1000条,可以在环境变量配置文件/etc/profile中进行修改
历史命令的调用
- 使用上、下箭头调用以前的历史命令
- 使用“
!n
”重复执行第n条历史命令- 使用“
!!
”重复执行上一条命令- 使用“ !字串”重复执行最后一条以该字符串开头的命令
五.文件管理常用命令
5.1 工作目录切换命令
- pwd命令:用于显示用户当前所处的工作目录
格式为:”pwd [选项]”
- cd命令:用于切换工作路径。
语法格式: cd 目录路径
(1)cd:直接回到用户主目录**
(2)“cd ~
”命令:切换到当前用户的家目录**
(3)“cd ..
”命令:进入上级目录
(4)“cd -
”命令:返回到上一次所处的目录
cd命令路径的表示:
(1)相对路径是以“.”或“…”开始的目录路径表示形式 cd ./test
(2)绝对路径是以“/”开始的路径表示形式cd /home
- ls命令:当前目录下的所有内容
命令格式:ls [选项] [文件]
命令选项:
(1)-t: 按照修改时间排列显示
(2)-a:看到全部文件(包括隐藏文件)
(3)-l: 可以查看文件的属性、大小等详细信息
5.2 文件文本管理命令
- cat命令:用于查看纯文本文件(内容较少的)
语法格式:cat [-AbeEnstTuv] [–help] [–version] 文件名称
常用选项:-n
或 --number
由 1 开始对所有输出的行数编号
直接输入cat
会进入交互模式,输入什么内容就会显示什么内容
Ctrl+c
强制中断命令执行 Ctrl+d
退出
输入cat >file1.txt可以把内容写入到file1.txt文件中,也会进入输入模式。 Ctrl+d保存退出
- more命令:查看更多纯文本文件
(1)space:下一页
(2)回车:向下滚动
(3)B键:往回一页
(4)Q键:停止显示
-
less命令:可以使用pageup pagedown 翻页查看文件内容
-
head命令:显示头部内容(默认十行)
-
tail -n命令:显示尾部内容。
-n
用数字来指定显示的行数。 -
wc命令:统计数目 -l行数 -w字数 -c字节数
-
cut命令:分割
-
diff命令:比较两个文件内容的不同
5.3 文件目录管理命令
-
file命令:查看文件类型 格式:“file 文件名”
-
touch命令:创建空白文件,设置文件时间
格式:touch [选项] 文件或目录名 -d “日期” 文件名
-
mkdir命令:创建目录
-
rmdir命令:删除目录
-
cp命令:拷贝文件或目录
命令语法:cp [选项] 源文件 目标文件
列:将test文件拷贝到home目录下
6. rm命令:rm命令用于删除文件或目录。想要删除目录,需要在rm命令后面一个**-r**参数,-f
是强制删除。
7. mv命令:重命名文件
六.打包压缩与搜索命令
6.1 介绍
- 在Windows下最常见的压缩文件就只有两种,一是
.zip
,另一个是.rar
。可是Linux就不同了,它有.gz、.tar.gz、tgz bz2、.Z、.tar
等众多的压缩文件名,此外windows下的.zip和.rar也可以在Linux下使用,不过在Linux使用.zip和.rar的人就太少了。tar
是linux常见的一种归档文件,打包文件,不包括压缩的功能。他只消耗非常少的CPU以及时间去打包文件。tar.gz
是linux中使用得最多的压缩格式,这种格式一般是先归档然后再压缩,它在压缩时不会占用太多的cpu,而且压缩比率理想。tar.bz2
是linux中压缩率最好的压缩格式,但是,压缩率好就意味这要消耗更多的cpu时间。
6.2 Linux打包压缩命令
1.tar命令
tar命令用于对文件进行打包压缩或解压,tar命令可以把一系列的文件归档到一个大文件中,也可以把档案文件解开以恢复数据。
命令语法:tar [选项] 档案文件 文件列表
常用选项:
-c
:生成档案文件。
-v
:列出归档解档的详细过程。
-f
:指定档案文件名称。
-r
:将文件追加到 档案文件末尾。
-z
:以gzip格式压缩或解压缩文件。
-j
:以bzip2格式压缩或解压缩文件。
-t
:查看内容。
-x
:解开档案文件。
实例一:将整个 /etc
目录下的文件全部打包成为 /tmp/etc.tar
[root@linux ~]# tar -cvf /tmp/etc.tar /etc <== 仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/etc.tar.gz /etc <== 打包后,以 gzip 压缩
[root@linux ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <== 打包后,以 bzip2 压缩
- 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。
- 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file
- 如果加 j 参数,则以 .tar.bz2 来作为附档名
实例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?
[root@linux ~]# tar -ztvf /tmp/etc.tar.gz
- 由於我们使用
gzip
压缩,所以要查阅该tar file
内的文件时,- 就得要加上
z
这个参数了!这很重要的!
实例三:将 /tmp/etc.tar.gz 文件解压缩在 /usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/etc.tar.gz
- 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说
- 我先将工作目录变换到
/usr/local/src
底下,并且解开/tmp/etc.tar.gz
- 则解开的目录会在
/usr/local/src/etc
,另外,如果您进入/usr/local/src/etc
- 则会发现,该目录下的文件属性与
/etc/
可能会有所不同喔!
6.4 Linux搜索命令
1.find命令
命令语法:
find pathname -options 参数
(pathname: find命令所查找的目录路径)
选项参数:
-name
按照文件名查找文件。-user
按照文件属主来查找文件-group
按照文件所属的组来查找文件。- 查找过程可以使用通配符 ,
*
表示多位字符,?
表示一位字符
** 实例一** :
[root @localhost /root]#find / -name passwd
从根目录起查找名为passwd的文件,并把结果输出到标准设备。
[root @localhost /root]#find /home /etc –user longkey
在目录/home和目录/etc中查找longkey用户所拥有的文件。
实例二:
查找文件名中包含某字符(如"elm")的文件
find /home/ -name ‘*elm*‘ 中间包含elm的文件
find /home/ -name ‘elm*‘ 以elm开头的文件
find /home/ -name ‘*elm‘ 以elm结尾的文件
find /home/ -name ‘elm?' 以elm开头的4字符名称的文件
2.grep命令
grep命令用于在文本中执行关键词搜索,并显示匹配的结果。
命令语法:
grep [参数] 要查找的字符串 文件名
参数选项:
-v
:反向选择,仅列出没有“关键词”的行。-c
:仅显示找到的行数-i
:不区分大小写。-b
: 将可执行文件(binary)当作文本文件(text)来搜索-n
:每个匹配行只按照相对的行号显示。
3.whereis命令
whereis命令用来寻找命令的可执行文件所在的位置。
**命令语法:**whereis [参数] 命令名称
参数选项:
-b
: 只查找二进制文件。-m
:只查找命令的联机帮助手册部分。-s
:只查找源代码文件。
4.whatis命令
whatis命令whatis命令用于获取命令简介。
命令语法:whatis 命令名称
七.重定向与管道符
7.1 输入输出重定向
-
输入重定向是指把文件导入到命令中
-
输出重定向则是指把原本要输出到屏幕的数据信息写入到指定文件中
-
在日常的学习和工作中,相较于输入重定向,我们使用输出重定向的频率更高,所以又将输出重定向分为了标准输出重定向和错误输出重定向两种不同的技术,以及清空写入与追加写入两种模式。
(1)标准输入重定向(STDIN,文件描述符为0):默认从键盘输入
(2)标准输出重定向(STDOUT,文件描述符为1):默认输出到屏幕。
(3)错误输出重定向(STDERR,文件描述符为2):默认输出到屏幕。
- 如下图所示,查看正常的一个文件,能够显示出来具体的信息,而查看一个错误的文件,会提示错误的信息。要想把原本输出到屏幕上的数据转而写入到文件当中,就要区别对待这两种输出信息
输入重定向相对来说有些冷门,在工作中遇到的概率会小一点。输入重定向的作用是把文件直接导入到命令中。接下来使用输入重定向把readme.txt
文件导入给wc -l
命令,统计一下文件中的内容行数。
[root@linuxprobe ~]# wc -l < readme.txt
2
- 将命令输出重定向到文件
将标准输出重定向到文件
$ ls /etc/ > etcdir
将标准输出重定向追加到文件
$ ls /etc/sysconfig/ >> etcdir
将错误输出重定向到文件
$ nocmd 2> errfile
将标准输出和错误输出重定向到文件
$ ls afile bfile &> errfile
7.2 管道符
管道命令符的作用也可以用一句话来概括“把前一个命令原本要输出到屏幕的标准正常数据当作是后一个命令的标准输入”,同时按下键盘上的Shift+\键即可输入管道符,其执行格式为“命令A | 命令B|命令C|…”。
这个管道符就像一个法宝,我们可以将它套用到其他不同的命令上,比如用翻页的形式
查看/etc
目录中的文件列表及属性信息。
通配符就是通用的匹配信息的符号,比如星号(*
)代表匹配零个或多个字符,问号(?
)代表匹配单个字符,中括号内加上数字[0-9]代表匹配0~9之间的单个数字的字符,而中括号内加上字母[abc]则是代表匹配a、b、c三个字符中的任意一个字符。
转载说明:跟我说明,务必注明来源,附带本人博客连接。
请给我点个赞鼓励我吧
- 点赞
- 收藏
- 关注作者
评论(0)