linux那点事儿(一)
来源:岁月联盟
时间:2012-05-14
之前要先更新数据库,所以选执行 updatedb 命令。 www.2cto.com 用户权限 其实,这个地方对于新手来说感觉有点复杂,但是并不难,只要记好了规则就可以了。 我们现有随便进入一个文件夹下,这个文件下要至少有一个文件或文件夹,然后敲 ll 命令。[root@localhost test]# ll总用量 24rwx------ 2 root root 16384 2月 22 04:31 lost+foundrwxr-xr-x 2 root root 4096 3月 18 14:43 test 那么文件前面的“drwxr-xr-x”就表示的权限!linux下分三类用户:u 所有者g 所属组o 其他人 我们把“rwxr-xr-x”分为三部分,三位一组。如下rwx r-x r-x所有者 所属组 其它人权限类型:所要注意的是,权限对文件和目录的含义是有差别的。
修改权限符号:+ 加权限- 减权限= 等于什么权限 当我们想修改一个文件(或目录)的权限时:[root@localhost hzh]# chmod u+w a 给a文件的所有者加上写权限(chmod 为修改权限的命令) 其实,我们一般修改用户权限时不这样写,那怎么写呢,用数字表示。r - 4 w - 2 x - 1rwx--r-wxr+w+x=7r=1w+x=3相信下面的两个你也明白:rw-r-x-w- 652754 rwxr-xr--例如:[root@localhost hzh]# chmod 641 a641 rw-r----x 所有者有读、写权限,组有读权限,其他人有执行权限 www.2cto.com 软链接与硬链接 软连接:软连接类似于我们windows系统的“快捷方式” 那么在windows下之所以要设置快捷方式,就是因为有些文件放置的位置不容易找到,我们就会在桌面创建一个快捷方式。 那么在linux下的软链接,我想主要是文件名过长,不便于输入。因为linux下对文件对文件操作一般要输入文件名,不像windows下面无所谓文件名的长短,鼠标点击即可完成各中操作。创建一个软链接[root@localhost test]# ln -s ruanlianjie.abc /hzh/test/rlj.soft 对当前目录下的ruanlianjie.abc文件,在/hzh/test/目录下创建一个软链接,名为rlj.soft[root@localhost test]# ll总用量 36lrwxrwxrwx 1 root root 15 3月 19 20:57 rlj.soft -> ruanlianjie.abc-rw-r--r-- 1 root root 28 3月 19 20:57 ruanlianjie.abc 现在就可以对软件链接,进行操作了,[root@localhost test]# vi rlj.soft 编辑rlj.soft文件,其实也就是编辑ruanlianjie.abc文件 硬连接: 硬连接相当于把原文件拷贝了一份,唯一特殊的地方就是,两个文件是同步的。当你对其中一个文件进行修改时,另一个文件也就会同步更新你的修改。有什么好处,你懂的!下面创建一个硬链接:[root@localhost test]# ln yinglianjie.abc /hzh/test/ylj.hard 对yinglianjie.abc文件在/hzh/test/目录下创建一个硬链接文件ylj.hard [root@localhost test]# ll-rw-r--r-- 2 root root 0 3月 19 21:08 yinglianjie.abc-rw-r--r-- 2 root root 0 3月 19 21:08 ylj.hard www.2cto.com [root@localhost test]# vi ylj.hard 对硬链接ylj.hard文件时行修改并保存[root@localhost test]# ll -rw-r--r-- 2 root root 14 3月 19 21:09 yinglianjie.abc 我们会发现yinglianjie.abc也被同步修改了-rw-r--r-- 2 root root 14 3月 19 21:09 ylj.hard 文件压缩与解压 文件的压缩与解压,也是我们日常中经常用到的操作,如,我们会经常从网上下载各种文件进行进行安装,而大部分文件都是经过压缩的。下面来学习四个常用的压缩命令。gzip特点:1.只能压缩文件,不能压缩目录2.不保留源文件 [root@localhost test]# gzip aaa 将aaa文件进行压缩[root@localhost test]# gunzip aaa.gz 将aaa.gz文件进行解压[root@localhost test]# gzip -d aaa.gz 作用同上 tartar类型的的压缩文件应该是大家最常见的吧,在网上下的好多软件也是这种格式的。参数:-x 解包.tar文件-v 显示详细信息-f 指定解压文件-z 解压缩[root@localhost test]# tar -zcvf tatga.tar.gz tatgz 压缩tatgz文件夹为tatga.tar.gz压缩文件注意:在linux下扩展名不是标识文件的属性[root@localhost test]# file [文件名] 查看任何一个文件的类型[root@localhost test]# tar -cf tatga.tar tatgz 对tatgz文件打包[root@localhost test]# gzip tatga.tar 对tatga.tar包文件压缩[root@localhost test]# tar -zxvf tatga.tar.gz 对压缩文件进行解压 zip 功能:可以压缩文件和目录,是windows 和linux 通用的压缩格式 www.2cto.com [root@localhost test]# zip a.zip a 把a文件压缩成a.zip[root@localhost test]# zip -r tatgz.zip tatgz 压缩tatgz目录为tatgz.zip[root@localhost test]# unzip tatgz.zip 解压文件 bzip2 和gzip功能基本相同只能压缩文件用 -k 命令可以保留原文件 [root@localhost bzip2]# bzip2 -k fnngj 对fnngj文件进行压缩 [root@localhost bzip2]# bunzip2 fnngj.bz2 对压缩文件fnngj.bz2进行解压 通信命令 我们都知道linux有别于windows是的一个特性就是,多用户的操作系统。允许多个用户同进对系统进行操作。那么多个用户之间如何进行通信呢?下面来看两个有趣的通信命令。 write发给某个用户信息[root@localhost ~]# write [用户名]
例如:[root@localhost ~]# write fnngj 给fnngj用户发送信息hello fnngj !! I like you!!xixi 发送的内容ctrl + D 结束 wall 发给所有使用系统的用户[root@localhost ~]# wall [信息内容] [root@localhost ~]# wall hello china ping www.2cto.com 测试本机与某一地址时候连通的[root@localhost ~]# ping 192.168.203.128[root@localhost ~]# ping www.baidu.com [root@localhost ~]# ping -c 4 192.168.203.1 -c 相当于windows(dos) 下的默认情况(会发送4次数据时行测试) 其实,我们可以设置发送数据包的次数[root@localhost ~]# ping -s 5000 192.168.203.1 设置ping包的个数为5000; 最大为65507 ifconfig 这个命令类似于dos下面的ipconfig [root@localhost ~]# ifconfig 查看本机IP地址详细信息 命令链接符 有时候,我们为输入方便为把多个命令放在一起输入执行。有点类似于dos下的批处理。就是一组命令的集合。那么我们看看都有哪些符号用于命令之间的连接。------------------------------------------------------------------------------- 管道: 将一个命令的输出传送给另一个命令,作为另一个命令的输入。使用方法: 命令1 | 命令2 | 命令3... | 命令n例如:[root@localhost test]# ls -l /etc | more 显示/etc目录下的所有文件,以分页形式more[root@localhost test]# ls -l /etc | grep init | wc -l 显示/etc目录下的所有文件,查找init文件,显示查找结果的数量。-------------------------------------------------------------------------------;(逗号)用;间隔的各命令按顺序依次执行[root@localhost ~]# pwd ; ll ; data------------------------------------------------------------------------------- && www.2cto.com command1 && command2 成功 执行 失败 不执行[root@localhost ~]# lskk && pwd 如果第一个命令执行失败,第二个命令就不执行。前后命令的执行存在逻辑与关系,只有&&前面的命令执行成功后,他后面的命令才能被执行-------------------------------------------------------------------------------- ||[root@localhost ~]# lskk || pwd 如果第一个命令执行失败,第二个命令就执行。command1 || command2 成功 不执行 失败 执行前后命令的执行存在逻辑或关系,只有||前面的命令执行失败后,他后面的命令才被执行。 输入/输出重定向 其实,对于我们的计算机来讲,我们的标准输入设备是键盘,标准输入设备是显示器。假如,我告诉,如果我们的输入不用键盘了,输出不在显示上了。你会说这怎么稿?即便是使用计算机多年的人,一下子也会迷糊。呵呵!看了我下面几个操作,你就明白了。同标准I/O一样,Shell 对于每一个进程预先定义了个文件描述(0、1、2)。分别对应于:0 (stdin)标准输入1 (stdout)标准输出;2 (stderr)标准错误输出。 输出重定向 我们可将某个输入的信息保存到一个文件中。[root@localhost ~]# ls -l /tmp > /tmp.msg 将查看tmp目录的信息保存到/tmp.msg 文件中。屏幕中不显示任何结果。[root@localhost test]# vi /tmp.msg 查看/tmp.msg 文件信息总用量 8srwxr-xr-x 1 root root 0 2月 22 19:36 mapping-rootsrwxrwxrwx 1 mysql mysql 0 2月 27 22:35 mysql.sock [root@localhost ~]# data >>/tmp.msg “ >>”表示追加,在/tmp.msg 再追加一些新的信息。 输入重定向 我们也可以将某个输入保存到一个文件中。 上面我们学到一个wall命令,后面跟的信息可以广播表其它在线用户,当然,我们可以将要广播的信息保存到一个文件中,当然,如果有兴趣,我们还可以设定时间进行发送。 www.2cto.com [root@localhost ~]# wall < /etc/motd 将motd文件中的信息进行广播。 错误输出重定向 假如,我要对一个目录进行备份(/usr),备份到/backup/usr.bak目录下,可以备份时间要很久,我不想一直盯着屏幕看,这时我就可以设置,如果备份时发生错误,将错误信息保存到/bak.error文件中。这样我就可以找朋友喝喝茶,聊聊天,回来看错误信息就可以了。[root@localhost ~]# cp -R /usr /backup/usr.bak 2> /bak.error 作者 虫师
下一篇:linux那点事儿(二)