Linux文件管理(2)——文件操作

1.ls
语法:ls [-aAdfFhilnrRSt] 目录名称
功能:列出指定目录中的文件名和子目录名。当无子目录名时,列出当前目录中的文件名和子目录名。
选项:
-a :全部的文件,连同隐藏项( 开头为 . 的文件) 一起列出来(常用)
-d :仅列出目录本身,而不是列出目录内的文件数据(常用)
-l :长数据串列出,包含文件的属性与权限等等数据;(常用)按长格式列出文件及目录信息,包括文件类型标识,权限,链接数,文件主名,文件组名,字节数,日期,文件名。
-R 递归处理,显示包括子目录下所有文件
-t 按文件生成日期排序。
-F 显示文件类型
-s或–size 显示文件和目录的大小,以区块为单位。
-S 用文件和目录的大小排序。
2.cd
语法:cd [相对路径或绝对路径]
功能:改变当前工作目录
注意:目录名选项有:
(1) 目录名,转到当前目录下的子目录。
(2) .. 表示转到当前目录的父目录。
(3) / 表示转到根目录。
(4) 没有选项时,转到用户的主目录。
3.pwd
语法:pwd [-P]
功能:显示用户当前工作目录的绝对路径。
选项:-P :显示出确实的路径,而非使用连结 (link) 路径。
4.mkdir
语法:mkdir [-mp] 目录名称
功能:创建新目录
选项:
-m<目录属性>或–mode<目录属性> :建立目录时同时设置目录的权限。
-p :递归创建多层目录(包含上一级目录)。
范例:创建权限为rwx–x–x的目录

[root@www tmp]# mkdir -m 711 test2
[root@www tmp]# ls -l
drwx--x--x  2 root  root 4096 Jul 18 12:54 test2

上面的权限部分,如果没有加上 -m 来强制配置属性,系统会使用默认属性。
5.rmdir
语法:rmdir [-p] 目录名称
功能:删除不存在子文件或子目录的空目录。
选项与参数:-p :连同上一级『空的』目录也一起删除
注意:删除子目录时,要求被删除的目录中不存在文件或子目录,否则无法删除。
6.cp
语法:
[root@www ~]# cp [-adfilprsu] 来源档(source) 目标档(destination)
[root@www ~]# cp [options] source1 source2 source3 …. directory
功能:把一个文件的全部内容拷贝到另一个文件,也可将一个或多个文件拷贝到另一个目录中。
选项与参数:
-a :相当於 -pdr 的意思,至於 pdr 请参考下列说明;(常用)
-d :若来源档为连结档的属性(link file),则复制连结档属性而非文件本身;
-f :为强制(force)的意思,若目标文件已经存在且无法开启,则移除后再尝试一次;
-i :若目标档(destination)已经存在时,在覆盖时会先询问动作的进行(常用)
-l :进行硬式连结(hard link)的连结档创建,而非复制文件本身;
-p :连同文件的属性一起复制过去,而非使用默认属性(备份常用);
-r :递归持续复制,用于目录的复制行为;(常用)对子目录下所有文件进行拷贝。
-s :复制成为符号连结档 (symbolic link),亦即『捷径』文件;
-u :若 destination 比 source 旧才升级 destination !
7.rm
语法:rm [-fir] 文件或目录
功能:删除指定的文件或一个目录中的文件。
选项与参数:
-f :就是 force 的意思,忽略不存在的文件,不会出现警告信息;
-i :互动模式,在删除前会询问使用者是否动作
-r :递归删除!将删除指定目录的所用文件,包括目录名。

 NO1. 删除当前目录的文件
      [root@rehat root]# rm test.txt
 NO2. 强制删除当前目录的文件,不弹出提示
      [root@rehat root]# rm -f test.txt
 NO3. 强制删除整个目录,包括目录与文件全部删除,需要管理员权限
      [root@rehat root]# rm -r -f test

