mkdir(make directory)

功能:创建目录
案例:
mkdir test
点评:将创建一个目录名为test的目录

rmdir(remove directory)

功能:删除目录
案例:
rmdir test
点评:将删除目录test

mv

功能:移动目录
范例一:
mv mvtest test
点评:将目录mvtest 移动到目录test下面 范例二:
mv mvtest mvtest2
点评:更名的效果 范例三:
mv test test2 mvtest
点评:将目录test test2 一并移动到mvtest下面

查看文档的指令有哪些?以及各自的特点?

cat 由第一行开始显示档案内容

tac 由最后一行开始显示,内容颠倒过来了

nl 显示的时候,顺道输出行号

more 一页一页的显示档案内容(Enter向下翻一行,空格向下翻一页,q离开more模式)

less 与more类似,但是比more更好,可以往前翻页(可以通过PageUp PageDown来进行翻页,空格向下翻一页,q离开)

head 只看头几行(head -n 跟数字可以指定显示多少行)

tail 只看尾几行 (tail -n 跟数字可以指定显示多少行)

od 以二进制的方式读取档案内容

如何新建文档?

用touch指令来实现

touch指令不仅可以新建文档,还可以修改文档日期

案例:

ll是ls -l 的别名,其实是一个意思

touch -d "2 days ago" testtouch
功能:将文件testtouch日期修改提前两天,其中-d表示天数 touch testtouch
功能:创建文件testtouch touch -t 1307030202 testtouch
功能:将文件testtouch的日期修改为2013年7月3日2点2分,-t是一种时间格式

umask的使用?

umask对于档案的预设管理很有关系。

比如umask的值为0022

那么新建文件和文件夹的权限为

我们新建一个文件和文件夹来看看

root@ubuntu:~/tmp# touch test1
root@ubuntu:~/tmp# mkdir test2 -rw-r--r-- 1 root root 0 2013-06-05 16:15 test1
drwxr-xr-x 2 root root 4096 2013-06-05 16:15 test2

果然如想象的一样

那么我们重新设置一下umask为0002看看

umask 0002

root@ubuntu:~/tmp# rm test1
root@ubuntu:~/tmp# rmdir test2 root@ubuntu:~/tmp# touch test1
root@ubuntu:~/tmp# mkdir test2 -rw-rw-r-- 1 root root 0 2013-06-05 16:22 test1
drwxrwxr-x 2 root root 4096 2013-06-05 16:20 test2/

这时候,只去除了一个w

如何设置文档的隐藏属性?

答:用chattr
+ 增加一个特殊参数
- 移除一个特殊参数
= 仅有后面接的参数
A 设定了A这个属性,这个档案或目录的存取时间atime(access)将不可被修改。
S 将数据写入磁盘当中避免数据流失
a 设置a之后,这个档案只能增加数据,不能删除数据
c 设置这个属性之后,将会自动压缩文档
i 可以让一个档案不能被删除、改名、设定连结也无法写入或新增资料。
等等..
比较常用的是a和i

案例:

