? 文件处理命令

文件命名规则
1)除了/ 之外,所有的字符都合法。
2)有些字符最好不用,如空格符、制表符、退格符和字符@ # $ & ( ) - 等。
3)避免使用. 作为普通文件名的第一个字符。
4)大小写敏感。

命令格式
命令格式:命令 -选项 参数
例: ls -la /etc
说明:1)当有多个选项时,可以写在一起。
          2)两个特殊的目录. 和.. ,分别代表当前目录和当前目录的父目录。

clipboard

文件处理命令:ls
命令名称:ls
命令英文原意:list
命令所在路径:/bin/ls
执行权限:所有用户
功能描述:显示目录文件
语法:ls 选项[-ald] [文件或目录]
-a 显示所有文件,包括隐藏文件
-l 详细信息显示
-d 查看目录属性
clipboard
clipboard

clipboard

dr-xr-xr-x.   2 root root  4096 Jun 10 04:20 bin

2
硬链接数
root
所有者
root
所属组
4096 
目录及子目录大小
Jun 10 04:20
目录创建时间或最后修改时间
bin
目录名

文件处理命令:cd
命令名称:cd
命令英文原意:change directory
命令所在路径:shell内置命令
执行权限:所有用户
语法:cd [目录]
功能描述:切换目录
范例: $ cd / 切换到根目录
          $ cd .. 回到上一级目录

文件处理命令:pwd
命令名称:pwd
命令英文原意:print working directory
命令所在路径:/bin/pwd
执行权限:所有用户
语法:pwd
功能描述:显示当前所在的工作目录
范例:$ pwd
/etc/rc5.d
clipboard

文件处理命令:mkdir
命令名称:mkdir
命令英文原意:make directories
命令所在路径:/bin/mkdir
执行权限:所有用户
语法:mkdir [目录名]
功能描述:创建新目录
范例: $ mkdir newdir

文件处理命令:touch
命令名称:touch
命令所在路径:/bin/touch
执行权限:所有用户
语法:touch [文件名]
功能描述:修改文件时间戳,如果文件不存在则创建空文件
范例: $ touch newfile
clipboard

文件处理命令:cp
命令名称:cp
命令英文原意:copy
命令所在路径:/bin/cp
执行权限:所有用户
语法:cp -R [源文件或目录] [目的目录]
-R 复制目录
功能描述:复制文件或目录
范例:
$ cp file1 file2 dir1
将文件file1、file2复制到目录dir1
$ cp -R dir1 dir2
将dir1下的所有文件及子目录复制到dir2

clipboard

clipboard

文件处理命令:mv
命令名称:mv
命令英文原意:move
命令所在路径:/bin/mv
执行权限:所有用户
语法:mv [源文件或目录] [目的目录]
功能描述:移动文件、更名
范例:
$ mv file1 file3
将当前目录下文件file1更名为file3
$ mv file2 dir2
将文件file2移动到目录dir2下
clipboard

文件处理命令:rm
命令名称:rm
命令英文原意:remove
命令所在路径:/bin/rm
执行权限:所有用户
语法:rm -r [文件或目录]
-r 删除目录
功能描述:删除文件
范例:
$ rm file3
删除文件file3
$ rm -r dir1
删除目录dir1
clipboard

文件处理命令:cat
命令名称:cat
命令英文原意:concatenate and display files
命令所在路径:/bin/cat
执行权限:所有用户
语法:cat [文件名]
功能描述:显示文件内容
范例: 
$ cat /etc/issue
$ cat /etc/services
clipboard

文件处理命令:more
命令名称:more
命令所在路径:/bin/more
执行权限:所有用户
语法:more [文件名]
(空格) 或f 显示下一页
(Enter) 显示下一行
q或Q 退出
功能描述:分页显示文件内容
范例: $ more /etc/services
clipboard

clipboard

文件处理指令:head
指令名称:head
指令所在路径:/bin/head
执行权限:All User
语法:head -num [文件名]
-num 显示文件的前num行
功能描述:查看文件的前几行
范例:$ head -20 /etc/services
clipboard

