Linux常用命令–文件处理命令
一、目录处理命令ls
命令名称:ls
命令英文原意:list
命令所在路径:/bin/ls
执行权限:所有用户
功能描述:显示目录文件
语法:ls 选项[-ald] [文件或目录]
[root@instance-tg0skfi7 tmp]# ls
abrt
-
-a(all 显示所有的意思)显示所有文件,包括隐藏文件(Linux中以.开头的为隐藏文件,如果想把a文件隐藏,改名为.a)
[root@instance-tg0skfi7 tmp]# ls -a . .. abrt .test
-
-l 长显示,显示文件或者目录详细信息包括大小 修改时间
[root@instance-tg0skfi7 tmp]# ls -l total 4 drwxr-xr-x 2 abrt abrt 4096 Aug 1 22:01 abrt [root@instance-tg0skfi7 tmp]# ls -la total 16 drwxrwxrwt. 4 root root 4096 Aug 1 22:35 . drwxr-xr-x. 20 root root 4096 Aug 1 22:05 .. drwxr-xr-x 2 abrt abrt 4096 Aug 1 22:01 abrt drwxr-xr-x 2 root root 4096 Aug 1 22:27 .test
-
-h 更加人性化显示 比如字节转换为MB,GB 不用自己算
[root@instance-tg0skfi7 tmp]# ls -lh total 4.0K drwxr-xr-x 2 abrt abrt 4.0K Aug 1 22:01 abrt
-
-d 查看目录属性–只显示目录本身的信息
drwxrwxrwt. 4 root root 4096 Aug 1 22:52 .
-
-i 查询文件inode号(inode存储文件的详细信息) 信息编号,类似于人的身份证号码
[root@instance-tg0skfi7 tmp]# ls -i 393363 abrt 397060 hell
用ls -l 显示的文件属性相关说明:
drwxr-xr-x 2 root root 4096 Aug 1 22:27 .test
drwxr-xr-x :
10个字符
-
第一个:文件类型, d代表目录,-代表文件,l代表链接文件
-
其他九个:ugo, u代表文件所有者,g代表文件所有组,o代表其他人,把九个字符分成三组
u–>rwx g–>r-x o–>r-x。r:读,w:写,x:执行,-:无此权限。
2:文件引用计数
root: 所有者
root :所属组
4096:文件大小
Aug 1 22:27:文件最后修改时间
.test:文件名
二、目录处理命令
1. 命令名称:mkdir【重点】
命令英文原意: make directories
命令所在路径: /bin/mkdir
执行权限:所有用户、语法: mkdir-p [目录名]
功能描述: 创建新目录
-p递归创建
# 在tmp文件夹下创建china文件夹,在china文件夹下创建beijing文件夹
[root@instance-tg0skfi7 /]# mkdir /tmp/china/beijing
mkdir: cannot create directory ‘/tmp/china/beijing’: No such file or directory
# 使用 -p 递归创建
[root@instance-tg0skfi7 /]# mkdir -p /tmp/china/beijing
# 同时创建多个目录
[root@instance-tg0skfi7 china]# mkdir jiangsu henan guangzhou
[root@instance-tg0skfi7 china]# ls
beijing guangzhou henan jiangsu
2. 命令名称:cd【重点】
命令英文原意: change directory
命令所在路径: shell内置 命令
执行权限:所有用户
语法: cd[目录]
功能描述:切换目录
范例:
# 到指定目录
[root@instance-tg0skfi7 china]# cd /tmp/china/beijing
[root@instance-tg0skfi7 beijing]# pwd
/tmp/china/beijing
# 返回上一级
[root@instance-tg0skfi7 beijing]# cd ..
[root@instance-tg0skfi7 china]# pwd
/tmp/china
3. pwd 显示当前所在路径
print work directory 打印当前目录
[root@instance-tg0skfi7 china]# pwd
/tmp/china
4. 命令名称: rmdir
命令英文原意: remove empty directories
命令所在路径: /bin/rmdir
执行权限:所有用户
语法: rmdir [目录名]
功能描述: 删除空目录
范例:
[root@instance-tg0skfi7 china]# rmdir henan
[root@instance-tg0skfi7 china]# ls
beijing guangzhou jiangsu
# 不能够删除非空文件
[root@instance-tg0skfi7 tmp]# rmdir china
rmdir: failed to remove ‘china’: Directory not empty
5. 命令名称: cp【重点】
命令英文原意:copy
令所在路径: /bin/cp
执行权限:所有用户
语法: cp -rp [原文件或目录] [原文件或目录] […] [目标目录]
-r recursion 复制目录 (递归复制)
-p 保留文件属性
功能描述:复制文件或目录
范例:
[root@instance-tg0skfi7 china]# ls
beijing guangzhou jiangsu test.log
# 复制test.log 文件到beijing目录
[root@instance-tg0skfi7 china]# cp test.log beijing
# 复制后源文件依然存在
[root@instance-tg0skfi7 china]# ls
beijing guangzhou jiangsu test.log
[root@instance-tg0skfi7 china]# cd beijing
# beijing文件夹下多了test.log文件
[root@instance-tg0skfi7 beijing]# ls
test.log
如果复制目录及目录下文件必须加-r选项
# 直接复制无效
[root@instance-tg0skfi7 tmp]# cp china file
cp: omitting directory ‘china’
# 使用-r选项
[root@instance-tg0skfi7 tmp]# cp -r china file
[root@instance-tg0skfi7 tmp]# cd file
[root@instance-tg0skfi7 file]# ls
china
同时复制多个文件
[root@instance-tg0skfi7 tmp]# mkdir temp
[root@instance-tg0skfi7 tmp]# ls
china file temp
# 把file和china同时复制到temp下
[root@instance-tg0skfi7 tmp]# cp -r china file temp
[root@instance-tg0skfi7 tmp]# ls temp
china file
-p 保留文件属性
[root@instance-tg0skfi7 tmp]# ls -l
total 16
drwxr-xr-x 5 root root 4096 Aug 2 09:30 china
drwxr-xr-x 2 root root 4096 Aug 2 09:46 copy
drwxr-xr-x 3 root root 4096 Aug 2 09:34 file
drwxr-xr-x 4 root root 4096 Aug 2 09:39 temp
[root@instance-tg0skfi7 tmp]# cp -rp china copy
# 使用-p 复制的china文件属性不变
[root@instance-tg0skfi7 tmp]# ls copy -l
total 4
drwxr-xr-x 5 root root 4096 Aug 2 09:30 china
复制的同时修改文件名称
[root@instance-tg0skfi7 tmp]# cp -r china temp/haha
[root@instance-tg0skfi7 tmp]# ls temp
china file haha
6. 命令名称: mv 【重点】
命令英文原意:move
命令所在路径:/bin/mv
执行权限:所有用户
语法: mv [原文件或目录] [目标目录]
功能描述:剪切文件、改名
[root@instance-tg0skfi7 haha]# ls
beijing guangzhou jiangsu test.log
[root@instance-tg0skfi7 haha]# mv test.log jiangsu
[root@instance-tg0skfi7 haha]# ls jiangsu
test.log
[root@instance-tg0skfi7 haha]# ls
beijing guangzhou jiangsu
改名:
[root@instance-tg0skfi7 jiangsu]# ls
test.log
[root@instance-tg0skfi7 jiangsu]# mv test.log testplus.log
[root@instance-tg0skfi7 jiangsu]# ls
testplus.log
7. 命令名称:rm【重点】
命令英文原意:remove
命令所在路径:/bin/rm
执行权限:所有用户
语法: rm -rf [文件或目录]
-r:recursion,表示递归地处理文件,即处理该目录及其所有子目录下符合条件的文件
-f:force,无提示强制删除
功能描述:删除文件
# 不强制删除时,删除每个文件都要询问
[root@instance-tg0skfi7 tmp]# rm -r copy
rm: descend into directory ‘copy’? y
rm: descend into directory ‘copy/china’? y
rm: remove directory ‘copy/china/jiangsu’? y
rm: remove regular empty file ‘copy/china/test.log’? y
rm: remove directory ‘copy/china/guangzhou’? y
rm: descend into directory ‘copy/china/beijing’? y
rm: remove regular empty file ‘copy/china/beijing/test.log’? y
rm: remove directory ‘copy/china/beijing’? y
rm: remove directory ‘copy/china’? y
rm: remove directory ‘copy’? y
[root@instance-tg0skfi7 tmp]# ls
china file temp
# 强制删除
[root@instance-tg0skfi7 tmp]# rm -rf file
[root@instance-tg0skfi7 tmp]# ls
china temp
三、文件处理命令
1. 命令名称: touch【重点】
命令所在路径: /bin/touch
执行权限:所有用户
语法: touch [文件名]
功能描述:创建空文件
范例:
[root@instance-tg0skfi7 tmp]# touch index.html
[root@instance-tg0skfi7 tmp]# ls
china index.html temp
一次创建多个文件
[root@instance-tg0skfi7 tmp]# touch login.html register.html
[root@instance-tg0skfi7 tmp]# ls
china index.html login.html register.html temp
如果文件中间有空格,创建时用引号,防止创建多个文件
[root@instance-tg0skfi7 tmp]# touch "1704 37.txt"
[root@instance-tg0skfi7 tmp]# ls -l
total 8
-rw-r--r-- 1 root root 0 Aug 2 10:51 1704 37.txt
drwxr-xr-x 5 root root 4096 Aug 2 09:30 china
-rw-r--r-- 1 root root 0 Aug 2 10:41 index.html
drwxr-xr-x 5 root root 4096 Aug 2 09:51 temp
2. 命令名称: cat–不适合浏览大文件
命令所在路径:/bin/cat
执行权限:所有用户
语法: cat[文件名]
功能描述:显示文件内容
-n 显示行号
范例:
# -n 显示行号
[root@instance-tg0skfi7 tmp]# cat -n index.html
1
2 <!DOCTYPE html>
3 <html>
4 <head>
5 <meta charset="utf-8">
6 <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
7 <title>百度翻译</title>
3. 命令名称: tac
命令所在路径: /usr/bin/tac
执行权限:所有用户
语法: tac[文件名]
功能描述:反向显示文件内容
范例:
4. 命令名称:more 【重点】
命令所在路径: /bin/more
执行权限:所有用户
语法:more[文件名]
(空格) 或 f 翻页
(Enter) 换行
q或Q 退出
功能描述:分页显示文件内容,只能向下翻页。
范例:
[root@instance-tg0skfi7 tmp]# more index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>百度翻译</title>
<meta name="keywords" content="翻译,在线翻译,百度翻译,词典,英语,"/>
<meta name="description" content="百度翻译提供即时免费的多语种文本翻译和网页翻译服务,支持中、英、日、
韩、泰、法、西、德等28种热门语言互译,覆盖756个翻译方向。"/>
<meta name="renderer" content="webkit">
<meta name="force-rendering" content="webkit">
<script>
/* 配置需要统计的模块,以及整体的抽样率,不需要的模块不配置即可(可点击上面的模块名称自动隐藏) */
window.alogObjectConfig = {
sample: '1', // 配置整体的抽样率(下面各个统计模块的抽样是在此基础上进行的再抽样),https协议
的网页必须配置(需要保证抽样后的PV控制在100万以内),http的可以不配置(默认为1)
product: '156', // 必须, DP平台产品线id
page: '156_1', // 必须, DP平台页面id
monkey_page: '', // 如果页面已经有hunter平台的monkey,则为monkey的pageId, 否侧无需该字段
speed_page: '', // 如果页面已经有webspeed平台的性能监控,则为性能的page_id,否侧无需该字段
--More--(27%)
5. 命令名称: less【重点】
命令所在路径: /usr/bin/less
执行权限:所有用户
语法: less [文件名]
(空格) 或 f 翻页
PgUp向上翻页
(Enter) 换行
按↑一行一行往上
q或Q 退出
按/搜索,输入搜索文件内容,按Enter。
功能描述:分页显示文件内容,可向上翻页,搜索。
范例:
[root@instance-tg0skfi7 tmp]# less index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>百度翻译</title>
<meta name="keywords" content="翻译,在线翻译,百度翻译,词典,英语,"/>
<meta name="description" content="百度翻译提供即时免费的多语种文本翻译和网页翻译服务,支持中、英、日、韩、泰、法、西、德等28种热门语言互译,覆盖756个翻译方向。"/>
<meta name="renderer" content="webkit">
<meta name="force-rendering" content="webkit">
<script>
/* 配置需要统计的模块,以及整体的抽样率,不需要的模块不配置即可(可点击上面的模块名称自动隐藏) */
window.alogObjectConfig = {
sample: '1', // 配置整体的抽样率(下面各个统计模块的抽样是在此基础上进行的再抽样),https协议
的网页必须配置(需要保证抽样后的PV控制在100万以内),http的可以不配置(默认为1)
product: '156', // 必须, DP平台产品线id
page: '156_1', // 必须, DP平台页面id
monkey_page: '', // 如果页面已经有hunter平台的monkey,则为monkey的pageId, 否侧无需该字段
speed_page: '', // 如果页面已经有webspeed平台的性能监控,则为性能的page_id,否侧无需该字段
:
6. 命令名称: head
命令所在路径:/usr/bin/head
执行权限:所有用户
语法: head [文件名]
功能描述:显示文件前面几行
-n指定行数
范例:
显示前5行
[root@instance-tg0skfi7 tmp]# head -n 5 /etc/services
# /etc/services:
# $Id: services,v 1.55 2013/04/14 ovasik Exp $
#
# Network services, Internet style
# IANA services version: last updated 2013-04-10
7. 命令名称: tail ⭐️
命令所在路径: /usr/bin/tail
执行权限:所有用户
语法: tail [文件名]
功能描述:显示文件后面几行
-n指定行数
-f动态显示文件末尾内容
范例:
[root@instance-tg0skfi7 tmp]# tail -n 5 /etc/services
com-bardac-dw 48556/tcp # com-bardac-dw
com-bardac-dw 48556/udp # com-bardac-dw
iqobject 48619/tcp # iqobject
iqobject 48619/udp # iqobject
matahari 49000/tcp # Matahari Broker
四、链接命令
软链接的作用和Windows中的快捷方式是差不多的。他只不过是指向源文件安装路径的符号链接,所以大小也很小 而且它的文件类型是lrwxrwxrwx 看似三种用户都可以拥有所有权限。其实,真正拥有的权限是源文件所决定的权限 ,所以这中显示也是软链接的一大特征之一。
硬链接就是把源文件拷贝到目标位置,而他与cp -p 最大的一点区别就是他可以同步更新,源文件有变化 硬链接文件也会同时发生变化,但是如果源文件丢失或者被删除,硬链接也并不会消失。可以通过i节点来区分,源文件和硬链接文件的i节点是一样的,所以他们会同步更新,但是他不能跨分区放置硬链接比如:/分区 硬链接 不能放到/boot 分区 ,而且不能对目录使用。
命令名称: In
命令英文原意: link
命令所在路径: /bin/ln
执行权限:所有用户
语法: In -s [原文件] [目标文件]
-s 创建软链接,默认硬链接
功能描述:生成链接文件
范例:
[root@instance-tg0skfi7 tmp]# ln -s /etc/issue /tmp/issue.soft
[root@instance-tg0skfi7 tmp]# ln /etc/issue /tmp/issue.hard
[root@instance-tg0skfi7 tmp]# ls -l
total 4
-rw-r--r--. 2 root root 23 Dec 9 2015 issue.hard
lrwxrwxrwx 1 root root 10 Aug 2 14:11 issue.soft -> /etc/issue