命令行快捷键、查找一级目录、显示文件行号、精简开机启动

1.终端显示、历史记录、device

# 用netstat查看服务监听的端口时,四个0的ip是指本服务器的所有网卡
0.0.0.0:22
# 非交互式更改密码
echo "123456" | passwd --stdin root 
# 当前终端 
PS1='[\u@\h \W]\$ '
# 想让终端显示时间
PS1='[\u@\h \W\t]\$ '

# 清除历史记录
history -c
# 清除具体哪条历史记录
history -d + 历史记录条数
# 历史记录最大条数
echo $HISTSIZE
# 历史记录存放文件的最大个数
echo $HISTFILESIZE  
# 让这些环境变量永久生效需要保存在/etc/profile中

# 设备需要挂载点才能访问,光驱也是一种设备--/dev/cdrom
mount /dev/cdrom /mnt/
cd /mnt  # 此时可以进入/mnt进行访问
/dev/sr0                 4.1G  4.1G     0 100% /mnt
# 安装系统时,/etc/fstab会默认挂载一些设备,比如:/、/boot、swap
# 登录时需要提示的话,可以写在这个文件中
cat /etc/motd

2.一些命令行实用的快捷键

ctrl + l    清屏
ctrl + s    锁住终端
ctrl + q    解锁终端
ctrl + d    删除光标所在位置上的字符相当于VIM里x
ctrl + h    删除光标所在位置前的字符相当于VIM里hx
ctrl + k    删除光标后面所有字符相当于VIM里d shift+$
ctrl + u    删除光标前面所有字符相当于VIM里d shift+^
ctrl + a    将光标移动到命令行开头相当于VIM里shift+^
ctrl + e    将光标移动到命令行结尾处相当于VIM里shift+$

3.找出当前目录下的所有一级目录(五种方法)

ls -l | grep "^d"
# awk的$0是整行,$NF是最后一列
ls -l | awk '{if($2>1) print $0}'  
ls -p | grep "/$"
ls -F | grep "/$"
find . -maxdepth 1 -type d ! -name "."

4.打印内容并显示行号(四种方法)

grep -n '.*' hehe.txt
cat -n hehe.txt
awk '{print NR,$0}' hehe.txt
sed "=" hehe.txt|sed 'N;s#\n# #g'

 5.精简开机启动

# 除了这五个服务,其余全部不允许开机自启,亮点是最后面的将字符串交给bash去执行
chkconfig --list | grep 3:on | egrep -v "crond|sshd|network|rsyslog|sysstat" | 
awk '{print "chkconfig",$1,"off"}' | bash
# 过滤两个端口
grep -E "3306|1521" /etc/services
egrep "3306|1521" /etc/services  
# 详细展示文件及目录属性
ls -lhirt --time-style=long-iso

 

转载于:https://www.cnblogs.com/fawaikuangtu123/p/9751270.html

<think>好的,用户想了解如何在命令行中显示行号。首先,我需要明确用户的具体需求是什么。可能的情况是,用户在终端操作时,尤其是处理脚本输出、日志文件或者调试时,需要为每一行添加行号以便于定位内容。接下来,我需要考虑不同的命令行工具和操作系统环境,因为不同的系统可能有不同的方法。 首先,我应该分情况讨论,比如在Linux/Unix系统中常用的命令,比如`nl`、`cat -n`、`grep -n`,以及`awk`或者`sed`这样的文本处理工具。同时,用户可能也需要在实时输出的情况下显示行号,比如使用`less`或者`script`命令结合其他工具。 然后,我需要确保每个命令的示例都是正确的,语法无误,并且解释清楚每个参数的作用。比如,`cat -n`和`nl`的区别,或者`grep -n`如何显示匹配行的行号。还要提到`awk`的用法,因为它更灵活,可以自定义行号格式。 另外,用户可能不知道如何在查看文件时实时显示行号,这时候`less -N`可能是一个好选择。如果是处理脚本的输出,可能需要管道配合`nl`或者`awk`来实现。 还需要考虑不同用户的熟练程度,有些用户可能更熟悉基本命令,而高级用户可能需要更定制的解决方案。因此,分点列出不同的方法,并简要说明适用场景会更好。 最后,要确保回答结构清晰,步骤明确,用户能够根据指导逐步操作。可能需要提醒用户注意命令的参数是否正确,以及不同工具之间的差异,避免混淆。</think>在命令行环境中显示行号的需求通常分为两种场景:**查看文件内容时显示行号** 和 **为命令输出实时添加行号**。以下是具体实现方法: --- ### 一、查看文件时显示行号 #### 方法1:使用 `cat` 命令 ```bash cat -n filename # 显示所有行号(包括空行) cat -b filename # 仅显示非空行的行号 ``` #### 方法2:使用 `nl` 命令(可定制格式) ```bash nl filename # 基础行号 nl -s ")" -w 3 filename # 行号格式化为右对齐,行号后加`)`,例如: 1) ``` #### 方法3:使用 `less` 查看器 ```bash less -N filename # 进入 less 界面后按 `-N` 也可切换行号显示 ``` --- ### 二、实时为命令输出添加行号 #### 方法1:通过管道组合命令 ```bash command | cat -n # 为所有输出行添加行号 command | nl # 更灵活的行号控制 ``` #### 方法2:使用 `grep` 显示行号 ```bash command | grep -n "^" # 为所有行添加行号(包括空行) ``` #### 方法3:使用 `awk` 自定义行号 ```bash command | awk '{print NR ":" $0}' # 输出格式为 `行号:内容` ``` --- ### 三、高级应用:记录终端操作的行号 通过 `script` 命令记录会话并配合行号工具: ```bash script -a session.log # 开始记录 执行任意命令... exit # 结束记录 nl session.log # 查看带行号的完整记录 ``` --- ### 效果对比示例 假设文件 `demo.txt` 内容: ``` Apple Banana Cherry ``` 1. **`cat -n` 输出**: ``` 1 Apple 2 Banana 3 4 Cherry ``` 2. **`nl -s "> "` 输出**: ``` 1> Apple 2> Banana 3> Cherry ``` --- ### 注意事项 - 行号工具(如 `nl`)默认会跳过空行,若需包含空行需添加参数 `-ba` - 在脚本中使用时,推荐 `awk` 或 `nl` 以保持兼容性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值