linux命令memo

  • 删除文件中含某字符的行

sed -i -e '/string/d' file  
  • 加权限

sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具
  • 文件打包解压 

.tar.gz 和 .tgz

解压:tar zxvf FileName.tar.gz

压缩:tar zcvf FileName.tar.gz DirName

.tar.bz2

解压:tar jxvf FileName.tar.bz2

压缩:tar jcvf FileName.tar.bz2 DirName

  • 看文件属性

file命令可以识别文件类型

$file  xxx

ls命令也可以查看一些:

$ls -l xxx或者$ls -al xxx

  • 制作补丁

diff命令用于制作补丁

$diff -urN linux-2.6.30 linux-2.6.30_ok > linux-2.6.30_ok.patch

  • SVN命令

svn命令用于版本库控制

$ svn ci -m "注释,日志信息" 要提交的文件

$ svn ci -m "netfilter" ip6t_MARK.h ……………………………………

$ svn co 版本库的路径$svn co 某个path……………………………………

$ svn import -m"注释" 提交的路径 版本库的路径$ svn import -m"init" src 某个path

  • 查找文件夹

find命令可用于查找文件夹

$ find -name xxxx -type d

  • iptables命令

iptables命令用于包信息过滤(netfilter)

$ iptables -L -v -n 查看规则

$ iptables -F 清规则 

  • ifconfig命令

ifconfig命令可用于网络配置。If no argumentsare given, ifconfig displays the status of the currently active interfaces.  If a single interface argumentis given,  it  displays  the status of the given 

interface only; if a single -a argument is given, it displays the status of all interfaces, even those that are down.  Otherwise, it configures an interface.

$ ifconfig 查看已经开启的接口信息

$ ifconfig -a 查看所有接口的信息,包括开启和关闭的所有接口

$ ifconfig eth0  查看eth0口的信息

$ ifconfig eth0  up 开启eth0口

$ ifconfig eth0  down 关闭eth0口

$ifconfig eth0 192.168.1.3 netmask 255.255.255.0  配置接口网络地址

PS:还有个口,lo口,本地loop,ifconfig lo up

  • scp命令

scp命令用于服务器之间的cp

$ scp filename username@serverip:/home/username

eg: scp test.tar.bz2 zs@10.8.100.100:/home/zs

  • 删除所有相同名字的文件夹

    删除所有名为.svn的文件 

    $ find -name ".svn" -print | xargs -i rm -fr {}

  • 修改系统时间

          busybox的date -s命令用于修改系统时间,但是格式与普通的有一些不一样:

          date -s 2011.03.03-13:48:00

          date -s 111509542012(月日时分年)

  • 不熟悉的xargs

    更新文件夹下所有文件的时间为当前时间

          find ./ | xargs touch