root@ubuntu:~/tmp# touch attrtest
root@ubuntu:~/tmp# chattr +i attrtest
root@ubuntu:~/tmp# rm attrtest
rm: cannot remove `attrtest': Operation not permitted

如何查看隐藏属性?
答:通过lsattr指令
案例:

root@ubuntu:~/tmp# lsattr attrtest
-----a-----------e- attrtest
root@ubuntu:~/tmp# chattr -a attrtest
root@ubuntu:~/tmp# lsattr attrtest
-----------------e- attrtest

如何修改文档权限?

答:通过执行chmod来修改

案例:

root@ubuntu:~/tmp# touch attrtest
root@ubuntu:~/tmp# chmod 777 attrtest
root@ubuntu:~/tmp# ll
total 16
drwxrwxr-x 4 jiqing9006 jiqing9006 4096 2013-06-05 17:03 ./
drwxr-xr-x 26 jiqing9006 jiqing9006 4096 2013-06-05 15:21 ../
-rwxrwxrwx 1 root root 0 2013-06-05 17:03 attrtest*
drwxrwxr-x 5 jiqing9006 jiqing9006 4096 2013-06-04 15:24 mvtest/
-rw-rw-r-- 1 root root 0 2013-06-05 16:22 test1
drwxrwxr-x 2 root root 4096 2013-06-05 16:20 test2/
-rw-r--r-- 1 root root 0 2013-07-03 02:02 testtouch

如何搜索文档?

答:通常先使用whereis或者locate来检查,如果真的找不到,才以find来搜索。whereis和locate是利用数据库来搜索数据,所以相当的快,而且没有实际的搜索硬盘,比较省时间。

而find速度慢,也操作硬盘了。

案例:

which搜寻执行档

root@ubuntu:~/tmp# which passwd
/usr/bin/passwd
root@ubuntu:~/tmp# which passwd -a
/usr/bin/passwd

whereis搜寻特定档案

root@ubuntu:~/tmp# whereis passwd
passwd: /usr/bin/passwd /etc/passwd /usr/share/man/man5/passwd.5.gz /usr/share/man/man1/passwd.1ssl.gz /usr/share/man/man1/passwd.1.gz

-b只找binary档案

-m只找manual下面的档案

-s只找source

root@ubuntu:~/tmp# whereis -b passwd
passwd: /usr/bin/passwd /etc/passwd
root@ubuntu:~/tmp# whereis -m passwd
passwd: /usr/share/man/man5/passwd.5.gz /usr/share/man/man1/passwd.1ssl.gz /usr/share/man/man1/passwd.1.gz

tips:

基本上 Linux 每天会针对 Linux 主机上所有档案的所在进行搜寻数据库的更新, 更新的程序就是 
updatedb。当然,也可以直接使用 /usr/bin/updatedb 来更新数据库档案呢!

locate

root@ubuntu:~/tmp# locate passwd
/etc/passwd
../var/lib/dpkg/info/passwd.postinst
/var/lib/dpkg/info/passwd.preinst

find 查询硬盘了

root@ubuntu:~/tmp# find /home/jiqing9006 -mtime 0
/home/jiqing9006
/home/jiqing9006/file
/home/jiqing9006/.viminfo
/home/jiqing9006/tmp
/home/jiqing9006/tmp/test2
/home/jiqing9006/tmp/mvtest/demo
../home/jiqing9006/.cache/zeitgeist/daemon.log.2013-06-04
/home/jiqing9006/.cache/zeitgeist/daemon.log
find: `/home/jiqing9006/.gvfs': Permission denied

上述指令表示查询24小时内更改的文件,0表示从当前到24小时前。

find / -mtime 3 表示三天前的24小时内。

找出档名为 passwd 这个档案
[root@linux ~]# find / -name passwd
# 利用这个 -name 可以搜寻档名啊! 找出系统中,大于 1MB 的档案
[root@linux ~]# find / -size +1000k
# 虽然在 man page 提到可以使用 M 与 G 分别代表 MB 与 GB,
# 不过,俺却试不出来这个功能~所以,目前应该是仅支持到 c 与 k 吧!

小结:
什么是绝对路径与相对路径?

绝对路径的写法为由 / 开始写,至于相对路径则不由 / 开始写!此外,相对路径为相对于目前
工作目录的路径!

如何更改一个目录的名称?例如由 /home/test 变为 /home/test2

mv /home/test /home/test2  

PATH 这个环境变量的意义?

这个是用来指定执行档执行的时候,档案搜寻的目录路径。  

umask 有什么用处与优点?

umask 可以拿掉一些属性,因此,适当的定义 umask 有助于系统的安全, 因为他可以用来建立
预设的目录或档案的权限。
当一个使用者的 umask 分别为 033 与 044 他所建立的档案与目录的权限为何?
在 umask 为 033 时,则预设是拿掉 group 与 other 的 w(2)x(1) 权限,因此权限就成为『档
案 -rw-r--r-- , 目录 drwxr--r-- 』而当 umask 044 时,则拿掉 r 的属性,因此就成为『档
案 -rw--w--w-,目录 drwx-wx-wx』

什么是 SUID ?

当一个指令具有 SUID 的功能时,则当其它人使用这个指令时,该程序将具有指令拥有者的权限。

当我要查询 /usr/bin/passwd 这个档案的一些属性时,可以使用什么指令来查询?

ls -al, file, lsattr  

尝试用 find 找出目前 linux 系统中,所有具有 SUID 的档案有哪些?

find / -type f -perm -4000 -print  