文件处理指令:tail
指令名称:tail
指令所在路径:/bin/tail
执行权限:All User
语法:tail -num [文件名]
-num 显示文件的后num行
-f 动态显示文件内容
功能描述:查看文件的后几行
范例: $ tail -30 /etc/services
clipboard

文件处理命令:ln
命令名称:ln
命令英文原意:link
命令所在路径:/bin/ln
执行权限:所有用户
语法:ln -s [源文件] [目标文件]
-s 创建软链接
功能描述:产生链接文件
范例:
$ ln -s /etc/issue /issue.soft
创建文件/etc/issue的软链接/issue.soft
$ ln /etc/issue /issue.hard
创建文件/etc/issue的硬链接/issue.hard
clipboard


clipboard


? 权限管理命令

权限管理命令:chmod
命令名称:chmod
命令英文原意:change the permissions mode of a file
命令所在路径:/bin/chmod
执行权限:所有用户
语法:chmod [{ugo}{+-=}{rwx}] [文件或目录]
[mode=421 ] [文件或目录]
功能描述:改变文件或目录权限
范例:
$ chmod g+w file1
赋予文件file1所属组写权限
$ chmod 777 dir1
设定目录dir1为所有用户具有全部权限

clipboard

clipboard

clipboard

clipboard

clipboard

clipboard

clipboard

权限管理命令:chown
命令名称:chown
命令英文原意:change file ownership
命令所在路径:/bin/chown
执行权限:所有用户
语法:chown [用户] [文件或目录]
功能描述:改变文件或目录的所有者
范例:$ chown nobody file1
改变文件file1的所有者为nobody

clipboard

权限管理命令:chgrp
命令名称:chgrp
命令英文原意:change file group ownership
命令所在路径:/bin/chgrp
执行权限:所有用户
语法:chgrp [用户组] [文件或目录]
功能描述:改变文件或目录的所属组
范例:$ chgrp adm file1
改变文件file1的所属组为adm

clipboard

权限管理命令:umask
命令名称:umask
命令所在路径:/bin/umask
执行权限:所有用户
语法:umask [-S]
-S 以rwx形式显示新建文件或目录缺省权限
功能描述:显示、设置文件的缺省权限
范例: $ umask
$ umask -S

clipboard
在默认权限的属性上,目录与文件是不一样的。由于我们不希望文件具有可执行的权力,默认情况中,文件是没有可执行(x)权限的。因此:
? 若用户建立为”文件”则默认“没有可执行(x)项目”,即只有rw这两个项目,也就是最大为666分,默认属性如下:
-rw-rw-rw-
? 若用户建立为”目录”,则由于x与是否可以进入此目录有关,因此默认为所有权限均开放,即为777分,默认属性如下:
drwxrwxrwx
umask指定的是“该默认值需要减掉的权限”。因为r、w、x分别是4、2、1,所以。也就是说,当要去掉能写的权限,就是输入2,而如果要去掉能读的权限,也就是4,那么要去掉读与写的权限,也就是6,而要去掉执行与写入的权限,也就是3。
clipboard

? 文件搜索命令

文件搜索命令:which
命令名称:which
命令所在路径:/usr/bin/which
执行权限:所有用户
语法:which [命令名称]
功能描述:显示系统命令所在目录
范例:$ which ls
clipboard

文件搜索命令:find
命令名称:find
命令所在路径:/usr/bin/find
执行权限:所有用户
语法:find [搜索路径] [搜寻关键字]
功能描述:查找文件或目录
范例:
$ find /etc -name init
在目录/etc中查找文件init
clipboard
clipboard
$ find / -size +204800
在根目录下查找大于100MB的文件
clipboard
clipboard
$ find /home -user redking
在/home目录下查找所有者为redking的文件
clipboard
$ find /etc -ctime -1
在/etc下查找24小时内被修改过属性的文件和目录
clipboard
$ find /etc -size +2048 -a -size -204800
在/etc下查找大于1MB小于100MB的文件
clipboard
$ find /etc -name inittab -exec ls -l {} \;
在/etc下查找inittab文件并显示其详细信息
clipboard
查找非常规名文件
clipboard

