pengpenglin
人,必须选择一种生活方式并有勇气坚持下去
BlogJava
首页
新随笔
新文章
联系
聚合
管理
posts - 262, comments - 221, trackbacks - 0
【Linux学习笔记】目录操作命令
【1.ls命令】
ls命令用于显示目录及文件的属性情况。其主要参数有:
①-a:全部的文件,连同隐藏文件(以.开头的文件) 一起列出来(常用)
②-d:仅列出目录本身,而不是列出目录下的文件内容
③-l:详细情况,包括目录或文件的属性及权限等信息
④-r:将排序结果反向列出
⑤-R:连同子目录下内容一起列出显示
⑥-t:按照时间去排序列出
例子1:显示root用户家目录下的所有详细内容
[
root@localhost ~
]
# ls -al
总用量
280
drwxr-x---
15
root root
4096
12月
14
22
:
25
.
drwxr-xr-x
25
root root
4096
12月
14
22
:
25
..
-rw-r--r--
1
root root
191
11月
23
12
:
05
1
-rw-r--r--
1
root root
1049
11月
22
23
:
17
anaconda-ks.cfg
-rw-------
1
root root
2455
12月
14
22
:
46
.bash_history
-rw-r--r--
1
root root
24
2004
-
09
-
23
.bash_logout
-rw-r--r--
1
root root
587
11月
23
11
:
57
.bash_profile
例子2:显示root用户当前目录的详细情况
[
root@localhost ~
]
# ls -dl
drwxr-x---
15
root root
4096
12月
14
22
:
25
.
[
root@localhost ~
]
#
例子3:升序,降序,按时间排列显示root用户当前目录的详细情况
[
root@localhost ~
]
# ls -l
总用量
80
-rw-r--r--
1
root root
191
11月
23
12
:
05
1
-rw-r--r--
1
root root
1049
11月
22
23
:
17
anaconda-ks.cfg
drwxr-xr-x
3
root root
4096
11月
22
23
:
43
Desktop
-rw-r--r--
1
root root
45316
11月
22
23
:
17
install.log
-rw-r--r--
1
root root
5263
11月
22
23
:
17
install.log.syslog
[
root@localhost ~
]
# ls -lr
总用量
80
-rw-r--r--
1
root root
5263
11月
22
23
:
17
install.log.syslog
-rw-r--r--
1
root root
45316
11月
22
23
:
17
install.log
drwxr-xr-x
3
root root
4096
11月
22
23
:
43
Desktop
-rw-r--r--
1
root root
1049
11月
22
23
:
17
anaconda-ks.cfg
-rw-r--r--
1
root root
191
11月
23
12
:
05
1
[
root@localhost ~
]
# ls -lt
总用量
80
-rw-r--r--
1
root root
191
11月
23
12
:
05
1
drwxr-xr-x
3
root root
4096
11月
22
23
:
43
Desktop
-rw-r--r--
1
root root
1049
11月
22
23
:
17
anaconda-ks.cfg
-rw-r--r--
1
root root
45316
11月
22
23
:
17
install.log
-rw-r--r--
1
root root
5263
11月
22
23
:
17
install.log.syslog
[
root@localhost ~
]
#
注意ls命令的参数可以是多个目录,文件。彼此之间用空格隔开。例如:ls /var/log/wtmp wtmp则表示分别显示/var/log/wtmp和当前目录下的wtmp文件的属性情况。
【2.cp命令】
cp命令用于拷贝文件,目录。其主要参数有:
①-p:连同文件的原有属性一起复制,而非使用默认的属性设置
②-d:若来源文件为链接文件,则复制链接文件而非链接文件指向的对象
③-r:递归复制,用于目录复制
④-a:相当于同时使用-pdr参数
⑤-i:如果有相同的目标文件存在,则覆盖之前先询问
⑥-l:复制为硬链接(hard link)
⑦-s:复制为软连接(Symbolic link)
注意:如果我们在使用cp命令时,不指定-p参数,则拷贝后的目标文件将使用默认的系统属性设置,即目标文件的拥有者为命令操作者本身。对于像密码文件等敏感文件,这样的操作会带来风险,所以一定要记得带上-p参数。
例子1:cp命令的不同参数对文件属性的影响
[
root@localhost tmp
]
# cp /var/log/wtmp /tmp
[
root@localhost tmp
]
# cp
-a
/var/log/wtmp /tmp/wtmp_2
[
root@localhost tmp
]
# cd /tmp
[
root@localhost tmp
]
# ls -l /var/log/wtmp /tmp/wtmp /tmp/wtmp_2
-rw-r--r--
1
root
root
223488
12月
14
23
:
25
/tmp/wtmp
-rw-rw-r--
1
root
utmp
223488
12月
14
23
:
21
/tmp/wtmp_2
-rw-rw-r--
1
root
utmp
223488
12月
14
23
:
21
/var/log/wtmp
我们看到由于使用了-a参数(等于同时使用了-pdr参数),所以/tmp/wtmp_2和/var/log/wtmp文件的属性完全一样,而/tmp/wtmp则不同了。表现为:文件的拥有者和创建时间。如果我们想备份文件,那么一定要使用-p或者-a参数。但是如果想拷贝文件给其他人用则不能使用该参数,否则其它用户也使用不了。
另外要提到的一点是,命令的执行者必须有改变文件的用户组和拥有者的权限,否则即便加上了-a参数也是没用的。
例子2:复制链接文件
[
root@localhost tmp
]
# ls -l wtmp
-rw-r--r--
1
root root
223488
12月
14
23
:
25
wtmp
[
root@localhost tmp
]
# cp
-l
wtmp wtmp_llink
[
root@localhost tmp
]
# cp
-s
wtmp wtmp_slink
[
root@localhost tmp
]
# ls -l wtmp*
-rw-r--r--
2
root root
223488
12月
14
23
:
25
wtmp
-rw-r--r--
2
root root
223488
12月
14
23
:
25
wtmp_llink
lrwxrwxrwx
1
root root
4
12月
14
23
:
43
wtmp_slink -> wtmp
[
root@localhost tmp
]
# cp wtmp_slink wtmp_slink_2
[
root@localhost tmp
]
# cp
-d
wtmp_slink wtmp_slink_3
[
root@localhost tmp
]
# ls -l wtmp*
-rw-r--r--
2
root root
223488
12月
14
23
:
25
wtmp
-rw-r--r--
2
root root
223488
12月
14
23
:
25
wtmp_llink
lrwxrwxrwx
1
root root
4
12月
14
23
:
43
wtmp_slink -> wtmp
-rw-r--r--
1
root root
223488
12月
14
23
:
43
wtmp_slink_2
lrwxrwxrwx
1
root root
4
12月
14
23
:
44
wtmp_slink_3 -> wtmp
这里有两个注意的地方:
①使用-l或-s会分别拷贝为硬、软连接。硬连接可以看成是副本,而软连接则只是快捷方式
②使用-d参数会让cp命令在拷贝“软连接”时只拷贝“软连接”本身,而不是其指向的对象
【3.获取文件的路径和文件名】
要获取文件的路径名或文件名,只需要分别使用dirname或者basename命令加上文件的完整路径就可以了。例如:
[
root@localhost ~
]
# ls -l /var/log/wtmp
-rw-rw-r--
1
root utmp
384
12月
14
23
:
58
/var/log/wtmp
[
root@localhost ~
]
# dirname /var/log/wtmp
/var/log
[
root@localhost ~
]
# basename /var/log/wtmp
wtmp
-------------------------------------------------------------
生活就像打牌,不是要抓一手好牌,而是要尽力打好一手烂牌。
posted on 2008-12-14 22:28
Paul Lin
阅读(332)
评论(0)
编辑
收藏
所属分类:
Unix / Linux
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
【Linux学习笔记】压缩和打包命令
【Linux学习笔记】特殊权限
【Linux学习笔记】文件的寻找
【Linux学习笔记】文件和目录的默认权限与隐藏权限
【Linux学习笔记】文件操作命令
【Linux学习笔记】目录操作命令
【Linux学习笔记】分区与目录
【Linux学习笔记】文件类型与扩展名
【Linux学习笔记】文件权限学习要点
Unix基本概念及入门技术【四】:Solaris下cp命令的若干注意点
<
2008年12月
>
日
一
二
三
四
五
六
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(21)
给我留言
查看公开留言
查看私人留言
随笔分类
J2EE 框架(9)
J2EE基础(4)
J2SE(43)
Java 工具(5)
Oracle Concept(4)
Oracle SQL/PLSQL(9)
Oracle 开发(13)
Oracle 管理(4)
Oracle 调优
Oracle 错误诊断
RoR(19)
UML(3)
Unix / Linux(13)
Web基础(19)
其它技术(7)
感悟(3)
杂项(7)
架构与性能(8)
模式与重构(19)
灌水(8)
电影与音乐(16)
走过的路(1)
软件过程与软件方法(3)
阳光户外(2)
项目管理(36)
随笔档案
2012年2月 (3)
2011年11月 (4)
2011年10月 (1)
2011年9月 (2)
2011年8月 (2)
2011年7月 (5)
2011年6月 (3)
2011年5月 (1)
2011年4月 (1)
2011年3月 (3)
2011年1月 (1)
2010年12月 (1)
2010年11月 (5)
2010年10月 (3)
2010年9月 (1)
2010年7月 (1)
2010年6月 (1)
2010年5月 (4)
2010年4月 (9)
2010年3月 (19)
2010年2月 (8)
2010年1月 (3)
2009年12月 (34)
2009年11月 (1)
2009年10月 (2)
2009年7月 (4)
2009年6月 (5)
2009年5月 (3)
2009年4月 (2)
2009年3月 (1)
2009年2月 (5)
2009年1月 (5)
2008年12月 (13)
2008年11月 (4)
2008年10月 (1)
2008年9月 (6)
2008年8月 (5)
2008年7月 (3)
2008年6月 (31)
2008年5月 (10)
2008年4月 (9)
2008年3月 (7)
2008年2月 (4)
2008年1月 (19)
BlogJava热点博客
BeanSoft
Jack.Wang
如坐春风
诗特林
郑晖
银河使者
阿密果
隔叶黄莺
好友博客
无羽苍鹰
搜索
最新评论
1. re: 【Java基础专题】编码与乱码(01)---编码基础[未登录]
666666666666666666666这几天正在做个类似工程编码出现错误
--李
2. re: 【Java基础专题】IO与文件读写---使用Apache commons IO简化文件读写
不错
--阿斯兰
3. re: 【Java基础专题】编码与乱码(03)----String的toCharArray()方法
多谢分享
--thx
4. re: 【Java基础专题】编码与乱码(05)---GBK与UTF-8之间的转换
评论内容较长,点击标题查看
--karl
5. re: 【Java基础专题】编码与乱码(01)---编码基础[未登录]
谢谢,帮了我大忙!
--小龙
阅读排行榜
1. Oracle中如何插入特殊字符:& 和 ' (多种解决方案)(48351)
2. getOutputStream() has already been called for this response的解决方法(43322)
3. 【Java基础专题】编码与乱码(05)---GBK与UTF-8之间的转换(36953)
4. 360安全卫士误删audiosrv.dll文件造成系统无声的解决方案(21210)
5. Java中读取字节流并按指定编码转换成字符串的方法(17300)
评论排行榜
1. 360安全卫士误删audiosrv.dll文件造成系统无声的解决方案(33)
2. 【原】Oracle开发专题之:时间运算(11)
3. 【Java基础专题】编码与乱码(05)---GBK与UTF-8之间的转换(11)
4. getOutputStream() has already been called for this response的解决方法(10)
5. 【原】Oracle开发专题之:分析函数(OVER)(8)