【linux常用操作一】文件管理、文本处理

从linux用户管理、文件管理、字符处理、进程管理、网络管理等方面总结Linux常用操作
本篇我们先来关注文件(文件夹)和字符的相关操作

一、文件管理

1. 文件和目录相关操作

创建、复制、移动文件

#创建文件
touch 文件名
#移动或者重命名
  重命名:mv 源文件名 现文件名
  移动:mv 源文件 目标文件夹
#cp
#复制并重命名
cp new_file one/new_file_copy 
#  把以txt结尾的文件拷贝到folder下
cp *.txt folder 
# 将test1/下(不包含test1)的所有文件和目录拷贝到test2/中
cp -rf test1/. test2/   

 

文档编辑vim

#命令模式
gg跳到第一行
shift+g跳到文件最后一行
#搜索模式
/

 

文件压缩和打包

tar

# 压缩
tar -cvf 打包文件.tar 被打包的文件/路径
# 解包
tar -xvf 打包文件.tar

 

2. 文件属性查看

ll命令

ll -h
lrwxrwxrwx.   1 root root    7 61 2021 bin -> usr/bin
dr-xr-xr-x.   4 root root 4.0K 61 2021 boot
drwxr-xr-x.   8 root root 4.0K 77 15:14 data
drwxr-xr-x.   2 root root    6 61 2021 data1
属性属性解释
第一组:第一个字母- 普通文件 、d 文件夹、l 链接文件 、b 二进制文件 、c 字符设备文件
第一组:权限解释rwx r-x r-x:分别为当前用户、组、其他用户的权限描述
第二组链接数(普通文件=1,文件夹代表子文件夹的个数)
其他所属用户、组;文件大小;修改时间;文件名

 
查看文件大小

du -h  jdk-8u60-linux-x64.tar.gz
173M    /home/Downloads/jdk-8u60-linux-x64.tar.gz

 

3.文件权限修改

修改所属

#修改文件的所有者
chown thomas file.txt  
#修改文件的所在组
chgrp thomas file.txt   
#修改文件的所有者和所在组
chown thomas:friends file.txt  
#修改文件夹
chown -R oscar:oscar /home/thomas 

修改权限

#文件 file.txt 的所有者增加读和运行的权限。
chmod u+rx file.txt
    用字母来分配权限:chmod 的相对用法
    权限对象
            • u:user 的缩写,是英语“用户”的意思。表示所有者;
            • g:group 的缩写,是英语“群组”的意思。表示群组用户;
            • o:other 的缩写,是英语“其他”的意思。表示其他用户;
            • a:all 的缩写,是英语“所有”的意思。表示所有用户。
    权限操作
            • +:加号,表示添加权限;
            • -:减号,表示去除权限;
            • =:等号,表示分配权限。
1. 加最高权限
chmod 775  文件名

2. 加可执行权限
chmod +x   文件名

3. 赋予文件夹下所有文件的最高权限
chmod -R 775 sbin 

 

二、文本处理

某个文件内容查看

#查看文件时显示行号
cat -n 文件名

#查看文件头       
head filename

#动态显示README.txt的500行末尾
tail -500 -f README.txt
# 一页一页的查看+搜索模式
#前进:空格 后退:b 
#搜索模式:/connect  下一个:n
#退出:q
less hadoop-common-namenode-ecs.log

 

grep定位日志信息

根据关键字查找日志文件中相关日志,快速定位问题

grep -C10 "Get debug Log faild,Exception"  /data/logs/xxx/xxx.log



2022-07-20 14:25:03.857|ERROR |103879|http-nio-10.0.9.207-18341-exec-12|com.cloudwise.dodp.datalake.api.controller.DataflowDebugController.getDebugLog(DataflowDebugController.java:173)|Get debug Log faild,Exception is null
java.lang.NullPointerException: null
        at com.cloudwise.dodp.datalake.api.service.impl.SqlDebugServiceImpl.getDebugLog(SqlDebugServiceImpl.java:761) ~[datalake-api-DODP.RELEASE.jar:DODP.RELEASE]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_152]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_152]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_152]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_152]
        at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) ~[spring-core-5.2.15.RELEASE.jar:5.2.15.RELEASE]
        at org.springframework.cloud.context.scope.GenericScope$LockedScopedProxyFactoryBean.invoke(GenericScope.java:499) ~[spring-cloud-context-2.2.9.RELEASE.jar:2.2.9.RELEASE]
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.2.15.RELEASE.jar:5.2.15.RELEASE]
        at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.2.15.RELEASE.jar:5.2.15.RELEASE]
--
        at java.io.UnixFileSystem.createFileExclusively(Native Method) ~[?:1.8.0_152]
        at java.io.File.createNewFile(File.java:1012) ~[?:1.8.0_152]
        at com.xxl.job.core.log.XxlJobFileAppender.appendLog(XxlJobFileAppender.java:99) ~[xxl-job-core-2.3.0.jar:?]
        at com.xxl.job.core.context.XxlJobHelper.logDetail(XxlJobHelper.java:164) ~[xxl-job-core-2.3.0.jar:?]
        at com.xxl.job.core.context.XxlJobHelper.log(XxlJobHelper.java:118) ~[xxl-job-core-2.3.0.jar:?]
        at com.xxl.job.core.thread.TriggerCallbackThread.callbackLog(TriggerCallbackThread.java:197) ~[xxl-job-core-2.3.0.jar:?]
        at com.xxl.job.core.thread.TriggerCallbackThread.doCallback(TriggerCallbackThread.java:170) ~[xxl-job-core-2.3.0.jar:?]
        at com.xxl.job.core.thread.TriggerCallbackThread.access$200(TriggerCallbackThread.java:26) ~[xxl-job-core-2.3.0.jar:?]
        at com.xxl.job.core.thread.TriggerCallbackThread$1.run(TriggerCallbackThread.java:76) ~[xxl-job-core-2.3.0.jar:?]
        at java.lang.Thread.run(Thread.java:748) ~[?:1.8.0_152]
2022-07-20 14:30:07.107|ERROR |103879|http-nio-10.0.9.207-18341-exec-10|com.cloudwise.dodp.datalake.api.controller.DataflowDebugController.getDebugLog(DataflowDebugController.java:173)|Get debug Log faild,Exception is null
java.lang.NullPointerException: null
        at com.cloudwise.dodp.datalake.api.service.impl.SqlDebugServiceImpl.getDebugLog(SqlDebugServiceImpl.java:761) ~[datalake-api-DODP.RELEASE.jar:DODP.RELEASE]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_152]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_152]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_152]
        at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_152]
        at org.springframework.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:282) ~[spring-core-5.2.15.RELEASE.jar:5.2.15.RELEASE]
        at org.springframework.cloud.context.scope.GenericScope$LockedScopedProxyFactoryBean.invoke(GenericScope.java:499) ~[spring-cloud-context-2.2.9.RELEASE.jar:2.2.9.RELEASE]
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) ~[spring-aop-5.2.15.RELEASE.jar:5.2.15.RELEASE]
        at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:750) ~[spring-aop-5.2.15.RELEASE.jar:5.2.15.RELEASE]

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

roman_日积跬步-终至千里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值