目录
文本内容统计wc
用于统计指定文本文件的行数,字数,或者字节数
语法:wc [选项] 文件名
选项 | 作用 |
-l | 只显示行数 |
-w | 只显示单词数 |
-c | 只显示字节数 |
eg.如果每个用户占一行,那么统计行数就统计用户数了
wc -l /etc/…
复制、移动文件
复制文件或者目录cp
语法:cp [选项] 源文件 目标文件
选项 | 功能 |
-a | 通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录 |
-d | 拷贝时保留链接 |
-f | 在覆盖已经存在的目标文件时不提示 |
-i | 在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝 |
-p | 除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中 |
-r | 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件,此时目标文件必须为一个目录名 |
-a相当于内含了-d -r -I
移动文件或目录mv
用于剪切或者重命名文件
语法:mv [选项] 源文件名称 目标文件名称
不同与cp这个是剪切,会把源文件删掉
语法 | 功能 |
mv file1 file2 | 如果file2不存在,修改file1名字为file2,如果file2已存在,把file1的内容覆盖file2,删除file1。 |
mv -i file1 file2 | 操作前提示是否确定操作 |
mv file1 file2 dir1 | 把file1和file2移动到dir1里 |
mv dir1 dir2 | 如果dir2不存在,相当于把dir1改名。如果dir2存在,把dir1放到dir2中,相当于下一层目录 |
mv dir1/* dir2/: | 把dir1中的文件移动到dir2中(同名文件覆盖) |
mv -v | 显示过程信息 |
【如果mv命令默认提示确认信息,是因为系统配置了alias】
[root@localhost mulu]# alias mv
alias mv='mv -i'
查找文件的路径
命令 | 说明 | 示例 |
whereis | 可以搜索系统命令的可执行文件路径和说明文档 | #whereis ls |
which | which是搜索系统命令的可执行文件 | #which ls |
locate | 按照数据库搜索,搜索速度快,消耗资源小。数据库位置var/lib/mlocate./mlocate.db,可以使用updatedb 命令强制更新数据库, | #locate ls |
find | 可按照文件名、大小、时间、权限、类型、所属者、所属组来搜索文件 | find [path…] [expression] |
whereis:
[root@localhost ~]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
which:
[root@localhost ~]# which ls
alias ls='ls --color=auto'【ls命令的别名】
/usr/bin/ls【可执行文件】
find详解:
参数 | 作用 |
-name | 匹配名称,具体的时候可以不用"",比如"a*" 或者直接aa |
-size | 匹配文件的大小( 50KB为查找超过50KB的文件,而-50KB为查找小于50KB的文件) |
-mtime -n +n | 匹配修改内容的时间(4指小于等于4天内的文件名: 4,大于等于5天前的文件名;4指前4-5那一天的文件) |
-atime -n +n | 匹配访问文件的时间 |
-ctime -n +n | 匹配修改文件权限的时间 |
-newer f1 !f2 | 匹配比文件1新但比2旧的文件 |
-perm | 匹配权限(mode为完全匹配,-mode为包含即可) |
-user | 匹配所有者 |
-group | 匹配所有组 |
-nouser | 匹配无所有者的文件 |
-nougroup | 匹配无所属组的文件 |
-type b/d/c/p/l/f | 匹配文件类型(后面的字母参数依次表示块设备、目录、字符设备、管道、链接文件、文本文件) |
-prune | 忽略某个目录 |
-exec ……{}\; | 后面可跟用于进一步处理搜索结果的命令 |
Ⅰ、按照文件名搜索
[root@localhost ~]# find 路径 [选项] 搜索内容
选项:
-name:按照文件名搜索
-iname:按照文件名搜索,不区分文件名大小写
[root@localhost mulu]# find . -name "a*"
./a
./aaa
Ⅱ、按照文件大小搜索
【文件大小单位 M K 】
[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
-size [+] [-]大小:按照大小搜索文件,这里的+是比指定大小还要大的文件,-就是比指定大小还要小的文件
[root@localhost mulu]# find . -size -1M
./aaa
./ccc
Ⅲ、按照修改时间搜索
Linux中的文件有访问时间(atime),数据修改时间(mtime),状态修改时间(ctime)这三个时间,我们可以按照时间来搜索文件。
[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
-atime +-时间:按照文件访问时间搜索
-mtime +-时间:按照文件数据修改时间搜索
-ctime +-时间:按照文件状态修改时间搜索
-newer file:把比file修改时间更新的文件列出来
- -5:代表5天内修改的文件
- 5:代表前5~6天那一天修改的文件
- +5:代表6天前修改的文件。
Ⅳ、按照权限搜索
[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
-perm 权限模式:查找文件权限刚好等于权限模式的文件
-perm -权限模式:查找文件权限全部包含权限模式的文件
-perm +权限模式:查找文件权限包含权限模式的任意一个权限的文件
如果要在整个系统中搜索权限中包括SUID权限的所有文件,只需使用-4000即可:
[root@localhost ~]# find / -perm -4000 -print
Ⅴ、按照所有者和所属组搜索
[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
-uid 用户id:按照用户id查找所有者是指定id的文件
gid 组id:按照用户组id查找所属组是指定id的文件
-user 用户名:按照用户名查找所有者是指定用户的文件
-group 组名:按照组名查找所属组是指定用户组的文件
-nouser:查找没有所有者的文件
Ⅵ、按照文件类型搜索
[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
-type d:查找目录
-type f:查找普通文件
-type l:查找软链接文件
Ⅶ、逻辑运算符
[root@localhost ~]# find 搜索路径 [选项] 搜索内容
选项:
-a :and 逻辑与
-o :or 逻辑或
-not :not 逻辑非
Ⅷ、其他选项
动作 | 说明 |
| 默认动作,将搜索结果写入到标准输出 |
-fprint file | 与-print相同,但是将搜索结果写入到文件file |
-ls | 以详细格式显示搜索结果 |
-fls file | 同-ls,但是将搜索结果写入到文件file |
-delete | 将搜索到的文件删除 |
-exec command { } \; | 查找并执行命令{}表示搜索到的文件名 |
-ok command { } \; | 查找并执行命令,但是需要用户确认 |
[root@localhost ~]# find ~ -name "txt.txt" -exec mv {} mulu \;
解析:
find ~:从根目录找
-name:选项,以文件名找
"tx..":匹配名字
-exec:类似管道符,上表倒数第二行👆
mv:-exec后直接跟想要对文件做出的命令
{}:这就代表着找到的文件
mulu:这个是我的文件名,具体看mv命令去
\; :这个;表示命令结束然后用个转义符\表示;不是命令里的内容
【秋之疑惑】:移动了以后会提示这一句话不晓得为什么,但是确实移动成功了。
mv: '/root/mulu/txt.txt' 与'mulu/txt.txt' 为同一文件
【grep与find区别:一个匹配的是文件内容(grep),一个匹配的是文件本身(find)】
文件压缩与解压缩
zip和unzip命令
zip:可以压缩文件和目录
语法:zip [选项] qiu.zip 所需压缩文件,可以是多个
这个zip是为了让自己容易识别的 实际上任意名字都行
语法:unzip file
实例①:用zip压缩qiu文件
[root@localhost mulu]# zip qiu.zip qiu
adding: qiu (deflated 13%)
[root@localhost mulu]# ll
-rw-r--r--. 1 root root 31 10月 11 14:19 qiu
-rw-r--r--. 1 root root 183 10月 13 10:55 qiu.zip
压缩率为最高去压缩qiu文件
[root@localhost mulu]# zip -9 qiumax.zip qiu
adding: qiu (deflated 13%)
实例②:将当前目录mulu连同目录下文件一起压缩
[root@localhost mulu]# zip -r mulu.zip mulu/
adding: mulu/ (stored 0%)
实例③:向压缩文件mulu.zip中添加文件aaa
[root@localhost mulu]# zip -m mulu.zip aaa
adding: aaa (stored 0%)
实例④:删除压缩文件中的文件
[root@localhost mulu]# zip -d mulu.zip text
实例⑤:删除压缩文件时排除某个文件
这里是删除除了text1.txt之外的后缀为txt的文件
[root@localhost mulu]# zip mulu.zip *.txt -x text1.txt
实例⑥:解压文件mulu.zip
[root@localhost mulu]# unzip mulu.zip
Archive: mulu.zip
gzip和gunzip命令
xz、unxz命令
tar归档命令
格式:tar [选项] [args]..
选项必须有两个,一个必选另外一个任选
选项:任选其一
选项 | 功能 |
-c | 创建.tar格式的包文件 |
-x | 释放.tar格式的包文件 |
-t | 查看包中的文件列表 |
必选
-f | 用于指定打包文件名 当与-c选项一起用时,创建的tar包文件使用改选项指定的文件名 当与-x选项一起用时,则释放该选项指定的tar包文件 |
辅助选项
选项 | 功能 |
-v | 表示在命令执行时显示详细的提示信息 |
-p | 打包时保留文件及目录的权限 |
-z | 调用gzip程序,以gzip格式压缩或解压缩文件(tar.gz) |
-j | 调用bzip2程序,以bzip2格式压缩或解压缩文件(.tar.bz2) |
-J大写 | 使用xz压缩或解压缩文件(.tar.xz), xz的压缩率通常比bzip2更高 |
-C大写 | 和-x选项一起使用,表示释放包时指定释放的目标路径 |
[root@localhost mulu]# tar cvf passwd.tar passwd
【查看包里的东西】
[root@localhost mulu]# tar tf passwd.tar
【添加东西到包里】
[root@localhost mulu]# tar rvf passwd.tar e
-r是添加
【打包的同时压缩】
[root@localhost mulu]# tar czf passwd.tar.gz passwd
压缩过了就不能用上面添加东西的方法添加了
【这里的解包】
文件上传下载
[root@localhost ~]# sftp root@linux的ip
退出是输入exit
【这里没学细,以后在rhce里应该会详细介绍】