Liux学习流水帐之三

   

  • 从源文件安装程序
有时需要安装的程序没有RPM包的形式,这是如果存在着源文件,则可以从源文件开始安装。从源文件安装有利于对程序进行定制,系统管理员有时对重要的程序都是先进行build,再进行安装。说道编译、链接程序,当然需要编译器、链接器等工具。例如 GNU binutils, GNU coreutils,GNU tar, gunzip,make等工具。

有时候,源文件的提供者没有提供“make uninstall”选项,那么当需要删除安装程序时,应该怎么办呢?方法是在安装前后生成system上的文件列表,这样一来便可以知道在安装过程中生成了什么文件/目录。

 

       find / |grep –v –e ^/proc/ -e ^/tmp/ -e ^/dev > joe-preinstall.list    安装前执行
       find / |grep –v –e ^/proc/ -e ^/tmp/ -e ^/dev > joe-preinstall.list   安装后执行
       diff joe-preinstall.list joe-postinstall.list > joe-installed.list
   
列表joe-installed.list便指明了安装后生成了那些文件、目录。上面command中,grep的-v选项表示打开verbosity(冗余选项),-e表示排除目录。而^/proc/中“^”为正则表达式的语法,表示以/proc/开头的项。在上面的command中排除/proc/,/tmp是因为则两个目录都是用来存储暂时文件的,随时都会改变;而/dev则是有系统自动维护的。
 假设下载了Joe编辑器,则安装过程如下:
 
    tar zxvf joe-3.5.tar.gz    解压缩包,解压缩程序使用gzip
    cd joe-3.5                      进入解压缩目录
    ls                                   
    less README              查看注意事项,使用说明,安装说明等
    less INFO
 
    ./configure –help           configure Joe to adapt to many kinds of system.包括有那一些option,
       configuration
    ./configure –disable-largefile –prefix=$HOME 指定安装在$HOME目录,不支持large file
    make
    make install | tee joe-makeinstall       生成编译程序,并进行安装,将安装信息输出到
                                                        joe-makeinstall
 
这样,便完成了安装。如果需要卸载,则可以使用:
     make uninstall        入到安装目录使用make uninstall,当然,需要Makefile支持该要求

  


 
  • Managing Files and Partitions
(1)    inux下文件类型如下:
文件类型指示
描述
-
普通文件
d
目录
l
链接文件
c
字符设备文件
s
socket文件
p
pipe(管道)文件
b
块设备文件
 

查找某一特定类型文件用如下指令:

      find /home/currentuser/ -type d          查找/home/currentuser/下的目录

      find /home/currentuser/ -type p          查找/home/currentuser/下的管道文件

  ( 2)使用chmod 

在chmod命令的symbolic notation中,各个symbol代表的意思如下:
       
Symbol
Description
r
read读
w
write写
x
execute执行
s
setUid或setGid
t
sticky bit粘着位
u
用户或file owner
g
组用户group file owner
o
others其它用户
+
添加用户权限
=
overwrites
-
去除相应权限
   (3) setUid、setGid文件和带粘着位的文件
Linux 下,有一种文件可以被 setUid ,使得任意使用者在执行该文件时,都绑定了文件所有者的权限。 setUid 用来提高使用者的权限,如 su 命令。 setGid setUid 类似,使得任意使用者在执行该文件时,都绑定了文件所在组的权限。此外,粘着位表示任何用户都可能具有写权限,但只有该归属用户或 root 用户才能够删除。可以用 chmod 设置 setUid setGid 或粘着位。完整的 chmod 使用 4 8 进制数,第一个 8 进制数表示设置 setUid setGid 或粘着位。其余 3 8 进制数分别对应 file owner group owner others 的读、写和执行权限。
 
     chmod 4755 /archive/datafile                   设定setUid
     chmod 2755 /shared/list                           设定setGid
     chmod 1755 /shared/somescript               设定粘着位
(4) Mounting and Unmounting Filesystems
例如在一台计算机上安装了 Windows Linux ,有时需要从 Linux 访问 Windows 下的文件,此时可以利用 mount 来完成。
        /sbin/fdisk –l
fdisk命令查找所有的分区及其挂载点。
        df
df表示disk free,用于显示那些分区是已经mounted,其挂载点。
        df –h /dev/hdc6
df也可以具体显示某一个分区的信息。
下面命令用于将Windows下的一个NTFS分区mount。 
       mkdir –m 755 /win2k                        创建一个子目录win2k并设定其存取权限
       mount –t ntfs –r /dev/hda1 /win2k    将一个ntfs分区/dev/hda1 mount/win2k,并设置
                                                              为只读
       unmount /win2k                                取消mount
 
(5)新建文件及文件夹
可采用命令 mkdir touch 来新建文件及文件夹
       mkdir –p photos/scanned/jpgs/thumbs      -p表示如果创建的子目录,如果其父目录不存
                                                                     在,则创建其所有的父目录
可用touch命令新建一个空文件
       touch newfile.txt
6)删除文件和文件夹
   rm –v newfile.txt                                         删除文件
      rm –vi newfile.txt                                        option –i表示显示提示信息
      rm –rvi /home/games/stats/baseball            option –r表示递归地删除,则可以删除目录及
                                                                      子目录
      rm –v file*                                                 删除命令可以使用通配符
      rm –vf file*                                                option –f表示强制性删除
7)文件及目录的copy, moverename
      cp –v cal.c ~                                            将文件cal.c拷贝到home目录
      cp –bv cal.c ~                                          为覆盖的文件产生一个备份文件
      cp –s cal.c ~                                            option –s创建符号链接
      rm –rv ~/home/imags/ /shared/archives       option -r拷贝目录及目录下所有的内容
      rm –vf file*                                                option –f表示强制性删除
      mv –v about.gif arrow.gif ~/data2                 mv表示将文件移到另一个地方
      mv –v joe-2.9.7-1.src.rpm new.rpm              对文件进行重命名

使用chmod(change mode)命令能改变file owner, group owner和other users的读、写和执行权限。如果采用数字直接表示时,需要使用8进制。
 
      chmod –v 600 /archive/datafile                file owner的权限改为读/写,其它用户(除超
                                                                    级用户)不能访问该文件
      chmod –v 644 /shared/list                       file owner的权限改为读/写,其它用户权限为只
                                                                   
      chmod 755 /shared/somescript                 script文件给所有用户读/执行权限,但是只用
                                                                   文件拥有者有写权限
 
有时使用chmod命令时,只需要改变某些位,而不是需要对所有的位进行改变。这是可以使用symbolic notation。
 
      chmod +x scriptname                               chmod a+x scriptname,所有用户都有执行权限
      chmod u+x    /shared/list                          file owner的添加执行权限
      chmod  go-x  /shared/somescript               取消组用户和其它用户的执行权限
      chmod +s /share                                         设定setGidsetUid
      chmod go= scriptname                               取消组用户、其它用户的读、写和执行权限
      chmod g=u test1.c                                       设定组用户的权限跟file owner的权限一样
      chmod –v a=, u=rwx,g=rx,o=r scriptname
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值