8.mv
语法:
[root@www ~]# mv [-fiu] source destination
[root@www ~]# mv [options] source1 source2 source3 …. directory
功能:改变文件或目录的名字,或把一些文件移到另一目录下。
选项与参数:
-f :force 强制的意思,如果目标文件已经存在,不会询问而直接覆盖;
-i :若目标文件 (destination) 已经存在时,就会询问是否覆盖!
-u :若目标文件已经存在,且 source 比较新,才会升级 (update)
注意:当filename1更名为filename2时,若filename2已经存在,则filename2的内容将被filename1覆盖。

  NO1. 若移动目标文件已存在,要在移动之前,先备份原来的目录文件
       [root@rehat root]# mv -b test.txt test2/
       这样在 test2 下将有两个文件 test.txt 及 text.txt~
       其中 test.txt~ 是备份文件,test.txt是新的文件
  NO2. 若移动目标文件已存在,但不想弹出是否覆盖的提示,直接覆盖
       [root@rehat root]# mv -f test.txt test2/
  NO3. 当源与目标都拥有同一个文件,若源文件比目标新则移动,否则不移动
       [root@rehat root]# mv -u test.txt test2/
  NO4. 更改文件名称
       [root@rehat root]# mv test.txt test2.txt
  NO5. 更改目录名称
       [root@rehat root]# mv /test2 /test2_2

9.file

格式:file filename/directory
功能:显示文件或目录的类型。
10.touch
格式:touch filename
功能:改变文件的日期,不对文件的内容做改动,若文件不存在则建立新文件。
-a或–time=atime或–time=access或–time=use  只更改存取时间。
11.ln
命令:ln (link)
格式:ln [option] filename linkname
ln [option] directory pathname
功能:为文件或目录建立一个链。其中,filename和directory是源文件名和源目录名;linkname和pathname分别表示与源文件或源目录名相链接的文件或目录。
选项:-s 为文件或目录建立符号(软)链接。不加-s表示为文件或目录建立硬链接
-f 强制创建链接
-n 如果链接文件已存在则不创建
注意:链接的目的在于,对一个文件或目录赋予两个以上的名字,使其可以出现在不同的目录中,既可以使文件或目录共享,又可以节省磁盘空间。
硬链接和软链接的区别:
(1)硬链接以”.ln”结尾;软链接以“.sln”结尾;
(2)建立新的软链接时为链接申请新的i-node;而硬链接不会;
(3)软链接删除源文件后则链接文件就不能用了;而硬链接可以;
(4)建立软链接会为新的链接申请新的数据区来存放源文件名,而硬链接不会;
(5)建立软链接相当于创建快捷方式;
(6)软链接的源文件可以是目录,而硬链接不可以。
12. locate
格式:locate expression
功能:查找符合条件的文件或目录
13.find
格式:find pathname [option] expression
功能:在所给的路经名下寻找符合表达式相匹配的文件。
pathname find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录。
expression:
-print find命令将匹配的文件输出到标准输出。
-exec find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为’command’ {} \;,注意{ }和\;之间的空格。
-ok 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,
在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
选项:
-name 按照文件名查找文件。
-type 按文件类型查找
-size 按大小查找,以block为单位,一个block是512B
-perm 按照文件权限来查找文件。
-prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用了-depth
选项,那么-prune选项将被find命令忽略。
-user 按照文件属主来查找文件。
-group 按照文件所属的组来查找文件。
-mtime -n +n 按照文件的更改时间来查找文件,-n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。
-atime 按最后一次访问时间查找
-nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
-nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
-newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件。
条件的逻辑运算符:

逻辑运算符 逻辑意义     举例                 说明 
  !      非   !-name*.c” 所有不以.c为扩展名的文件 
  -o-size +10 -o -links 3 所有大于10block或链接数为3的文件 
          与   -size +10 -links 3 大于10block且链接数为3的文件 

