Linux
Created: May 4, 2021 3:24 PM
Last edited time: May 4, 2021 10:01 PM
目录处理命令
ls
-a
显示所有文件,包括隐藏文件-l
显示详细信息-d
只显示该目录,不显示该目录下的内容(**list directories themselves, not their contents)**通常配合-l
一起使用-h
显示带单位的文件大小(-human-readable)-i, --inode
显示文件的索引号(print the index number of each file)
**mkdir**
-p, --parent
递归创建子目录
**cp**
-r
递归复制目录-p
复制时保留文件属性,比如说最后编辑时间
文件处理命令
-
**cat**
-n
查看文件内容时显示行号
如果将
cat
命令打过来写:tac
,则会将文件内容从末行倒过来逐条显示,类似倒叙 -
**more
**- 按空格或者
f
下一页,按b
上一页,按回车键下一行,按q
退出
- 按空格或者
-
**less
**- 按空格或者
f
下一页,按b
上一页,按回车键下一行,按q
退出 - 按
/
输入关键字即可搜索匹配到的文本,然后按n
跳到下一个匹配到的文本,N
跳到上一个匹配的文本
- 按空格或者
-
**tail**
- 显示文件末尾几行
-n
指定行数-f
动态显示文件末尾内容
-
**ln**
- 生成软链接:
ln -s 目标文件 生成的软链接文件
- 生成硬链接:
ln 目标文件 生成的硬链接文件
软链接就像Windows中的快捷方式,用
ls -l
查看会看到软链接文件类型是l
标注,并有箭头指向源文件。软链接文件的权限都是rwxrwxrwx
,但是源文件的权限才是真正的决定者。硬链接类似对一个源文件的拷贝副本,不同的是对硬链接文件的修改会同步到源文件。源文件被删除后,硬链接文件不受影响依然存在。
硬链接的特点:
- 类似于拷贝 + 同步更新
- 通过i(inode)节点识别
- 不能跨分区
- 不能对目录使用
- 生成软链接:
权限管理命令
-
**chmod**
- 第一种方式:
chmod [{ugoa}{+-=}] [文件或目录]
如:chmod u+x,g+w,o-r file.txt
- 第二种方式:
chmod [mode] [文件或目录]
如:chmod 777 file.txt
rwx对应的mode数字分别是421
-R
递归修改目录,该目录及其下面的 所有子目录和文件都会被修改成同样的权限。如:chmod -R 777 /tem/a/b
删除一个文件的前提条件是看其所在的目录是否有写权限,该文件的写权限只表示可以修改文件内容,如果一个文件权限是777但是其所属的目录权限啥都没有,那也不能查看修改文件内容
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l5rUCVpW-1620198006546)(Linux%2085f2beed03a9421d97748685c9072dda/Untitled.png)]
- 第一种方式:
-
**chown
更改文件所有者**- 语法:
chown [用户] [文件或目录]
如:chown zhangpeng file.txt
- 语法:
-
chgrp
更改文件所在组- 语法:
chogrp [用户组] [文件或目录]
如:chgrp zhangpeng file.txt
- 语法:
文件搜索命令
-
**find**
-
根据文件名称查找:
find /etc -name file.txt
在目录/etc中查找文件file.txt -
根据文件大小查找:
find / -size +204800
在根目录下查找大于100MB的文件 -
根据所有者查找文件:
find /home -user zhangpeng
在/home目录下查找所有者为zhangpeng的文件 -
根据时间属性查找文件:
find /etc -cmin -5
在/etc下查找5分钟内被修改过属性的文件和目录-amin
访问时间 access-cmin
文件属性被修改过 change-mmin
文件内容被修改过 modify
文件属性就是
ls -l
中的所有列的信息 -
根据多个条件查找:
find /etc -name init* -a -type f
在etc目录下查找文件名以init开头的文件(不包括目录)-a
表示两个条件同时满足 表示 and-o
两个条件满足其一即可,表示 or
-
查找文件后再执行另一个命令:
find /etc -name init -exec ls -ld {} \;
在etc下查找init后显示其详细信息-exec/-ok 命令 {} \;
对搜索结果执行相关命令操作 (ok相较exec会显示确认信息)
上述命令也可以替换为
find /etc -name init | xargs ls -ld
效果完全一样
-
-
**locate**
- locate自身维护了一个资料库,它会从该资料库查找 所以速度比
find
要快很多 locate -i 文件或文件夹
忽略大小写查找
locate会每隔一段时间自动更新下资料库,所以会导致新创建的文件查找不出来的情况,这时可以手动更新资料库:
updatedb
。如果没有locate命令请先安装:yum install locate
然后再执行updatedb
还有个需要注意的地方是locate
命令查找不到/tmp目录下的文件 - locate自身维护了一个资料库,它会从该资料库查找 所以速度比
-
**which
搜索命令所在目录及别名信息** -
**whereis
搜索命令所在目录及帮助文档所在位置** -
**whatis
显示一行帮助手册描述信息。如:whatis ls
** -
**grep
**-i
忽略大小写-v
排除指定字符串。如:grep -v ^# /etc/inittab
以#开头的行都不显示(即不显示注释行)
用户管理命令
**useradd
添加用户。如:useradd zhangpeng
****passwd
添加密码**passwd 用户名
设置用户密码
**who
显示已登录的用户终端**- 其中第二列显示登录的终端,tty表示本地终端(系统自带的终端),pts表示远程终端(比如用xshell登录就属于pts)
**w
显示已经登录的用户以及他们在做什么**
压缩解压缩命令
-
**gzip
压缩命令,将文件压缩成 .gz文件,gzip只能压缩文件不能压缩目录** -
**gunzip
解压缩 .gz 文件** -
**tar
(该命令可以打包和压缩目录)**打包压缩语法:
tar -czvf 压缩后文件名 目标文件
如:tar -czvf file.tar file.txt
将file.txt文件打包并压缩成名为file.tar的文件-c
打包-v
显示详细信息-f
指定文件名-z
打包同时并压缩
解包解压缩语法:
tar -xzvf 压缩文件
如:tar -xzvf file.tar.gz
-x
解包-v
显示详细信息-f
指定要加压的文件-z
解压缩
-
**zip
压缩解压缩 .zip 文件**压缩语法:
zip [-r] [压缩后文件或目录名] [要压缩的文件或目录]
如:zip -r direc.zip directory
将directory目录压缩成 direc.zip文件-r
压缩目录
解压缩语法:
unzip [要解压缩的文件]
如:unzip test.zip