总是会疯狂的做一件事情。在这个事情之外的东西,好像全部可以放弃、忽略。
Archive for the ‘Linux基础’ Category
疯狂~
重要的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)改变文件的拥有者和用户组
- chown - change file owner and group
- -R, –recursive
- operate on files and directories recursively
- -R参数用法同上
- 如果想把test文件改变为shixin拥有(前提是系统中要有shixin这个用户),则:
- [root@bt ~]# chown shixin test
- [root@bt ~]# ll test
- -rwxrwxrwx 1 shixin users 0 01-27 19:45 test
- 可以看到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学习笔记-士心
版权所有,转载时请以链接形式注明作者和原始出处及本声明
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学习笔记-士心
版权所有,转载时请以链接形式注明作者和原始出处及本声明
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学习笔记-士心
版权所有,转载时请以链接形式注明作者和原始出处及本声明
你应该知道的-Linux目录配置
很多的Linux发行版本,如果他们的目录配置都不一样的话,我们需要熟悉每个版本的目录配置,那样的话岂不是很麻烦?还好,我们有FHS,就是Filesystem Hierarchy Standard 文件系统层次规范。FHS规范了规范了各种目录下应该放置的文件。它有两层,1、规范了/目录下的目录;2规范了/var和/usr的子目录。这样以来,我们就会很快的熟悉不同版本Linux的目录配置了。
下面以RedHat的FC7为例,来具体的介绍各个目录:用ls命令查看
- 1. [root@localhost /]# ls -l
- 2. 总计 146
- 3. drwxr-xr-x 2 root root 4096 11-05 00:32 bin
- 4. drwxr-xr-x 4 root root 1024 11-04 18:56 boot
- 5. drwxr-xr-x 11 root root 4040 01-22 14:11 dev
- 6. drwxr-xr-x 105 root root 12288 01-22 14:11 etc
- 7. drwxr-xr-x 5 root root 4096 11-04 19:30 home
- 8. drwxr-xr-x 15 root root 4096 11-05 00:19 lib
- 9. drwx—— 2 root root 16384 11-05 02:43 lost+found
- 10. drwxr-xr-x 2 root root 4096 01-22 14:11 media
- 11. drwxr-xr-x 2 root root 0 01-22 14:10 misc
- 12. drwxr-xr-x 4 root root 4096 11-06 10:14 mnt
- 13. drwxr-xr-x 2 root root 0 01-22 14:10 net
- 14. drwxr-xr-x 2 root root 4096 2007-04-17 opt
- 15. dr-xr-xr-x 152 root root 0 2008-01-22 proc
- 16. drwxr-x— 33 root root 4096 01-22 14:19 root
- 17. drwxr-xr-x 2 root root 12288 11-05 00:32 sbin
- 18. drwxr-xr-x 2 root root 4096 11-04 18:43 selinux
- 19. drwxr-xr-x 3 root root 4096 11-04 18:54 srv
- 20. drwxr-xr-x 11 root root 0 2008-01-22 sys
- 21. drwxrwxrwt 15 root root 4096 01-22 14:19 tmp
- 22. drwxr-xr-x 13 root root 4096 11-04 18:48 usr
- 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学习笔记了,今天写的还是基础之基础。
给Linux初学者的8条建议
由于自己在刚接触Linux的时候走了不少的弯路,所以现在就这些经验写出来,与大家分享
1、确定你学习linux的目的是什么,有没有必要学习这个操作系统。如果你对这个不感兴趣,那么建议不要学,不要强迫自己。
2、确定你玩linux不是为了获得视觉和听觉上的满足,这些Windows可以满足你,不用再花费时间,除非你有这方面特使的爱好。
3、不建议安装X-windows,要学会或者是慢慢习惯于在Terminal下操作。
4、不要三天打鱼,两天晒网。学习最忌讳这点,呵呵。
5、不要越过基础知识而直接跳到服务器知识的学习,尽量循序渐进。(自己在这方面吃了亏。)
6、遇到问题,不要惊慌,先看看系统log,确实解决不了,在询问他人。
7、将你学习中遇到的问题和解决问题的方法记载下来。
8、不要沉迷于Linux和Windows谁更好之争。
当然,我也只是一个接触不久的爱好者,如果有什么地方写的不对,欢迎批评指正。
作者: 士心
原载:linux学习笔记-士心
版权所有,转载时请以链接形式注明作者和原始出处及本声明