Chinaunix首页 | 论坛 | 博客
  • 博客访问: 23434
  • 博文数量: 4
  • 博客积分: 339
  • 博客等级: 一等列兵
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2010-03-11 13:35
文章分类
文章存档

2010年(4)

最近访客

分类: LINUX

2010-06-04 21:21:12

1.目录与路径

1.1目录的相关操作

1.1.1cd(Change Directory)改变当前目录

  • cd [绝对路径或相对路径]
  • cd ~[UserName] 进入指定用户的home目录
  • cd ~ 等效于cd  回到自己的home目录
  • cd .. 回到上一层目录
  • cd - 回到刚才的那个目录

1.1.2 PWD(Print Working Directory)显示目前所在目录

  • pwd  显示当前目录
  • pwd -P忽略链接显示完整路径

1.1.3 mkdir(make directory)创建目录

mkdir [-option] [DirectoryName]

  • mkdir [DirectoryName]创建一个目录
  • mkdir -m [DirectoryName] 创建一个目录的同时,自定义它的权限。如:mkdir -m 711 test2
  • mkdir -p [DirectoryName] 创建多层目录,如mkdir -p /home/test1/test2/test3

1.1.4 rmdir 删除目录

rmdir [-option] [DirectoryName]

  • rmdir [DirectoryName] 如果目录为空,即不包含子目录或文件,该目录就可被删除。
  • rmdir -p [DirectoryName] 清除多层目录
  • rm -r [DirectoryName] 清除这个目录以及该目录下的所有目录或文件。

1.2关于$PATH变量

  • 不同用户的$PATH变量是不同的,所以不同用户所能执行的预设命令也就不同。
  • $PATH是可以修改的,所以普通用户通过修改该变量,就可以执行/sbin和/usr/sbin下的命令。
  • "."不能不能加到$PATH中,这样会破坏系统安全性。
  • PATH=''$PATH'':/root  把其它目录添加到当前的$PATH中。

2.文件与目录管理

2.1显示文件或目录 LS

ls [-option] [DirectoryName]

  • ls -al [DirectoryName] 列出指定目录下包括隐藏文件在内的全部文件,并以长格式输出文件的属性和权限。
  • ls -al --full-time [DirectoryName] 列出该目录下所有文件的详细修改时间,其它同上。
  • ls -d 仅列出目录。

2.2复制、删除和移动

2.2.1复制文件或目录

cp [-option] [SourcePath] [DestinationPath]

  • -a 复制完成后,目标文件保留源文件的属性和权限。
  • -i 如果目标目录包含与源目录或文件同名的目录或文件,那么将提示用户是否覆盖。
  • -r 将源目录及其下的所有子目录和文件一齐copy到目标目录。
  • -s 软链接,相当于快捷方式,可用于目录或文件。链接数不变,不占用磁盘空间,权限为777且文件属性的末尾有指向源位置的标记,修改链接文件源文件也会一同 被修改(即源文件与链接文件互为同步),但删除链接文件,源文件不受任何影响。

-rw-r--r-- 1 root root 176 Sep 24 14:02 bashrc

lrwxrwxrwx 1 root root   6 Sep 24 14:20 bashrc_slink -> bashrc

  • -l 硬链接,只能用于文件,链接数加1,占用磁盘空间,其属性与权限完全与源文件相同,链接文件与源文件互为同步,删除链接文件,源文件不受影响。
  • -u 当目标文件与源文件有差异时,才会复制复制,适用于备份操作。
  • -d 复制链接文件,如果不加-d只会复制链接文件的源文件。

2.2.2删除文件和目录

rm [-option] [DestinationDirectory/DestinationFile]

  • -i 删除前询问
  • -f 强制删除
  • -r 递归删除目标目录下的所有子目录和文件。
  • ./ [FileName] 删除以-开头的文件。

2.2.3移动文件和目录、更名

mv [-option] [SourceDirectory/SourceFiles] [DestinationDirectory/DestinationFiles]

  • -f 强制移动,如果目标文件已经存在,会被强制覆盖。
  • -i 如果目标文件已经存在,会询问时否覆盖。
  • -u 如果源文件比目标文件更新,才会update。

