本章主要介绍 Linux 中常用的命令,具体内容参考目录。
文件权限操作
1.chgrp 修改文件所属用户组
格式: chgrp [-R] 组名 dirname/filename
-R 进行递归的持续更改,连同子目录和文件
举例::chgrp users install.log
2.chown 修改文件所有者
格式:chown [-R] 用户名称 文件或目录
chown [-R] 用户名称:用户组 文件或目录
举例:
chown userA intall.log //将install.log 所有者改为userA
chown root:root install.log //将install.log 的所有者和用户组改为 root
3.chmod 修改文件权限
格式:chmod [-R] xyz 文件或目录
-R 进行递归的持续更改,连同子目录和文件
xyz 对应“拥有者 、群组 、其它组”
注:限类型一般包括读,写,执行。对应字母为 r、w、x,对应的数字 r=4、w=2、x=1
目录/文件操作
1.目录快捷字符:
. 代表此层目录
.. 代表上一个目录
- 代表前一个工作目录
~ 代表当前用户所在的主文件夹
2.cd 切换目录
格式:cd [相对路径或绝对路径]
3.pwd 显示当前目录
格式:pwd [-P]
-P:显示当前路径,而非使用连接路径
4.mkdir 新建目录
格式:mkdir [-mp] 目录名称
-m:配置权限
-p:帮助你直接将所需要的目录递归创建
举例:
mkdir -p test/test1/test2
mkdir -m 777 test1
5.rmdir 删除目录
格式:rmdir [-p] 目录名称
-p:连同上层’空的’目录也一起删除
6.rm 删除文件
格式:rm [-fir] 目录或文件
-f:强制
-i:删除前询问
-r:递归删除
7.mv 文件移动
格式:mv [-fiu] 源文件 目标地址
-f:强制
-i:目标文件存在时会先询问
-u:目标文件存在且源文件比较新,才覆盖
8.cp 复制文件
格式:cp [-adfilprsu] 源文件 目标文件
-i:若目标文件存在,覆盖是先询问
-r:递归复制,有用目录
9.ls 查看文件与目录
格式:ls [-aAdFfhinrRST] 目录
-a:全部文件,连同隐藏文件
-A:列出全部文件(连同隐藏文件,但不包括 . 与 .. 目录)
-d:仅列出目录本身,而不是列出目录内的文件数据
-l:列出长数据串,包括文件属性和权限等
10.basename 取得最后的文件名
格式:basename 地址
11.dirname 获取目录名
格式:dirname 地址
文件内容查询
1.cat 由第一行开始显示文件内容
格式:cat [-AbEnTv] 文件
-A:相当于 -vET,可以列出一些特殊字符,而不是空白
-b:列出行号,空白不标示行号
-E:将结尾的断行字符$显示
-n:打印行号,包括空白
-T:将Tab键以^T显示
-v:列出一些看不出来的特殊字符
2.tac 由最后一行开始显示内容
类似cat
3.more 一页一页的显示文件内容
格式:more 文件
空格键:向下翻页
Enter:向下滚动一行
+/字符串:查询关键字
:f:显示文件名,和当前行数
q:离开more
b或者ctrl-b:向前翻页
4.less 与 more 类
格式: less 文件
空格键 :向下翻页
PageDown:向下翻页
pageUp:向上翻页
/字符串:向下查字符串
?字符串:向上查字符串
n:重复前一个查询
N:反向重复前一个查询
q:离开less
5.head 只看头几行
格式:head [-n number] 文件
举例:head -n 20 a.txt
6.tail 看结尾几行
格式:tail [-n number] 文件
7.od 以二进制的方式读取文件内容
格式:od [-t TYPE] 文件
-t a:利用默认字符输出
-t c:ASCII 输出
-t d:十进制
-t f:浮点数
-t o:八进制
-t x:十六进制
命令与文件的查询
1.file 查看文件类型
格式:file 文件
2.which 在 PATH 变量指定的路径中寻找执行文件
格式:which [-a] command
-a:将PATH目录中可以找到的命令均查询列出,而不是只是第一个命令
3.whereis 只能用于程序名的搜索(查找数据库)
格式:whereis [-bmsu] 文件或目录
-b:只找二进制文件
-m:只找说明文件manual 路径下的文件
-s:只找源文件
-u:查找不在上述的其他特殊文件
4.find
格式:find [PATH] [option] [action]
-name filename #查找名为filename的文件
-user username #按文件属主来查找
-group groupname #按组来查找
-mtime -n +n #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-size n[c] #查长度为n块[或n字节]的文件
-type c #文件类型是 c 的文件。
文件类型:
d: 目录
c: 字型装置文件
b: 区块装置文件
p: 具名贮列
f: 一般文件
l: 符号连结
s:socket
5.locate:“find -name”的另一种写法
格式:locate [-ir] keyword
-i: 忽略大小写
-r: 后面可以接正则表达式的显示方式
文件打包及压缩
1.常见压缩扩展名:
*.Z compress 程序压缩的文件
*.gz gzip 程序压缩的文件
*.bz2 bzip2 程序压缩的文件
*.tar tar 程序打包的数据,没有经过压缩
*.tar.gz tar 程序打包的文件,经过gzip 压缩
*.tar.bz2 tar 程序打包的文件, 经过bzip2压缩
2.gzip 压缩文件
格式:gzip [-cdtv#] 文件名
-c:将压缩数据输出到屏幕
- d:解压参数
-t:看文件有无错误
-v:显示原文件/压缩文件的压缩比例等信息
-#:压缩等级,-1最快,但压缩比差,-9最慢
3.zcat 查看压缩文件
格式:zcat 压缩文件
4.bzip2 压缩文件
格式:bzip2 [-cdkzv#] 文件明
-c:将压缩数据输出到屏幕
-d:解压参数
-k:保留原文件
-z:压缩参数
-v:显示压缩比
-#:压缩等级,-1最快,但压缩比差,-9最慢
5.tar 打包命令
格式:
tar [-j|-z] [cv] [-f 新建文件名] filename 打包压缩
tar [-j|-z] [tv] [-f 新建文件名] 查看文件名
tar [-j|-z] [xv] [-f 新建文件名] [-C 目录] 解压
常用:
压缩:tar -jcv -f filename.tar.bz2 要被打包压缩的文件或目录
查询:tar -jtv -f filename.tar.bz2
解压::ar -jxv -f filename.tar.bz2 -C 解压到的目录
选取解压:
tar -jv[t|x] -f filename.tar.bz2 | grep ‘关键字’ grep 是选取的意思
tar -jv[t|x] -f filename.tar.bz2/....路径
打包不包含某文件:
tar -jcv -f filename.tar.bz2 --exclude=’文件或目录’ 要打包压缩的文件或目录
参考
1.《Linux Shell 脚本攻略》