Linux基本命令
1. head命令
head
作用: 用于查看文件的加粗样式开头部分的内容,有一个常用的参数 -n 用于显示行数,默认为 10,即显示 10 行的内容
语法: head [参数] [文件]
命令参数:
参数 | 参数描述 |
---|---|
-q | 隐藏文件名 |
-v | 显示文件名 |
-c<数目> | 显示的字节数 |
-n<行数> | 显示的行数 |
- 显示 exercise1.txt文件中前 20 行
- 显示 exercise1.txt文件前 20 字节,前10字节
- 显示 t.log最后 10 行
扩展: tail命令,查看文件的末尾
2.which命令
在 linux 要查找某个命令或者文件,但不知道放在哪里了,可以使用下面的一些命令来搜索
which 查看可执行文件的位置。
whereis 查看文件的位置。
locate 配合数据库查看文件位置。
find 实际搜寻硬盘查询文件名称。
参数 | 参数描述 |
---|---|
-n<文件名长度> | 指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名 |
-p<文件名长度> | 与-n参数相同,但此处的<文件名长度>包括了文件的路径 |
-w | 指定输出时栏位的宽度 |
-V | 显示版本信息 |
3.whereis命令
whereis 命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。
whereis 及 locate 都是基于系统内建的数据库进行搜索,因此效率很高,而find则是遍历硬盘查找文件。
作用: 用于查找文件
命令参数
参数 | 参数描述 |
---|---|
-b | 定位可执行文件 |
-B<目录> | 只在设置的目录下查找可执行文件 |
-f | 不显示文件名前的路径名称 |
-m | 定位帮助文件 |
-M<目录> | 只在设置的目录下查找说帮助文件 |
-s | 定位源代码文件 |
-S<目录> | 只在设置的目录下查找源代码文件 |
-u | 搜索默认路径下除可执行文件、源代码文件、帮助文件以外的其它文件 |
4.locate命令
注意: mini系统里面没有安装
作用:用于查找符合条件的文档,他会去保存文档和目录名称的数据库内,查找合乎范本样式条件的文档或目录
参数 | 参数描述 |
---|---|
-b | 仅匹配路径名的基本名称 |
-c | 只输出找到的数量 |
-d | 使用 DBPATH 指定的数据库,而不是默认数据库 /var/lib/mlocate/mlocate.db |
-e | 仅打印当前现有文件的条目 |
-1 | 如果 是 1.则启动安全模式。在安全模式下,使用者不会看到权限无法看到 的档案。 这会始速度减慢,因为 locate 必须至实际的档案系统中取得档案的 权限资料 |
-0 | 在输出上带有NUL的单独条目 |
-S | 不搜索条目,打印有关每个数据库的统计信息 |
-q | 安静模式,不会显示任何错误讯息 |
-P | 检查文件存在时不要遵循尾随的符号链接 |
-l | 将输出(或计数)限制为LIMIT个条目 |
-n | 至多显示 n个输出 |
-m | 被忽略,为了向后兼容 |
-r | REGEXP – 使用基本正则表达式 |
–regex | 使用扩展正则表达式 |
-o | 指定资料库存的名称 |
-h | 显示帮助 |
-i | 忽略大小写 |
-V | 显示版本信息 |
常用参数:
参数 | 参数描述 |
---|---|
-l | num(要显示的行数) |
-f | 将特定的档案系统排除在外,如将proc排除在外 |
-r | 使用正则运算式做为寻找条件 |
5.find命令
作用: 用于在文件树中查找文件,并作出相应的处理。(实时查找,速度较locate慢)
命令参数:
参数 | 参数描述 |
---|---|
pathname | find命令所查找的目录路径。例如用.来表示当前目录,用/来表示系统根目录 |
find命令将匹配的文件输出到标准输出 | |
-exec | find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为’command’ { } ;,注意{ }和\;之间的空格 |
-ok | 和-exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行 |
命令选项:
选项 | 选项描述 |
---|---|
-name | 按照文件名查找文件 |
-perm | 按文件权限查找文件 |
-user | 按文件属主查找文件 |
-group | 按照文件所属的组来查找文件 |
-type | 查找某一类型的文件,诸如: b - 块设备文件 d - 目录 c - 字符设备文件 l - 符号链接文件 p - 管道文件 f - 普通文件 |
-size n :[c] | 查找文件长度为n块文件,带有c时表文件字节大小(); |
-amin n | 查找系统中最后N分钟访问的文件 |
-atime n | 查找系统中最后n*24小时访问的文件 |
-cmin n | 查找系统中最后N分钟被改变文件状态的文件 |
-ctime n | 查找系统中最后n*24小时被改变文件状态的文件 |
-mmin n | 查找系统中最后N分钟被改变文件数据的文件 |
-mtime n | 查找系统中最后n*24小时被改变文件数据的文件 |
-maxdepth n | 最大查找目录深度 |
-prune | 选项来指出需要忽略的目录。在使用-prune选项时要当心, 因为如果你同时使用了-depth选项,那么-prune选项就会被find命令忽略 |
-newer | 如果希望查找更改时间比某个文件新但比另一个文件旧的所有文件,可以使用-newer选项 |
eg:
- 查找 24 小时内修改过的文件(find -atime -1)
- 在当前目录查找 以 .txt 结尾的文件。 . 代表当前目录(find ./ -name ‘*.txt’)
- 查找 test1目录下 权限为 775 的文件(find test1 -perm 775)
-
查找大于1K的文件 (find -size +1000c)
-
查找等于1000字符的文件 (find -size 1000c)
-exec
注意:-exec 参数后面跟的是 command 命令,它的终止是以 ; 为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。{} 花括号代表前面find查找出来的文件名。
- 查找所有以’.txt’结尾的文件,并将其复制到t2中去
6.chmod命令
Linux的文件调用权限分为三级 : 文件拥有者、群组、其他。
作用: 用于改变 linux 系统文件或目录的访问权限。用它控制文件或目录的访问权限。
该命令有两种用法
- 一种是包含字母和操作符表达式的文字设定法
- 另一种是包含数字的数字设定法。
每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。
常用参数:
参数 | 参数描述 |
---|---|
-c | 当发生改变时,报告处理信息 |
-R | 处理指定目录以及其子目录下所有文件 |
权限范围:
u :目录或者文件的当前的用户
g :目录或者文件的当前的群组
o :除了目录或者文件的当前用户或群组之外的用户或者群组
a :所有的用户及群组
权限代号:
代号 | 代号权限 |
---|---|
r | 读权限,用数字4表示 |
w | 写权限,用数字2表示 |
x | 执行权限,用数字1表示 |
- | 删除权限,用数字0表示 |
s | 特殊权限 |
初始文件情况
t1.txt文件的权限为 rw-r–r–,为644。
普通用户无法改写t1.txt文件。
(1)给与普通用户改写t1.txt文件的权限
chmod o+w t1.txt [ chmod o+w,o+x ti.txt ]
‘o’代表fantianyu用户对于root用户为other用户,‘o+w’为给other用户加上write的权限。下图中出现的不允许的操作的问题是因为只有root用户能够修改t1.txt文件。
之后,普通用户也能够修改t1.txt文件了
(2)用数字方式加权限
chmod 677 t1.txt
或者
chmod u=rx,g=rwx,o=rwx t1.txt
7.chown命令
chown 将指定文件的拥有者改为指定的用户或组。----(只改变属主或者属组)
用户可以是用户名或者用户 ID;
组可以是组名或者组 ID;文件是以空格分开的要改变权限的文件列表,支持通配符
注意: 这个指令只有是由系统管理者(root)所使用。
常用参数:
参数 | 参数描述 |
---|---|
user | 新的文件拥有者的使用者 ID |
group | 新的文件拥有者的使用者组(group) |
-c | 显示更改的部分的信息 |
-f | 忽略错误信息 |
-h | 修复符号链接 |
-v | 显示详细的处理信息 |
-R | 处理指定目录以及其子目录下的所有文件 |
–help | 显示辅助说明 |
–version | 显示版本 |
(1) 修改t1.txt文件的root属主与root属组为fantianyu
chown fantianyu:fantianyu t1.txt ---':'前为属主,后为属组
若只想修改属组的话,命令为 chown :fantianyu t1.txt