2.3 取得路径中的目录名和文件名

  • basename [Path] 取得路径中的文件名
  • dirname [Path] 取得路径中的目录名

3.查阅文件内容

3.1直接显示文件内容

3.1.1cat [-option] [FileName] 从第1行到最后一行显示。

  • -b 给非空白行标注行号
  • -n 给所有行(包括空白行)加行号。

3.1.2 tac [-option] [FileName] 从最后一行到第一行显示。

3.2可翻页显示文件内容

3.2.1 more [-option] [FileName]

  • [space] 向下翻页
  • [b]或[ctrl+b]向上翻页
  • [enter]向下翻一行
  • [/string] 向下搜索字符串,按n键向下逐个查找
  • [q]退出

3.2.2 less [-option] [FileName]

man 就是调用less命令来查看帮助文档的

  • [space] 向下翻页
  • [pagedown] 向下翻页
  • [pageup] 向上翻页
  • [/string] 向下查找字符串
  • [?string] 向上查找字符串
  • [n] 重复前一个搜索
  • [N] 向相反的方向重复前一个搜索
  • [q] 退出

3.3 截取文档(以行为单位)

3.3.1取出前几行

head [-option] [FileName]

  • -n number 显示前number行,如head -n 20 [FileName] 显示前20行
  • -n -number 显示除后number行以外的其它行

3.3.2取出后几行

tail [-option] [FileName]

  • -n number 显示后number行,如tail -n 20 [FileName]显示后20行
  • -n +number 显示除前number行外的其它行
  • -f 循环检测目标文档,当有新的内容被写入的时间及时看到,可以用到监控log文件上。

例子:如果想要显示11-20行可以用head -n 20 [FileName] | tail -n 10

3.4修改文件的时间和创建新文件

3.4.1文件的3个主要时间参数

  • mtime (modification time)文件内容的修改时间
  • ctime(status time)文件属性和权限被修改的时间
  • atime(access time)文件被访问的时间如cat、more、less等

3.4.2创建文件

touch [-option] [FileName]

touch后如果有文件,则这个文件3个时间(mtime、ctime、atime)都会被更新为当前系统时间;如果touch后的文件不存在,则创建这 个空文件。

4.文件与目录的预设权限和隐藏权限

4.1预设权限

当前使用者创建文件或目录的初始权限

[root@www ~]# umask

0022                 #显示预设权限只有后三位有效#          

[root@www ~]# umask -S

u=rwx,g=rx,o=rx      #显示预设权限#

4.1.1对于文件

最高权限为 u=rw,g=rw,o=rw即666,而022为被减去的权限

创建文件时:(-rw-rw-rw-) - (-----w--w-) ==> -rw-r--r--

           666-022 ==> 644

4.1.1对于目录

最高权限为 u=rwx,g=rwx,o=rwx即777,而022为被减去的权限

创建目录时:(drwxrwxrwx) - (d----w--w-) ==> drwxr-xr-x

           777-022 ==> 755

4.2文件隐藏属性

4.2.1设定文件隐藏属性

lsattr [option][DestinationDirectory]

  • +a 只可以向目标目录内添加文件,但不能修改、重命名或删除其中的任何文件。
  • -a 移除以上隐藏权限
  • +i 禁止该目录的所有权限
  • -i 移除以上隐藏权限

 4.2.2 显示文件的隐藏属性

lsattr [option][DestinationDirectory]

  • -a 列出隐藏文件的隐藏属性
  • -R 列出目录内的所有子目录和文件的隐藏属性
  • -d 如果后面跟目标,只列出目录的隐藏属性

4.3文件的特殊权限

4.3.1 特殊权限介绍

4.3.1.1 SUID(set uid,只能针对文件)-rwsr-xr-x

  • suid仅对二进制文件有效
  • 执行者必须对二进制文件具有x权限
  • 此权限仅在二进制文件的执行过程中有效。
  • 在执行过程中,执行者会获得该文件拥有者的权限

4.3.1.2 SGID(set gid,可以针对目录和文件)-rws --s r-x

  • 对于文件

suid仅对二进制文件有效