文件搜索指令:locate
指令名称:locate
指令英文原义:list files in databases
指令所在路径:/usr/bin/locate
执行权限:All User
语法:locate [搜索关键字]
功能描述:寻找文件或目录
范例: $ locate file
列出所有跟file相关的文件
clipboard

文件搜索指令:updatedb
指令名称:updatedb
指令英文原义:update the slocate database
指令所在路径:/usr/bin/updatedb
执行权限:root
语法:updatedb
功能描述:建立整个系统目录文件的数据库
范例:# updatedb
clipboard

文件搜索命令:grep
命令名称:grep
命令所在路径:/bin/grep
执行权限:所有用户
语法:grep [指定字串] [源文件]
功能描述:在文件中搜寻字串匹配的行并输出
范例:# grep ftp /etc/services
clipboard

? 帮助命令

帮助命令:man
命令名称:man
命令英文原意:manual
命令所在路径:/usr/bin/man
执行权限:所有用户
语法:man [命令或配置文件]
功能描述:获得帮助信息
范例: $ man ls
查看ls命令的帮助信息
clipboard
$ man services
查看配置文件services的帮助信息
clipboard

clipboard

man passwd 查询passwd命令的帮助信息等价于man 1 passwd
clipboard

clipboard

查询/etc/passwd配置文件的帮助信息可以使用man 5 passwd


帮助指令:info
指令名称:info
指令英文原义:information
指令所在路径:/usr/bin/info
执行权限:All User
语法:info [任何关键字]
功能描述:获得帮助信息
范例: $ info ls
查看ls指令的帮助信息
clipboard

帮助指令:whatis
指令名称:whatis apropos makewhatis
指令英文原义:search the whatis database for strings
指令所在路径:/usr/bin/whatis apropos
/usr/sbin/makewhatis
执行权限:All User, All User,root
语法:whatis apropos [任何关键字]
功能描述:获得索引的简短说明信息
范例: $ whatis ls
clipboard
若要显示命令选项信息,可以在命令后面加上--help
clipboard
查询配置文件内容
$ apropos fstab 相当于man -k
clipboard

# makewhatis
建立whatis和apropos搜索使用的数据库,当使用这两个命令发生错误时,就是whatis database没有建立

help 查询shell内置命令帮助
clipboard
使用man查询不到cd命令帮助信息,可以使用help cd
clipboard

? 压缩解压命令
压缩解压命令:gzip
命令名称:gzip
命令英文原意:GNU zip
命令所在路径:/bin/gzip
执行权限:所有用户
语法:gzip 选项[文件]
功能描述:压缩文件
压缩后文件格式:.gz
clipboard

压缩解压命令:gunzip
命令名称:gunzip
命令英文原意:GNU unzip
命令所在路径:/bin/gunzip
执行权限:所有用户
语法:gunzip 选项[压缩文件]
功能描述:解压缩.gz的压缩文件
范例: $ gunzip file1.gz
clipboard

压缩解压命令:tar
命令名称:tar
命令所在路径:/bin/tar
执行权限:所有用户
语法:tar 选项[cvf] [目录]
-c 产生.tar打包文件
-v 显示详细信息
-f 指定压缩后的文件名
-z 打包同时压缩
功能描述:打包目录
压缩后文件格式:.tar.gz
范例:
$ tar -zcvf dir1.tar.gz dir1
将目录dir1压缩成一个打包并压缩的文件
clipboard
tar命令解压缩语法:
-x 解包.tar文件
-v 显示详细信息
-f 指定解压文件
-z 解压缩
范例:$ tar -zxvf dir1.tar.gz
clipboard

压缩解压命令:zip
命令名称:zip
命令所在路径:/usr/bin/zip
执行权限:所有用户
语法:
zip 选项[-r] [压缩后文件名称] [文件或目录]
-r 压缩目录
功能描述:压缩文件或目录
压缩后文件格式:.zip
范例:
$ zip services.zip /etc/services
压缩文件
$ zip -r test.zip /test
压缩目录
clipboard

