1、mkdir -p test1/test2/test3 循环创建目录rmdir -p test1/test2/test3 循环删除目录,前提这些目录都是空mkdir -m 711 test4 指定目录的权限,如果不加m的话就是默认权限2、PATH查找文件属性的命令的ls的完整文件是:/bin/ls,为什么在任何一个地方输入ls都可以进行文件的查找呢?因为环境变量PATH的帮助,当执行ls时候,系统会按照PATH定义的路径去寻找,如果PATH中含有多个文件名为ls的文件,先被查询到的会被执行!echo $PATH >>> /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/s bin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin: /root/bin上面是root用户,当是一般用户时候:echo $PATH>>> /usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/h ome/cao/bin由此可见PATH这个文件的内容是由一堆目录组成的,每个目录用:隔开,发现不管是一般用户还是超级用户,都有/bin目录,所以都可以执行ls,因为ls就在bin下面!但是一般用户没有sbin目录,这也是为什么有些命令只有超级用户才可以执行!例题1:一般用户 $ifconfig eth0 不成功超级用户 #ifconfig eth0 成功一般用户 $/sbin/ifconfig eth0 成功例题2:假如你是root,如果将ls由/bin/ls 移动成/root/ls(mv /bin/ls /root)然后你自己也在root目录下, (1)可不可以直接输入ls来执行? 不行,因为/root的这个目录并不在PATH指定目录中(2)若不能该如何来执行? /root/ls 或者./ls(3)若要直接可以用ls可以执行,怎么做?将/root加入PATH 中,PATH="$PATH":/root这个例题做好之后,别忘记将ls再次移动过来,否则系统就要出问题了!3、查看文件与目录ls -l:列出长数据,包括文件的属性和权限等值-a:全部的文件,连同隐藏文件-d:仅列出目录-h:将文件容量以人易读的方式显示-i:列出inode号注:因为最常用的-l,所以有时候ls -l被集合为ll,ll相当于是ls -l。
cp-i:若目标文件已经存在,提示是否覆盖: y n-p:连同文件的属性一块复制过去,否则在默认的情况中,cp的源文件和目的文件的属性是不一样的,目的文件的所有者和组通常是操作者。
-r:递归持续复制,用于目录的复制行为-d:若源文件是连接文件的属性,则复制连接文件属性而非文件本身-a:相当于-pdrrm-f:force的意思,就是强制删除的意思,不会出现警告-i:互动删除,在删除前会提醒用户-r:递归删除,常用在目录的删除注:有些删除虽然没有家i,但是仍然会提示,这是有些默认假如了-i的参数。
mv-f:如果目标文件已经存在,不会询问直接覆盖-i:如果目标文件已经存在,会询问是否覆盖注:还可以重名:touch test1; mv test1 test2 将test1改名为test2mv source1 source2 test:如果有多个文件。
最后一个一定是目录,意思是将前面的两个文件移动到最后的这个目录中。
4、取得文件名和目录名mkdir -p /test2/test3/test4cd /test2/test3/test4touch abccd /test2basename /test2/test3/test4/abc 取得文件名>>>abcdirname /test2/test3/test4/abc 取得目录名>>>/test2/test3/test45、文件内容查阅cat :由第一行开始显示文件内容tac:由最后一行开始显示nl :显示的时候,顺便显示行号more: b---是往前翻页,不过只对文件有用,对管道没有用 /字符串:代表的是向下查询“字符串”这个关键字less:less比more更加好用,---pagedown和pageup向上翻一页和向下翻一页 ---/字符串向下查询字符串 ---?字符串向上查询字符串head:取出前面几行---head 【-n number】文件默认是取出前十行注:如果-n是负数,指的是输出n前面的行数,不包括第n 行,如head -n -100 /etc/man.config ,假如这个文件共有141行,会列出前面41行,后面的100行不会显示出来。
tail 取出后面几行 ---tail 【-n number】文件默认是取出后十行注:如果不知道/etc/man.config有几行,只想列出100行后的内容 tail -n +100 /etc/man.config.tail -f /var/log/messages,因为这个文件随时会有数据写入,要想让写入的数据立刻就输入到屏幕上,就是利用-f这个参数。
6、od来查看二进制文件,--od -t c是将二进制文件以ASCII 显示出来。
7、修改文件时间和创建新文件每个linux文件都会有很多的时间参数,其实有三个很重要的时间参数:----modification time(mtime) 当文件内容更改时,就会更新这个文件。
内容指的是文件的数据内容,并非权限和属性的更改。
----status time (ctime) 当文件的状态改变时候,比如权限和属性更改,就会更新这个时间-----access time (atime) 当该文件内容被取用时,比如用less去读取了,这个时间就会进行改变[root@localhost ~]# ls -l /etc/man.config-rw-r--r-- 1 root root 4617 2006-07-13/etc/man.config[root@localhost ~]# ls -l --time=atime /etc/man.config-rw-r--r-- 1 root root 4617 10-31 03:08 /etc/man.config[root@localhost ~]# ls -l --time=ctime /etc/man.config-rw-r--r-- 1 root root 4617 10-31 01:36 /etc/man.config由此可见默认显示的是mtime!8、通过touch可以改变这些时间:touch--a:仅修改访问时间--c:仅修改文件的时间,若该文件不存在则不创建新文件--d:后面接欲修改的时间而不用目前的时间,可以用data="日期或时间"--m:修改mtime--t:后面接欲修改的时间而不用目前的时间,格式为[YYMMDDHHMM][root@localhost ~]# cd /tmp[root@localhost tmp]# touch aaa[root@localhost tmp]# ll aaa-rw-r--r-- 1 root root 0 10-31 03:43 aaa[root@localhost tmp]# ll --time=atime aaa-rw-r--r-- 1 root root 0 10-31 03:43 aaa[root@localhost tmp]# ll --time=ctime aaa-rw-r--r-- 1 root root 0 10-31 03:43 aaa由此可知,如果不做开始的设置,在文件初创的时候,这三个时间是一样的![root@localhost tmp]# cp -a aaa bbb[root@localhost tmp]# lsaaa bbb gconfd-root mapping-root scim-panel-socket:0-root[root@localhost tmp]# ll bbb;ll --time=atime bbb;ll --time=ctime bbb-rw-r--r-- 1 root root 0 10-31 03:43 bbb-rw-r--r-- 1 root root 0 10-31 03:43 bbb-rw-r--r-- 1 root root 0 10-31 03:47 bbb上面的指令是将aaa复制成为bbb,并将其属性一块复制过来,看到这三个时间只有ctime变了,因为这个文件是刚被创建的,所以这个时间有变化!touch -d "2 days ago" aaa 将aaa文件改为两天前9、文件默认的权限umask决定一个新建目录或文件的权限默认值,两种查询方法:[root@localhost tmp]# umask0022 //与一般权限相关的是后面的三个数字,这是要减掉的权限[root@localhost tmp]# umask -Su=rwx,g=rx,o=rx怎样修改默认权限,如要改成002:执行:umask 002 即可!10、文件隐藏属性chattr [+-=][ai]+:增加一个特殊参数,其他原本存在参数不变-:减去一个特殊参数,其他原本参数不变=:仅有后面的参数a:当设置a后,这个文件只能增加数据,不能删除也不能修改数据,只有root能够设置这个属性i:可以让一个文件不能删除、改名、设置连接也无法写入数据。
例:[root@localhost tmp]# touch ccc[root@localhost tmp]# chattr +i ccc[root@localhost tmp]# rm cccrm:是否删除有写保护的一般空文件“ccc”? yrm: 无法删除“ccc”: 不允许的操作lsattr [-adr] 文件或目录显示文件的隐藏属性例:[root@localhost tmp]# lsattr ccc>>>>----i-------- ccc11、文件特殊权限SUID SGID SBIT12、查看文件类型:file 文件名13、命令与文件的查询which [-a] 寻找执行文件-a:将所有由PATH目录中可以找到的命令均列出,而不是只找到第一个就停止。
例:[root@localhost tmp]# which ls>>alias ls='ls --color=tty'/bin/lswhereis [-bmsu] 文件或目录名-b:只找二进制文件-m:只找在说明文件manual路径下的文件-s:只找source源文件-u:查不在上述三个选项当中的其他文档local find。