<think> 我们正在讨论的是Linux中的cat命令。根据提供的引用,cat命令主要用于显示、连接文件内容。以下是详细的解释: 引用[1]提到: - cat命令用于显示或连接文件 - 参数包括: - -A: 显示不可打印字符,行尾显示$ - -b: 显示行号(非空行) - -E: 显示行结束符$ - -n: 显示行号(所有行) - -s: 压缩连续空行 - -T: 显示制表符为^I - -v: 显示不可打印字符 引用[2]举例: - `cat -b linuxfile1 linuxfile2 >> linuxfile3`:将两个文件加上行号(非空行)后附加到第三个文件 引用[3]举例: - `watch -n 5 "cat /var/log/messages > test.txt"`:每5秒执行一次cat命令,将内容重定向到文件 因此,我们可以这样组织答案: ### cat命令详解 cat(concatenate)命令Linux系统中用于查看、连接和创建文件的常用命令。 #### 基本语法 ```bash cat [选项] [文件...] ``` #### 常用选项 | 选项 | 功能描述 | |------|----------| | `-A` | 显示所有不可打印字符(等价于`-vET`) | | `-b` | 对非空输出行编号(行号显示在每行前面) | | `-E` | 在每行结束处显示`$` | | `-n` | 对所有输出行编号(包括空行) | | `-s` | 压缩连续的空白行(多个相邻空行变为一个) | | `-T` | 将制表符显示为`^I` | | `-v` | 显示非打印字符(除换行符和制表符外) | #### 典型应用场景 1. **查看文件内容** ```bash cat filename.txt ``` 直接显示文件全部内容[^1] 2. **创建新文件(EOF方式)** ```bash cat > newfile.txt << EOF 第一行内容 第二行内容 EOF ``` 通过输入重定向创建文件,`EOF`为结束标记 3. **合并多个文件** ```bash cat file1.txt file2.txt > merged.txt ``` 将两个文件内容合并输出到新文件[^2] 4. **添加行号显示** ```bash cat -n poem.txt ``` 显示文件内容并添加行号(包括空行) 5. **查看特殊格式文件** ```bash cat -A binary_file ``` 显示包含控制字符的文件(如^M等) 6. **监控日志文件(结合watch)** ```bash watch -n 5 "cat /var/log/messages > test.txt" ``` 每5秒捕获系统日志到文件(示例来自引用[3]) #### 数学表达式示例 在文件操作中,有时需要处理数据流。例如过滤特定数值时涉及不等式: - 找出大于阈值$T$的数据:`awk '$1 > T' data.txt` - 数值求和公式:$\sum_{i=1}^{n} x_i$ 可通过`awk '{sum+=$1} END{print sum}'`实现 #### 注意事项 1. 大文件查看避免直接使用`cat`(推荐`less`或`tail -f`) 2. 二进制文件可能造成终端显示乱码 3. 重定向操作会覆盖目标文件(追加使用`>>`) --- ### 相关问题 1. 如何用`cat`命令实现文本内容追加而不覆盖已有文件? 2. 使用`cat`查看文件时如何解决终端滚动过快问题? 3. `cat -A`显示的`^M`字符代表什么?如何移除? 4. 为什么处理大文件时不推荐直接使用`cat`命令? 5. 如何用`cat`命令配合管道实现行数统计? 6. `cat file1 file2 > file1`操作会导致什么后果?为什么? </think> ### Linux `cat` 命令详解 `cat`(concatenate)是 Linux 中用于**查看、创建和连接文件**的核心文本处理命令,其功能和使用场景如下: --- #### 一、命令语法 ```bash cat [选项] [文件1] [文件2] ... [文件N] ``` --- #### 二、核心功能与选项 | **选项** | **功能描述** | **示例** | |----------|------------------------------------------------------------------------------|------------------------------------| | `-n` | 显示所有行的行号 | `cat -n log.txt` | | `-b` | 显示非空行的行号(空白行不编号) | `cat -b config.cfg` | | `-E` | 在每行结尾显示 `$` 符号 | `cat -E script.sh` | | `-T` | 将制表符 `\t` 显示为 `^I` | `cat -T data.tsv` | | `-s` | **压缩连续空行**为单行 | `cat -s report.txt` | | `-A` | 等价于 `-vET`,显示所有特殊字符 | `cat -A binary.log` | | `>` | 创建或覆盖文件 | `cat > newfile.txt` | | `>>` | 追加到文件末尾 | `cat log1.txt >> combined.log` | --- #### 三、典型应用场景 1. **查看文件内容** ```bash cat /etc/os-release # 显示系统版本信息[^1] ``` 2. **多文件合并** ```bash cat chapter1.txt chapter2.txt > book.txt # 合并文本 ``` 3. **创建新文件**(Ctrl+D 保存) ```bash cat > memo.txt This is a new file. Created via cat command. ``` 4. **显示行号与特殊字符** ```bash cat -nT /etc/hosts # 带行号显示,制表符标记为^I ``` 5. **日志监控**(结合 `watch`) ```bash watch -n 10 "cat /var/log/syslog > recent.log" # 每10秒捕获日志[^3] ``` 6. **过滤空行** ```bash cat -s input.txt # 压缩连续空行 ``` --- #### 四、数学表达式处理场景 当处理包含数学公式的文本文件时(如 LaTeX 或 Markdown): ```bash # 查看含数学公式的文件 cat formula.tex ``` 文件中可能包含公式: $$ \sum_{n=1}^{\infty} \frac{1}{n^2} = \frac{\pi^2}{6} $$ --- #### 五、注意事项 1. **大文件风险**:避免直接 `cat` 超大文件(可用 `less` 替代) 2. **二进制文件**:`cat` 二进制文件会导致终端乱码 3. **空行处理**:`-s` 仅压缩连续空行,保留单空行 4. **重定向优先级**: ```bash cat file1 > file2 # 覆盖 file2 cat file1 >> file2 # 追加到 file2 ``` --- ### 相关问题 1. 如何用 `cat` 命令实现多文件内容合并并去重? 2. `cat -A` 显示的 `^M` 符号表示什么?如何移除? 3. 为什么处理大日志文件时推荐 `tail -f` 而非 `cat`? 4. 如何通过管道将 `cat` 输出传递给 `grep` 进行关键词过滤? 5. `cat` 与 `tac` 命令在功能上有何本质区别? 6. 文件合并操作 `cat f1 f2 > f1` 会导致什么后果?如何避免?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值