Linuxpython 递归遍历目录显示目录内容

昨晚在linux上下了一个大前端开发的wordpress主题–d4,上传到空间安装后,博客显示错乱,修改了样式表的文件权限之后才正常,但是发现很多功能却无法正常启用,相当郁闷。今天在windows7上重新压缩主题包再上传到空间,这下总算全部正常了。我想,之前的不正常可能是linux下压缩文件时赋予权限不当造成的。
于是,今晚整理了一下关于linux中文件权限的一些概念。
Linux文件具有四种访问权限:可读(r)、可写(w)、可执行(x)和无权限(-)。
在终端里输入 ls -l 命令可以查看当前目录下某个文件或目录的权限,显示每行数据的第一个字段就是它的权限内容。第一个字段由10个字符组成,如:
-rwxr-xr-x
第一位表示文件类型,-表示文件,d表示目录,后面的每三位字符分别表示三个不同用户组所具有的权限。
2-4位表示文件所有者的权限,即u(usesr)权限
5-7位表示文件所有者所属组成员的权限,g(group)权限
8-10位表示所有者所属组之外的用户的权限,o(others)权限
2-10位的权限总和有时称为a(all)权限
上面的那个字段,表示这是一个文件(非目录),文件所有者具有读、写和执行的权限,
所有者所属组成员和所属组之外的用户具有读和执行的权限而没有写的权限。
r、w和x也可以分别用4、2、1来代表,没有授予权限的则为0,这在修改权限时会比较方便。
linux下修改文件权限用chmod命令。
chmod命令有两种用法。一种是包含字母和操作符的表达式,即文字设定法;另一种是包含数字的数字设定法。
1. 文字设定法
chmod [who] [+ | - | =] [mode] 文件名
其中who可以是上面提到的u、g、o、a中的任一个或者它们的组合。操作符+、-、=分别代表添加某个权限、取消某个权限、赋予给定权限并取消其他所有权限(如果有的话)。
mood则是r、w、x的任一组合。
chmod g+r,o+r fileName
表示给同组和其他用户添加对文件fileName的读权限。
2. 数字设定法则比较简单
chmod [mode] 文件名
不用管是要添加什么权限,而是可以直接设定具有什么权限了,这里的mood是一个三位数,每位数字可以是1至7中的任一个,代表对应的某种用户类型的权限,如:
chmod 777 fileName
这个表示所有用户都具有fileName的所有权限,这是很危险的事。在linux中修改权限,要用到管理员权限,如ubuntu中要用sudo或者切换到root帐号。
chmod后面还可以带参数,主要有 -R(修改目录时要用到) -v(显示操作)。
chmod -R 755 dirName
把dirName下的所有文件及目录的权限修改为755,是一个对目录的递归操作。
除非注明,的文章均为原创,转载请注明作者和出处。本文链接地址:
呵呵…最好别777
虽然777很好用…linux怎样以长格式显示用户目录下所有文件
有谁知道了,快点儿会哦,急需!谢谢了!
09-12-04 &匿名提问
者:北南南北来自:LinuxSir.Org摘要:Linux 命令行模式下来操作文件管理还是比较重要的,虽然目前在Linux桌面上能完成大部份的文件管理工作,但就效率来说,还是命令行模式更为强大。最重要的是在文本操作界面和图形界面通用。如果您是服务器管理人员,您能体会到命令行下的文件管理工具是何等重要。本文涉及了目录和文件的显示ls、复制cp、移动mv、删除rm、rmdir、目录的创建mkdir以及用echo、touch等工具创建空文件... ... 内容;目录0、关于路径的理解;1、列文件或目录的信息工具 ls 和1.1 ls 的基础语法和参数;1.2 ls 的参数示例应用;1.21 列出目录下所有文件,包含或不包含隐藏文件,-a 参数及-l参数的运用;1.22 仅查看目录的属性的-d参数的运用示例;1.23 查看文件或目录的inode节点,-i参数的运用;1.24 关于排序的参数的应用; 1.25 递归显示目录的文件,-R参数的应用;1.26 关于ls 输出内容在终端显示颜色的参数 --color;1.27 ls的-F参数的示例; 1.3 通配符在ls命令中的应用;1.4 获得ls 的帮助; 2、移动文件或目录的命令 mv ;3、文件或目录的复制工具cp ;3.1 cp的语法和参数3.2 示例说明cp应用;3.21 参数-i的示例;3.22 参数-a的示例及说明;3.23 参数-b的示例应用; 3.24 把多个文件(或目录)复制到目录目录中示例;3.25 复制目录时-R参数的应用; 4、 目录创建工具mkdir和删除空目录工具rmdir;4.1 mkdir 是目录创建工具;4.11 mkdir语法格式及参数;4.12 参数 -p 的应用示例 4.2 删除空目录工具 rmdir 和rm ; 5、创建一个空文件的工具:用 touch、echo、cat等工具;6、删除文件工具rm;7、修改文件名工具 mv 8、关于本文;9、后记;10、参考文档;11、相关文档; ++++++++++++++++++++++++++++++++++++++正文++++++++++++++++++++++++++++++++++++++0、关于路径的理解;请参考:《关于Linux 文件系统中路径的理解》1、列文件或目录的信息工具 ls或ls 命令可以用于显示目录的内容,也可以显示文件的属性,比如节点、文件种类、权限、拥有者、大小、创建时间等;在目前最新版本的Linux中dir和ls命令的用法是一样的;有兴趣的不仿尝试一下;1.1 ls 的基础语法和参数;语法格式:#ls [参数]   [目录或文件名]参数:-a 显示所有文件,包含隐藏文件;包括“.“和“..“-A 显示所有文件,包含隐藏文件,不包括“.“和“..“目录;-B 不列出文件名以~结尾的文件;-C 按列列出文件;-d 仅可以查看目录的属性参数及信息;-F 这个参数加上后,能给目录添加上/,给可执行文件加上*,给符号链接加上@  等等,来标记文件名,目的是让用户方便查看; -l 长格式输出-h 习惯人们可阅读的方式来显示文件或目录的大小,比如K、M或G等;-p 在目录的后面附加/标记;-r 逆序列出文件;-t  按文件最后访问(或修改)的时间排序,最新的排在最前面;-U 按原始排序,-L 递归显示,也就是说,当我们列某个目录的下的所有文件和目录时,能把它的下级目录的内容显示出来。--help  获得帮助;在这里,位于[]之内的都是可选的。如果您只输入ls ,就会列出用户所处当前目录的所有文件,用短格式输出,但不会列出隐藏文件。判断用户所处目录的命令是pwd,也就是[root@localhost ~]# pwd/root1.2 ls 的参数示例应用;1.21 列出目录下所有文件,包含或不包含隐藏文件,-a 参数及-l参数的运用;#ls -la [目录名]如果不接目录名,表示输出当前用户所处目录内的所有文件,包括隐藏文件;[root@localhost ~]# pwd/root[root@localhost ~]# ls -la
请登录后再发表评论!
1.你看自己试一下就知道了,呵呵 2.根据你说的我看了一下,是一样的SwapCached:          0 kBSwapTotal:      522104 kBSwapFree:       522104 kB[tpxcer@localhost ~]$ free             total       used       free     shared    buffers     cachedMem:        507908     102352     405556          0      21724      52704-/+ buffers/cache:      27924     479984Swap:       522104          0     5221043.这个玩意不清楚4.pmap - report memory map of a processldd是查看程序所关联的库文件,这个两个是不相干的吧兄弟
请登录后再发表评论!
我现在正在编辑RHCE的培训用书,刚好贴出来大家提提意见.现在计划8月底翻译完033的实验部分和编写前7章的课程.请提出宝贵意见实验1 :文件和目录操作时间:1小时30分钟目标:熟悉一些基本文件和目录操作命令的功能、语法和使用.练习组合以上命令以有效完成用户任务.实验开始需要:一个安装并能正常运行的Red Hat Linux系统.有一个帐户名为student密码为student的普通用户.请与指导教师核对此帐户是否存在,若student帐户尚不存在,按以下步骤创建.1. 以root用户登录虚拟控制台(如果在X下,按Alt+Ctrl+F1).2. 在提示符下输入如下命令:#useradd student创建普通用户 student3. 输入如下命令:#passwd studentchanging password for user studentNew Unix password:{在此输入student}BAD PASSWORD:it is based on a dictionary wordRetype new Unix password:{再次输入student}Passwd:all authentication tokens updated successfully为普通用户添加密码第一步:组织目录和文件情景故事:大量文件积聚在你的home目录,你决定该是重新组织它们的时候了.你计划创建一些新的子目录,并拷贝和移动你的文件以实现你新的规划.另外,你还有一些根本不需要的文件,必须删除掉.任务:1. 在虚拟控制台 (tty1) 以用户名student (密码为student)登录2. 登录系统后,你应在你的home目录下,可以用&打印当前工作目录&命令验证$pwd/home/student3. 用如下命令检查你的home目录下是否有文件$ls短格式显示当前目录下的文件$ls –a短格式显示当前目录下的所有文件(包括以点开头的隐藏文件)$ls –al长格式显示当前目录下的所有文件(包括以点开头的隐藏文件)为什么第一个和第二个命令返回不同的文件数?第三个命令报告在你的home目录中最大的文件是什么?你的home目录中有任何子目录吗?4. 这一步中,你要用touch命令来创建新文件.touch命令的扩展用法的细节将在之后的单元中学习.现在,仅输入如下的一行(包括花括弧和下划线),在敲回车之前,让你旁边的同学或指导教师检查一下你所输入命令是否正确.$touch {report,memo,graph}_{sep,oct,nov,dec}_{a,b,c}{1,2,3}5. 用ls命令检验上一命令的结果.你应发现在你的home目录下已创建了108个新的空文件.这些文件代表你在随后要用到的数据文件.如果由于某种原因你没看到这些文件,可要求指导教师帮助;若没有这些文件,后续实验将无法进行.6. 为组织你的文件,你必须首先创建一些新目录,用mkdir命令在你的home目录下创建一些子目录.$mkdir &A Report&$mkdir September October November decdmber再次使用ls命令检查你的工作成果.7. 使用如下命令在你的新目录中创建另外一些子目录,输入:$cd A\ Reports/或$cd &A Reports&/改变目录后,输入:$mkdir 1 2 3使用ls验证你的&A Reports&子目录是否有三个分别为1、2和3的新目录.8. 将你的home目录下所有包含&b&记录移出,并按月分组,当你使用复杂的通配符时,提前验证是个好主意,这样可确保对正确的文件进行操作.一种验证方法是将你所要用的命令换为一个不会造成破坏的命令,并对该命令使用你准备使用的通配符.$cd$ls –l *dec?b?你应看到会列出9个&december&和&b&文件,现在用以下命令移出它们.$mv *dec?b? december/列出december子目录下的内容,以验证文件移动操作是否成功.$ls –l december/9. 将其余的&b&报告转移到它们相应的目录:$mv *nov?b? november/$mv *oct?b? october/$mv *sep?b? september/10. 你要将&a&报告归类到它们相应数字的目录$cd &A Reports&/$mv ~/*_a1 1/&1&和&september&文件已不再需要,删除它们并验证正确移动了其它文件:$cd 1$rm *sep*$ls11. 将剩下的&a2&和&a3&报告移至它们相应目录:$pwd/home/student/A Report/1用相对路径移动&a2&文件:$mv ../../*a2* ../2/用绝对路径移出&a3&文件:$mv /home/student/*a3* /home/student/A\ Reports/3/12. 返回你的home目录,用ls命令验证这个目录中只剩下&c&文件(如graph_dec_c1,graph_dec_c2等)13.每个月的&c1& 和&c2&报告文件很重要,于是你想在另一个目录下作个备份.$mkdir /tmp/archive$cp report*[1-2] /tmp/archive/另外,所有12月的数据应备份至/tmp/archive目录,注意,要使用-i选项,这样在覆盖文件时会得到提示信息.$cp –i eport_dec* /tmp/archive/cp: overwrite '/tmp/archive/report_dec_c1'?ncp: overwrite '/tmp/archive/report_dec_c1'?n 来源:考试大-Linux认证责编:qinqin 纠错
请登录后再发表评论!
请登录后再发表评论!新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 9, 距离下一级还需 191 积分
论坛徽章:0
如题。扩展一下,在shell中如何将命令组合起来完成某项任务。请各位大虾多多帮忙。在此谢过了。
小富即安, 积分 3447, 距离下一级还需 1553 积分
论坛徽章:0
find . -type f&&-exec grep xxx {} \;
小富即安, 积分 3447, 距离下一级还需 1553 积分
论坛徽章:0
find . -type f -exec grep xxx {} \; -exec echo {} \;
这样更好。。
[ 本帖最后由 lb_bn 于
19:47 编辑 ]
白手起家, 积分 9, 距离下一级还需 191 积分
论坛徽章:0
回复 #3 lb_bn 的帖子
呵呵,其实我在网上查过,是查到了这个用法。可惜不会用。刚刚接触linux,还请大虾多多帮忙。比如说吧吧,我要搜索/var/log目录下所有包含&error& 字符的文件,这个应该怎么查呢?
另外,man exec ,得到一堆看不懂的内容,在网页上也没有找到exec,它不是一个命令吧。
小富即安, 积分 3447, 距离下一级还需 1553 积分
论坛徽章:0
/var/log下有的文件普通用户不可读的。。最好用root权限
sudo find /var/log -type f -exec grep error {} \; -exec echo {} \;
白手起家, 积分 9, 距离下一级还需 191 积分
论坛徽章:0
呵呵,谢谢光明使者,该问题搞定了:)
北京盛拓优讯信息技术有限公司. 版权所有 京ICP备号 北京市公安局海淀分局网监中心备案编号:22
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处在 Linux 下用 mkdir 命令来创建目录和子目录
了解了用 ls 命令在目录中列出条目后,现在我们要学习在 Linux 系统下创建目录。在 Linux 下,我们可以使用 mkdir 命令。Mkdir 是&make directory& 的缩写词。
mkdir 是什么呢
Mkdir 是一个用来在 Linux 系统下创建目录的命令。此命令属于内建命令。
运行 mkdir 命令
你可以在你的控制台直接键入 mkdir 来使用它。
默认情况下,不带任何参数运行 mkdir 命令会在当前目录下创建目录。下面是参考示例:
从上图看出,我们创建了名为 office 的目录。当我们运行 mkdir 命令时,我们位于 /home/pungki 目录。所以这个新目录 office 创建在/home/pungki目录下。如果我们使用绝对路径 - 例如:/usr/local - , 则 Linux 会在 /usr/local目录下创建一个目录。
当 Linux 发现想要创建的目录已经存在, 那么 Linux 会提示我们 Linux 无法创建它。
另外一个创建目录的首要条件是, 在想要创建目录的目标路径下你必须具有访问权限。当你无法取得权限时 mkdir 会报告这个错误。
创建多个目录
我们也可以同时创建多个目录。比如我们要创建的目录有 ubuntu, redhat 和 slackware。那么语法会像这样子:
$ mkdir ubuntu redhat slackware
添加包含子目录的目录 [译注:递归地创建目录]
当你要创建的目录包含子目录时,你需要使用 -p 参数。如果 mkdir 找不到父目录,那么这个参数会首先帮助创建父目录。比如说我们要创建名为 letter 的目录,在它的目录下包含有子目录 important。那么语法会像这样子:
$ mkdir -p letter/important
设置访问权限
使用 -m 参数,我们可以给即将生成的新目录设置权限。示例如下:
$ mkdir -m=r-- letter
上面的命令会创建一个名为 letter 的目录,同时为目录所有者、用户组和其他用户针对该目录赋予只读权限
打印创建目录的过程信息
如果我们要查看信息,我们可以使用 -v 参数来实现。示例如下:
$ mkdir -v ubuntu redhat slackware
Mkdir 命令也属于一个最基础的命令,对于想要学习 Linux 的朋友这个命令必须掌握。像往常一样,你可以键入man mkdir或mkdir --help来显示 mkdir 的手册页面和更加深入的探讨。
译者: 校对:
原创翻译, 荣誉推出
共计翻译: 39 篇
| 共计贡献: 277 天
贡献时间: -&
-08%-11%-43%-52%-65%-77%-85%
了解了用 ls 命令在目录中列出条目后,现在我们要学习在 Linux 系统下创建目录。在 Linux 下,我们可以使用 mkdir 命令。Mkdir 是make directory 的缩写词。 mkdir 是什么呢 Mkdir 是一个用来在 Linux 系统下创建目
上一篇:下一篇:
评论功能关闭
根据国家法律法规要求,本站暂时关闭文章评论功能。开放时间不确定。我们将谋求一种可以让大家更好的发表意见的方式。
根据国家法律法规要求,只有实名认证后才可以发表评论。
来自美国的 Safari 8.0|Mac 10.10 用户 发表于
03:23 的评论:
在一个窗口下用mkdir新建一个文件,用cd 将工作目录改道这个文件夹下,那如果打开一个新的窗口,default directory和working directory是什么?
来自广东深圳的 Chrome 49.0|Windows 7 用户
右键,Open Terminal&&是默认的~ 目录;Open Tab 是当前Working directory。
分享到微信
打开微信,点击顶部的“╋”,
使用“扫一扫”将网页分享至微信。
请将我们加入您的广告过滤器的白名单,请支持开源站点。谢谢您。

我要回帖

更多关于 php chmod递归目录 的文章

 

随机推荐