压缩解压命令:unzip
命令名称:unzip
命令所在路径:/usr/bin/unzip
执行权限:所有用户
语法:unzip [压缩文件]
功能描述:解压.zip的压缩文件
范例:$ unzip test.zip

压缩解压命令:bzip2
命令名称:bzip2
命令所在路径:/usr/bin/bzip2
执行权限:所有用户
语法: bzip2 选项[-k] [文件]
-k 产生压缩文件后保留原文件
功能描述:压缩文件
压缩后文件格式:.bz2
范例:$ bzip2 -k file1

压缩解压命令:bunzip2
命令名称:bunzip2
命令所在路径:/usr/bin/bunzip2
执行权限:所有用户
语法: bunzip2 选项[-k] [压缩文件]
-k 解压缩后保留原文件
功能描述:解压缩
范例:$ bunzip2 -k file1.bz2
clipboard

? 网络通信命令
网络通信指令:write
指令名称:write
指令所在路径:/usr/bin/write
执行权限:All User
语法:write <用户名>
功能描述:向另外一个用户发信息,以Ctrl+D作为结束
范例: $ write webmaster
clipboard

网络通信指令:wall
指令名称:wall
指令所在路径:/usr/bin/wall
执行权限:All User
语法:wall [message] [文件名]
功能描述:向所有用户广播信息
范例: $ wall Happy New Year!
clipboard

网络通信命令:ping
命令名称:ping
命令所在路径:/usr/sbin/ping
执行权限:root
语法:ping 选项IP地址
功能描述:测试网络连通性
范例: # ping 192.168.1.1
clipboard

网络通信命令:ifconfig
命令名称:ifconfig
命令所在路径:/usr/sbin/ifconfig
执行权限:root
语法:ifconfig 选项[-a] [网卡设备标识]
-a 显示所有网卡信息
功能描述:查看网络设置信息
范例:# ifconfig -a
clipboard


? 系统关机命令

系统关机命令:shutdown
命令名称:shutdown
命令所在路径:/usr/sbin/shutdown
执行权限:root
语法:shutdown
功能描述:关机
范例:# shutdown -h now
clipboard

系统关机命令:reboot
命令名称:reboot
命令所在路径:/usr/sbin/reboot
执行权限:root
语法:reboot
功能描述:重启系统
范例:# reboot
clipboard


? Shell应用技巧

? 命令别名
命令补齐
命令补齐允许用户输入文件名起始的若干个字母后,按<Tab>键补齐文件名。
命令历史
命令历史允许用户浏览先前输入的命令并重新调用它们,用history命令可以显示命令列表,按方向键↑和↓可查找以前执行过的命令。
clipboard
命令别名定义:
范例:alias copy=cp
alias xrm= “rm -r ”
查看别名信息:alias
删除别名:unalias copy
clipboard

? 输入/输出重定向
同标准I/O一样,Shell对于每一个进程预先定义3个文件描述字(0、1、2)。分别对应于:
0 (STDIN)标准输入;
1 (STDOUT)标准输出;
2 (STDERR)标准错误输出。
>或>> 输出重定向
范例:ls -l /tmp > /tmp.msg
>>追加信息
date >> /tmp.msg
clipboard
< 输入重定向
范例:wall < /etc/motd
clipboard
2> 错误输出重定向
范例:cp -R /usr /backup/usr.bak 2> /bak.error
clipboard


? 管道
管道:将一个命令的输出传送给另一个命令,作为另一个命令的输入。
使用方法:
命令1|命令2|命令3……|命令n
范例:
? ls -l /etc | more
clipboard
? ls -l /etc | grep init
? ls -l /etc | grep init | wc -l
clipboard

? 命令连接符
用;间隔的各命令按顺序依次执行。
clipboard
&&
前后命令的执行存在逻辑与关系,只有&&前面的命令执行成功后,它后面的命令才被执行。
clipboard
||
前后命令的执行存在逻辑或关系,只有||前面的命令执行失败后,它后面的命令才被执行。
clipboard
? 命令替换符
命令替换:将一个命令的输出作为另一个命令的参数。
格式为:命令1 `命令2`
范例:
ls -l `which touch`
clipboard

END