注:上表中的“+10”表示大于10,“-10”表示小于10。
find /temp -name “abc*” -print 在/temp目录下查找文件名以abc开始的文件
find . -name test -print 在当前目录下查找文件名为test的文件

  NO1. 查找当前用户主目录下的所有文件
       [root@rehat root]# find ~
  NO2. 让当前目录中文件属主具有读、写权限,并且文件所属组的用户和其他用户具有读权限的文件;
       [root@rehat root]# find . -perm 644 -exec ls -l {} \;
  NO3. 为了查找系统中所有文件长度为0的普通文件,并列出它们的完整路径;
       [root@rehat root]# find / size 0 -type f -exec ls -l {} \;
  NO4. 查找/var/logs目录中更改时间在7日以前的普通文件,并在删除之前询问它们;
       [root@rehat root]# find /var/logs -mtime +7 -type f -ok rm -i {} \;
  NO5. 为/找系统中所有属于root组的文件;
       [root@rehat root]# find / -group root -exec ls -l {} \;
  NO6. find命令将删除当目录中访问时间在7日以来、含有数字后缀的admin.log文件
       [root@rehat root]# find . -name "admin.log[0-9][0-9][0-9]" -atime -7 -ok rm { } \;
  NO7. 为了查找当前文件系统中的所有目录并排序
       [root@rehat root]# find . -type d | sort
  NO8. 为了查找系统中所有的rmt磁带设备
       [root@rehat root]# find /dev/rmt

14.cat
语法:cat [-AbEnTv] filename
功能:由第一行开始显示文件内容
选项与参数:
-A :相当於 -vET 的整合选项,可列出一些特殊字符而不是空白而已;
-b :列出行号,仅针对非空白行做行号显示,空白行不标行号!
-E :将结尾的断行字节 $ 显示出来;
-n :列印出行号,连同空白行也会有行号,与 -b 的选项不同;
-T :将 [tab] 按键以 ^I 显示出来;
-v :列出一些看不出来的特殊字符
注意:当文件内容在屏幕上滚动显示时,可按Ctrl+S键屏幕滚暂停,按Ctrl+Q键继续显示。
15.nl
语法:nl [-bnw] 文件
功能:显示行号
选项与参数:
-b :指定行号指定的方式,主要有两种:
-b a :表示不论是否为空行,也同样列出行号(类似 cat -n);
-b t :如果有空行,空的那一行不要列出行号(默认值);
-n :列出行号表示的方法,主要有三种:
-n ln :行号在萤幕的最左方显示;
-n rn :行号在自己栏位的最右方显示,且不加 0 ;
-n rz :行号在自己栏位的最右方显示,且加 0 ;
-w :行号栏位的占用的位数。
16.more
格式:more filename
功能:按屏幕一屏一屏显示出文件内容
在 more 这个程序的运行过程中,你有几个按键可以按的:
空白键 (space):代表向下翻一页;
Enter:代表向下翻『一行』;
/字串:代表在这个显示的内容当中,向下搜寻『字串』这个关键字;
f:立刻显示出档名以及目前显示的行数;
q:代表立刻离开 more ,不再显示该文件内容。
b 或 [ctrl]-b :代表往回翻页,不过这动作只对文件有用,对管线无用。
17.less
格式:less filename
功能:一页一页翻动,可以往前翻页
: <== 这里可以等待你输入命令!
less运行时可以输入的命令有:
空白键 :向下翻动一页;
[pagedown]:向下翻动一页;
[pageup] :向上翻动一页;
/字串 :向下搜寻『字串』的功能;
?字串 :向上搜寻『字串』的功能;
n :重复前一个搜寻 (与 / 或 ? 有关!)
N :反向的重复前一个搜寻 (与 / 或 ? 有关!)
q :离开 less 这个程序;
18.head
语法:head [-n number] 文件
功能:查看文件前面几行
选项与参数:
-n :后面接数字,代表显示几行的意思
默认情况,显示前面 10 行!若要显示前 20 行,就得要这样:

