Archive for the ‘Linux基础’ Category

26
Mar

疯狂~

   Posted by: 士心   in Linux基础

总是会疯狂的做一件事情。在这个事情之外的东西,好像全部可以放弃、忽略。

9
Mar

饱受垃圾留言~

   Posted by: 士心   in Linux基础

本来以为小站不会有垃圾留言,可这两天垃圾留言N多。赶紧去下载了一个口碑不错的插件Akismet,好多了。

27
Jan

重要的Linux文件权限

   Posted by: 士心   in Linux基础

       Linux学习笔记之基础篇-文件权限

      大家知道,Linux是多用户、多任务的操作系统。怎么样才能让不同的用户自由的工作而不互相影响呢?这就要给不同的用户不同的权限了,这个权限怎么设置呢?通过设置文件和目录的访问权限就能达到这一个目的。linux下的文件访问限制很多,不同的用户可能访问的文件不一样,当然对文件的权限也不一样。比如,对于密码设置文件/etc/shadow文件就不能让其他的一般用户访问。我们先看下下面的目录设置:

 
  • [root@bt ~]# ll      //  ll相当于ls -l,详细的列出文件和了、目录的属性   
  • 总计 64      
  • -rw——- 1 root root  1006 11-26 10:55 anaconda-ks.cfg   
  • drwx—— 3 root root  4096 11-27 14:37 Desktop   
  • -rw-r–r– 1 root root 33704 11-26 10:55 install.log   
  • -rw-r–r– 1 root root  4228 11-26 10:51 install.log.syslog   
  • -rwxrwxrwx 1 root root     0 01-27 19:45 test  

      拿最后一行来分析吧

     -rwxrwxrwx 1 root root     0 01-27 19:45 test

  • 最前面的形如 "-rwxrwxrwx" 就是文件或者是目录的权限,关于rwx的具体概念会在以后的文章里面讲解
  • 1表示连接占用的节点(i-node),这与连接文件和目录下的目录有关
  • 第一个root表示这个文件的拥有者是用户root
  • 第二个root表示这个文件的拥有者所在的用户组是root组
  • 0 表示这个文件的大小
  • 01-27  表示这个文件建立的日期
  • 19:45 表示这个文件建立的时间
  • test 表示这个文件的名字

    了解了这些以后,我们就要介绍三个关于权限的命令:chgrp、chown、chmod

1、chgrp (change group)改变所属用户组 

 
  •   
  • chgrp - change group ownership      
  •  -R, –recursive   
  •   
  •         operate on files and directories recursively   
  • 其中最重要的属-R参数了,有上面的cp mv等命令知道,-R一般具有对整个目录有效的意思,   
  • 如上面的test文件,使用chgrp user test 命令 
  • [root@bt ~]# chgrp users test  
  • [root@bt ~]# ll test   
  • -rwxrwxrwx 1 root users 0 01-27 19:45 test  
  • 可以看到test的用户组已经改变到users了 如果是目录的话,就要加上-R参数了

2、chown(chown - change file owner and group)改变文件的拥有者和用户组

 
  1. chown - change file owner and group
  2. -R, –recursive   
  3.               operate on files and directories recursively  
  4. -R参数用法同上
  5. 如果想把test文件改变为shixin拥有(前提是系统中要有shixin这个用户),则:
  6. [root@bt ~]# chown shixin test
  7. [root@bt ~]# ll test
  8. -rwxrwxrwx 1 shixin users 0 01-27 19:45 test
  9. 可以看到test的用户已经改变到shixin了 如果是目录的话,就要加上-R参数了

      那么,什么时候能用到这个命令呢?大概就是把文件复制给其他人的时候。如果root把某个文件直接复制给shixin,那shixin可能就没有权限修改这个文件,这时就要使用chown命令了。

3、chmod(chmod - change file access permissions)改变文件权限 

 
  • 接着上例,想把test文件改成任何人,任何用户组都可以查看,修改,执行的属性
  • [root@bt ~]# chmod 777 test   //777是rwxrwxrwx的权限
  • [root@bt ~]# ll test      
  • -rwxrwxrwx 1 shixin users 0 01-27 19:45 test   

   学习了上述命令以后,就可以在遇到诸如"Permission Deny"的时候应该怎么做了,在架设网站的时候,也会用到这些命令,很是重要。

作者: 士心

原载:linux学习笔记-士心

版权所有,转载时请以链接形式注明作者和原始出处及本声明

26
Jan

