文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>Linux命令大总结(一)

Linux命令大总结(一)

时间:2006-12-13  来源:h0000001

学Linux好一段时间了,现把所学的知识来个大总结,和大家一起成长.呵呵 指令的输入格式: #command [-option] parameter1 parameter2 说明: 1.指令与参数区分字母大小写; 2.中括号[]实际并不存在,在进行参数设定时,通常为"-"号,若为完整参数名称,则输入"--"符号; 3.指令大长的时候,可使用"\"符号使指令连续到下一行.   文件的属性与权限 #ls -l -rwxrwxrwx    1       root       root       293      Oct 19 21:24      test 文件属性     连接数  文件拥有者  文件所属群组  文件容量  文件最后被修改的时间   文件名 "d"为目录,"-"为文件,"l"为链接文件;"b"为设备文件中可供存储的接口设备;"c"为设备文件中的串行端口设备,如键盘等.     常用的文件与目录管理命令 在此之前,先要了解相对路径与绝对路径的概念 绝对路径:路径的写法一定是从根目录"/"写起 相对路径:路径的写法不是从根目录"/"写起,而是从当前目录. "."代表当前目录 ".."代表上层目录 "~"代表自己的根目录 "~user"代表user这个人的根目录   cd      变换当前目录,change directory的缩写 语法:   #cd [相对路径或绝对路径]   pwd     显示当前目录,print working directory的缩写 语法:   #pwd        #pwd -L      <==显示逻辑的当前目录        #pwd -P      <==显示物理的当前目录   mkdiir  创建目录  make directory的缩写 语法:   #mkdir [目录名称]        #mkdir [-pv][-m mode] directory_name ...        -m mode  <==指定新建目录的权限.如-m 0640        -p 当创建多层目录而目录不存在时,也可以在它下面建立目录.如mkdir -p /root/test/test1,可能/root下没有test这个目录,如果不使用-p创建的话,就会出错,此时若有-p参数后不但会建立test1目录,且test也会一起建立.        -v  当建立目录后列表这些目录的信息.     rmdir   删除目录  Remove directory的缩写 语法:   #rmdir [-pv] directory_name ...        -p  如果有一个/y/x的目录,当使用该选项后,如rmdir -p /y/x,那么y与x目录全部被删除,如果y目录中还存在其它的文件或目录,则操作失败.        -v  删除目录后显示被删除目录的信息 [root@mail root]# rmdir -pv y/x/z
rmdir: removing directory, y/x/z
rmdir: removing directory, y/x
rmdir: removing directory, y
  ls     显示文件名称,属性等 语法:   #ls [-ailS] 说明: -a: 列出所有文件(连同隐藏文档) -i: 打印inode的值 -l: 详细列出(连同文件大小,属性数据等) -S: 以文件大小排序     cp   复制文件或目录 语法: #cp [-drsu][source_file][destination_file] 说明: -d  进行复制时,如果是复制链接文件,若不加任何参数,则默认情况下会将链接到的源文件复制到目的地,若加-d,则链接文件可原封不动地将链接这个快捷方式复制到目的地 -r  可以进行目录的复制 -s  做成链接文件,与ln -s指令功能相同 -u,--update  如果源文件较新,或者没有目标文件,才会进行复制动作,可用于备份操作.     rm   删除文件或目录 语法:  #rm [-fir] file_name -i:  提供用户确认(默认值) -f:  :force,强制删除 -r:  循环删除,直到没有东西为止     mv   移动文件或目录 语法: #mv [-u][source_file][destinatioin_file] -u 为update的缩写,当源文件比目标文件还新时才会动作. 可同时移动多个文件,如 #mv file1 file2 /tmp     常用的查看文件内容指令 cat   由第一行开始显示文件内容.concatenate的缩写 语法:  #cat [-n] file_name -n   显示时,连同行号一起输出列到屏幕上     tac  同最后一行开始显示,tac是cat的倒写 语法: #tac file_name     more 一页一页地显示文件内容 语法: #more file_name     less 与more类似,但其优点是可以往前翻页 语法: #less file_name     head  只查看文件的头几行 语法:  #head [-n number] file_name -n number  显示number行,默认情况下是显示10行.     tail  只查看文件的后几行 语法:  #tail [-n number] file_name -n number  显示number行,默认情况下显示后10行.   例:显示某文件夹的第11-20行 #head -n 20 file_name | tail -n 10     nl   显示时同时输出行号,与cat -n功能类似 语法:  #nl file_name     od   以二进制方式读取文件内容 语法:  #od file_name       链接文件的内容 先了解一下硬盘的整体结构 硬盘中包含多个硬盘盘片,硬盘盘片为圆形,每一个硬盘盘片上都有一个可以读写的磁头(Head),将这个磁头固定,使硬盘盘片旋转一周,所走轨迹就是磁道(Track).硬盘内所有盘片的相同磁道号的集合称为磁柱(Cylinder).每一磁道被划分成许多区域,每个区域叫一个扇区(sector).扇区是硬盘的最小存储物理量,一个扇区的存储容量大约是512字节(约0.5K). 硬盘分区:在进行硬盘分割的最小单位是磁柱,分割完之后自然就是格式化.在Linux中进行格式化必须考虑Block与inode,Block是磁盘可以记录的最小单位,是由数个扇区组成,所以大小通常为n*512bytes. 接下来说说什么是inode,Block是记录文件内容数据的区域,inode则是记录该文件的属性及其放置在哪个Block之内的信息.所以,每个文件都会占用一个inode,当Linux系统要查找某个文件时,它会先搜寻inode table找到这个文件的属性及数据放置地点,然后再查找数据存放的Block进而将数据读取出.inode数量在一开始就己被设定好,其设定方式通常是"硬盘大小/一个容量",这个容量比Block大一些较佳,一个inode的大小为128bytes.由此可知,一个分区被格式化为一个文件系统之后,基本上它一定会有inode talbe和数据区域两大块,一个用来记录文件的属性信息与该文件放置的Block块,一个用来记录文件的内容. 链接分为硬链接(hard link)与符号链接(symbolic link) 硬链接:硬链接就是再建立一个inode链接到文件放置的Block块,也就是说,在进行硬链接时,实际上你的文件内容不会改变,只是在查询时,利用原来的inode与后来添加的inode均可以指定到该文件放置的地点.因此,读取两个inode的结果都是存取同一个文件的内容,因为inode会链接到block块,而"目录"只消耗inode,故硬链接就不能链接目录. 硬链接有两大限制 1.不能跨文件系统,因为不同的文件系统有不同的inode table. 2.不能链接目录   符号链接:符号链接就是再建立一个独立文件,而这个文件会让数据读取操作指向它链接的那个文件.   ln 语法:  #ln [-s][source_file][destination_file]       -s  提供符号链接,如果直接用ln而不加任何参数,就属于硬链接.       常用改变文件与目录权限的命令 每个文件都有"文件拥有者的权限,owner","群组的权限,group","其它非本群组的用户的权限,other"三组权限,每组权限都分为"可读,可写,可执行",例如一文件的文件属性为"-rwxrwxrwx"则表示所有人都可以读写这个文件,而"-rw-rw-r--"则表示文件的拥有者和文件所属的群用户可以读写该文件,其它用户只能读该文件,所有用户均水能执行这个文件(如果这个文件是程序文件的话)."r"代表可读,"w"代表可写,"x"代表可执行.   chown     改变文件的拥有者 语法:  #chown [-R] user:group [folder&file]       #chown [-R] user [folder&file]       -R  循环地将该目录下的所有文件都改成user和group的名称.   chgrp     改变文件的所属群组 语法:   #chgrp group folder&file     chmod    改变文件的可读,可写,可执行等属性 语法:   #chmod [-R][parameter][folder&file]        -R  循环地将该目录的文件都改变.       有两种类型,数字类型与符号类型.如rwxrwxrwx有数字类型表示为777,要设置一个文件的权限为rw-rw-r--,用符号类型表示为"#chmod ug=rw,o=r file".     umask    改变预定的建立文件或目录时的属性 语法:   #umask 002        建立文件时: 666-002=664        建立目录时: 777-002=775        通常一个文件建立时是没有可执行属性的.umask可以在/etc/bashrc中修改.     chattr    改变文件的特殊属性 语法:  #chattr [+-=][ASacdistu][folder&file] +-=:  分别为"+"(增加),"-"(减少),"="(设定)属性 A:    设定属性A后,这个文件(或目录)的存取时间atime(access)将不可被修改,可避免诸如手提电脑容易产生磁盘I/O错误的情况. S:    此功能有点类似sync,是将数据同步写入磁盘中,可以有效避免数据流失. a:    设定后,此文件将只能增加数据而不能删除,只有root才能设定这个属性. c:    设定这个属性后,将会自动将此文件压缩,在读取时自动解压缩,但是在存储的时候,会先进行压缩再存储(对于大文件很有用) d:    当dump(备份)程序被执行,设定d属性将可使该文件(或目录)具有dump功效. i:    此参数可以让一个文件"不能被删除,更名,设定链接也无法写入或新增数据",对于系统安全性有相当大的助益. j:    当使用ext3文件系统格式时,设定j属性将使文件在写入时先记录在日志中,但当filesystem设定参数为date=journalled时,由于己经设定了日志,所以这个属性无效. s:    当设定了s属性时,此文件会被完全移出这个硬盘空间. u:    与s相反,当使用u配置文件时,数据内容其实还存在磁盘中,可以用来取消删除.     lsattr    显示文件的特殊属性 语法:   #lsattr [-aR]         -a  将隐藏文件的属性也显示出来         -R  连同子目录的数据一并显示出来       常用搜索文件或目录的命令 which     查看可执行文件的位置 语法:     #which [file_name]     which的基本功能是通过PATH环境变量到该路径内寻找可执行文件,所以基本功能在于寻找可执行文件.     whereis   查看文件的位置 语法:    #whereis [-bmsu] [file_name] -b    只找二进制文件 -m    只找在说明文件manual路径下的文件 -s    只找source源文件 -u    没有说明文档的文件. Liunx系统会将系统内所有文件都记录在一个数据库文件中,当使用whereis或locate时,都会以此数据库的内容为准,因此,有时会发现,执行这两个文件时,会找到己被删除的文件,这是因为它是一个数据库文件.基本上,Linux每天会针对Linux主机执行updatedb(针对该数据库文件)动作,可以直接用/usr/bin/updatedb来更新数据库文件.     locate    配合数据库查看文件位置 语法:    #locate [file_name] 在/etc/updatedb.conf内设定要更新到slocate数据库中的数据,默认每周执行一次.     find    实际搜索硬盘查询文件名称 语法:   #find [path][parameter] 参数说明 1.时间 -atime n:   将n*24小时内被存取过的文件列出 -ctime n:   将n*24小时内被改变,新增的文件或目录列出来 -mtime n:   将n*24小时内被修改过的文件列出来 -newer file:   将比file还要新的文件列出来 2.使用名称 -gid n:      寻找群组ID为n的文件 -group name: 寻找群组名称为name的文件 -uid n:      寻找拥有者ID为n的文件 -user name:  寻找拥有者名称为name的文件 -name file:  寻找文件名为file的文件名称(也可以使用通配符) -type type:  寻找文件属性为type的文件,type包含了b,c,d,p,l,s.       SetUID,SetGID,Sticky bit与file指令 Linux可以识别的账号是一堆数字,由于每个文件中同时含有"用户"与"用户群组"属性,因此,就有所谓的UID与GID.UID代表用户代号,GID代表群组代号. 查看一个文件的属性,发现它是"-r-s--x--x",这就是所谓的SUID,如果它是"-r-xr-sr-x",那么就是所谓的SGID了.当一个文件具有SUID时,同时others群组具有可执行权限,那么当others群组执行该程序时,other将拥有该文件的owner权限. 设置一个文件的SUID: #chmod 4777 file_name 或  #chmod u+s file_name 设置一个文件的SGID: #chmod g+s file_name 或  #chmod 3777 file_name 如果一个没有x属性的文件被设置了SUID或GUID时,s将会被S代替."-rwSrw-rw-".     Sticky bit Sticky bit属性(t),具有sticky bit属性的目录,基下的文件或目录只有文件拥有者及root才有权删除. #chmod +t folder_name    "drwxrwxrwt"     file   查看文件的类型 语法:   #file [file_name] 也可以查看文件是否被加入SUID等信息.    
相关阅读 更多 +
排行榜 更多 +
像素太空杀

像素太空杀

飞行射击 下载
忍者手势

忍者手势

飞行射击 下载
勇士X地下城大冒险

勇士X地下城大冒险

角色扮演 下载