1、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。
文件处理命令:
(1)Ls 功能:查看目录下文件的详细信息
语法:ls 选项[-ald] [文件或目录]
-a显示所有文件,包括隐藏文件
-l 详细信息显示
-d 查看目录属性
演示:
[root@server30 mytest1]# ls
p23b p2e
[root@server30 mytest]# ll
total 0
drwxr-xr-x. 2 root root 6 Sep 24 19:58 p23b
drwxr-xr-x. 2 root root 6 Sep 24 19:58 p2e
(2)Cd
功能:切换目录
演示:cd / (切换到根目录)
Cd …. (回到上一级目录)
(3)Pwd
功能:显示当前所在的工作目录
演示:
[root@server30 mytest1]# pwd
/tmp/mytest1
(4)Touch
功能:创建空文件
语法:touch [文件名]
演示:
[root@server30 mytest1]# touch file 1
Mkdir
功能:创建新目录
语法:mkdir [目录名]
演示:
[root@server30 mytest1]#mkdir aaa
(5)Cp
功能:复制文件或目录
语法:cp -R[源文件或目录] [目的目录]
-R复制目录
演示:
1.将文件file1,file2复制到目录dir1
$ cp file1file2 dir1
2.将dir1下的所有文件及子目录复制到dir2
$ cp -R dir1 dir2
(6)Mv
功能:移动文件,更名
语法:mv [源文件或目录] [目的目录]
演示:
1. 将当前目录下的文件file1更名为file3
$ mv file2 dir2
(7)RM
功能:删除文件
语法:rm -r [文件或目录]
-r 删除目录
演示:
1. 删除文件file3
$ rm file3
2. 删除目录dir1
$ rm-r dir1
(8)Cat
功能:显示文件内容
语法:cat[文件名]
演示:
$cat /etc/services
(9)More
功能:分页显示文件内容
语法:more[文件名]
(空格)或f 显示下一页
(enter) 显示下一行
Q或q 退出
演示:
$more /etc/services
(10)Head
功能:产看文件的前几行
语法:head -n [文件名]
n 显示文件的前几行
演示:
$head -20/etc/services
(11)Tail
功能:查看文件的后几行
语法:tail -n [文件名]
-n 显示文件的后几行
-f 动态显示文件内容
演示:$tail -30 /etc/services
(12)Ln
功能:产生链接文件
语法:ln -s[源文件][目标文件]
-s 创建链接
演示:
1:创建文件/etc/issue的软链接/issye.soft
[root@blog ~]# ln-s/etc/issue/issue.soft
[root@blog ~]#ls-l/
etc/issue /issue.soft
-rw-r--r--. 1 root root 75 Jan 29 2013/etc/issue
lrwxrwxrwx. 1 root root10Oct 21 16:01 /issue.soft ->/etc/issue
2.创建文件/etc/issue的硬链接/issue.hard
[root@bolg ~]ln /etc/issue /issue.hard
[root@blog ~]
# ls -l/etc/issue/issue.hard
-rw-r--r--. 2 root root ll75 Jan 29 2013/etc/issue
-rw-r--r--. 2 root root 75 Jan 29 2013/issue.hard
硬链接与软链接的区别:
软链接类似于windows下的快捷方式,软链接可以跨文件系统生成,当删除原文件后软链接的目的文件也没意义了。
硬链接类似于windows下的拷贝,硬链接不能跨文件系统生成,当删除原文件后,硬链接后的文件还会存在,硬链接与原文件有相同的inode,所以可以同步更新。硬链接=cp+ 同步更新
文件搜索命令
(1)Which
功能:显示系统命令所在目录
语法:which [命令名称]
演示:
$Which ls
(2)Find
功能描述:查找文件或目录
语法:find [搜索路径] [搜索关键字]
演示:
1.在目录/etc中查找文件init
find / -size +204800
3. 在根目录下查找所有者为sam的文件
Find / -user sam
4.在/etc下查找24小时内被修改过属性的文件盒目录
$ find /etc -size +163840 -a -size -a -204800
6.在/etc下查找inittab文件并显示其详细信息
$find /etc -nameinittab -exec ls -l{} \;
Find参数详解:
(-name 文件名
*:匹配任意字符包括零个字符,init*----》以init开头的文件
*init*--》文件名里包含init的文件
-size文件大小
文件大小以block数据块为最小单位,1个数据块大小等于512字节,512字节=0.5KB,1block=0.5KB.
100MB=?block
100MB=102400KB=204800block
大于 +
小于–
-user文件所有者
根据时间查找: 1.ctimeatimemtime以天为单位
2.cmin aminmmin以分钟为单位
c---change改变,表示文件的属性被修改过,所有者,所属组,权限。
a---access访问
m—modify修改,文件的内容被修改过。
“-”代表多长时间内,-1代表一天之内
“+”超过多久时间。
例如:find /etc -mmin -120表示查询120分钟内被修改的文件。
1. 连接符:-a and 逻辑与
-o or 逻辑或
-type:按类型查询
-f :二进制文件
-l :链接文件
d: 目录文件
例如:[root@blog ~]# find /etc/ -name init*-a-type l
/etc/init.d
[root@blog ~]# find /etc/ -name inittab -o-size+204800
/etc/inittab
2. 连接符:find ……. –exec 命令{}\;
-ok (询问确认)
{}代表find查询的结果。
\ 转义符,符号命令使用本身的含义。
;代表语句的结束。
-inum: 按i节点查询
例如:把文件名为-abc的文件删掉。
[root@blog test]#ls -i
655336 a 655340 ab 655341 -abc 655333 \-abc 655339 \-\a\b\c 655335 issue
[root@blog test]#find . -inum 655341
./-abc
[root@blog test]#find . -inum 655341 -exec rm -rf {}\;
)
Locate
功能:查找文件或目录 局限:对于新创的文件,用locate命令查询不到
语法:locate[搜索关键字]
演示:
列出所有跟file相关的文件
$ locate file
Grep
功能:在文件中搜索字串匹配的行并输出
语法:grep [指定字串] [源文件]
演示:
#grep ftp /etc/services
文件帮助命令
Man
功能:获得帮助信息
语法:man [命令或配置文件]
1.查看ls命令的帮助信息
$Man services
Info
功能:获得帮助信息
语法:info [任何关键字]
演示:
查看ls指令的帮助信息
$ tar -zcvf dir1.tar.gz dir1
解压dir1.tar.gz目录
语法:zip 选项[-r] [压缩后文件名] [文件或目录]
优点:.zip默认windows和linux通用格式。当压缩文件时,和gzip命令不同的是压缩后会保留原文件
$zip services.zip /etc/services
压缩目录
$ unzip test.zip
Bzip2
功能:压缩文件
语法:bzip2 选项[-k] [文件]
-k 产生压缩文件后保留源文件
演示:
$ bunzip2 -k file1.bz2
注意:于后缀为.tar.bz2包解压的命令:tar -jxvf package
文件权限管理命令
Chmod
功能:改变文件或目录权限
语法:chmod [{ugo}[{+-=}{rwx}] [文件或目录]
[mode=421]
演示:
1.赋予文件file1所所属组写权限
$ chmod 777 dir1
命令小结:文件目录的权限为r,w,x
文件:
R读---cat, more, head, tail
W写—echo, vim
X执行---命令脚本
目录:
R读---ls
W写—touch , rm,mkdir
X执行---cd
Chown
功能:改变文件或目录的所有者
语法:chown [用户] [文件或目录]
演示:
改变文件file1的所有者为nobody
$ chgrp adm file1
2、使用命令行展开功能,创建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目录下创建目录:x_y, x_z, q_y, q_z
(1)创建a1,a2,a1/a,a1/b的方法:
[root@centos7 user]#mkdir -p/tmp/a{1{a,b},2}
(2)创建目录x_y,x_z,q_y,q_z
[root@centos7 user]@,kdir -p/tmp/{x,q}_{y,z}
3、文件的元数据信息有哪些,分别表示什么含义,如何查看?如何修改文件的时间戳信息。
文件的元素信息包括文件的权限,大小,拥有者,组,以及修改时间等信息
用ls -l可以查看
4、在/tmp目录下创建以tfile开头,后跟当前日期和时间的文件,文件名形如:tfile-2016-05-27-09-32-22。
Touch tfile-$(date+%y-%m-%d-%h-%m-%s)
5、复制/etc目录下所有以p开头,以非数字结尾的文件或目录到/tmp/mytest1目录中。
首先创建/tmp/mytest1
[root@centos7 tmp]@mkdir mytest1
复制/etc目录下所有以P开头的目录
[root@centos tmp]#cp -r p*[^:digit:]mytest1
6、创建用户tom,指定UID为5001,指定家目录为/tmp/tom, 指定shell为/bin/zsh, 指定基本组为tom,附加组为jack
首先创建jack工作组
[root@centos7~]grooupadd group
创建tom用户
[root@centos7~]useradd -u 5001 -/tmp/tom -s/bin/zsh -G jack tom
7、常用的用户以及用户管理命令有哪些
- useradd--添加用户
useradd选项[-udgGsom] [用户名]
-u UID:手工指定用户UID,centos7从1000开始。
-d 手工指定家目录。
-g 手工指定用户原始组。
-G 指定用户附加组。
-s 手工指定用户的登录shell.
-o 允许创建的用户的UID相同。
-m 建立用户时强制建立用户的家目录。
例:[root@centos7 ~]# useradd –u 1002 –d /tmp/lqc –s /bin/bash –g lqcheng –G jack lqcheng
usermod—修改用户
usermod 选项[-udgGsU] [用户名]
-u UID:修改用户的UID。
-d 修改用户家目录。
-g 修改用户原始组。
-G 修改用户附加组。
-s 修改用户的登录shell。
-L 临时锁定用户。
-U 解锁用户。
例:修改用户家目录、登录shell、附加组
[root@centos7 ~]#usermod –d /home/tom –s /bin/bash –G lqcheng tom
- userdel—删除用户
userdel选项[-r] [用户名]
-r 删除用户的同时删除用户的家目录
例如:[root@centos7 ~]#usedel –r tom
- id—可以查询用户的UID、GID和附加组的信息。
id [用户名]
[root@centos7 ~]#id tom