31.复制,删除,移动 cp ,rm,mv
cp:复制文件或目录,用法:cp 来源文件 目标文件
cp后可加一些常用的参数表特殊含义:
-i:若目标文件已经存在时,会询问是否进行覆盖
-p:备份常用,同文件的权限,用户,时间等一系列属性复制过去,而非系统默认属性
-r:递归进行子目录复制
cp用于复制链接属性的文件时复制的是源文件,如果想要复制链接文件加上参数-d,复制像密码档之类的东西要加上-p进行权限复制
rm:删除文件或目录
用法:rm [可加参数] 文件或目录
参数:
-f:强制删除,不会出现任何警告信息
-i:互动模式,会询问是否进行删除
-r:递归删除,通常用于目录删除,非常危险
注意的是当执行-r的时候,默认进行-i,只会询问一次是否删除,无视其子目录的询问,有可能会误杀
mv:移动文件或更名:
mv [可加参数] 来源文件 目标文件
参数:
-f:强制,如果目标文件已经存在,不会询问而直接覆盖
-i:若目标已存在,会进行询问是否覆盖
-u:若目标已经存在,当来源文件较新时才会进行更新
mv可用于单个文件改名,linux中还有一个rename命令可以给大量文件改名
32.获得路径文件的名称与目录名称
basename /etc/sysconfig/network 就可以得到其文件名为network
dirname /etc/sysconfig/network 就可以获得目录名/etc/sysconfig
33.文件内容阅览
cat:从第一行开始显示内容
tac:cat倒过来写,表示从最后一行开始显示内容
nl:显示的时候顺便输出行号
more:一页一页得显示文件内容
less:和more类似,比more更好的是可以往前翻页
head:只看头几行
tail:只看尾巴几行
od:以二进制的方式读取文件内容
34.cat
参数:
-A:可以列出特殊符号而不是空白
-b:可以列出行号,仅对非空白行显示行号
-E:将结尾的断行字符$显示出来
-n:打印出连同空白符号一起算的行号
-T:显示出tab制表符为^I
35.nl
-b:指定行号指定方式,有两种:-b a:表示不论是否有空行都显示行号,-b t:默认值,不显示空行的行号
-n:列出行号的显示方法,格式控制,具体查相关资料
36.more
操作说明:
空格:向下翻一页
回车:向下翻一行
/字串:表示在内容中查找该关键字
q:退出
b:往回翻页,只对文件有用
37.less
操作说明:
空格:向下翻动一页
pagedown/up:向下/上翻动一页
/字串:向下搜索该关键字
?字串:向上搜索该关键字
g:到该数据的第一行去
G:到数据的最后一行去
q:退出
38.head,tail数据节取
head -n 20:表示取出前20行
tail有个特殊的参数-f,专用来侦测后几行的变化情况,直到按ctrl c停止
39.修改文件时间或创建文件
modification time(mtime):当文件数据内容变化的时候会更新该时间
status time(ctime):当文件状态如权限属性更改了,该时间会改变
access time(atime):当文件内容被取用时该时间会更新
touch可加一系列参数来修改上述几个时间,略,最常用的是用来创建一个空文件。
40.文件默认权限:umask
umask用于指定目前使用者在创建文件或目录时候用的默认权限
直接输入umask可以得知当前权限信息,有四个数字,第一个数字为特殊权限值,另外三个和chmod时的权限值相同含义,
表示的是该默认值需要减掉的权限,如022,表示在group和others中被拿掉了2分,即写属性,整个当前的创建文件时的属性就为755
当输入umask -S就会以符号的形式显示出权限值
设置:umask 002就表示当前权限设置为775,此后touch的文件或目录的权限就为775
41.文件隐藏属性
chattr:设置文件隐藏属性,与系统安全有关,参数介绍较长,要用的时候百度吧~
Isattr:显示文件隐藏属性
42. 文件的特殊权限:SUID,SGID,SBIT
Set UID权限,简称SUID,这个权限仅在二进制文件中存在,我的理解:当非文件主人对一个二进制文件只有x执行的权限时,却可以做类似于w写
的权限对内容进行修改,比如linux中的/usr/bin/passwd,不能用cat查看,对一般人只有x执行的权限,但是却可以对密码进行修改
当ls -l时的s标志表示该文件具有SUID权限
SGID也是类似,当一个二进制文件有x权限时,却获得了类似于r读的权限
SBIT只对目录有效,当使用者对此目录下的文件有w,x权限,即对文件具有修改删除等权限,但是加了SBIT时,只允许自己或root删除,更名,移动自己的文件
尽管有wx权限也无法对别人的文件进行删除,更名,移动操作
43.SUID,SGID,SBIT权限的设置
类似于chmod的修改其他权限方法:
4为SUID,2为SGID,1为SBIT,unmask的第一个数字即表示该属性,chmod 4775代表了给该文件加一个SUID权限,也可以用符号法添加
44.查看文件类型file
该命令可以用于查看文件类型,常用语查看压缩包类型来选择解压方式
45.指令文件名的搜索which
该命令是通过PATH这个环境变量所规范的路径去搜寻可执行文件名,若加上-a参数,会列出所有可以找到的同名可执行文件
该命令找的是可执行文件,如bash内置的命令history是找不到的
46.文件文件名的搜寻:whereis
该命令只找特定目录下的文件,locate是利用数据库来搜寻文件名,find不是很常用,速度慢的全局查找
whereis主要针对/bin/sbin下的可执行文件,有些文件是找不到的
可加参数:
-l:列出whereis会去查询的几个主要目录
-b:只查找二进制文件
-m:只在说明文档manual中查找
-s:只找source的来源文件
-u:搜索不在上述3个项目中的文件
47.locate
该命令为模糊匹配,只要包含关键字的文件都会被列出来,查询起来比较快,是通过自己创建的数据库/var/lib/mlocate里的数据搜寻到的,不用直接去硬盘
读取数据,该数据库默认每天更新一次,如果当天创建的文件想查到只能先updatedb
48.find
该查找方式可加的参数与笔记39中三种时间有关,以mtime说明
-mtime n:n为数字,意义为在n天之前的一天内被更改过的内容文件
-mtime +n:列出在n天之前(不包含第n天)被更改过的文件名
-mtime -n:可出在n天之内(含第n天)被更改过内容的文件名
-newer file:file为一个存在的文件名,列出比file还要新的文件名
eg:
find /var -mtime -4 表示在/var中查找4天内内容被更改过的文件名
还可以类似于正则表达式查询:find /etc -name '*http*' 这样会找出所有包含http的文件
该命令还可以查找根据拥有者和群组,权限,文件类型等的查找,略
49.权限与指令的关系
(1)使用这进入某目录使用可工作工作区的基本权限
使用cd变换工作路径
使用者至少要有x权限
额外需求:使用者想要在这个目录内ls查看文件名,还要有r权限
(2)使用者在某目录内读取一个文件的基本权限
使用cat,more,less等指令
使用者至少要有x权限
文件所需权限:至少要有r,w权限
(3)让使用者可以修改一个文件的基本权限
使用vi以及vim编辑器等
目录所需的权限:使用者至少要有x权限
文件所需权限:r,w权限
(4)让一个使用者创建一个文件的基本权限
目录所需权限:使用者要有w,x权限
(5)让使用者进入某个目录并执行该目录下的某个指令的权限
目录所需权限:x权限
文件所需权限:使用者至少要有x权限
50.压缩文件
常见的压缩文件扩展名:
.Z:compress程序压缩文件
.zip:程序压缩文件
.gz:gzip程序压缩文件
.bz2:bzip2程序压缩文件
.xz:xz程序压缩文件
.tar:tar程序打包文件,并没有压缩
.tar.gz:tar程序打包文件,并进过gzip压缩
51.gzip
gzip [参数] 文件名
-c:将压缩的数据输出到屏幕上
-d:解压缩的参数
-t:检验一个压缩文件的一致性
-v:显示出原文件/压缩文件的压缩比
-数字:代表压缩等级,-1最块,但是压缩比最差,-9最慢,但是压缩比最好,默认是-6
.gz为扩展名的文件可以用zcat查看,在压缩文件中查找关键词可用grep,不需要解压缩就可以用egrep,支持zmore,zless等
52.bzip2
bzip2用于提供更好的压缩比而成立,压缩比比gzip好
bzip2 [参数] 文件名
-c:将压缩过程产生的数据输出到屏幕上
-d:解压缩的参数
-k:保留原始文件而不会删除原文件
-z:压缩的参数,可以不加
-v:显示压缩比
-数字:和gzip同样计算压缩比的参数
.bz2为扩展名的压缩文件可以用bzcat查看,支持bzmore,bzless
53.xz
比上面两个压缩软件更高的压缩比,用法和bzip一模一样
.xz为扩展名的压缩文件用xzcat查看,支持 xzless,xzmore
54.打包指令tar
打包与压缩:tar [-z|-j|-J] [cv] [-f 待创建的新文件名] 目标文件名
查看文件名:tar [-z|-j|-J] [tv] [-f 已经有的tar文件名]
解压缩:tar [-z|-j|-J] [xv] [-f 已有的tar文件名] [-C目录]
参数:
-c:创建打包文件,可配合-v来查看过程中被打包的文件名
-t:查看打包的内容含有哪些文件名
-x:解压缩,注意上三个参数不相容
-z:以gzip的方式进行压缩\解压缩,取名最好为.gz结尾
-j:以bzip2的方式进行压缩\解压缩,取名最好为.bz2结尾
-J:以xz的方式进行压缩\解压缩注意此三个参数不相容,取名最好为.xz结尾
-v:在压缩\解压缩的过程中将正在处理的文件名显示出来
-f:后面加立刻要被处理的文件名
-C:在特定目录下进行解压
-p:保留备份数据的原本权限和属性,常用于-c备份重要的配置文件
-P:保留绝对路径
--exclude=加文件目录:表示打包时排除这些文件
eg:
压缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录
查询:tar -jtv -f filename.tar.bz2
解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压的目录
55.关于文件备份
xfsdump指令可以备份文件系统或单一目录
xfsdump针对文件系统时可进行0-9的level差异备份,其中level 0为完整备份
xfsrestore可还原被xfsdump备份的文件
cpio为相当优秀的备份指令,要搭配find来读入要备份的文件名数据
56.linux命令行下的文本编辑器
常用的有:emacs,pico,nano,joe以及vim
57.vim
所有的unix系统都会内置vi文本编辑器,但是其他的文本编辑器不一定在,vm作为vi的进阶版本学习就很有必要
58.vi的使用
vi分为3中模式
一般指令模式:以vi打开一个文件就直接进入该模式,这个模式中可以使用上下左右按键移动光标,可以删除复制整行整列
编辑模式:这个模式用于对文本内容进行编辑,输入i,o,a,r任何一个字母会进入编辑模式,此时下方会显示insert或者replace的字样,按esc退出该模式
命令行模式:在一般模式中,输入:/?三个中任何一个可以将光标移动到最下面一列,这个模式中,可以进行数据读取,储存,大量取代字符,显示行号等动作
存盘指令:在命令行模式中输入w即write存盘,再输入q即quit离开,就可以完成存储工作
更多的指令略,有命令补齐,关键字搜索,多文本操作等强大功能~
59.中文编码问题
vim无法正常显示中文,很有可能就是编码问题,中文编码有big5和utf8两种,如果用big5制作但用utf8读取就会出现乱码,修正方法笔记3中有
60.iconv
该软件可用于进行文件的语系编码转换
linux学习笔记(二)
最新推荐文章于 2024-09-16 11:50:43 发布