linux指令之文件的创建、查询、修改的更多相关文章

  1. Linux如何查看文件的创建、修改时间?

    Linux如何查看文件的创建.修改时间? 利用stat指令查看文件信息 三种时间的介绍 ATime --文件的最近访问时间 只要读取时间,ATime就会更新 MTime --文件的内容最近修改的时间 ...

  2. Linux下的文件夹创建命令使用实践

    [文章摘要] 本文以实际的C源程序为样例,介绍了Linux下的文件夹创建命令(mkdir)的用法.为相关开发工作的开展提供了故意的參考. [关键词] C语言  Linux  文件夹创建  makefi ...

  3. 用 C# 轻松读取、改变文件的创建、修改、访问时间

    创建时间是文件存入到电脑中的时间,而修改时间则是改变起内容的最后时间 // 读取文件的创建.修改.访问时间FileInfo fi = new FileInfo("C://test.txt&q ...

  4. C# 轻松读取、改变文件的创建、修改、访问时间 z

    // 读取文件的创建.修改.访问时间FileInfo fi = new FileInfo("C://test.txt");Console.WriteLine(fi.Creation ...

  5. 【linux】如何查看文件的创建、修改时间

    本篇博文旨在介绍Linux下查看文件时间的方法:并介绍如何使用touch指令来进行文件时间的创建以及修改 如何查看文件的时间信息利用stat指令查看文件信息 三种时间的介绍ATime ——文件的最近访 ...

  6. Linux如何查找文件的创建时间

    Linux的文件能否找到文件的创建时间取决于文件系统类型,在ext4之前的早期文件系统中(ext.ext2.ext3),文件的元数据不会记录文件的创建时间,它只会记录访问时间.修改时间.更改时间(状态 ...

  7. Linux下查看文件编码及批量修改编码

    查看文件编码在Linux中查看文件编码可以通过以下几种方式:1.在Vim中可以直接查看文件编码:set fileencoding即可显示文件编码格式.如果你只是想查看其它编码格式的文件或者想解决用Vi ...

  8. python脚本获取文件的创建于修改日期并计算时间差

    由于在计算一个算法的运行时间的时候,需要将文件的创建日期与修改日期读取到,然后计算两者之差,在网上搜索了相关的程序之后,自己又修改了一下,把代码贴在这里,供以后查阅使用,也希望可以帮到其他人. # - ...

  9. linux中的文件编码及编码修改

    查看文件编码 在Linux中查看文件编码可以通过以下几种方式: 1.在Vim中可以直接查看文件编码 :set fileencoding 即可显示文件编码格式. 如果你只是想查看其它编码格式的文件或者想 ...

随机推荐

  1. sql.date and util.Date

    注意: 1.用 bean 接受 数据库查询的结果 sql.date 会自动转换为 util.date 2.想数据库插入date 类型,必须是要 sql.date 一.字符串 转 util.date S ...

  2. ORA-20000:ORU-10027:buffer overflow,limit of 2000 bytes.

     ORA-20000:ORU-10027:buffer overflow,limit of 2000 bytes.  这是因为在过程中用到了dbms_output.put_line()在服务器端输出信 ...

  3. 统一资源定位符URL类

    package j2se.core.net.base; import java.io.BufferedReader;import java.io.IOException;import java.io. ...

  4. 学霸网站---Alpha+版本测试报告

    说明:由于老师前几天要求交测试报告,本测试报告只针对当时完成的功能进行测试,并不是几天之后要发布的BETA版本,不会有很多差别,但是BETA版本会包含对其中BUG的修复. 学霸网站测试报告 一.引言 ...

  5. oracle数据库升级记(记一次10.2.0.3版本升级到11.2.0.1版本的过程)

    操作系统:windows xp 已有数据库版本:10.2.0.3 升级目标版本:11.2.0.1 步骤大纲: 在源操作系统(安装有10.2.0.3数据库的操作系统)上安装11.2.0.1数据库软件,然 ...

  6. bind原理 附带上自己的一些理解 (引自javascript设计模式和与看法实践)

      Function.prototype.bind = function(){ //this指向的是所有由Function构造器产生的函数 var self = this, // 保存原函数 //[] ...

  7. Groovy 转换JSON和生产JSON

    Groovy 类和JSON之间的相互转换,主要在groovy.json包下面 1. JsonSlurper JsonSlurper 这个类用于转换JSON文本或从Groovy 数据结构中读取内容例如m ...

  8. gcc与gdb版本兼容问题

    今天在用gdb调试C++程序的时候,想用"p i”命令打印出程序的一个局部变量i,却一直提示: No symbol "i" in current context. 我愣了 ...

  9. 用Backbone.js创建一个联系人管理系统(五)

    原文: Build a Contacts Manager Using Backbone.js: Part 5 这是这系列教程最后一部分了. 之前所有的增删改都在前端完成. 这部分我们要把Contact ...

  10. java反射案例

     Java反射经典实例 2007-08-29 17:55:25 分类: Java Java提供了一套机制来动态执行方法和构造方法,以及数组操作等,这套机制就叫——反射.反射机制是如今很多流行框架的实现 ...