linux常用操作一之文件管理、文本处理(持续更新)

导读:本篇文章讲解 linux常用操作一之文件管理、文本处理(持续更新),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

从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]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/65404.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!