执行者必须对二进制文件具有x权限

此权限仅在二进制文件的执行过程中有效。

在执行过程中,执行者会获得该文件所属群组的权限

  • 对于目录

使用者对于此目录有rw 权限,即可以进入该目录

使用者在此目录下的有效群组为,该目录的所属群组

如果使用者对于此目录还有w权限,那么使用者在这个目录下所创建的新文件的所属群组就为此目录的所属群组。

4.3.1.3 SBIT(sticky bit,只针对目录有效)rwx rwx rwt

  • 使用者对此目录有w权限,即能向这个目录写入
  • 使用者在此目录下所创建的目录或文件,只有root和创建者本身才能修改、移动、删除文件。

4.3.2 SUID、SGID、SBIT权限设定

4.3.2.1 普通权限用三组数字表述,如755,特殊权限在三组数字前再加一组数字如:chmod 4755 [FileName]

  • 4为SUID
  • 2为SGID
  • 1为SBIT

4.3.2.2 用字符表达如:chmod u+s [FileName]  等效于 chmod 4755 [FileName]

  • u+s为SUID
  • g+s为SGID
  • o+t为SBIT

4.4 查看文件类型

可以查看文件的基本类型(ASCII、Binary File、Data File),包括所使用的share library。

file [FileName]

5.命令与文件的搜索

5.1命令的搜索

5.1.1which [option] command

  • -a 将能在$PATH中能找到的命令全部列出

注意:

which只会在$PATH中搜索命令名,对内部命令无效。

which后必须跟完整的命令名

5.1.2 type [option] command

除与which相同的作用外,可以区分内部命令与外部命令

5.2文件的搜索(whereis、locate、find)

5.2.1 whereis 根据/var/lib/mlocate内的数据库文件记载来找出所输入的文件名关键字

whereis [option] FileName/DirName 只能跟完整的文件名

  • -b只搜索可执行文件
  • -m只到说明文档目录搜索文件
  • -s搜索原代码文件
  • -u搜索不在以上三个范围内的其它类型文件。

5.2.2 locate 根据/var/lib/mlocate内的数据库文件记载来找出所输入的文件名关键字

locate [option] FileName 可以跟不完整的文件名

5.2.3强制更新mlocate的方法

/var/lib/mlocate 文件在默认情况下会每天更新一次,所以locate和whereis无法搜索到当天新建的文件。

updatedb 会根据 /etc/updatedb.conf 中的设定搜索硬盘上的文件,并强制更新到/var/lib/mlocate中

5.2.4 find的用法

find [path] [option] [action]

5.2.4.1与修改时间有关的时间参数

  • -mtime n n天前的24小时之内修改的文件,如24小时之内修改的为-mtime 0
  • -mtime -n n天之内且包括第n天修改的文件,如4天以内修改的为-mtime -4
  • -mtime +n n天以前但不包括第n天修改的文件,如4天以前但不包括第4天修改的为-mtime +4
  • -newer file 列出比file更新的文件

5.2.4.2与文件或目录的所有者或所属群组有关的参数

  • -uid n 列出所有者uid为n的文件或目录
  • -gid n 列出所属群组为n的文件或目录
  • -user name 列出所有者为name的所有文件或目录
  • -group name 列出所属群组为name的所有文件或目录
  • -nouser 列出没有所有者的文件
  • -nogroup 列出没有所属群组的文件

5.2.4.3与文件的名/类型/权限有关的参数

  • -name filename 搜索文件名为filename的文件
  • -size [+/-]size 搜索比较size还要大(+)或小(-)的文件,size的规格为c代表byte,k代表1024bytes。
  • -type type搜索类型为type的文件,常用类型有,f:正规文件,b、c:设备文件,d:目录文件,l:链接文件,S:socket文件,p:FIFO文件
  • -perm mode 搜索权限属性完全等于mode的文件,例如mode的取值0755
  • -perm -mode 搜索权限完全包含mode的文件
  • -perm +mode 搜索权限包含任一mode的文件
  • -exec command 用command来处理搜索到的结果
阅读(1508) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:Linux权限及目录管理的基础知识

给主人留下些什么吧!~~