[root@www ~]# head -n 20 /etc/man.config

19.tail
语法:tail [-n number] 文件
功能:查看文件后面几行
选项与参数:
-n :后面接数字,代表显示几行的意思
-f :表示持续侦测后面所接的档名,要等到按下[ctrl]-c才会结束tail的侦测
-i 显示文件最后 i行。
+i 从文件的第i行开始显示。
默认的情况,显示最后的十行!若要显示最后的 20 行,就得要这样:

[root@www ~]# tail -n 20 /etc/man.config

20.wc
命令:wc (word characters)
格式:wc [option] filename
功能:统计文件中的文件行数、字数和字符数。
选项:
-l 统计文件的行数
-w 统计文件的单词数
-c 统计文件的字符数
注意:若缺省文件名则指标准输入
21.grep
格式:grep [option] pattern filenames
功能:逐行搜索所指定的文件或标准输入,并显示匹配模式的每一行。
选项:
-w 搜索匹配给定模式的字符串
-c 只输出匹配行的计数。
-i 不区分大小写(只适用于单字符)。
-h 查询多文件时不显示文件名。
-l 查询多文件时只输出包含匹配字符的文件名。
-n 显示匹配行及行号。
-s 不显示不存在或无匹配文本的错误信息。
-v 显示不包含匹配文本的所有行。
常用正则表达式:

[^0-9A-Za-z] 对非数字或字母
[0-9]\{2\}-[0-9]\{2\}-[0-9]\{4\} 对日期格式dd-mm-yyyy
[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\}\.[0-9]\{3\} 对IP地址格式nnn. nnn.nnn.nnn

22.sed
sed用“批处理”方式编辑文件。sed是一种流编辑器,它可以对从如管道这样的标准输入接收的数据进行编辑。sed 是基于行的,因此按顺序对每一行执行命令。然后,sed 将其结果写入标准输出(stdout),它不修改任何输入文件。

使用sed在文件中定位文本的方式

x x为一行号,如1
x,y 表示行号范围从x到y,如25表示从第2行到第5/pattern/ 查询包含模式的行。例如/disk//[a-z]/
/pattern/pattern/查询包含两个模式的行。例如/disk/disks
/pattern/,x 在给定行号上查询包含模式的行。如/ribbon/,3
x,/pattern/通过行号和模式查询匹配行。3,/vdu/
x,y ! 查询不包含指定行号x和y的行。1,2 !

sed编辑命令

p 打印匹配行
= 显示文件行号
a \ 在定位行号后附加新文本信息
i \ 在定位行号后插入新文本信息
d 删除定位行
c \ 用新文本替换定位文本
s 使用替换模式替换相应模式
r 从另一个文件中读文本
w 写文本到一个文件
q 第一个模式匹配完成后推出或立即推出
l 显示与八进制ASCII代码等价的控制字符
{ } 在定位行执行的命令组
n 从另一个文件中读文本下一行,并附加在下一行
g 将模式2粘贴到/pattern n/
y 传送字符
n 延续到下一输入行;允许跨行的模式匹配语句

替换命令用替换模式替换指定模式,格式为:

[address [,address]] s/pattern-to-find /replacement-pattern/[g p w n]

s选项通知sed这是一个替换操作,并查询pattern-to-find,成功后用replacement-pattern替换它。
替换选项如下:
g 缺省情况下只替换第一次出现模式,使用g选项替换全局所有出现模式。
p 缺省sed将所有被替换行写入标准输出,加p选项将使- n选项无效。
-n选项不打印输出结果。
w 文件名使用此选项将输出定向到一个文件。
23.awk
格式:awk [-F field-separator] ‘commands’ input-file(s)

awk ‘pattern’ filename
awk ‘{action}’ filename
awk ‘pattern {action}’ filename