linux中文件与目录管理(二)

   Posted by: 士心   in Linux基础

        Linux学习笔记之基础:文件、目录管理。

        接着linux中文件与目录管理(一)继续写。上面说到了cd、mkdir、rmdir,其中mkdir、rmdir是管理目录的。下面介绍cp、rm、mv

1、cp(copy复制这个单词的简写,很好玩吧?)复制文件和目录。这个命令的功能不仅仅是复制,还可以用来备份和建立快捷方式,更新文件等。具体的命令可以通过man查看。下面是主要的参数:

  •  

    -a

  • #(same as -dpR)相当于-dpR   
  • -d 
  • #( same as –no-dereference –preserve=link) 如果复制的是连接文件,则复制原始的文件
  • -f, –force
  • #//if an existing destination file cannot be opened, remove it and try again
  • #强制复制,如果目标文件存在,则删除目标文件,在复制。   
  • -i, –interactive  
  • #prompt before overwrite 在目标文件存在的情况下,询问是否覆盖    
  • -H  
  • #follow command-line symbolic links   
  • -l, –link
  • #link files instead of copying  建立硬链接,而不是复制文件。(常用,重要)   
  • -p 
  • #same as –preserve=mode,ownership,timestamps  与文件的属性一起复制(常用,重要) 
  • -R, -r, –recursive
  • #copy directories recursively  复制目录,可以看出,-r命令总有递归的意思。 
  • -s, –symbolic-link
  • #make symbolic links instead of copying   建立符号连接,类似于快捷方式
  • -u, –update   
  • #copy  only  when  the SOURCE file is newer than the destination file or when the   destination file is missing   只有在目标文件不存在,或者是比原文件旧的时候才复制
  •  
  • A1、比如现在/tmp下面有test1、test2目录,test1下面又有test1、test2两个文件。要将test1目录复制到test2目录下,只要 
  •  cp -r /tmp/test1/ /temp/test2/就可以了。
  • A2、那我要想把test1目录下的所有东西复制到test2下应该怎么办?只要 cp /tmp/test1/* /tmp/test2/  就可以了(其中的*是通配符。怎
  • A3、复制文件和目录的时候,权限的权限是会改变的,这个时候可以使用-m参数保持权限不变
  • 么样?很方便吧?)

        记这些参数真的是麻烦,其实只要经常使用的话,会很快掌握的。有些参数只要有个印象,用的时候man就知道了。

2、rm   删除目录或者是文件(remove files or directories)

  •  

    -f, –force

  • #ignore nonexistent files, never prompt   强制删除,不询问
  • -i, –interactive   
  • #prompt before any removal 理所当然的是询问要不要删除
  • -r, -R, –recursive   
  • # remove directories and their contents recursively  跟cp里面的一样,删除目录的参数
  •  
  • A1、接着上面的例子 如果想删除test2目录,就可以 rm -rf /tmp/test2

3、mv  移动或者是重命名文件、目录move (rename) files)

 
  • -f, –force
  • # do not prompt before overwriting   强制移动,不询问
  • -i, –interactive   
  • # prompt before overwrite  还是询问 
  • -u, –update   
  • # move  only  when  the SOURCE file is newer than the destination file or when the destination file is missing
  • #只有在目标文件不存在,或者是比原文件旧的时候才复制
  •  
  • A1、将上面的test1目录命名为test  mv /tmp/test1 /tmp/test 即可
  • A2、复制test目录到test2目录下    mv /tmp/test  /tmp/test2 即可

     值得一提的是上面我们如果直接如用命令而不加上-i参数的话,系统也是询问我们是否要覆盖,这是为什么呢?因为有alias。在终端输入alias 会看到 mv=’mv -i’ alias rm=’rm -i’的字样,说明系统默认把mv等同于mv -i了,这样就会很方便,当然我们也可以自己设置。

     学会了上述基本命令以后,我们就可以进行简单的linux文件于目录的操作了,不用ctrl+c/x和ctrl+v,我们一样可以办的到,甚至还简单一些呢。

作者: 士心

原载:linux学习笔记-士心

版权所有,转载时请以链接形式注明作者和原始出处及本声明

25
Jan

linux中文件与目录管理(一)

   Posted by: 士心   in Linux基础

       Linux学习笔记之基础:文件、目录管理。

       在linux中,特别是在没有安装X-system的linux系统中,我们对文件和目录的管理不像在windows中使用"资源管理器"那么直观。在windows中,我们可以用Ctrl+c/x来复制、剪切文件和文件夹,用Ctrl+v来粘贴。在linux中用命令管理起来虽然不是很直观,但是并不麻烦,甚至有时候很有趣、很方便。

        Linux中常用的命令有cd、mkdir、rmdir、cp、rm、mv。一一介绍:

      1、 cd(change directory)改变路径

 
  • cd ..          
  • /..表示上一级目录,.表示当前目录。这个就表示回到上一级目录   
  • cd ~   
  • /回到自己的主目录,如果是root,则回到/root;如果是其他用户,则回到 "/home/用户名" 目录中   
  • cd -   
  • /回到上一个目录,注意不是上一层。比如你在/tmp下面,然后切换到/var,这个时候输入cd -,就直接切换回/tmp下面了。   
  • cd的主要用法就这么多  

     2、mkdir(make directory)创建目录

  •  
  • 用man mkdir可以看到   
  • ……   
  • SYNOPSIS   
  •        mkdir [OPTION] DIRECTORY…    
  • DESCRIPTION   
  •        Create the DIRECTORY(ies), if they do not already exist.    
  •        Mandatory arguments to long options are mandatory for short options too.    
  •        -Z, –context=CONTEXT (SELinux) set security context to CONTEXT    
  •        -m, –mode=MODE    set permission mode (as in chmod), not rwxrwxrwx - umask    
  •        -p, –parents      no error if existing, make parent directories as needed    
  •        -v, –verbose    print a message for each created directory   
  •        –help display this help and exit    
  •        –version    output version information and exit  
  • 英语好的直接就可以看懂。
  • 这里最重要的两个参数是-m 和 -p
  • mkdir -p
  • /可以建立多层目录,不管上层目录存在不存在。比如mkdir -p /1/2/3 不管有没有/1、/1/2这个目录,都可以建立/1/2/3。如果没有这个参数,是办不到的
  • mkdir -m
  • /建立的目录是有默认的权限的,如果想在建立的时候就改变权限,就要使用-m参数了。比如:mkdir -m 777 /tmp/test 这样建立的新目录属性就是drwxrwxrwx了

       3、 rmdir(remove empty directory)删除的目录

  •  
  • DESCRIPTION   
  •        Remove the DIRECTORY(ies), if they are empty.    
  •        –ignore-fail-on-non-empty    ignore each failure that is solely because a directory is non-empty   
  •        -p, –parents    
  •                 Remove DIRECTORY and its ancestors.  E.g., ‘rmdir -p a/b/c’ is similar to ‘rmdir  a/b/c a/b a’.  
  •        -v, –verbose      output a diagnostic for every directory processed    
  •        –help display this help and exit   
  •        –version   
  •               output version information and exit  
  • 最重要的参数是-p,它的意思是连上层的空目录一起删除,比如上面建立的/1/2/3 ,输入rmdir -p 就删除了/1/2/3.注意只能删除空的目录。

 

cp 、mv、rm参考linux中文件与目录管理(二)

作者: 士心

原载:linux学习笔记-士心

版权所有,转载时请以链接形式注明作者和原始出处及本声明

22
Jan

你应该知道的-Linux目录配置

   Posted by: 士心   in Linux基础

       很多的Linux发行版本,如果他们的目录配置都不一样的话,我们需要熟悉每个版本的目录配置,那样的话岂不是很麻烦?还好,我们有FHS,就是Filesystem Hierarchy Standard 文件系统层次规范。FHS规范了规范了各种目录下应该放置的文件。它有两层,1、规范了/目录下的目录;2规范了/var和/usr的子目录。这样以来,我们就会很快的熟悉不同版本Linux的目录配置了。
       下面以RedHat的FC7为例,来具体的介绍各个目录:用ls命令查看

XML/HTML代码
  1.  1. [root@localhost /]# ls -l    
  2.  2. 总计 146    
  3.  3. drwxr-xr-x   2 root root  4096 11-05 00:32 bin    
  4.  4. drwxr-xr-x   4 root root  1024 11-04 18:56 boot    
  5.  5. drwxr-xr-x  11 root root  4040 01-22 14:11 dev    
  6.  6. drwxr-xr-x 105 root root 12288 01-22 14:11 etc    
  7.  7. drwxr-xr-x   5 root root  4096 11-04 19:30 home   
  8.  8. drwxr-xr-x  15 root root  4096 11-05 00:19 lib    
  9.  9. drwx——   2 root root 16384 11-05 02:43 lost+found    
  10. 10. drwxr-xr-x   2 root root  4096 01-22 14:11 media    
  11. 11. drwxr-xr-x   2 root root     0 01-22 14:10 misc    
  12. 12. drwxr-xr-x   4 root root  4096 11-06 10:14 mnt    
  13. 13. drwxr-xr-x   2 root root     0 01-22 14:10 net    
  14. 14. drwxr-xr-x   2 root root  4096 2007-04-17 opt    
  15. 15. dr-xr-xr-x 152 root root     0 2008-01-22 proc    
  16. 16. drwxr-x—  33 root root  4096 01-22 14:19 root    
  17. 17. drwxr-xr-x   2 root root 12288 11-05 00:32 sbin    
  18. 18. drwxr-xr-x   2 root root  4096 11-04 18:43 selinux    
  19. 19. drwxr-xr-x   3 root root  4096 11-04 18:54 srv    
  20. 20. drwxr-xr-x  11 root root     0 2008-01-22 sys    
  21. 21. drwxrwxrwt  15 root root  4096 01-22 14:19 tmp    
  22. 22. drwxr-xr-x  13 root root  4096 11-04 18:48 usr    
  23. 23. drwxr-xr-x  23 root root  4096 11-04 19:03 var   

看见了吧,对于FC7而言,/目录下有20个目录
1、bin 用户放置二进制文件的目录,比如我们常用的ls tar cd 命令等都在这个目录下。其他的像/usr/bin也是
2、boot boot是启动的意思,很明显这个是放置启动文件的目录。linux的核心文件vmlinuz就放置在这个下面,如果你安装了grub启动菜单的话,里面应该还会有grub目录
3、dev   Linux将所有的设备都视为文件,放在这个目录下。
4、etc  很重要的配置文件放置的地方,几乎所有的系统重要配置都在这个目录下。
5、home 放置用户的主要目录,比如说我有个用户shixin,那么我的主目录就是/home/shixin,当你进入终端时,默认的也是这个目录。相当于windows下面的Documents and Settings下的shixin文件夹
6、lib  系统函数库的目录,里面有系统运行是需要调用的文件
7、lost+found 当系统出现异常时才会去产看这个目录,放置一些文件片段
8、media 挂载点,用途同mnt
9、misc 莫非是放置音乐文件的?
10、mnt挂载点  ,常用于挂载U盘,光驱或者是windows的分区
11、net  网络相关的文件
12、opt  安装额外软件时候的目录,不过我们习惯于安装在/usr/local中
13、proc 虚拟文加系统,本身不占用硬盘空间,所以数据都在内存里面
13、root  总管理员的个人目录,权限要求很高
14、sbin  这里面的命令只有管理员才能用的到,其他的还有/usr/sbin  、/usr/local/sbin
15、selinux
16、srv  一些服务所要访问的文件,如appache服务
17、sys 系统的核心文件
18、tmp  临时文件放置的地方,需要经常清理
19、usr   FHS同样规范了此目录里面的内容,包含系统的主要程序、用户自行安装的程序、图形界面需要的文件、共享的目录于文件等,很重要的一个目录
20、var 也属于FHS规范,主要放置系统执行过程中的经常变化的文件  其中登录文件就放在/var/log里面

有待进一步更新、完善。

话说好长时间没有些linux学习笔记了,今天写的还是基础之基础。

16
Jan

给Linux初学者的8条建议

   Posted by: 士心   in Linux基础

由于自己在刚接触Linux的时候走了不少的弯路,所以现在就这些经验写出来,与大家分享

1、确定你学习linux的目的是什么,有没有必要学习这个操作系统。如果你对这个不感兴趣,那么建议不要学,不要强迫自己。

2、确定你玩linux不是为了获得视觉和听觉上的满足,这些Windows可以满足你,不用再花费时间,除非你有这方面特使的爱好。

3、不建议安装X-windows,要学会或者是慢慢习惯于在Terminal下操作。

4、不要三天打鱼,两天晒网。学习最忌讳这点,呵呵。

5、不要越过基础知识而直接跳到服务器知识的学习,尽量循序渐进。(自己在这方面吃了亏。)

6、遇到问题,不要惊慌,先看看系统log,确实解决不了,在询问他人。

7、将你学习中遇到的问题和解决问题的方法记载下来。

8、不要沉迷于Linux和Windows谁更好之争。

当然,我也只是一个接触不久的爱好者,如果有什么地方写的不对,欢迎批评指正。

作者: 士心

原载:linux学习笔记-士心

版权所有,转载时请以链接形式注明作者和原始出处及本声明