功能:在文件或字符串中基于指定规则浏览和抽取信息。
[-F域分隔符]是可选的,因为awk使用空格作为缺省的域分隔符。
awk执行时,其浏览域标记为$1,$2…$n,这种方法称为域标识。用逗号做域分隔,可使用$0,表示所有域。
awk内置字符串函数

gsub(r,s) 在整个$0中用s替代r
gsub(r,s,t) 在整个t中用s替代r
index(s,t) 返回s中字符串t的第一位置
length(s) 返回s长度
match(s,r) 测试s是否包含匹配r的字符串
split(s,a,fs)fs上将s分成序列a
sprint(fmt,exp) 返回经fmt格式化后的exp
sub(r,s) 用$0中最左边最长的子串代替s
substr(s,p) 返回字符串s中从p开始的后缀部分
substr(s,p,n) 返回字符串s中从p开始长度为n的后缀部分

awk输入要注意的错误
1)确保整个awk命令用单引号括起来。
2)确保命令内所有引号成对出现。
3)确保用花括号括起动作语句,用圆括号括起条件语句。
为使一域号匹配正则表达式,使用符号‘~’后紧跟正则表达式,也可以用if语句。
awk中if后面的条件用()括起来。
24.sort
sort命令的一般格式为:
sort -cmu -o output_file [other options] +pos1 +pos2 input_files
下面简要介绍一下sort的参数:
-c 测试文件是否已经分类。
-m 合并两个分类文件。
-u 删除所有复制行。
-o 存储sort结果的输出文件名。
其他选项有:
-b 使用域进行分类时,忽略第一个空格。
-n 指定分类是域上的数字分类。
-t 域分隔符;用非空格或tab键分隔域。
-r 对分类次序或比较求逆。
+n n为域号。使用此域号开始分类。
n n为域号。在分类比较时忽略此域,一般与+ n一起使用。
post1 传递到m,n。m为域号,n为开始分类字符数;例如4,6意即以第5域分类,从第7个字符开始。
25.cmp
命令格式
cmp [-ls] 文件名1 文件名2
功能:比较两个文件,这两个文件可以是文本文件也可以是非文本文件。cmp命令会显示两个文件第一次数据不同的位置。若两个文件内容相同,则不显示任何信息。
参数说明
-l 显示每个不同之处不同字节的内容
-s 只显示cmp命令的返回值(相同为0,不相同为1)

上传者不拥有讲义的原始版权。所有版权归属CMU。 该文件集是CMU开设的11-777课程,名为multimodal machine learning,每年fall学期开设。 本讲义是2019 Fall的版本。 课程介绍: Description Multimodal machine learning (MMML) is a vibrant multi-disciplinary research field which addresses some of the original goals of artificial intelligence by integrating and modeling multiple communicative modalities, including linguistic, acoustic and visual messages. With the initial research on audio-visual speech recognition and more recently with language vision projects such as image and video captioning, this research field brings some unique challenges for multimodal researchers given the heterogeneity of the data and the contingency often found between modalities. The course will present the fundamental mathematical concepts in machine learning and deep learning relevant to the five main challenges in multimodal machine learning: (1) multimodal representation learning, (2) translation mapping, (3) modality alignment, (4) multimodal fusion and (5) co-learning. These include, but not limited to, multimodal auto-encoder, deep canonical correlation analysis, multi-kernel learning, attention models and multimodal recurrent neural networks. We will also review recent papers describing state-of-the-art probabilistic models and computational algorithms for MMML and discuss the current and upcoming challenges. The course will discuss many of the recent applications of MMML including multimodal affect recognition, image and video captioning and cross-modal multimedia retrieval. This is a graduate course designed primarily for PhD and research master students at LTI, MLD, CSD, HCII and RI; others, for example (undergraduate) students of CS or from professional master programs, are advised to seek prior permission of the instructor. It is required for students to have taken an introduction machine learning course such as 10-401, 10-601, 10-701, 11-663, 11-441, 11-641 or 11-741. Prior knowledge of deep learning is recommended.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值